armark1ng

Untitled

Sep 10th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. Item[] items = new Item[15];
  2.  
  3. Item[] cosmetics = player.getEquipment().getCosmeticItems().getItems();
  4.  
  5. boolean[] skipLook = new boolean[items.length];
  6.  
  7. boolean[] hiddenIndex = player.getEquipment().getHiddenSlots();
  8.  
  9. for (int index = 0; index < items.length; index++) {
  10. Item item = player.getEquipment().isCanDisplayCosmetic() ? cosmetics[index] : null;
  11.  
  12. if (item == null)
  13. item = player.getEquipment().getItems().get(index);
  14.  
  15. if (hiddenIndex[index] && player.getEquipment().isCanDisplayCosmetic())
  16. item = null;
  17.  
  18. if (item != null) {
  19. items[index] = item;
  20. int skipSlotLook = item.getDefinitions().getEquipType();
  21. if (skipSlotLook != -1)
  22. skipLook[skipSlotLook] = true;
  23. int skipSlotLook2 = item.getDefinitions().getEquipType2();
  24. if (skipSlotLook2 != -1)
  25. skipLook[skipSlotLook2] = true;
  26. }
  27. }
  28. for (int index = 0; index < items.length; index++) {
  29. if (Equipment.DISABLED_SLOTS[index] != 0)
  30. continue;
  31. if (items[index] != null && items[index].getDefinitions().equipSlot != -1) {
  32. if (index == Equipment.SLOT_WEAPON && forcedWeapon != -1)
  33. stream.writeShort(16384 + forcedWeapon);
  34. else if (index == Equipment.SLOT_AMULET && forcedAmulet != -1)
  35. stream.writeShort(16384 + forcedAmulet);
  36. else if (index == Equipment.SLOT_SHIELD && forcedShield != -1)
  37. stream.writeShort(16384 + forcedShield);
  38. else
  39. stream.writeShort(16384 + items[index].getId());
  40. continue;
  41. } else if (items[index] == null) {
  42. if (index == Equipment.SLOT_WEAPON && forcedWeapon == -1) {
  43. stream.writeByte(0);
  44. continue;
  45. } else if (index == Equipment.SLOT_AMULET && forcedAmulet == -1) {
  46. stream.writeByte(0);
  47. continue;
  48. } else if (index == Equipment.SLOT_SHIELD && forcedShield == -1) {
  49. stream.writeByte(0);
  50. continue;
  51. }
  52. }
  53. if (!skipLook[index]) {
  54. int lookIndex = -1;
  55.  
  56. switch (index) {
  57. case 4:
  58. lookIndex = 2;
  59. break;
  60. case 6:
  61. lookIndex = 3;
  62. break;
  63. case 7:
  64. lookIndex = 5;
  65. break;
  66. case 8:
  67. lookIndex = 0;
  68. break;
  69. case 9:
  70. lookIndex = 4;
  71. break;
  72. case 10:
  73. lookIndex = 6;
  74. break;
  75. case 11:
  76. lookIndex = 1;
  77. break;
  78. }
  79. if (lookIndex != -1 && lookI[lookIndex] > 0) {
  80. stream.writeShort(0x100 + lookI[lookIndex]);
  81. continue;
  82. }
  83. }
  84. stream.writeByte(0);
  85. }
  86.  
  87. OutputStream streamModify = new OutputStream();
  88. int modifyFlag = 0;
  89. int slotIndex = -1;
  90. ItemModify[] modify = generateItemModify(items, cosmetics);
  91. for (int index = 0; index < modify.length; index++) {
  92. if (Equipment.DISABLED_SLOTS[index] != 0)
  93. continue;
  94. slotIndex++;
  95. ItemModify im = modify[index];
  96. if (im == null)
  97. continue;
  98. modifyFlag |= 1 << slotIndex;
  99. int itemFlag = 0;
  100. OutputStream streamItem = new OutputStream();
  101. if (im.maleModelId1 != -1 || im.femaleModelId1 != -1) {
  102. itemFlag |= 0x1;
  103. streamItem.writeBigSmart(im.maleModelId1);
  104. streamItem.writeBigSmart(im.femaleModelId1);
  105. if (im.maleModelId2 != -2 || im.femaleModelId2 != -2) {
  106. streamItem.writeBigSmart(im.maleModelId2);
  107. streamItem.writeBigSmart(im.femaleModelId2);
  108. }
  109. if (im.maleModelId3 != -2 || im.femaleModelId3 != -2) {
  110. streamItem.writeBigSmart(im.maleModelId3);
  111. streamItem.writeBigSmart(im.femaleModelId3);
  112. }
  113. }
  114. if (im.colors != null) {
  115. itemFlag |= 0x4;
  116. streamItem.writeShort(0 | 1 << 4 | 2 << 8 | 3 << 12);
  117. for (int i = 0; i < 4; i++)
  118. streamItem.writeShort(im.colors[i]);
  119. }
  120. if (im.textures != null) {
  121. itemFlag |= 0x8;
  122. streamItem.writeByte(0 | 1 << 4);
  123. for (int i = 0; i < 2; i++)
  124. streamItem.writeShort(im.textures[i]);
  125. }
  126. streamModify.writeByte(itemFlag);
  127. streamModify.writeBytes(streamItem.getBuffer(), 0, streamItem.getOffset());
  128. }
  129. stream.writeShort(modifyFlag);
  130. stream.writeBytes(streamModify.getBuffer(), 0, streamModify.getOffset());
  131. }
Advertisement
Add Comment
Please, Sign In to add comment