Posted March 28, 20196 yr I'm following this tutorial for creating a dimension but I don't know how to make biomesForGeneration my own list of biomes. Here is my code: public class FelChunkGenerator implements IChunkGenerator { private final World worldObj; private Random random; private Biome[] biomesForGeneration; private List<Biome.SpawnListEntry> mobs = Lists.newArrayList(new Biome.SpawnListEntry(EntityZombie.class, 100, 2, 2)); private MapGenBase caveGenerator = new MapGenCaves(); private NormalTerrainGenerator terraingen = new NormalTerrainGenerator(); public FelChunkGenerator(World worldObj) { this.worldObj = worldObj; long seed = worldObj.getSeed(); this.random = new Random((seed + 516) * 314); terraingen.setup(worldObj, random); caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, InitMapGenEvent.EventType.CAVE); } @Override public Chunk generateChunk(int x, int z) { ChunkPrimer chunkprimer = new ChunkPrimer(); // Setup biomes for terraingen this.biomesForGeneration = this.worldObj.getBiomeProvider().getBiomesForGeneration(this.biomesForGeneration, x * 4 - 2, z * 4 - 2, 10, 10); terraingen.setBiomesForGeneration(biomesForGeneration); terraingen.generate(x, z, chunkprimer); // Setup biomes again for actual biome decoration this.biomesForGeneration = this.worldObj.getBiomeProvider().getBiomes(this.biomesForGeneration, x * 16, z * 16, 16, 16); // This will replace stone with the biome specific stones terraingen.replaceBiomeBlocks(x, z, chunkprimer, this, biomesForGeneration); // Generate caves this.caveGenerator.generate(this.worldObj, x, z, chunkprimer); Chunk chunk = new Chunk(this.worldObj, chunkprimer, x, z); byte[] biomeArray = chunk.getBiomeArray(); for (int i = 0; i < biomeArray.length; ++i) { biomeArray[i] = (byte)Biome.getIdForBiome(this.biomesForGeneration[i]); } chunk.generateSkylightMap(); return chunk; } @Override public void populate(int x, int z) { int i = x * 16; int j = z * 16; BlockPos blockpos = new BlockPos(i, 0, j); Biome biome = this.worldObj.getBiome(blockpos.add(16, 0, 16)); // Add biome decorations (like flowers, grass, trees, ...) biome.decorate(this.worldObj, this.random, blockpos); // Make sure animals appropriate to the biome spawn here when the chunk is generated WorldEntitySpawner.performWorldGenSpawning(this.worldObj, biome, i + 8, j + 8, 16, 16, this.random); } @Override public boolean generateStructures(Chunk chunkIn, int x, int z) { return false; } @Override public List<Biome.SpawnListEntry> getPossibleCreatures(EnumCreatureType creatureType, BlockPos pos) { // If you want normal creatures appropriate for this biome then uncomment the // following two lines: // Biome biome = this.worldObj.getBiome(pos); // return biome.getSpawnableList(creatureType); if (creatureType == EnumCreatureType.MONSTER){ return mobs; } return ImmutableList.of(); } @Nullable @Override public BlockPos getNearestStructurePos(World worldIn, String structureName, BlockPos position, boolean findUnexplored) { return null; } @Override public boolean isInsideStructure(World worldIn, String structureName, BlockPos pos) { return false; } @Override public void recreateStructures(Chunk chunkIn, int x, int z) { } } can anyone help me?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.