Guest User

Untitled

a guest
Nov 11th, 2012
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. package org.solace.network.packet.impl;
  2.  
  3. import org.solace.game.content.Consumables;
  4. import org.solace.game.content.skills.prayer.Prayer;
  5. import org.solace.game.content.skills.smithing.SmithingInterface;
  6. import org.solace.game.entity.mobile.player.Player;
  7. import org.solace.game.map.Location;
  8. import org.solace.network.packet.Packet;
  9. import org.solace.network.packet.PacketHandler;
  10.  
  11. public class UseItemPacketHandler implements PacketHandler {
  12.  
  13. public final static int ITEM_ON_ITEM = 53, ITEM_ON_OBJECT = 192,
  14. ITEM_ON_GROUND_OBJECT = 25, ITEM_ON_NPC = 57, USE_ITEM = 122;
  15.  
  16. @Override
  17. public void handlePacket(Player player, Packet packet) {
  18. System.out.println("PACKET REACHED");
  19. switch (packet.opcode()) {
  20. case ITEM_ON_ITEM:
  21. int usedWithSlot = packet.getUShort();
  22. int itemUsedSlot = packet.getUShortA();
  23. int usedWithId = player.getInventory().getItemBySlot(usedWithSlot);
  24. int itemUsedId = player.getInventory().getItemBySlot(itemUsedSlot);
  25. System.out.println("Item Used: " + itemUsedId + " Slot: "
  26. + itemUsedSlot + " Used With: " + usedWithId + " Slot: "
  27. + usedWithSlot);
  28. handleItemOnItem(player, packet, itemUsedId, usedWithId);
  29. break;
  30. case USE_ITEM:
  31. handleUseItem(player, packet);
  32. break;
  33. case ITEM_ON_OBJECT:
  34. int interfaceType = packet.getShort();
  35. int objectId = packet.getLEShort();
  36. int objectY = packet.getLEShortA();
  37. int itemSlot = packet.getShort();
  38. int objectX = packet.getLEShortA();
  39. int itemId = packet.getShort();
  40. handleItemOnObject(player, packet, interfaceType, objectId,
  41. objectY, itemSlot, objectX, itemId);
  42. break;
  43. case ITEM_ON_GROUND_OBJECT:
  44. break;
  45. case ITEM_ON_NPC:
  46. break;
  47. }
  48. }
  49.  
  50. public void handleUseItem(Player player, Packet packet) {
  51. @SuppressWarnings("unused")
  52. int interfaceId = packet.getLEShortA();
  53. int slot = packet.getUShortA();
  54. int itemId = packet.getLEShort();
  55. if (slot < 0 || slot > 28) {
  56. return;
  57. }
  58. if (player == null)
  59. return;
  60. Prayer.buryBones(player, itemId, slot);
  61. Consumables.eatFood(player, itemId, slot);
  62. }
  63.  
  64. public void handleItemOnItem(Player player, Packet packet, int itemUsedId,
  65. int usedWithId) {
  66.  
  67. }
  68.  
  69. public void handleItemOnObject(Player player, Packet packet,
  70. int interfaceType, int objectId, int objectY, int itemSLot,
  71. int objectX, int itemId) {
  72. player.setLastObjectLocation(new Location(objectX, objectY, player.getLocation().getH()));
  73. switch(objectId) {
  74. case 2783:
  75. SmithingInterface.startSmithInterface(player, itemId);
  76. break;
  77. }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment