diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/github/technus/tectech/TecTech.java | 6 | ||||
-rw-r--r-- | src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java | 16 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index 4911b4be7b..6640949617 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -18,6 +18,7 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.commands.EMGive import com.github.technus.tectech.mechanics.elementalMatter.core.commands.EMList; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; +import com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData; import com.github.technus.tectech.proxy.CommonProxy; import com.github.technus.tectech.util.XSTR; import cpw.mods.fml.common.FMLCommonHandler; @@ -59,6 +60,7 @@ public class TecTech { private static IngameErrorLog moduleAdminErrorLogs; public static TecTechConfig configTecTech; + public static EnderWorldSavedData enderWorldSavedData; public static ChunkDataHandler chunkDataHandler; public static AnomalyHandler anomalyHandler; public static PlayerPersistence playerPersistence; @@ -108,6 +110,10 @@ public class TecTech { FMLCommonHandler.instance().bus().register(chunkDataHandler); MinecraftForge.EVENT_BUS.register(chunkDataHandler); + enderWorldSavedData = new EnderWorldSavedData(); + FMLCommonHandler.instance().bus().register(enderWorldSavedData); + MinecraftForge.EVENT_BUS.register(enderWorldSavedData); + MainLoader.preLoad(); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index 1297e6ed03..ee4ba087b4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -2,6 +2,7 @@ package com.github.technus.tectech.mechanics.enderStorage; import static com.github.technus.tectech.Reference.MODID; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import java.io.*; import java.util.HashMap; import java.util.Map; @@ -9,10 +10,13 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.WorldSavedData; import net.minecraft.world.storage.MapStorage; import net.minecraftforge.common.DimensionManager; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fluids.IFluidHandler; public class EnderWorldSavedData extends WorldSavedData { private static EnderWorldSavedData INSTANCE; + private static boolean initiated = false; private static final String DATA_NAME = MODID + "_EnderWorldSavedData"; private static final String ENDER_LIQUID_TAG_LINK = DATA_NAME + "_EnderLiquidTagLink"; @@ -124,4 +128,16 @@ public class EnderWorldSavedData extends WorldSavedData { getEnderLiquidTankLink().remove(tank); getEnderLiquidTankLink().put(tank, tag); } + + public static void initiate() { + if (!initiated) { + initiated = true; + MinecraftForge.EVENT_BUS.register(new EnderWorldSavedData()); + } + } + + @SubscribeEvent + public void onWorldUnload(WorldEvent.Unload event) { + INSTANCE = null; + } } |