diff --git a/Server/src/main/java/core/game/container/Container.java b/Server/src/main/java/core/game/container/Container.java index 67097d038..44857663c 100644 --- a/Server/src/main/java/core/game/container/Container.java +++ b/Server/src/main/java/core/game/container/Container.java @@ -6,6 +6,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import org.rs09.consts.Items; import java.nio.ByteBuffer; import java.util.*; @@ -538,7 +539,7 @@ public class Container { int id = Integer.parseInt(i.get("id").toString()); int amount = Integer.parseInt(i.get("amount").toString()); int charge = Integer.parseInt(i.get("charge").toString()); - if (id >= ItemDefinition.getDefinitions().size() || id < 0 || slot >= items.length) { + if (id >= ItemDefinition.getDefinitions().size() || id < 0 || slot >= items.length || id == Items.MAGIC_CARPET_5614) { } else { Item it = items[slot] = new Item(id,amount,charge); it.setIndex(slot); diff --git a/Server/src/main/java/core/game/content/dialogue/RugMerchantDialogue.java b/Server/src/main/java/core/game/content/dialogue/RugMerchantDialogue.java index aa2a5e18c..08b883550 100644 --- a/Server/src/main/java/core/game/content/dialogue/RugMerchantDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/RugMerchantDialogue.java @@ -1,5 +1,7 @@ package core.game.content.dialogue; +import api.Container; +import api.ContentAPI; import core.cache.def.impl.NPCDefinition; import core.game.container.impl.EquipmentContainer; import core.plugin.Initializable; @@ -286,7 +288,7 @@ public final class RugMerchantDialogue extends DialoguePlugin { player.getEquipment().replace(new Item(Items.MAGIC_CARPET_5614),EquipmentContainer.SLOT_WEAPON); player.getPacketDispatch().sendInterfaceConfig(548,69,true); player.logoutListeners.put("magic-carpet", (pl) -> { - pl.getEquipment().replace(null,EquipmentContainer.SLOT_WEAPON); + ContentAPI.removeItem(pl, Items.MAGIC_CARPET_5614, Container.EQUIPMENT); return Unit.INSTANCE; }); GameWorld.getPulser().submit(new Pulse(1, player) {