diff --git a/src/main/java/appeng/core/AppEng.java b/src/main/java/appeng/core/AppEng.java index b782f0d32..bf1066ffb 100644 --- a/src/main/java/appeng/core/AppEng.java +++ b/src/main/java/appeng/core/AppEng.java @@ -37,6 +37,7 @@ import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLServerAboutToStartEvent; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; +import net.minecraftforge.fml.common.event.FMLServerStoppedEvent; import net.minecraftforge.fml.common.event.FMLServerStoppingEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; @@ -237,6 +238,12 @@ public final class AppEng private void serverStopping( final FMLServerStoppingEvent event ) { WorldData.instance().onServerStopping(); + } + + @EventHandler + private void serverStopped( final FMLServerStoppedEvent event ) + { + WorldData.instance().onServerStoppped(); TickHandler.INSTANCE.shutdown(); } diff --git a/src/main/java/appeng/core/worlddata/IWorldData.java b/src/main/java/appeng/core/worlddata/IWorldData.java index 361b9a0fa..bd24d3e34 100644 --- a/src/main/java/appeng/core/worlddata/IWorldData.java +++ b/src/main/java/appeng/core/worlddata/IWorldData.java @@ -24,13 +24,15 @@ import javax.annotation.Nonnull; /** * @author thatsIch - * @version rv3 - 30.05.2015 + * @version rv3 - 02.11.2015 * @since rv3 30.05.2015 */ public interface IWorldData { void onServerStopping(); + void onServerStoppped(); + @Nonnull IWorldGridStorageData storageData(); diff --git a/src/main/java/appeng/core/worlddata/WorldData.java b/src/main/java/appeng/core/worlddata/WorldData.java index 86025bf4a..ea415d823 100644 --- a/src/main/java/appeng/core/worlddata/WorldData.java +++ b/src/main/java/appeng/core/worlddata/WorldData.java @@ -45,7 +45,7 @@ import appeng.services.compass.CompassThreadFactory; * different worlds. * * @author thatsIch - * @version rv3 - 30.05.2015 + * @version rv3 - 02.11.2015 * @since rv3 30.05.2015 */ public final class WorldData implements IWorldData @@ -162,15 +162,18 @@ public final class WorldData implements IWorldData @Override public void onServerStopping() { - Preconditions.checkNotNull( instance ); - for( final IOnWorldStoppable stoppable : this.stoppables ) { stoppable.onWorldStop(); } + } + + @Override + public void onServerStoppped() + { + Preconditions.checkNotNull( instance ); this.stoppables.clear(); - instance = null; }