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();
}
}
}
}