ItemSortHandler2.java
上传用户:gwt600
上传日期:2021-06-03
资源大小:704k
文件大小:3k
源码类别:

游戏

开发平台:

Java

  1. package net.sf.odinms.net.channel.handler;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.LinkedList;
  5. import java.util.List;
  6. import net.sf.odinms.client.IItem;
  7. import net.sf.odinms.client.MapleClient;
  8. import net.sf.odinms.net.AbstractMaplePacketHandler;
  9. import net.sf.odinms.client.MapleInventoryType;
  10. import net.sf.odinms.client.MapleInventory;
  11. import net.sf.odinms.server.MapleInventoryManipulator;
  12. import net.sf.odinms.server.maps.FakeCharacter;
  13. import net.sf.odinms.tools.MaplePacketCreator;
  14. import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
  15. // @Auther XoticMS
  16. public class ItemSortHandler2 extends AbstractMaplePacketHandler {
  17.     @Override
  18.     public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
  19.         c.getPlayer().resetAfkTime();
  20.         // [41 00] [E5 1D 55 00] [01]
  21.         // [32 00] [01] [01] // Sent after
  22.         slea.readInt();
  23.         byte mode = slea.readByte();
  24.         /*
  25.         MapleInventoryType invType = MapleInventoryType.getByType(mode);
  26.         MapleInventory Inv = c.getPlayer().getInventory(invType);
  27.         List<IItem> itemMap = new LinkedList<IItem>();
  28.         for (IItem item : Inv.list()) {
  29.         if (item.getPetId() == -1) {
  30.         itemMap.add(item.copy()); // clone all  items T___T.
  31.         }
  32.         }
  33.         for (IItem itemStats : itemMap) {
  34.         MapleInventoryManipulator.removeById(c, invType, itemStats.getItemId(), itemStats.getQuantity(), true, false);
  35.         }
  36.         LinkedList<IItem> sortedItems = sortItems(itemMap);
  37.         for (IItem item : sortedItems) {
  38.         MapleInventoryManipulator.addFromDrop(c, item, "stuff", false);
  39.         }
  40.         c.getSession().write(MaplePacketCreator.enableActions());
  41.         itemMap.clear();
  42.         sortedItems.clear();
  43.          */
  44.         c.getSession().write(MaplePacketCreator.finishedSort2(mode));
  45.     }
  46. //    private LinkedList<IItem> sortItems(List<IItem> passedMap) {
  47. //        List<Integer> itemIds = new ArrayList<Integer>(); // empty list.
  48. //        for (IItem item : passedMap) {
  49. //            itemIds.add(item.getItemId()); // adds all item ids to the empty list to be sorted.
  50. //        }
  51. //        Collections.sort(itemIds); // sorts item ids
  52. //
  53. //        LinkedList<IItem> sortedList = new LinkedList<IItem>(); // ordered list pl0x <3.
  54. //
  55. //        for (Integer val : itemIds) {
  56. //            for (IItem item : passedMap) {
  57. //                if (val == item.getItemId()) { // Goes through every index and finds the first value that matches
  58. //                    sortedList.add(item);
  59. //                    passedMap.remove(item);
  60. //                    break;
  61. //                }
  62. //            }
  63. //        }
  64. //        return sortedList;
  65. //    }
  66. }