public static void storeExtendedPropertiesForDimensionChange(EntityPlayer player) { // extended properties // ================================================================================ if (!storedExtProps_death.containsKey(player.getDisplayName())) { if (storedExtProps_dimension.containsKey(player.getDisplayName())) storedExtProps_dimension.remove(player.getDisplayName()); NBTTagCompound saveExprop = new NBTTagCompound(); ExtendedProperties.For(player).saveNBTData(saveExprop); storedExtProps_dimension.put(player.getDisplayName(), saveExprop); } // ================================================================================ // rift storage // ================================================================================ if (!riftStorage_death.containsKey(player.getDisplayName())) { if (riftStorage_dimension.containsKey(player.getDisplayName())) riftStorage_dimension.remove(player.getDisplayName()); NBTTagCompound saveRift = new NBTTagCompound(); RiftStorage.For(player).saveNBTData(saveRift); riftStorage_dimension.put(player.getDisplayName(), saveRift); } // ================================================================================ // affinity storage // ================================================================================ if (!affinityStorage_death.containsKey(player.getDisplayName())) { if (affinityStorage_dimension.containsKey(player.getDisplayName())) affinityStorage_dimension.remove(player.getDisplayName()); NBTTagCompound saveAffinity = new NBTTagCompound(); AffinityData.For(player).saveNBTData(saveAffinity); affinityStorage_dimension.put(player.getDisplayName(), saveAffinity); } // ================================================================================ // spell knowledge storage // ================================================================================ if (!spellKnowledgeStorage_death.containsKey(player.getDisplayName())) { if (spellKnowledgeStorage_dimension.containsKey(player.getDisplayName())) spellKnowledgeStorage_dimension.remove(player.getDisplayName()); NBTTagCompound spellKnowledge = new NBTTagCompound(); SkillData.For(player).saveNBTData(spellKnowledge); spellKnowledgeStorage_dimension.put(player.getDisplayName(), spellKnowledge); } // ================================================================================ }
public static void storeExtendedPropertiesForRespawn(EntityPlayer player) { // extended properties // ================================================================================ if (storedExtProps_death.containsKey(player.getDisplayName())) storedExtProps_death.remove(player.getDisplayName()); NBTTagCompound save = new NBTTagCompound(); ExtendedProperties.For(player).saveNBTData(save); storedExtProps_death.put(player.getDisplayName(), save); // ================================================================================ // rift storage // ================================================================================ if (riftStorage_death.containsKey(player.getDisplayName())) riftStorage_death.remove(player.getDisplayName()); NBTTagCompound saveRift = new NBTTagCompound(); RiftStorage.For(player).saveNBTData(saveRift); riftStorage_death.put(player.getDisplayName(), saveRift); // ================================================================================ // affinity storage // ================================================================================ if (affinityStorage_death.containsKey(player.getDisplayName())) affinityStorage_death.remove(player.getDisplayName()); NBTTagCompound saveAffinity = new NBTTagCompound(); AffinityData.For(player).saveNBTData(saveAffinity); affinityStorage_death.put(player.getDisplayName(), saveAffinity); // ================================================================================ // affinity storage // ================================================================================ if (spellKnowledgeStorage_death.containsKey(player.getDisplayName())) spellKnowledgeStorage_death.remove(player.getDisplayName()); NBTTagCompound saveSpellKnowledge = new NBTTagCompound(); SkillData.For(player).saveNBTData(saveSpellKnowledge); spellKnowledgeStorage_death.put(player.getDisplayName(), saveSpellKnowledge); // ================================================================================ }
@SubscribeEvent public void onPlayerRespawn(PlayerRespawnEvent event) { // extended properties // ================================================================================ if (storedExtProps_death.containsKey(event.player.getDisplayName())) { NBTTagCompound stored = storedExtProps_death.get(event.player.getDisplayName()); storedExtProps_death.remove(event.player.getDisplayName()); ExtendedProperties.For(event.player).loadNBTData(stored); ExtendedProperties.For(event.player).setDelayedSync(40); } else if (storedExtProps_dimension.containsKey(event.player.getDisplayName())) { NBTTagCompound stored = storedExtProps_dimension.get(event.player.getDisplayName()); storedExtProps_dimension.remove(event.player.getDisplayName()); ExtendedProperties.For(event.player).loadNBTData(stored); ExtendedProperties.For(event.player).setDelayedSync(40); } // ================================================================================ // rift storage // ================================================================================ if (riftStorage_death.containsKey(event.player.getDisplayName())) { NBTTagCompound stored = riftStorage_death.get(event.player.getDisplayName()); riftStorage_death.remove(event.player.getDisplayName()); RiftStorage.For(event.player).loadNBTData(stored); } else if (riftStorage_dimension.containsKey(event.player.getDisplayName())) { NBTTagCompound stored = riftStorage_dimension.get(event.player.getDisplayName()); riftStorage_dimension.remove(event.player.getDisplayName()); RiftStorage.For(event.player).loadNBTData(stored); } // ================================================================================ // affinity data // ================================================================================ if (affinityStorage_death.containsKey(event.player.getDisplayName())) { NBTTagCompound stored = affinityStorage_death.get(event.player.getDisplayName()); affinityStorage_death.remove(event.player.getDisplayName()); AffinityData.For(event.player).loadNBTData(stored); } else if (affinityStorage_dimension.containsKey(event.player.getDisplayName())) { NBTTagCompound stored = affinityStorage_dimension.get(event.player.getDisplayName()); affinityStorage_dimension.remove(event.player.getDisplayName()); AffinityData.For(event.player).loadNBTData(stored); } // ================================================================================ // spell knowledge data // ================================================================================ if (spellKnowledgeStorage_death.containsKey(event.player.getDisplayName())) { NBTTagCompound stored = spellKnowledgeStorage_death.get(event.player.getDisplayName()); spellKnowledgeStorage_death.remove(event.player.getDisplayName()); SkillData.For(event.player).loadNBTData(stored); } else if (spellKnowledgeStorage_dimension.containsKey(event.player.getDisplayName())) { NBTTagCompound stored = spellKnowledgeStorage_dimension.get(event.player.getDisplayName()); spellKnowledgeStorage_dimension.remove(event.player.getDisplayName()); SkillData.For(event.player).loadNBTData(stored); } // ================================================================================ // soulbound items // ================================================================================ if (soulbound_Storage.containsKey(event.player.getDisplayName())) { HashMap<Integer, ItemStack> soulboundItems = soulbound_Storage.get(event.player.getDisplayName()); for (Integer i : soulboundItems.keySet()) { if (i < event.player.inventory.getSizeInventory()) event.player.inventory.setInventorySlotContents(i, soulboundItems.get(i)); else event.player.entityDropItem(soulboundItems.get(i), 0); } } // ================================================================================ }