So I had a similar issue but it was actually really simple. I'm not sure if this will apply to your source but may give you an idea
Equipment.java
Code:
private static String[] FULL_BODY = {"platebody"};
And
Code:
public static boolean isFullBody(Item item) {
String itemName = item.getDefinitions().getName();
if (itemName == null)
return false;
itemName = itemName.toLowerCase();
for (int i = 0; i < NOT_FULL_BODY.length; i++)
if (itemName.contains(NOT_FULL_BODY[i].toLowerCase()))
return false;
for (int i = 0; i < FULL_BODY.length; i++)
if (itemName.contains(FULL_BODY[i].toLowerCase()))
return true;
return false;
}
And
Code:
public static int getItemSlot(int itemId) {
for (int i = 0; i < BODY_LIST.length; i++)
if (itemId == BODY_LIST[i])
return 4;
for (int i = 0; i < LEGS_LIST.length; i++)
if (itemId == LEGS_LIST[i])
return 7;
String item = ItemDefinitions.getItemDefinitions(itemId).getName().toLowerCase();
if (item == null)
return -1;
for (int i = 0; i < CAPES.length; i++)
if (item.contains(CAPES[i].toLowerCase()))
return 1;
for (int i = 0; i < BOOTS.length; i++)
if (item.contains(BOOTS[i].toLowerCase()))
return 10;
for (int i = 0; i < GLOVES.length; i++)
if (item.contains(GLOVES[i].toLowerCase()))
return 9;
for (int i = 0; i < SHIELDS.length; i++)
if (item.contains(SHIELDS[i].toLowerCase()))
return 5;
for (int i = 0; i < AMULETS.length; i++)
if (item.contains(AMULETS[i].toLowerCase()))
return 2;
for (int i = 0; i < ARROWS.length; i++)
if (item.contains(ARROWS[i].toLowerCase()))
return 13;
for (int i = 0; i < RINGS.length; i++)
if (item.contains(RINGS[i].toLowerCase()))
return 12;
for (int i = 0; i < WEAPONS.length; i++)
if (item.contains(WEAPONS[i].toLowerCase()))
return 3;
if (itemId == 4084) {
return 3;
}
for (int i = 0; i < HATS.length; i++)
if (item.contains(HATS[i].toLowerCase()))
return 0;
for (int i = 0; i < BODY.length; i++)
if (item.contains(BODY[i].toLowerCase()))
return 4;
for (int i = 0; i < LEGS.length; i++)
if (item.contains(LEGS[i].toLowerCase()))
return 7;
for (int i = 0; i < AURAS.length; i++)
if (item.contains(AURAS[i].toLowerCase()))
return SLOT_AURA;
return -1;
}
Chances are you have this already and it's just not added in there, this works for pretty much any item that is equipping incorrectly. Credits to who ever did this on Matrix 667 base