Typhome

Untitled

Aug 3rd, 2015
457
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.03 KB | None | 0 0
  1. package com.rs2.net.packet.packets;
  2.  
  3. import com.rs2.Constants;
  4. import com.rs2.cache.interfaces.RSInterface;
  5. import com.rs2.model.content.randomevents.TalkToEvent;
  6. import com.rs2.model.content.skills.SkillsX;
  7. import com.rs2.model.content.skills.Crafting.DramenBranch;
  8. import com.rs2.model.content.skills.Crafting.GlassMaking;
  9. import com.rs2.model.content.skills.Crafting.LeatherMakingHandler;
  10. import com.rs2.model.content.skills.Crafting.PotteryMaking;
  11. import com.rs2.model.content.skills.Crafting.SilverCrafting;
  12. import com.rs2.model.content.skills.Crafting.Spinning;
  13. import com.rs2.model.content.skills.Crafting.Tanning;
  14. import com.rs2.model.content.skills.Crafting.Weaving;
  15. import com.rs2.model.content.skills.Fletching.HandleLogCutting;
  16. import com.rs2.model.content.skills.cooking.Cooking;
  17. import com.rs2.model.content.skills.cooking.DairyChurn;
  18. import com.rs2.model.content.skills.cooking.FlourRelated;
  19. import com.rs2.model.content.skills.magic.MagicSkill;
  20. import com.rs2.model.content.skills.magic.Spell;
  21. import com.rs2.model.content.skills.smithing.Smelting;
  22. import com.rs2.model.content.treasuretrails.Sextant;
  23. import com.rs2.model.players.Player;
  24. import com.rs2.model.players.Player.BankOptions;
  25. import com.rs2.model.players.TradeManager;
  26. import com.rs2.model.transport.GnomeGlider;
  27. import com.rs2.net.packet.Packet;
  28. import com.rs2.net.packet.PacketManager.PacketHandler;
  29. import com.rs2.util.Misc;
  30.  
  31. public class ButtonPacketHandler implements PacketHandler {
  32.  
  33.     public static final int BUTTON = 185;
  34.  
  35.     @Override
  36.     public void handlePacket(Player player, Packet packet) {
  37.         byte[] data = packet.getIn().readBytes(2);
  38.         int interfaceId = 0;
  39.         interfaceId |= (data[0] & 0xff) << 8;
  40.         interfaceId |= (data[1] & 0xff);
  41.         RSInterface inter = RSInterface.forId(interfaceId);
  42.         if (!player.hasInterfaceOpen(inter)) {
  43.             // player.getActionSender().removeInterfaces();
  44.             return;
  45.         }
  46.         handleButton(player, Misc.hexToInt(data));
  47.     }
  48.  
  49.     private void handleButton(Player player, int buttonId) {
  50.         if (Constants.SERVER_DEBUG) {
  51.             System.out.println("button id: " + buttonId);
  52.         }
  53.         if (player.getDuelMainData().handleButton(buttonId))
  54.             return;
  55.         // Buttons that can be used while packets stopped
  56.         switch (buttonId) {
  57.         // smithing
  58.         /*
  59.          * case 15147 :// bronze bar player.getSmithing().startSmelting(1, 0);
  60.          * break; case 15151 :// iron player.getSmithing().startSmelting(1, 1);
  61.          * break; case 15155 :// silver player.getSmithing().startSmelting(1,
  62.          * 2); break; case 15159 :// steel player.getSmithing().startSmelting(1,
  63.          * 3); break; case 15163 :// gold player.getSmithing().startSmelting(1,
  64.          * 4); break; case 29017 :// mith player.getSmithing().startSmelting(1,
  65.          * 5); break; case 29022 :// addy player.getSmithing().startSmelting(1,
  66.          * 6); break; case 29026 :// rune player.getSmithing().startSmelting(1,
  67.          * 7); break; case 15146 : player.getSmithing().startSmelting(5, 0);
  68.          * break; case 15150 : player.getSmithing().startSmelting(5, 1); break;
  69.          * case 15154 : player.getSmithing().startSmelting(5, 2); break; case
  70.          * 15158 : player.getSmithing().startSmelting(5, 3); break; case 15162 :
  71.          * player.getSmithing().startSmelting(5, 4); break; case 29016 :
  72.          * player.getSmithing().startSmelting(5, 5); break; case 29020 :
  73.          * player.getSmithing().startSmelting(5, 6); break; case 29025 :
  74.          * player.getSmithing().startSmelting(5, 7); break; case 10247 ://
  75.          * bronze bar 10 player.getSmithing().startSmelting(10, 0); break; case
  76.          * 15149 :// iron bar 10 player.getSmithing().startSmelting(10, 1);
  77.          * break; case 15153 :// silver bar 10
  78.          * player.getSmithing().startSmelting(10, 2); break; case 15157 ://
  79.          * steel bar 10 player.getSmithing().startSmelting(10, 3); break; case
  80.          * 15161 :// gold bar 10 player.getSmithing().startSmelting(10, 4);
  81.          * break; case 24253 :// mith bar 10
  82.          * player.getSmithing().startSmelting(10, 5); break; case 29019 :// addy
  83.          * bar 10 player.getSmithing().startSmelting(10, 6); break; case 29024
  84.          * :// rune bar 10 player.getSmithing().startSmelting(10, 7); break;
  85.          */
  86.         case 23132: // unmorph
  87.             player.getActionSender().removeInterfaces();
  88.             player.transformNpc = -1;
  89.             player.getActionSender().sendSideBarInterfaces();
  90.             player.setAppearanceUpdateRequired(true);
  91.             // player.getEquipment().unequip(Constants.RING);
  92.             break;
  93.         case 9118:
  94.             player.getActionSender().removeInterfaces();
  95.             break;
  96.         /* Skill menus */
  97.         case 33206: // attack
  98.             player.getSkillGuide().attackComplex(1);
  99.             player.getSkillGuide().selected = 0;
  100.             return;
  101.         case 33209: // strength
  102.             player.getSkillGuide().strengthComplex(1);
  103.             player.getSkillGuide().selected = 1;
  104.             return;
  105.         case 33212: // Defence
  106.             player.getSkillGuide().defenceComplex(1);
  107.             player.getSkillGuide().selected = 2;
  108.             return;
  109.         case 33215: // range
  110.             player.getSkillGuide().rangedComplex(1);
  111.             player.getSkillGuide().selected = 3;
  112.             return;
  113.         case 33218: // prayer
  114.             player.getSkillGuide().prayerComplex(1);
  115.             player.getSkillGuide().selected = 4;
  116.             return;
  117.         case 33221: // mage
  118.             player.getSkillGuide().magicComplex(1);
  119.             player.getSkillGuide().selected = 5;
  120.             return;
  121.         case 33224: // runecrafting
  122.             player.getSkillGuide().runecraftingComplex(1);
  123.             player.getSkillGuide().selected = 6;
  124.             return;
  125.         case 33207: // hp
  126.             player.getSkillGuide().hitpointsComplex(1);
  127.             player.getSkillGuide().selected = 7;
  128.             return;
  129.         case 33210: // agility
  130.             player.getSkillGuide().agilityComplex(1);
  131.             player.getSkillGuide().selected = 8;
  132.             return;
  133.         case 33213: // herblore
  134.             player.getSkillGuide().herbloreComplex(1);
  135.             player.getSkillGuide().selected = 9;
  136.             return;
  137.         case 33216: // theiving
  138.             player.getSkillGuide().thievingComplex(1);
  139.             player.getSkillGuide().selected = 10;
  140.             return;
  141.         case 33219: // crafting
  142.             player.getSkillGuide().craftingComplex(1);
  143.             player.getSkillGuide().selected = 11;
  144.             return;
  145.         case 33222: // fletching
  146.             player.getSkillGuide().fletchingComplex(1);
  147.             player.getSkillGuide().selected = 12;
  148.             return;
  149.         case 47130:// slayer
  150.             player.getSkillGuide().slayerComplex(1);
  151.             player.getSkillGuide().selected = 13;
  152.             return;
  153.         case 33208:// mining
  154.             player.getSkillGuide().miningComplex(1);
  155.             player.getSkillGuide().selected = 14;
  156.             return;
  157.         case 33211: // smithing
  158.             player.getSkillGuide().smithingComplex(1);
  159.             player.getSkillGuide().selected = 15;
  160.             return;
  161.         case 33214: // fishing
  162.             player.getSkillGuide().fishingComplex(1);
  163.             player.getSkillGuide().selected = 16;
  164.             return;
  165.         case 33217: // cooking
  166.             player.getSkillGuide().cookingComplex(1);
  167.             player.getSkillGuide().selected = 17;
  168.             return;
  169.         case 33220: // firemaking
  170.             player.getSkillGuide().firemakingComplex(1);
  171.             player.getSkillGuide().selected = 18;
  172.             return;
  173.         case 33223: // woodcut
  174.             player.getSkillGuide().woodcuttingComplex(1);
  175.             player.getSkillGuide().selected = 19;
  176.             return;
  177.         case 54104: // farming
  178.             player.getSkillGuide().farmingComplex(1);
  179.             player.getSkillGuide().selected = 20;
  180.             return;
  181.  
  182.         case 34142: // tab 1
  183.             player.getSkillGuide().menuCompilation(1);
  184.             return;
  185.  
  186.         case 34119: // tab 2
  187.             player.getSkillGuide().menuCompilation(2);
  188.             return;
  189.  
  190.         case 34120: // tab 3
  191.             player.getSkillGuide().menuCompilation(3);
  192.             return;
  193.  
  194.         case 34123: // tab 4
  195.             player.getSkillGuide().menuCompilation(4);
  196.             return;
  197.  
  198.         case 34133: // tab 5
  199.             player.getSkillGuide().menuCompilation(5);
  200.             return;
  201.  
  202.         case 34136: // tab 6
  203.             player.getSkillGuide().menuCompilation(6);
  204.             return;
  205.  
  206.         case 34139: // tab 7
  207.             player.getSkillGuide().menuCompilation(7);
  208.             return;
  209.  
  210.         case 34155: // tab 8
  211.             player.getSkillGuide().menuCompilation(8);
  212.             return;
  213.  
  214.         case 34158: // tab 9
  215.             player.getSkillGuide().menuCompilation(9);
  216.             return;
  217.  
  218.         case 34161: // tab 10
  219.             player.getSkillGuide().menuCompilation(10);
  220.             return;
  221.  
  222.         case 59199: // tab 11
  223.             player.getSkillGuide().menuCompilation(11);
  224.             return;
  225.  
  226.         case 59202: // tab 12
  227.             player.getSkillGuide().menuCompilation(12);
  228.             return;
  229.  
  230.         case 59205: // tab 13
  231.             player.getSkillGuide().menuCompilation(13);
  232.             return;
  233.         case 152:
  234.             player.getMovementHandler().setRunToggled(false);
  235.             return;
  236.         case 153:
  237.             if (player.getNewComersSide().getTutorialIslandStage() == 22)
  238.                 player.getNewComersSide().setTutorialIslandStage(
  239.                         player.getNewComersSide().getTutorialIslandStage() + 1,
  240.                         true);
  241.  
  242.             player.getMovementHandler().setRunToggled(true);
  243.             return;
  244.         case 150:
  245.             player.setAutoRetaliate(true);
  246.             return;
  247.         case 151:
  248.             player.setAutoRetaliate(false);
  249.             return;
  250.         case 3138:
  251.             player.setScreenBrightness(1);
  252.             return;
  253.         case 3140:
  254.             player.setScreenBrightness(2);
  255.             return;
  256.         case 3142:
  257.             // player.getNewComersSide().setTutorialIslandStage(player.getNewComersSide().getTutorialIslandStage()
  258.             // - 1, true);
  259.             player.setScreenBrightness(3);
  260.             return;
  261.         case 3144:
  262.             // player.getNewComersSide().setTutorialIslandStage(player.getNewComersSide().getTutorialIslandStage()
  263.             // + 1, true);
  264.             player.setScreenBrightness(4);
  265.             return;
  266.         case 3145:
  267.             player.setMouseButtons(0);
  268.             return;
  269.         case 3146:
  270.             player.setMouseButtons(1);
  271.             return;
  272.         case 3147:
  273.             player.setChatEffects(0);
  274.             return;
  275.         case 3148:
  276.             player.setChatEffects(1);
  277.             return;
  278.         case 3189:
  279.             player.setSplitPrivateChat(1);
  280.             return;
  281.         case 3190:
  282.             player.setSplitPrivateChat(0);
  283.             return;
  284.         case 48176:
  285.             player.setAcceptAid(0);
  286.             return;
  287.         case 48177:
  288.             player.setAcceptAid(1);
  289.             return;
  290.         case 3162:// setMusicVolume (0/4)
  291.             player.setMusicVolume(4);
  292.             player.getActionSender().sendSong(1);
  293.             return;
  294.         case 3163:// setMusicVolume (1/4)
  295.             player.setMusicVolume(3);
  296.             return;
  297.         case 3164:// setMusicVolume (2/4)
  298.             player.setMusicVolume(2);
  299.             return;
  300.         case 3165:// setMusicVolume (3/4)
  301.             player.setMusicVolume(1);
  302.             return;
  303.         case 3166:// setMusicVolume (4/4)
  304.             player.setMusicVolume(0);
  305.             return;
  306.         case 3173:// setEffectVolume (0/4)
  307.             player.setEffectVolume(4);
  308.             return;
  309.         case 3174:// setEffectVolume (1/4)
  310.             player.setEffectVolume(3);
  311.             return;
  312.         case 3175:// setEffectVolume (2/4)
  313.             player.setEffectVolume(2);
  314.             return;
  315.         case 3176:// setEffectVolume (3/4)
  316.             player.setEffectVolume(1);
  317.             return;
  318.         case 3177:// setEffectVolume (4/4)
  319.             player.setEffectVolume(0);
  320.             return;
  321.         case 21010:
  322.             player.setWithdrawAsNote(true);
  323.             return;
  324.         case 21011:
  325.             player.setWithdrawAsNote(false);
  326.             return;
  327.         case 31194:
  328.             player.setBankOptions(BankOptions.SWAP_ITEM);
  329.             return;
  330.         case 31195:
  331.             player.setBankOptions(BankOptions.INSERT_ITEM);
  332.             return;
  333.         }
  334.         if (MagicSkill.clickingToAutoCast(player, buttonId))
  335.             return;
  336.         if (player.getEquipment().setFightMode(buttonId)) {
  337.             player.getEquipment().sendWeaponInterface();
  338.             return;
  339.         }
  340.         if (player.getPrayer().setPrayers(buttonId)) {
  341.             return;
  342.         }
  343.         /**
  344.          * All buttons after this part cannot be used while player's packets are
  345.          * disabled
  346.          */
  347.         if (player.stopPlayerPacket()) {
  348.             return;
  349.         }
  350.         switch (buttonId) {
  351.         /** Destroy item **/
  352.         case 55095:
  353.             if (player.getDestroyItem() != null) {
  354.                 player.getInventory().removeItem(player.getDestroyItem());
  355.             }
  356.         case 55096:
  357.             player.setDestroyItem(null);
  358.             player.getActionSender().removeInterfaces();
  359.             break;
  360.         /** Teleother **/
  361.         case 49022:
  362.             player.getTeleportation().teleportObelisk(
  363.                     player.getTeleotherPosition());
  364.         case 49024:
  365.             player.getActionSender().removeInterfaces();
  366.             return;
  367.             /** Emotes **/
  368.         case 168:
  369.             player.getUpdateFlags().sendAnimation(855);
  370.             return;
  371.         case 169:
  372.             player.getUpdateFlags().sendAnimation(856);
  373.             return;
  374.         case 162:
  375.             player.getUpdateFlags().sendAnimation(857);
  376.             return;
  377.         case 164:
  378.             player.getUpdateFlags().sendAnimation(858);
  379.             return;
  380.         case 165:
  381.             player.getUpdateFlags().sendAnimation(859);
  382.             return;
  383.         case 161:
  384.             player.getUpdateFlags().sendAnimation(860);
  385.             return;
  386.         case 170:
  387.             player.getUpdateFlags().sendAnimation(861);
  388.             return;
  389.         case 171:
  390.             player.getUpdateFlags().sendAnimation(862);
  391.             return;
  392.         case 163:
  393.             player.getUpdateFlags().sendAnimation(863);
  394.             return;
  395.         case 167:
  396.             player.getUpdateFlags().sendAnimation(864);
  397.             return;
  398.         case 172:
  399.             player.getUpdateFlags().sendAnimation(865);
  400.             return;
  401.         case 166:
  402.             player.getUpdateFlags().sendAnimation(866);
  403.             return;
  404.         case 52050:
  405.             player.getUpdateFlags().sendAnimation(2105);
  406.             return;
  407.         case 52051:
  408.             player.getUpdateFlags().sendAnimation(2106);
  409.             return;
  410.         case 52052:
  411.             player.getUpdateFlags().sendAnimation(2107);
  412.             return;
  413.         case 52053:
  414.             player.getUpdateFlags().sendAnimation(2108);
  415.             return;
  416.         case 52054:
  417.             player.getUpdateFlags().sendAnimation(2109);
  418.             return;
  419.         case 52055:
  420.             player.getUpdateFlags().sendAnimation(2110);
  421.             return;
  422.         case 52056:
  423.             player.getUpdateFlags().sendAnimation(2111);
  424.             return;
  425.         case 52057:
  426.             player.getUpdateFlags().sendAnimation(2112);
  427.             return;
  428.         case 52058:
  429.             player.getUpdateFlags().sendAnimation(2113);
  430.             return;
  431.         case 43092:
  432.             player.getActionSender().stopPlayerPacket(4);
  433.             player.getUpdateFlags().sendAnimation(0x558);
  434.             player.getUpdateFlags().sendGraphic(574);
  435.             return;
  436.         case 2155:
  437.             player.getUpdateFlags().sendAnimation(0x46B);
  438.             return;
  439.         case 25103:
  440.             player.getUpdateFlags().sendAnimation(0x46A);
  441.             return;
  442.         case 25106:
  443.             player.getUpdateFlags().sendAnimation(0x469);
  444.             return;
  445.         case 2154:
  446.             player.getUpdateFlags().sendAnimation(0x468);
  447.             return;
  448.         case 52071:
  449.             player.getUpdateFlags().sendAnimation(0x84F);
  450.             return;
  451.         case 52072:
  452.             player.getUpdateFlags().sendAnimation(0x850);
  453.             return;
  454.         case 73003:
  455.             player.getUpdateFlags().sendAnimation(2836);
  456.             return;
  457.         case 73001:
  458.             player.getUpdateFlags().sendAnimation(3544);
  459.             return;
  460.         case 73000:
  461.             player.getUpdateFlags().sendAnimation(3543);
  462.             return;
  463.         case 72032:
  464.             player.getUpdateFlags().sendAnimation(3544);
  465.             return;
  466.         case 72033:
  467.             player.getUpdateFlags().sendAnimation(3543);
  468.             return;
  469.         case 59062:
  470.             player.getUpdateFlags().sendAnimation(2836);
  471.             return;
  472.         case 23132:
  473.             player.getActionSender().removeInterfaces();
  474.             player.getEquipment().unequip(Constants.RING);
  475.             return;
  476.         case 13218:
  477.             TradeManager.acceptStageTwo(player);
  478.             return;
  479.         case 13092:
  480.             TradeManager.acceptStageOne(player);
  481.             return;
  482.         case 14067:
  483.             player.setAppearanceUpdateRequired(true);
  484.             player.getUpdateFlags().setUpdateRequired(true);
  485.             player.getActionSender().removeInterfaces();
  486.             return;
  487.         case 9154:
  488.             if (!player.getInCombatTick().completed()) {
  489.                 player.getActionSender()
  490.                         .sendMessage(
  491.                                 "You have to wait 10 seconds after combat in order to logout.");
  492.                 return;
  493.             }
  494.             if (player.inDuelArena()) {
  495.                 player.getActionSender().sendMessage(
  496.                         "You can't logout during a duel fight!");
  497.                 return;
  498.             }
  499.             player.getActionSender().sendLogout();
  500.             return;
  501.         }
  502.         if (TalkToEvent.isGenieLampButton(player, buttonId)) {
  503.             return;
  504.         }
  505.         if (player.clickSpecialBar(buttonId)) {
  506.             return;
  507.         }
  508.         if (GnomeGlider.flightButtons(player, buttonId)) {
  509.             return;
  510.         }
  511.         if (player.getSkillGuide().skillGuidesButton(buttonId)) {
  512.             return;
  513.         }
  514.         if (player.getRandomInterfaceClick().handleButtonClicking(buttonId)) {
  515.             return;
  516.         }
  517.         if (Sextant.handleSextantButtons(player, buttonId)) {
  518.             return;
  519.         }
  520.         Spell spell = player.getMagicBookType().getSpells().get(buttonId);
  521.         if (spell != null) {
  522.             MagicSkill.spellButtonClicked(player, spell);
  523.             // if (player.getCreatureGraveyard().isInCreatureGraveyard() &&
  524.             // spell == Spell.BONES_TO_BANANA || spell == Spell.BONES_TO_PEACH)
  525.             // player.getCreatureGraveyard().applyBonesToFruit(spell ==
  526.             // Spell.BONES_TO_PEACH ? true : false);
  527.             return;
  528.         }
  529.         if (player.getDialogue().optionButtons(buttonId)) {
  530.             return;
  531.         }
  532.         if (player.getBankPin().clickPinButton(buttonId)) {
  533.             return;
  534.         }
  535.         if (player.getEmotes().activateEmoteButton(buttonId)) {
  536.             return;
  537.         }
  538.         if (SkillsX.handleXButtons(player, buttonId)) {
  539.             return;
  540.         }
  541.         if (DairyChurn.churnItem(player, buttonId)) {
  542.             return;
  543.         }
  544.         if (PotteryMaking.makePottery(player, buttonId, 0)) {
  545.             return;
  546.         }
  547.         if (SilverCrafting.makeSilver(player, buttonId, 0)) {
  548.             return;
  549.         }
  550.         if (Spinning.spin(player, buttonId, 0)) {
  551.             return;
  552.         }
  553.         if (GlassMaking.makeSilver(player, buttonId, 0)) {
  554.             return;
  555.         }
  556.         if (LeatherMakingHandler.handleButtons(player, buttonId, 0)) {
  557.             return;
  558.         }
  559.         if (Tanning.handleButtons(player, buttonId)) {
  560.             return;
  561.         }
  562.         if (Weaving.weave(player, buttonId, 0)) {
  563.             return;
  564.         }
  565.         if (DramenBranch.cutDramen(player, buttonId, 0)) {
  566.             return;
  567.         }
  568.         if (HandleLogCutting.handleButtons(player, buttonId, 0)) {
  569.             return;
  570.         }
  571.         if (Cooking.handleButtons(player, buttonId)) {
  572.             return;
  573.         }
  574.         if (FlourRelated.handleButton(player, buttonId)) {
  575.             return;
  576.         }
  577.         if (Smelting.handleSmelting(player, buttonId, 0)) {
  578.             return;
  579.         }
  580.         if (player.getStaffRights() > 1 && Constants.SERVER_DEBUG)
  581.             System.out.println("button " + buttonId + " doesn't do anything");
  582.     }
  583. }
Advertisement
Add Comment
Please, Sign In to add comment