package mcjty.rftools; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import mcjty.lib.varia.Logging; import mcjty.rftools.dimension.RfToolsDimensionManager; import mcjty.rftools.items.dimlets.KnownDimletConfiguration; import net.minecraft.server.MinecraftServer; import net.minecraftforge.event.world.WorldEvent; public class WorldLoadEvent { @SubscribeEvent public void loadEvent(WorldEvent.Load evt) { if (evt.world.isRemote) { // Do nothing on client. return; } if (MinecraftServer.getServer().isDedicatedServer()) { // If we are on a server then we initialize here. if (evt.world.provider.dimensionId == 0 && !KnownDimletConfiguration.isInitialized()) { Logging.log("Serverside World Load Event: initialize dimlets"); KnownDimletConfiguration.init(evt.world, true); KnownDimletConfiguration.initCrafting(evt.world); } } else { // If we are on a single player client then we connect here. if (!KnownDimletConfiguration.isInitialized()) { Logging.log("Single player World Load Event: initialize dimlets"); KnownDimletConfiguration.init(evt.world, true); KnownDimletConfiguration.initCrafting(evt.world); } } } @SubscribeEvent public void unloadEvent(WorldEvent.Unload evt) { int d = evt.world.provider.dimensionId; if (d != 0) { return; } if (!evt.world.isRemote) { if (MinecraftServer.getServer().isDedicatedServer()) { RfToolsDimensionManager.cleanupDimensionInformation(); KnownDimletConfiguration.clean(); } } } }