- private void worldLoaded(World world) {
- if (world instanceof WorldServer) {
- DimensionType dimensionType = world.dimension.getType();
- BoundingBoxCache boundingBoxCache = getOrCreateCache(dimensionType);
- ChunkProcessor chunkProcessor = null;
- if (dimensionType == DimensionType.OVERWORLD) {
- setWorldData(world.getSeed(), world.getWorldInfo().getSpawnX(), world.getWorldInfo().getSpawnZ());
- chunkProcessor = new OverworldChunkProcessor(boundingBoxCache);
- }
- if (dimensionType == DimensionType.NETHER) {
- chunkProcessor = new NetherChunkProcessor(boundingBoxCache);
- }
- if (dimensionType == DimensionType.THE_END) {
- chunkProcessor = new EndChunkProcessor(boundingBoxCache);
- }
- Logger.info("create world dimension: %s, %s (seed: %d)", dimensionType, world.getClass().toString(), world.getSeed());
- chunkProcessors.put(dimensionType, chunkProcessor);
- villageProcessors.put(dimensionType, new VillageProcessor(dimensionType, boundingBoxCache));
+ protected void setWorldSpawn(int spawnX, int spawnZ) {
+ this.spawnX = spawnX;
+ this.spawnZ = spawnZ;
+ }
+
+ private void worldLoaded(WorldLoaded event) {
+ int dimensionId = event.getDimensionId();
+ long seed = event.getSeed();
+ if (dimensionId == Dimensions.OVERWORLD) {
+ setSeed(seed);
+ setWorldSpawn(event.getSpawnX(), event.getSpawnZ());