62 private static final int FIRST_ITEM_ACTION_OPCODE = 145;
63 private static final int SECOND_ITEM_ACTION_OPCODE = 117;
64 private static final int THIRD_ITEM_ACTION_OPCODE = 43;
65 private static final int FOURTH_ITEM_ACTION_OPCODE = 129;
66 private static final int FIFTH_ITEM_ACTION_OPCODE = 135;
67 private static final int SIXTH_ITEM_ACTION_OPCODE = 208;
68 private static final int ALL_BUT_ONE_ACTION_OPCODE = 140;
69 private static final int MODIFIABLE_X_ACTION_OPCODE = 141;
73 switch (packet.getOpcode()) {
75 case FIRST_ITEM_ACTION_OPCODE:
76 firstAction(player, packet);
79 case SECOND_ITEM_ACTION_OPCODE:
80 secondAction(player, packet);
83 case THIRD_ITEM_ACTION_OPCODE:
84 thirdAction(player, packet);
87 case FOURTH_ITEM_ACTION_OPCODE:
88 fourthAction(player, packet);
91 case FIFTH_ITEM_ACTION_OPCODE:
92 fifthAction(player, packet);
95 case SIXTH_ITEM_ACTION_OPCODE:
96 sixthAction(player, packet);
99 case ALL_BUT_ONE_ACTION_OPCODE:
100 allButOne(player, packet);
103 case MODIFIABLE_X_ACTION_OPCODE:
104 modifiableXAction(player, packet);
125 PluginManager.getDataBus().publish(player,
new ItemContainerContextMenuEvent(1, interfaceId, removeSlot, removeId));
135 private void secondAction(Player player, GamePacket packet) {
136 final int interfaceId = packet.readShort(ByteOrder.LE, ByteModification.ADD);
137 final int removeId = packet.readShort(ByteOrder.LE, ByteModification.ADD);
138 final int removeSlot = packet.readShort(ByteOrder.LE);
140 if (EventDispatcher.execute(player,
new ItemContainerInteractionEvent(2, interfaceId, removeSlot, removeId))) {
144 PluginManager.getDataBus().publish(player,
new ItemContainerContextMenuEvent(2, interfaceId, removeSlot, removeId));
154 private void thirdAction(Player player, GamePacket packet) {
155 final int interfaceId = packet.readShort(ByteOrder.LE);
156 final int removeId = packet.readShort(ByteModification.ADD);
157 final int removeSlot = packet.readShort(ByteModification.ADD);
159 if (EventDispatcher.execute(player,
new ItemContainerInteractionEvent(3, interfaceId, removeSlot, removeId))) {
163 PluginManager.getDataBus().publish(player,
new ItemContainerContextMenuEvent(3, interfaceId, removeSlot, removeId));
173 final int interfaceId = packet.readShort(
ByteOrder.
LE);
192 final int removeSlot = packet.readShort(
ByteOrder.
LE);
194 final int removeId = packet.readShort(
ByteOrder.
LE);
196 player.attributes.set(
"XREMOVE_SLOT", removeSlot);
197 player.attributes.set(
"XREMOVE_INTERFACE", interfaceId);
198 player.attributes.set(
"XREMOVE_REMOVE", removeId);
200 if(interfaceId == 7423) {
201 player.send(
new SendInputAmount(
"Enter amount", 10, input -> DepositBoxPlugin.deposit(player, removeSlot, Integer.parseInt(input))));
220 final int amount = packet.readInt();
222 if (player.enterInputListener.isPresent()) {
223 player.enterInputListener.get().accept(Integer.toString(amount));
227 final int interfaceId = player.attributes.get(
"XREMOVE_INTERFACE", Integer.class);
228 final int removeSlot = player.attributes.get(
"XREMOVE_SLOT", Integer.class);
229 final int removeId = player.attributes.get(
"XREMOVE_REMOVE", Integer.class);
247 final int interfaceId = packet.readShort();
262 final int interfaceId = packet.readShort();
264 final int amount = packet.readInt();