package mods.eln.server; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraft.world.WorldSavedData; import net.minecraft.world.storage.MapStorage; public class ElnWorldStorage extends WorldSavedData { private int dim; final static String key = "eln.worldStorage"; public ElnWorldStorage(String str) { super(str); } public static ElnWorldStorage forWorld(World world) { // Retrieves the MyWorldData instance for the given world, creating it if necessary MapStorage storage = world.perWorldStorage; int dim = world.provider.dimensionId; ElnWorldStorage result = (ElnWorldStorage) storage.loadData(ElnWorldStorage.class, key + dim); if (result == null) { result = (ElnWorldStorage) storage.loadData(ElnWorldStorage.class, key + dim + "back"); } if (result == null) { result = new ElnWorldStorage(key + dim); result.dim = dim; storage.setData(key + dim, result); } return result; } @Override public void readFromNBT(NBTTagCompound nbt) { dim = nbt.getInteger("dim"); ServerEventListener.readFromEaWorldNBT(nbt); } @Override public void writeToNBT(NBTTagCompound nbt) { nbt.setInteger("dim", dim); ServerEventListener.writeToEaWorldNBT(nbt, dim); } @Override public boolean isDirty() { return true; } }