diff --git a/src/main/java/net/coreprotect/database/rollback/RollbackItemHandler.java b/src/main/java/net/coreprotect/database/rollback/RollbackItemHandler.java index 5e50022..3c11ee1 100644 --- a/src/main/java/net/coreprotect/database/rollback/RollbackItemHandler.java +++ b/src/main/java/net/coreprotect/database/rollback/RollbackItemHandler.java @@ -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 meta = (List) 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 }; } /**