From d42e2d2e4eefb36754fbe510d06acbf379e33fbc Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Sun, 1 Nov 2015 10:34:17 +0100 Subject: [PATCH] Finally actually fixed some stuff --- .../actuallyadditions/ActuallyAdditions.java | 6 ++-- .../actuallyadditions/event/InitEvents.java | 1 + .../event/WorldLoadingEvents.java | 31 +++++++++++++++++++ .../misc/LaserRelayConnectionHandler.java | 7 +++-- 4 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 src/main/java/ellpeck/actuallyadditions/event/WorldLoadingEvents.java diff --git a/src/main/java/ellpeck/actuallyadditions/ActuallyAdditions.java b/src/main/java/ellpeck/actuallyadditions/ActuallyAdditions.java index a0459901b..e3e0b8690 100644 --- a/src/main/java/ellpeck/actuallyadditions/ActuallyAdditions.java +++ b/src/main/java/ellpeck/actuallyadditions/ActuallyAdditions.java @@ -31,7 +31,10 @@ import ellpeck.actuallyadditions.items.InitItems; import ellpeck.actuallyadditions.items.ItemCoffee; import ellpeck.actuallyadditions.material.InitArmorMaterials; import ellpeck.actuallyadditions.material.InitToolMaterials; -import ellpeck.actuallyadditions.misc.*; +import ellpeck.actuallyadditions.misc.DispenserHandlerEmptyBucket; +import ellpeck.actuallyadditions.misc.DispenserHandlerFertilize; +import ellpeck.actuallyadditions.misc.DispenserHandlerFillBucket; +import ellpeck.actuallyadditions.misc.WorldData; import ellpeck.actuallyadditions.network.PacketHandler; import ellpeck.actuallyadditions.ore.InitOreDict; import ellpeck.actuallyadditions.proxy.IProxy; @@ -123,7 +126,6 @@ public class ActuallyAdditions{ @EventHandler public void serverStopped(FMLServerStoppedEvent event){ //Clear Data so that it won't be carried over to other worlds - LaserRelayConnectionHandler.getInstance().networks.clear(); PersistentServerData.playerSaveData.clear(); } } diff --git a/src/main/java/ellpeck/actuallyadditions/event/InitEvents.java b/src/main/java/ellpeck/actuallyadditions/event/InitEvents.java index 20e36c5ed..02c4e4c50 100644 --- a/src/main/java/ellpeck/actuallyadditions/event/InitEvents.java +++ b/src/main/java/ellpeck/actuallyadditions/event/InitEvents.java @@ -31,6 +31,7 @@ public class InitEvents{ Util.registerEvent(new EntityLivingEvent()); Util.registerEvent(new BucketFillEvent()); Util.registerEvent(new LogoutEvent()); + Util.registerEvent(new WorldLoadingEvents()); MinecraftForge.TERRAIN_GEN_BUS.register(new WorldDecorationEvent()); } diff --git a/src/main/java/ellpeck/actuallyadditions/event/WorldLoadingEvents.java b/src/main/java/ellpeck/actuallyadditions/event/WorldLoadingEvents.java new file mode 100644 index 000000000..abc923b7b --- /dev/null +++ b/src/main/java/ellpeck/actuallyadditions/event/WorldLoadingEvents.java @@ -0,0 +1,31 @@ +/* + * This file ("WorldLoadingEvents.java") is part of the Actually Additions Mod for Minecraft. + * It is created and owned by Ellpeck and distributed + * under the Actually Additions License to be found at + * http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md + * View the source code at https://github.com/Ellpeck/ActuallyAdditions + * + * © 2015 Ellpeck + */ + +package ellpeck.actuallyadditions.event; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import ellpeck.actuallyadditions.misc.LaserRelayConnectionHandler; +import net.minecraftforge.event.world.WorldEvent; + +public class WorldLoadingEvents{ + + @SubscribeEvent + public void onLoad(WorldEvent.Load event){ + if(LaserRelayConnectionHandler.getInstance() == null){ + LaserRelayConnectionHandler.setInstance(new LaserRelayConnectionHandler()); + } + } + + @SubscribeEvent + public void onUnload(WorldEvent.Unload event){ + //Clear Data so that it won't be carried over to other worlds + LaserRelayConnectionHandler.getInstance().networks.clear(); + } +} diff --git a/src/main/java/ellpeck/actuallyadditions/misc/LaserRelayConnectionHandler.java b/src/main/java/ellpeck/actuallyadditions/misc/LaserRelayConnectionHandler.java index 1f1736e44..36c8f1330 100644 --- a/src/main/java/ellpeck/actuallyadditions/misc/LaserRelayConnectionHandler.java +++ b/src/main/java/ellpeck/actuallyadditions/misc/LaserRelayConnectionHandler.java @@ -31,12 +31,13 @@ public class LaserRelayConnectionHandler{ public ConcurrentSet networks = new ConcurrentSet(); public static LaserRelayConnectionHandler getInstance(){ - if(instance == null){ - instance = new LaserRelayConnectionHandler(); - } return instance; } + public static void setInstance(LaserRelayConnectionHandler handler){ + instance = handler; + } + public NBTTagCompound writeNetworkToNBT(Network network){ NBTTagList list = new NBTTagList(); for(ConnectionPair pair : network.connections){