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