package dan200.qcraft.shared; import dan200.QCraft; import static dan200.qcraft.shared.QCraftProxyCommon.saveNBTToPath; import java.io.File; import net.minecraft.client.Minecraft; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraft.world.storage.MapStorage; /** * * @author Robijnvogel */ public class EncryptionSavedData extends QCraftSavedData { private static final String DATA_NAME = "qCraft_EncSavedData"; public EncryptionSavedData() { super(DATA_NAME); } public EncryptionSavedData(String s) { super(s); } @Override public File getSaveLocation(World world) { return new File(super.getSaveLocation(world), "encryption.bin"); } public static EncryptionSavedData get(World world) { MapStorage storage = world.mapStorage; EncryptionSavedData instance = (EncryptionSavedData) storage.loadData(EncryptionSavedData.class, DATA_NAME); if (instance == null) { instance = new EncryptionSavedData(); storage.setData(DATA_NAME, instance); } return instance; } @Override public void writeToNBT(NBTTagCompound encryptionnbt) { NBTTagCompound encryption = new NBTTagCompound(); EncryptionRegistry.Instance.writeToNBT(encryption); encryptionnbt.setTag("encryption", encryption); saveNBTToPath(getSaveLocation(QCraft.getDefWorld()), encryptionnbt); } @Override public void readFromNBT(NBTTagCompound encryptionnbt) { // Reset EncryptionRegistry.Instance.reset(); // Load NBT if (encryptionnbt != null) { if (encryptionnbt.hasKey("encryption")) { NBTTagCompound encryption = encryptionnbt.getCompoundTag("encryption"); EncryptionRegistry.Instance.readFromNBT(encryption); } } } }