Fixed rollback item metadata handling

This commit is contained in:
Intelli 2025-03-07 15:06:13 -07:00
parent bdbc465998
commit 56f5c04619

View file

@ -22,36 +22,22 @@ public class RollbackItemHandler {
* @return Object array containing [slot, facing, itemstack]
*/
public static Object[] populateItemStack(ItemStack itemstack, byte[] metadata) {
int slot = 0;
String face = "";
if (metadata != null) {
try {
ByteArrayInputStream metaByteStream = new ByteArrayInputStream(metadata);
BukkitObjectInputStream metaObjectStream = new BukkitObjectInputStream(metaByteStream);
@SuppressWarnings("unchecked")
List<Object> meta = (List<Object>) metaObjectStream.readObject();
Object metaList = metaObjectStream.readObject();
metaObjectStream.close();
metaByteStream.close();
for (Object value : meta) {
if (value instanceof Integer) {
slot = (Integer) value;
}
else if (value instanceof ItemStack) {
itemstack = (ItemStack) value;
}
else if (value instanceof String) {
face = (String) value;
}
}
return RollbackUtil.populateItemStack(itemstack, metaList);
}
catch (Exception e) {
e.printStackTrace();
}
}
return new Object[] { slot, face, itemstack };
return new Object[] { 0, "", itemstack };
}
/**