aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/TecTech.java6
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java16
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;
+ }
}