Update for 1.0.0
This commit is contained in:
@@ -2,10 +2,16 @@ package org.bukkit.craftbukkit.generator;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import net.minecraft.server.BiomeBase;
|
||||
import net.minecraft.server.Chunk;
|
||||
import net.minecraft.server.ChunkCoordIntPair;
|
||||
import net.minecraft.server.ChunkPosition;
|
||||
import net.minecraft.server.EnumCreatureType;
|
||||
import net.minecraft.server.IChunkProvider;
|
||||
import net.minecraft.server.IProgressUpdate;
|
||||
import net.minecraft.server.World;
|
||||
import net.minecraft.server.WorldChunkManager;
|
||||
import net.minecraft.server.WorldGenStronghold;
|
||||
import net.minecraft.server.WorldServer;
|
||||
import org.bukkit.generator.BlockPopulator;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
@@ -14,6 +20,7 @@ public class CustomChunkGenerator extends InternalChunkGenerator {
|
||||
private final ChunkGenerator generator;
|
||||
private final WorldServer world;
|
||||
private final Random random;
|
||||
private final WorldGenStronghold strongholdGen = new WorldGenStronghold();
|
||||
|
||||
public CustomChunkGenerator(World world, long seed, ChunkGenerator generator) {
|
||||
this.world = (WorldServer) world;
|
||||
@@ -61,11 +68,29 @@ public class CustomChunkGenerator extends InternalChunkGenerator {
|
||||
return getOrCreateChunk(x, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSpawn(org.bukkit.World world, int x, int z) {
|
||||
return generator.canSpawn(world, x, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BlockPopulator> getDefaultPopulators(org.bukkit.World world) {
|
||||
return generator.getDefaultPopulators(world);
|
||||
}
|
||||
|
||||
public List a(EnumCreatureType type, int x, int y, int z) {
|
||||
WorldChunkManager worldchunkmanager = world.getWorldChunkManager();
|
||||
|
||||
if (worldchunkmanager == null) {
|
||||
return null;
|
||||
} else {
|
||||
BiomeBase biomebase = worldchunkmanager.a(new ChunkCoordIntPair(x >> 4, z >> 4));
|
||||
|
||||
return biomebase == null ? null : biomebase.a(type);
|
||||
}
|
||||
}
|
||||
|
||||
public ChunkPosition a(World world, String type, int x, int y, int z) {
|
||||
return "Stronghold".equals(type) && this.strongholdGen != null ? this.strongholdGen.a(world, x, y, z) : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import net.minecraft.server.Chunk;
|
||||
import net.minecraft.server.ChunkPosition;
|
||||
import net.minecraft.server.EnumCreatureType;
|
||||
import net.minecraft.server.IChunkProvider;
|
||||
import net.minecraft.server.IProgressUpdate;
|
||||
import net.minecraft.server.World;
|
||||
@@ -56,4 +58,12 @@ public class NormalChunkGenerator extends InternalChunkGenerator {
|
||||
public boolean canSave() {
|
||||
return provider.canSave();
|
||||
}
|
||||
|
||||
public List a(EnumCreatureType ect, int i, int i1, int i2) {
|
||||
return provider.a(ect, i, i1, i2);
|
||||
}
|
||||
|
||||
public ChunkPosition a(World world, String string, int i, int i1, int i2) {
|
||||
return provider.a(world, string, i, i1, i2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user