77 switch (packet.getOpcode()) {
79 handleItemOnGround(player, packet);
82 handleItemOnItem(player, packet);
85 handleItemOnNpc(player, packet);
88 handleItemOnObject(player, packet);
91 handleItemOnPlayer(player, packet);
103 final int groundItem = packet.readShort();
106 final int gItemX = packet.readShort();
109 player.send(
new SendMessage(
"[ItemUsed] - " + itemUsed +
" groundItem: " + groundItem +
" itemUsedSlot: " + itemUsedSlot +
" gItemX: " + gItemX +
" gItemY: " + gItemY +
" a1: " + a1,
MessageColor.DEVELOPER));
112 player.send(
new SendMessage(
"Nothing interesting happens."));
119 private void handleItemOnItem(Player player, GamePacket packet) {
120 final int usedWithSlot = packet.readShort();
121 final int itemUsedSlot = packet.readShort(ByteModification.ADD);
122 final Item used = player.inventory.get(itemUsedSlot);
123 final Item with = player.inventory.get(usedWithSlot);
125 if (used !=
null && with !=
null) {
126 if (EventDispatcher.execute(player,
new ItemOnItemInteractionEvent(used, with, usedWithSlot, itemUsedSlot))) {
134 if (PluginManager.getDataBus().publish(player,
new ItemOnItemEvent(used, itemUsedSlot, with, usedWithSlot))) {
138 player.send(
new SendMessage(
"Nothing interesting happens."));
151 player.getEvents().interact(player,
new ItemOnNpcEvent(itemId, index, slot));
159 int interfaceType = packet.readShort();
160 final int objectId = packet.readShort(
ByteOrder.
LE);
164 final int itemId = packet.readShort();
166 player.getEvents().interact(player,
new ItemOnObjectEvent(
167 interfaceType, itemId, slot, objectId, x, y
177 final int slot = packet.readShort();
178 final int item = packet.readShort();
179 final int itemSlot = packet.readShort(
ByteOrder.
LE);
185 player.getEvents().interact(player,
new ItemOnPlayerEvent(
186 interfaceId, item, itemSlot, slot