diff --git a/src/main/java/com/github/alexthe666/alexsmobs/tileentity/TileEntityTransmutationTable.java b/src/main/java/com/github/alexthe666/alexsmobs/tileentity/TileEntityTransmutationTable.java index 6eb31d965..4fa586a05 100644 --- a/src/main/java/com/github/alexthe666/alexsmobs/tileentity/TileEntityTransmutationTable.java +++ b/src/main/java/com/github/alexthe666/alexsmobs/tileentity/TileEntityTransmutationTable.java @@ -61,38 +61,36 @@ private static ItemStack createFromLootTable(Player player, ResourceLocation loc public void load(CompoundTag tag) { super.load(tag); totalTransmuteCount = tag.getInt("TotalCount"); - ListTag list = new ListTag(); - for(Map.Entry entry : playerToData.entrySet()){ - CompoundTag innerTag = new CompoundTag(); - innerTag.putUUID("UUID", entry.getKey()); - innerTag.put("TransmutationData", entry.getValue().saveAsNBT()); - list.add(innerTag); + playerToData.clear(); + ListTag playerList = tag.getList("PlayerTransmutationData", 10); + for (int i = 0; i < playerList.size(); ++i) { + CompoundTag compoundtag = playerList.getCompound(i); + UUID uuid = compoundtag.getUUID("UUID"); + if(uuid != null){ + playerToData.put(uuid, TransmutationData.fromNBT(compoundtag.getCompound("TransmutationData"))); + } } - tag.put("PlayerTransmutationData", list); for(int i = 0; i < 3; i++){ if(tag.contains("Possibility" + i)){ - possiblities[i] = ItemStack.of(tag.getCompound("Possiblity" + i)); + possiblities[i] = ItemStack.of(tag.getCompound("Possibility" + i)); } } - } protected void saveAdditional(CompoundTag tag) { super.saveAdditional(tag); tag.putInt("TotalCount", totalTransmuteCount); - ListTag list = tag.getList("PlayerTransmutationData", 10); - if(!list.isEmpty()){ - for(int i = 0; i < list.size(); ++i) { - CompoundTag compoundtag = list.getCompound(i); - UUID uuid = compoundtag.getUUID("UUID"); - if(uuid != null){ - playerToData.put(uuid, TransmutationData.fromNBT(compoundtag.getCompound("TransmutationData"))); - } - } + ListTag list = new ListTag(); + for (Map.Entry entry : playerToData.entrySet()) { + CompoundTag innerTag = new CompoundTag(); + innerTag.putUUID("UUID", entry.getKey()); + innerTag.put("TransmutationData", entry.getValue().saveAsNBT()); + list.add(innerTag); } - for(int i = 0; i < 3; i++){ - if(possiblities[i] != null && !possiblities[i].isEmpty()){ - tag.put("Possiblity" + i, possiblities[i].serializeNBT()); + tag.put("PlayerTransmutationData", list); + for (int i = 0; i < 3; i++) { + if (possiblities[i] != null && !possiblities[i].isEmpty()) { + tag.put("Possibility" + i, possiblities[i].serializeNBT()); } } }