public static void initDimension(int dim) { WorldServer overworld = getWorld(0); if (overworld == null) { throw new RuntimeException("Cannot Hotload Dim: Overworld is not Loaded!"); } try { DimensionManager.getProviderType(dim); } catch (Exception e) { System.err.println("Cannot Hotload Dim: " + e.getMessage()); return; // If a provider hasn't been registered then we can't hotload the dim } MinecraftServer mcServer = overworld.getMinecraftServer(); ISaveHandler savehandler = overworld.getSaveHandler(); WorldSettings worldSettings = new WorldSettings(overworld.getWorldInfo()); WorldServer world = (dim == 0 ? overworld : new WorldServerMulti( mcServer, savehandler, overworld.getWorldInfo().getWorldName(), dim, worldSettings, overworld, mcServer.theProfiler)); world.addWorldAccess(new WorldManager(mcServer, world)); MinecraftForge.EVENT_BUS.post(new WorldEvent.Load(world)); if (!mcServer.isSinglePlayer()) { world.getWorldInfo().setGameType(mcServer.getGameType()); } mcServer.func_147139_a(mcServer.func_147135_j()); }
public WorldServerProxy(WorldServer world) { super( world.func_73046_m(), world.getSaveHandler(), getWorldName(world), world.provider, getWorldSettings(world), world.theProfiler); this.proxiedWorld = world; // perWorldStorage = world.perWorldStorage; // final, set in super; requires reflection ReflectionHelper.setPrivateValue( World.class, this, world.perWorldStorage, new String[] {"perWorldStorage"}); // forge-added, no reobf scheduledUpdatesAreImmediate = world.scheduledUpdatesAreImmediate; loadedEntityList = world.loadedEntityList; loadedTileEntityList = world.loadedTileEntityList; playerEntities = world.playerEntities; weatherEffects = world.weatherEffects; skylightSubtracted = world.skylightSubtracted; prevRainingStrength = world.prevRainingStrength; rainingStrength = world.rainingStrength; prevThunderingStrength = world.prevThunderingStrength; thunderingStrength = world.thunderingStrength; lastLightningBolt = world.lastLightningBolt; difficultySetting = world.difficultySetting; rand = world.rand; // provider = world.provider; // handled by super findingSpawnPoint = world.findingSpawnPoint; mapStorage = world.mapStorage; villageCollectionObj = world.villageCollectionObj; // theProfiler = world.theProfiler; // handled by super isRemote = world.isRemote; theChunkProviderServer = world.theChunkProviderServer; levelSaving = world.levelSaving; // allPlayersSleeping = world.allPlayersSleeping; customTeleporters = world.customTeleporters; }