Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.chef.mod.generate;
- import java.util.Random;
- import net.minecraft.util.BlockPos;
- import net.minecraft.world.World;
- import net.minecraft.world.biome.BiomeGenBase;
- import net.minecraft.world.biome.BiomeGenJungle;
- import net.minecraft.world.biome.BiomeGenSavanna;
- import net.minecraft.world.chunk.IChunkProvider;
- import net.minecraftforge.fml.common.IWorldGenerator;
- import com.chef.mod.generate.features.WorldGenMangoTree;
- import com.chef.mod.generate.features.WorldGenOliveTree;
- public class TreeGeneration implements IWorldGenerator {
- @Override
- public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
- switch (world.provider.getDimensionId()) {
- case 1:
- generateEnd(world, random, chunkX * 16, chunkZ * 16);
- break;
- case 0:
- generateOverworld(world, random, chunkX * 16, chunkZ * 16);
- break;
- case -1:
- generateNether(world, random, chunkX * 16, chunkZ * 16);
- break;
- }
- }
- public void generateEnd(World world, Random rand, int x, int z) {
- }
- public void generateOverworld(World world, Random random, int x, int z) {
- this.addTreeSpawn(world, "mango", random, x, z, 16, 16, 40, 100, 1);
- this.addTreeSpawn(world, "olive_green", random, x, z, 16, 16, 40, 100, 1);
- this.addTreeSpawn(world, "olive_black", random, x, z, 16, 16, 40, 100, 1);
- }
- public void generateNether(World world, Random rand, int x, int z) {
- }
- public void addTreeSpawn(World world, String treeName, Random random, int blockXpos, int blockZpos, int maxX, int maxZ, int minY, int maxY, int chanceToSpawn) {
- for (int i = 0; i < chanceToSpawn; i++) {
- int posX = blockXpos + random.nextInt(maxX);
- int posY = minY + random.nextInt(maxY - minY);
- int posZ = blockZpos + random.nextInt(maxZ);
- BiomeGenBase biome = world.getBiomeGenForCoords(new BlockPos(posX, posY, posZ));
- if (treeName.equalsIgnoreCase("mango")) {
- if (biome instanceof BiomeGenJungle) {
- (new WorldGenMangoTree()).generate(world, random, (new BlockPos(posX, posY, posZ)));
- }
- }
- if (biome instanceof BiomeGenSavanna) {
- if (treeName.equalsIgnoreCase("olive_green")) {
- (new WorldGenOliveTree(true)).generate(world, random, (new BlockPos(posX, posY, posZ)));
- } else if (treeName.equalsIgnoreCase("olive_black")) {
- (new WorldGenOliveTree(false)).generate(world, random, (new BlockPos(posX, posY, posZ)));
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment