package net.scapeemulator.game.msg.handler.item; import net.scapeemulator.game.model.World; import net.scapeemulator.game.model.player.Item; import net.scapeemulator.game.model.player.Player; import net.scapeemulator.game.msg.MessageHandler; import net.scapeemulator.game.msg.impl.item.ItemDropMessage; /** * @author David Insley */ public final class ItemDropMessageHandler extends MessageHandler<ItemDropMessage> { @Override public void handle(Player player, ItemDropMessage msg) { if (player.actionsBlocked()) { return; } if (!player.getInventory().verify(msg.getSlot(), msg.getId())) { return; } if (player.getInHouse() != null) { player.sendMessage("You can't drop items in a house."); return; } Item removed = player.getInventory().remove(player.getInventory().get(msg.getSlot()), msg.getSlot()); if (removed != null && removed.getAmount() > 0) { player.stopAction(); World.getWorld().getGroundItems().add(removed.getId(), removed.getAmount(), player.getPosition(), player); } } }