Readded the Chaparral, Coniferou sForest and Grove
This commit is contained in:
parent
f020d7a958
commit
d59a54f79b
13 changed files with 813 additions and 282 deletions
|
@ -1,84 +1,98 @@
|
||||||
package biomesoplenty.common.biomes;
|
package biomesoplenty.common.biomes;
|
||||||
|
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import java.util.HashMap;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.entity.passive.EntityHorse;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.biome.BiomeGenBase.Height;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import biomesoplenty.api.BOPBlockHelper;
|
||||||
|
import biomesoplenty.common.world.features.WorldGenBOPTallGrass;
|
||||||
|
import biomesoplenty.common.world.features.trees.WorldGenBOPShrub;
|
||||||
|
import biomesoplenty.common.world.features.trees.WorldGenChaparral2;
|
||||||
|
import biomesoplenty.common.world.features.trees.WorldGenChaparral3;
|
||||||
|
|
||||||
public class BiomeGenChaparral extends BOPBiome
|
public class BiomeGenChaparral extends BOPBiome
|
||||||
{
|
{
|
||||||
|
private static final Height biomeHeight = new Height(0.3F, 0.6F);
|
||||||
|
|
||||||
public BiomeGenChaparral(int par1)
|
public BiomeGenChaparral(int id)
|
||||||
{
|
{
|
||||||
super(par1);
|
super(id);
|
||||||
/*
|
|
||||||
spawnableCreatureList.clear();
|
//TODO: setHeight()
|
||||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
this.func_150570_a(biomeHeight);
|
||||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
//TODO: setColor()
|
||||||
customBiomeDecorator.treesPerChunk = 8;
|
this.setColor(12638301);
|
||||||
customBiomeDecorator.grassPerChunk = 20;
|
this.setTemperatureRainfall(0.8F, 0.4F);
|
||||||
customBiomeDecorator.bushesPerChunk = 10;
|
|
||||||
customBiomeDecorator.berryBushesPerChunk = 2;
|
this.spawnableCreatureList.clear();
|
||||||
customBiomeDecorator.generateStoneInGrass = true;
|
|
||||||
customBiomeDecorator.generatePumpkins = false;
|
this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||||
customBiomeDecorator.carrotsPerChunk = 1;
|
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 10;
|
this.theBiomeDecorator.treesPerChunk = 8;
|
||||||
customBiomeDecorator.shrubsPerChunk = 10;
|
this.theBiomeDecorator.grassPerChunk = 20;
|
||||||
customBiomeDecorator.waterReedsPerChunk = 2;
|
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
this.bopWorldFeatures.bushesPerChunk = 10;
|
||||||
*/
|
this.bopWorldFeatures.berryBushesPerChunk = 2;
|
||||||
|
this.bopWorldFeatures.generateStoneInGrass = true;
|
||||||
|
this.bopWorldFeatures.wildCarrotsPerChunk = 1;
|
||||||
|
this.bopWorldFeatures.shrubsPerChunk = 10;
|
||||||
|
this.bopWorldFeatures.waterReedsPerChunk = 2;
|
||||||
|
this.bopWorldFeatures.generatePumpkins = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
@Override
|
@Override
|
||||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
//TODO: getRandomWorldGenForTrees()
|
||||||
|
public WorldGenAbstractTree func_150567_a(Random random)
|
||||||
{
|
{
|
||||||
super.decorate(par1World, par2Random, par3, par4);
|
return random.nextInt(2) == 0 ? new WorldGenChaparral2() : (random.nextInt(5) == 0 ? new WorldGenBOPShrub(Blocks.log, Blocks.leaves, 0, 0, Blocks.grass, Blocks.sand) : new WorldGenChaparral3());
|
||||||
int var5 = 12 + par2Random.nextInt(6);
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<WorldGenerator, Double> getWeightedWorldGenForGrass()
|
||||||
|
{
|
||||||
|
HashMap<WorldGenerator, Double> grassMap = new HashMap();
|
||||||
|
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D);
|
||||||
|
|
||||||
|
return grassMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void decorate(World world, Random random, int chunkX, int chunkZ)
|
||||||
|
{
|
||||||
|
super.decorate(world, random, chunkX, chunkZ);
|
||||||
|
int var5 = 12 + random.nextInt(6);
|
||||||
|
|
||||||
for (int var6 = 0; var6 < var5; ++var6)
|
for (int var6 = 0; var6 < var5; ++var6)
|
||||||
{
|
{
|
||||||
int var7 = par3 + par2Random.nextInt(16);
|
int x = chunkX + random.nextInt(16);
|
||||||
int var8 = par2Random.nextInt(28) + 4;
|
int y = random.nextInt(28) + 4;
|
||||||
int var9 = par4 + par2Random.nextInt(16);
|
int z = chunkZ + random.nextInt(16);
|
||||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
|
||||||
|
|
||||||
Block block = Block.blocksList[var10];
|
//TODO: getBlock()
|
||||||
if (block != null && block.isGenMineableReplaceable(par1World, var7, var8, var9, Block.stone.blockID))
|
Block block = world.func_147439_a(x, y, z);
|
||||||
|
|
||||||
|
if (block != null && block.isReplaceableOreGen(world, x, y, z, Blocks.stone))
|
||||||
{
|
{
|
||||||
par1World.setBlock(var7, var8, var9, Blocks.amethystOre.get().blockID, 4, 2);
|
//TODO: setBlock()
|
||||||
|
world.func_147465_d(x, y, z, BOPBlockHelper.get("gemOre"), 4, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a WorldGen appropriate for this biome.
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
@Override
|
@Override
|
||||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
//TODO: getBiomeGrassColor()
|
||||||
{
|
public int func_150558_b(int p_150558_1_, int p_150558_2_, int p_150558_3_)
|
||||||
return par1Random.nextInt(2) == 0 ? new WorldGenChaparral2() : (par1Random.nextInt(5) == 0 ? new WorldGenChaparral1(0, 0) : new WorldGenChaparral3());
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a WorldGen appropriate for this biome.
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
@Override
|
|
||||||
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
|
|
||||||
{
|
|
||||||
return par1Random.nextInt(2) == 0 ? new WorldGenTallGrass(Blocks.foliage.get().blockID, 2) : new WorldGenTallGrass(Block.tallGrass.blockID, 1);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provides the basic grass color based on the biome temperature and rainfall
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
@Override
|
|
||||||
public int getBiomeGrassColor()
|
|
||||||
{
|
{
|
||||||
return 12638301;
|
return 12638301;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,75 +1,93 @@
|
||||||
package biomesoplenty.common.biomes;
|
package biomesoplenty.common.biomes;
|
||||||
|
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import java.util.HashMap;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.entity.passive.EntityWolf;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import biomesoplenty.api.BOPBlockHelper;
|
||||||
|
import biomesoplenty.common.world.features.WorldGenBOPTallGrass;
|
||||||
|
import biomesoplenty.common.world.features.trees.WorldGenBOPTaiga2;
|
||||||
|
import biomesoplenty.common.world.features.trees.WorldGenBOPTaiga3;
|
||||||
|
|
||||||
public class BiomeGenConiferousForest extends BOPBiome
|
public class BiomeGenConiferousForest extends BOPBiome
|
||||||
{
|
{
|
||||||
|
private static final Height biomeHeight = new Height(0.4F, 0.9F);
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
public BiomeGenConiferousForest(int id)
|
||||||
public BiomeGenConiferousForest(int par1)
|
|
||||||
{
|
{
|
||||||
super(par1);
|
super(id);
|
||||||
/*
|
|
||||||
spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 8, 4, 4));
|
|
||||||
|
|
||||||
customBiomeDecorator.treesPerChunk = 8;
|
//TODO: setHeight()
|
||||||
customBiomeDecorator.grassPerChunk = 10;
|
this.func_150570_a(biomeHeight);
|
||||||
customBiomeDecorator.mushroomsPerChunk = 8;
|
//TODO: setColor()
|
||||||
customBiomeDecorator.toadstoolsPerChunk = 3;
|
this.setColor(5410656);
|
||||||
customBiomeDecorator.blueMilksPerChunk = 1;
|
this.setTemperatureRainfall(0.5F, 0.5F);
|
||||||
customBiomeDecorator.poisonIvyPerChunk = 1;
|
|
||||||
customBiomeDecorator.berryBushesPerChunk = 1;
|
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 5;
|
|
||||||
customBiomeDecorator.shrubsPerChunk = 8;
|
|
||||||
customBiomeDecorator.waterReedsPerChunk = 2;
|
|
||||||
customBiomeDecorator.sandPerChunk = -999;
|
|
||||||
customBiomeDecorator.sandPerChunk2 = -999;
|
|
||||||
customBiomeDecorator.gravelPerChunk = 1;
|
|
||||||
customBiomeDecorator.gravelPerChunk2 = 1;
|
|
||||||
customBiomeDecorator.cloverPatchesPerChunk = 10;
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 8, 4, 4));
|
||||||
* Gets a WorldGen appropriate for this biome.
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
@Override
|
|
||||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
|
||||||
{
|
|
||||||
return par1Random.nextInt(3) == 0 ? new WorldGenTaiga3(false) : (par1Random.nextInt(5) == 0 ? new WorldGenTaiga4(false) : new WorldGenTaiga9(false));
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
this.theBiomeDecorator.treesPerChunk = 8;
|
||||||
* Gets a WorldGen appropriate for this biome.
|
this.theBiomeDecorator.grassPerChunk = 10;
|
||||||
*/
|
this.theBiomeDecorator.mushroomsPerChunk = 8;
|
||||||
/*
|
// gravelPerChunk
|
||||||
@Override
|
this.theBiomeDecorator.sandPerChunk = -999;
|
||||||
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
|
this.theBiomeDecorator.sandPerChunk2 = -999;
|
||||||
{
|
|
||||||
return par1Random.nextInt(2) == 0 ? new WorldGenTallGrass(Block.tallGrass.blockID, 1) : new WorldGenTallGrass(Blocks.foliage.get().blockID, 2);
|
this.bopWorldFeatures.toadstoolsPerChunk = 3;
|
||||||
|
this.bopWorldFeatures.blueMilksPerChunk = 1;
|
||||||
|
this.bopWorldFeatures.poisonIvyPerChunk = 1;
|
||||||
|
this.bopWorldFeatures.berryBushesPerChunk = 1;
|
||||||
|
this.bopWorldFeatures.shrubsPerChunk = 8;
|
||||||
|
this.bopWorldFeatures.waterReedsPerChunk = 2;
|
||||||
|
this.bopWorldFeatures.cloverPatchesPerChunk = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
//TODO: getRandomWorldGenForTrees()
|
||||||
|
public WorldGenAbstractTree func_150567_a(Random random)
|
||||||
{
|
{
|
||||||
super.decorate(par1World, par2Random, par3, par4);
|
return random.nextInt(3) == 0 ? new WorldGenBOPTaiga3(BOPBlockHelper.get("logs1"), BOPBlockHelper.get("leaves2"), 3, 1, false, 35, 10, 0):
|
||||||
int var5 = 3 + par2Random.nextInt(6);
|
(random.nextInt(5) == 0 ? new WorldGenBOPTaiga2(BOPBlockHelper.get("logs1"), BOPBlockHelper.get("leaves2"), 3, 1, false, 20, 15, 4) :
|
||||||
|
new WorldGenBOPTaiga2(BOPBlockHelper.get("logs1"), BOPBlockHelper.get("leaves2"), 3, 1, false, 10, 10, 5));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<WorldGenerator, Double> getWeightedWorldGenForGrass()
|
||||||
|
{
|
||||||
|
HashMap<WorldGenerator, Double> grassMap = new HashMap();
|
||||||
|
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D);
|
||||||
|
|
||||||
|
return grassMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void decorate(World world, Random random, int chunkX, int chunkZ)
|
||||||
|
{
|
||||||
|
super.decorate(world, random, chunkX, chunkZ);
|
||||||
|
int var5 = 12 + random.nextInt(6);
|
||||||
|
|
||||||
for (int var6 = 0; var6 < var5; ++var6)
|
for (int var6 = 0; var6 < var5; ++var6)
|
||||||
{
|
{
|
||||||
int var7 = par3 + par2Random.nextInt(16);
|
int x = chunkX + random.nextInt(16);
|
||||||
int var8 = par2Random.nextInt(28) + 4;
|
int y = random.nextInt(28) + 4;
|
||||||
int var9 = par4 + par2Random.nextInt(16);
|
int z = chunkZ + random.nextInt(16);
|
||||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
|
||||||
|
|
||||||
Block block = Block.blocksList[var10];
|
//TODO: getBlock()
|
||||||
if (block != null && block.isGenMineableReplaceable(par1World, var7, var8, var9, Block.stone.blockID))
|
Block block = world.func_147439_a(x, y, z);
|
||||||
|
|
||||||
|
if (block != null && block.isReplaceableOreGen(world, x, y, z, Blocks.stone))
|
||||||
{
|
{
|
||||||
par1World.setBlock(var7, var8, var9, Block.oreEmerald.blockID, 0, 2);
|
//TODO: setBlock()
|
||||||
|
world.func_147465_d(x, y, z, BOPBlockHelper.get("gemOre"), 0, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,93 +1,112 @@
|
||||||
package biomesoplenty.common.biomes;
|
package biomesoplenty.common.biomes;
|
||||||
|
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import java.util.HashMap;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.biome.BiomeGenBase.Height;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
import biomesoplenty.api.BOPBlockHelper;
|
||||||
|
import biomesoplenty.common.world.features.WorldGenBOPFlora;
|
||||||
|
import biomesoplenty.common.world.features.WorldGenBOPTallGrass;
|
||||||
|
import biomesoplenty.common.world.features.trees.WorldGenChaparral2;
|
||||||
|
import biomesoplenty.common.world.features.trees.WorldGenPoplar;
|
||||||
|
import biomesoplenty.common.world.features.trees.WorldGenPoplar2;
|
||||||
|
|
||||||
public class BiomeGenGrove extends BOPBiome
|
public class BiomeGenGrove extends BOPBiome
|
||||||
{
|
{
|
||||||
|
private static final Height biomeHeight = new Height(0.3F, 0.4F);
|
||||||
|
|
||||||
public BiomeGenGrove(int par1)
|
public BiomeGenGrove(int id)
|
||||||
{
|
{
|
||||||
super(par1);
|
super(id);
|
||||||
/*
|
|
||||||
theBiomeDecorator = new BiomeDecoratorBOP(this);
|
|
||||||
customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
|
||||||
customBiomeDecorator.treesPerChunk = 3;
|
|
||||||
customBiomeDecorator.flowersPerChunk = 5;
|
|
||||||
customBiomeDecorator.tinyFlowersPerChunk = 80;
|
|
||||||
customBiomeDecorator.whiteFlowersPerChunk = 15;
|
|
||||||
customBiomeDecorator.grassPerChunk = 8;
|
|
||||||
customBiomeDecorator.wheatGrassPerChunk = 4;
|
|
||||||
customBiomeDecorator.sproutsPerChunk = 1;
|
|
||||||
customBiomeDecorator.lilyflowersPerChunk = 3;
|
|
||||||
customBiomeDecorator.berryBushesPerChunk = 2;
|
|
||||||
customBiomeDecorator.shrubsPerChunk = 3;
|
|
||||||
customBiomeDecorator.cloverPatchesPerChunk = 20;
|
|
||||||
customBiomeDecorator.generatePumpkins = false;
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
//TODO: setHeight()
|
||||||
* Gets a WorldGen appropriate for this biome.
|
this.func_150570_a(biomeHeight);
|
||||||
*/
|
//TODO: setColor()
|
||||||
/*
|
this.setColor(5341009);
|
||||||
@Override
|
this.setTemperatureRainfall(0.4F, 0.8F);
|
||||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
|
||||||
{
|
|
||||||
return par1Random.nextInt(2) == 0 ? new WorldGenChaparral2() : par1Random.nextInt(3) == 0 ? new WorldGenPoplar2() : new WorldGenPoplar();
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
this.theBiomeDecorator.treesPerChunk = 3;
|
||||||
* Gets a WorldGen appropriate for this biome.
|
this.theBiomeDecorator.flowersPerChunk = 5;
|
||||||
*/
|
this.theBiomeDecorator.grassPerChunk = 8;
|
||||||
/*
|
|
||||||
@Override
|
this.bopWorldFeatures.bopFlowersPerChunk = 50;
|
||||||
public WorldGenerator getRandomWorldGenForGrass(Random par1Random)
|
this.bopWorldFeatures.sproutsPerChunk = 1;
|
||||||
{
|
this.bopWorldFeatures.berryBushesPerChunk = 2;
|
||||||
return par1Random.nextInt(2) == 0 ? new WorldGenTallGrass(Block.tallGrass.blockID, 1) : new WorldGenTallGrass(Blocks.foliage.get().blockID, 2);
|
this.bopWorldFeatures.shrubsPerChunk = 3;
|
||||||
|
this.bopWorldFeatures.cloverPatchesPerChunk = 20;
|
||||||
|
this.bopWorldFeatures.generatePumpkins = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
//TODO: getRandomWorldGenForTrees()
|
||||||
|
public WorldGenAbstractTree func_150567_a(Random random)
|
||||||
{
|
{
|
||||||
super.decorate(par1World, par2Random, par3, par4);
|
return random.nextInt(2) == 0 ? new WorldGenChaparral2() : random.nextInt(3) == 0 ? new WorldGenPoplar2() : new WorldGenPoplar();
|
||||||
int var5 = 3 + par2Random.nextInt(6);
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<WorldGenerator, Double> getWeightedWorldGenForBOPFlowers()
|
||||||
|
{
|
||||||
|
HashMap<WorldGenerator, Double> flowerMap = new HashMap();
|
||||||
|
|
||||||
|
flowerMap.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 16D);
|
||||||
|
flowerMap.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 3D);
|
||||||
|
|
||||||
|
return flowerMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<WorldGenerator, Double> getWeightedWorldGenForGrass()
|
||||||
|
{
|
||||||
|
HashMap<WorldGenerator, Double> grassMap = new HashMap();
|
||||||
|
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D);
|
||||||
|
grassMap.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D);
|
||||||
|
|
||||||
|
return grassMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void decorate(World world, Random random, int chunkX, int chunkZ)
|
||||||
|
{
|
||||||
|
super.decorate(world, random, chunkX, chunkZ);
|
||||||
|
int var5 = 12 + random.nextInt(6);
|
||||||
|
|
||||||
for (int var6 = 0; var6 < var5; ++var6)
|
for (int var6 = 0; var6 < var5; ++var6)
|
||||||
{
|
{
|
||||||
int var7 = par3 + par2Random.nextInt(16);
|
int x = chunkX + random.nextInt(16);
|
||||||
int var8 = par2Random.nextInt(28) + 4;
|
int y = random.nextInt(28) + 4;
|
||||||
int var9 = par4 + par2Random.nextInt(16);
|
int z = chunkZ + random.nextInt(16);
|
||||||
int var10 = par1World.getBlockId(var7, var8, var9);
|
|
||||||
|
|
||||||
Block block = Block.blocksList[var10];
|
//TODO: getBlock()
|
||||||
if (block != null && block.isGenMineableReplaceable(par1World, var7, var8, var9, Block.stone.blockID))
|
Block block = world.func_147439_a(x, y, z);
|
||||||
|
|
||||||
|
if (block != null && block.isReplaceableOreGen(world, x, y, z, Blocks.stone))
|
||||||
{
|
{
|
||||||
par1World.setBlock(var7, var8, var9, Block.oreEmerald.blockID, 0, 2);
|
//TODO: setBlock()
|
||||||
|
world.func_147465_d(x, y, z, BOPBlockHelper.get("gemOre"), 0, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provides the basic grass color based on the biome temperature and rainfall
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
@Override
|
@Override
|
||||||
public int getBiomeGrassColor()
|
//TODO: getBiomeGrassColor()
|
||||||
|
public int func_150558_b(int p_150558_1_, int p_150558_2_, int p_150558_3_)
|
||||||
{
|
{
|
||||||
return 5341009;
|
return 5341009;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provides the basic foliage color based on the biome temperature and rainfall
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
@Override
|
@Override
|
||||||
public int getBiomeFoliageColor()
|
//TODO: getBiomeFoliageColor()
|
||||||
|
public int func_150571_c(int x, int y, int z)
|
||||||
{
|
{
|
||||||
return 6396257;
|
return 6396257;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,9 @@ import biomesoplenty.common.biomes.BiomeGenBambooForest;
|
||||||
import biomesoplenty.common.biomes.BiomeGenBorealForest;
|
import biomesoplenty.common.biomes.BiomeGenBorealForest;
|
||||||
import biomesoplenty.common.biomes.BiomeGenBrushland;
|
import biomesoplenty.common.biomes.BiomeGenBrushland;
|
||||||
import biomesoplenty.common.biomes.BiomeGenCanyon;
|
import biomesoplenty.common.biomes.BiomeGenCanyon;
|
||||||
|
import biomesoplenty.common.biomes.BiomeGenChaparral;
|
||||||
import biomesoplenty.common.biomes.BiomeGenCherryBlossomGrove;
|
import biomesoplenty.common.biomes.BiomeGenCherryBlossomGrove;
|
||||||
|
import biomesoplenty.common.biomes.BiomeGenConiferousForest;
|
||||||
import biomesoplenty.common.biomes.BiomeGenCrag;
|
import biomesoplenty.common.biomes.BiomeGenCrag;
|
||||||
import biomesoplenty.common.biomes.BiomeGenDeadForest;
|
import biomesoplenty.common.biomes.BiomeGenDeadForest;
|
||||||
import biomesoplenty.common.biomes.BiomeGenDeciduousForest;
|
import biomesoplenty.common.biomes.BiomeGenDeciduousForest;
|
||||||
|
@ -19,6 +21,7 @@ import biomesoplenty.common.biomes.BiomeGenFen;
|
||||||
import biomesoplenty.common.biomes.BiomeGenFlowerField;
|
import biomesoplenty.common.biomes.BiomeGenFlowerField;
|
||||||
import biomesoplenty.common.biomes.BiomeGenFrostForest;
|
import biomesoplenty.common.biomes.BiomeGenFrostForest;
|
||||||
import biomesoplenty.common.biomes.BiomeGenGrassland;
|
import biomesoplenty.common.biomes.BiomeGenGrassland;
|
||||||
|
import biomesoplenty.common.biomes.BiomeGenGrove;
|
||||||
import biomesoplenty.common.biomes.BiomeGenHighland;
|
import biomesoplenty.common.biomes.BiomeGenHighland;
|
||||||
import biomesoplenty.common.biomes.BiomeGenJadeCliffs;
|
import biomesoplenty.common.biomes.BiomeGenJadeCliffs;
|
||||||
import biomesoplenty.common.biomes.BiomeGenLavenderFields;
|
import biomesoplenty.common.biomes.BiomeGenLavenderFields;
|
||||||
|
@ -79,10 +82,10 @@ public class BOPBiomes
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenBorealForest(BOPConfigurationIDs.borealForestID).setBiomeName("Boreal Forest"), BOPBiomeTemperatureType.WARM));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenBorealForest(BOPConfigurationIDs.borealForestID).setBiomeName("Boreal Forest"), BOPBiomeTemperatureType.WARM));
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenBrushland(BOPConfigurationIDs.brushlandID).setBiomeName("Brushland"), BOPBiomeTemperatureType.HOT));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenBrushland(BOPConfigurationIDs.brushlandID).setBiomeName("Brushland"), BOPBiomeTemperatureType.HOT));
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenCanyon(BOPConfigurationIDs.canyonID).setBiomeName("Canyon"), BOPBiomeTemperatureType.HOT));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenCanyon(BOPConfigurationIDs.canyonID).setBiomeName("Canyon"), BOPBiomeTemperatureType.HOT));
|
||||||
//registerBiome(new BOPBiomeListEntry(new BiomeGenChaparral(BOPConfigurationIDs.chaparralID).setBiomeName("Chaparral"), BOPBiomeTemperatureType.WARM));*/
|
registerBiome(new BOPBiomeListEntry(new BiomeGenChaparral(BOPConfigurationIDs.chaparralID).setBiomeName("Chaparral"), BOPBiomeTemperatureType.WARM));
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenCherryBlossomGrove(BOPConfigurationIDs.cherryBlossomGroveID).setBiomeName("Cherry Blossom Grove"), BOPBiomeTemperatureType.COOL));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenCherryBlossomGrove(BOPConfigurationIDs.cherryBlossomGroveID).setBiomeName("Cherry Blossom Grove"), BOPBiomeTemperatureType.COOL));
|
||||||
/*registerBiome(new BOPBiomeListEntry(new BiomeGenConiferousForest(BOPConfigurationIDs.coniferousForestID).setBiomeName("Coniferous Forest"), BOPBiomeTemperatureType.WARM));
|
registerOnlyBiome(new BOPBiomeListEntry(new BiomeGenConiferousForest(BOPConfigurationIDs.coniferousForestID).setBiomeName("Coniferous Forest"), BOPBiomeTemperatureType.WARM));
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenConiferousForestSnow(BOPConfigurationIDs.coniferousForestSnowID).setBiomeName("Snowy Coniferous Forest"), BOPBiomeTemperatureType.ICY));*/
|
//registerBiome(new BOPBiomeListEntry(new BiomeGenConiferousForestSnow(BOPConfigurationIDs.coniferousForestSnowID).setBiomeName("Snowy Coniferous Forest"), BOPBiomeTemperatureType.ICY));*/
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenCrag(BOPConfigurationIDs.cragID).setBiomeName("Crag"), BOPBiomeTemperatureType.HOT));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenCrag(BOPConfigurationIDs.cragID).setBiomeName("Crag"), BOPBiomeTemperatureType.HOT));
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenDeadForest(BOPConfigurationIDs.deadForestID).setBiomeName("Dead Forest"), BOPBiomeTemperatureType.COOL));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenDeadForest(BOPConfigurationIDs.deadForestID).setBiomeName("Dead Forest"), BOPBiomeTemperatureType.COOL));
|
||||||
//registerBiome(new BOPBiomeListEntry(new BiomeGenDeadSwamp(BOPConfigurationIDs.deadSwampID).setBiomeName("Dead Swamp"), BOPBiomeTemperatureType.WARM));*/
|
//registerBiome(new BOPBiomeListEntry(new BiomeGenDeadSwamp(BOPConfigurationIDs.deadSwampID).setBiomeName("Dead Swamp"), BOPBiomeTemperatureType.WARM));*/
|
||||||
|
@ -92,7 +95,7 @@ public class BOPBiomes
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenFlowerField(BOPConfigurationIDs.flowerFieldID).setBiomeName("Flower Field"), BOPBiomeTemperatureType.WARM));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenFlowerField(BOPConfigurationIDs.flowerFieldID).setBiomeName("Flower Field"), BOPBiomeTemperatureType.WARM));
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenFrostForest(BOPConfigurationIDs.frostForestID).setBiomeName("Frost Forest"), BOPBiomeTemperatureType.ICY));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenFrostForest(BOPConfigurationIDs.frostForestID).setBiomeName("Frost Forest"), BOPBiomeTemperatureType.ICY));
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenGrassland(BOPConfigurationIDs.grasslandID).setBiomeName("Grassland"), BOPBiomeTemperatureType.WARM));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenGrassland(BOPConfigurationIDs.grasslandID).setBiomeName("Grassland"), BOPBiomeTemperatureType.WARM));
|
||||||
//registerBiome(new BOPBiomeListEntry(new BiomeGenGrove(BOPConfigurationIDs.groveID).setBiomeName("Grove"), BOPBiomeTemperatureType.WARM));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenGrove(BOPConfigurationIDs.groveID).setBiomeName("Grove"), BOPBiomeTemperatureType.WARM));
|
||||||
/*registerBiome(new BOPBiomeListEntry(new BiomeGenHeathland(BOPConfigurationIDs.heathlandID).setBiomeName("Heathland"), BOPBiomeTemperatureType.WARM));*/
|
/*registerBiome(new BOPBiomeListEntry(new BiomeGenHeathland(BOPConfigurationIDs.heathlandID).setBiomeName("Heathland"), BOPBiomeTemperatureType.WARM));*/
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenHighland(BOPConfigurationIDs.highlandID).setBiomeName("Highland"), BOPBiomeTemperatureType.WARM));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenHighland(BOPConfigurationIDs.highlandID).setBiomeName("Highland"), BOPBiomeTemperatureType.WARM));
|
||||||
registerBiome(new BOPBiomeListEntry(new BiomeGenJadeCliffs(BOPConfigurationIDs.jadeCliffsID).setBiomeName("Jade Cliffs"), BOPBiomeTemperatureType.WARM));
|
registerBiome(new BOPBiomeListEntry(new BiomeGenJadeCliffs(BOPConfigurationIDs.jadeCliffsID).setBiomeName("Jade Cliffs"), BOPBiomeTemperatureType.WARM));
|
||||||
|
|
|
@ -5,6 +5,7 @@ public class BOPWorldFeatures
|
||||||
public boolean generatePumpkins = true;
|
public boolean generatePumpkins = true;
|
||||||
public boolean generateQuicksand = false;
|
public boolean generateQuicksand = false;
|
||||||
public boolean generateCanyon = false;
|
public boolean generateCanyon = false;
|
||||||
|
public boolean generateStoneInGrass = false;
|
||||||
|
|
||||||
public int waterPoolsPerChunk = 0;
|
public int waterPoolsPerChunk = 0;
|
||||||
public int lavaPoolsPerChunk = 0;
|
public int lavaPoolsPerChunk = 0;
|
||||||
|
@ -35,6 +36,7 @@ public class BOPWorldFeatures
|
||||||
public int cattailsPerChunk = 0;
|
public int cattailsPerChunk = 0;
|
||||||
public int highCattailsPerChunk = 0;
|
public int highCattailsPerChunk = 0;
|
||||||
public int algaePerChunk = 0;
|
public int algaePerChunk = 0;
|
||||||
|
public int sproutsPerChunk = 0;
|
||||||
|
|
||||||
public int bopFlowersPerChunk = 0;
|
public int bopFlowersPerChunk = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,76 +0,0 @@
|
||||||
package biomesoplenty.common.world.features;
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.material.Material;
|
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
|
||||||
import biomesoplenty.api.BOPBlockHelper;
|
|
||||||
import biomesoplenty.common.world.decoration.IBOPDecoration;
|
|
||||||
import biomesoplenty.common.world.generation.WorldGeneratorBOP;
|
|
||||||
|
|
||||||
public class WorldGenMud extends WorldGeneratorBOP
|
|
||||||
{
|
|
||||||
/** The maximum radius used when generating a patch of blocks. */
|
|
||||||
private int radius;
|
|
||||||
|
|
||||||
public WorldGenMud(int radius)
|
|
||||||
{
|
|
||||||
this.radius = radius;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean generate(World world, Random random, int x, int y, int z)
|
|
||||||
{
|
|
||||||
//TODO: getBlock() getMaterial() water
|
|
||||||
if (world.func_147439_a(x, y, z).func_149688_o() != Material.field_151586_h)
|
|
||||||
return false;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int var6 = random.nextInt(radius - 2) + 2;
|
|
||||||
byte var7 = 2;
|
|
||||||
|
|
||||||
for (int var8 = x - var6; var8 <= x + var6; ++var8)
|
|
||||||
{
|
|
||||||
for (int var9 = z - var6; var9 <= z + var6; ++var9)
|
|
||||||
{
|
|
||||||
int var10 = var8 - x;
|
|
||||||
int var11 = var9 - z;
|
|
||||||
|
|
||||||
if (var10 * var10 + var11 * var11 <= var6 * var6)
|
|
||||||
{
|
|
||||||
for (int var12 = y - var7; var12 <= y + var7; ++var12)
|
|
||||||
{
|
|
||||||
//TODO: getBlock()
|
|
||||||
Block block = world.func_147439_a(var8, var12, var9);
|
|
||||||
|
|
||||||
if (block == Blocks.dirt || block == Blocks.grass)
|
|
||||||
{
|
|
||||||
//TODO: setBlock()
|
|
||||||
world.func_147449_b(var8, var12, var9, BOPBlockHelper.get("mud"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void doGeneration(World world, Random random, Field worldGeneratorField, WorldGenerator worldGenerator, BiomeGenBase biome, IBOPDecoration bopDecoration, int x, int z) throws Exception
|
|
||||||
{
|
|
||||||
for (int i = 0; i < worldGeneratorField.getInt(bopDecoration.getWorldFeatures()); i++)
|
|
||||||
{
|
|
||||||
int randX = x + random.nextInt(16) + 8;
|
|
||||||
int randZ = z + random.nextInt(16) + 8;
|
|
||||||
|
|
||||||
worldGenerator.generate(world, random, randX, world.getTopSolidOrLiquidBlock(randX, randZ), randZ);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -108,6 +108,17 @@ public class WorldGenSplotches extends WorldGeneratorBOP
|
||||||
int randY = random.nextInt(64) + 64;
|
int randY = random.nextInt(64) + 64;
|
||||||
int randZ = z + random.nextInt(16);
|
int randZ = z + random.nextInt(16);
|
||||||
|
|
||||||
|
worldGenerator.generate(world, random, randX, randY, randZ);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (fieldName.equals("generateStoneInGrass") && bopDecoration.getWorldFeatures().generateStoneInGrass)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 15; ++i)
|
||||||
|
{
|
||||||
|
int randX = x + random.nextInt(16);
|
||||||
|
int randY = random.nextInt(64) + 64;
|
||||||
|
int randZ = z + random.nextInt(16);
|
||||||
|
|
||||||
worldGenerator.generate(world, random, randX, randY, randZ);
|
worldGenerator.generate(world, random, randX, randY, randZ);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,6 +65,18 @@ public class WorldGenBOPTaiga2 extends WorldGenAbstractTree
|
||||||
k1 = 2 + random.nextInt(2);
|
k1 = 2 + random.nextInt(2);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
i1 = 8 + random.nextInt(4);
|
||||||
|
j1 = l - i1;
|
||||||
|
k1 = 2 + random.nextInt(2);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
i1 = 2;
|
||||||
|
j1 = l - i1;
|
||||||
|
k1 = 2 + random.nextInt(2);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
i1 = 1 + random.nextInt(2);
|
i1 = 1 + random.nextInt(2);
|
||||||
j1 = l - i1;
|
j1 = l - i1;
|
||||||
|
@ -176,7 +188,6 @@ public class WorldGenBOPTaiga2 extends WorldGenAbstractTree
|
||||||
|
|
||||||
if (block2.isAir(world, x, y + k2, z) || block2.isLeaves(world, x, y + k2, z))
|
if (block2.isAir(world, x, y + k2, z) || block2.isLeaves(world, x, y + k2, z))
|
||||||
{
|
{
|
||||||
this.func_150516_a(world, x, y + k2, z, Blocks.log, 1);
|
|
||||||
//TODO: setBlockAndMetadata()
|
//TODO: setBlockAndMetadata()
|
||||||
this.func_150516_a(world, x, y + k2, z, wood, metaWood);
|
this.func_150516_a(world, x, y + k2, z, wood, metaWood);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,200 @@
|
||||||
|
package biomesoplenty.common.world.features.trees;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.BlockSapling;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.util.Direction;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
|
||||||
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
public class WorldGenBOPTaiga3 extends WorldGenAbstractTree
|
||||||
|
{
|
||||||
|
private final int minTreeHeight;
|
||||||
|
private final int randomTreeHeight;
|
||||||
|
|
||||||
|
private final Block wood;
|
||||||
|
private final Block leaves;
|
||||||
|
|
||||||
|
private final int metaWood;
|
||||||
|
private final int metaLeaves;
|
||||||
|
|
||||||
|
private final int altNo;
|
||||||
|
|
||||||
|
public WorldGenBOPTaiga3(Block wood, Block leaves, int metaWood, int metaLeaves, boolean doBlockNotify, int minTreeHeight, int randomTreeHeight, int altNo)
|
||||||
|
{
|
||||||
|
super(doBlockNotify);
|
||||||
|
|
||||||
|
this.wood = wood;
|
||||||
|
this.leaves = leaves;
|
||||||
|
this.metaWood = metaWood;
|
||||||
|
this.metaLeaves = metaLeaves;
|
||||||
|
this.minTreeHeight = minTreeHeight;
|
||||||
|
this.randomTreeHeight = randomTreeHeight;
|
||||||
|
|
||||||
|
this.altNo = altNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean generate(World world, Random random, int x, int y, int z)
|
||||||
|
{
|
||||||
|
int l = random.nextInt(randomTreeHeight) + minTreeHeight;
|
||||||
|
int i1;
|
||||||
|
int j1;
|
||||||
|
int k1;
|
||||||
|
|
||||||
|
switch (altNo)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
i1 = 10 + random.nextInt(5);
|
||||||
|
j1 = l - i1;
|
||||||
|
k1 = 4;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean flag = true;
|
||||||
|
|
||||||
|
if (y >= 1 && y + l + 1 <= 256)
|
||||||
|
{
|
||||||
|
int i2;
|
||||||
|
int l3;
|
||||||
|
|
||||||
|
for (int l1 = y; l1 <= y + 1 + l && flag; ++l1)
|
||||||
|
{
|
||||||
|
boolean flag1 = true;
|
||||||
|
|
||||||
|
if (l1 - y < i1)
|
||||||
|
{
|
||||||
|
l3 = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
l3 = k1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i2 = x - l3; i2 <= x + l3 && flag; ++i2)
|
||||||
|
{
|
||||||
|
for (int j2 = z - l3; j2 <= z + l3 && flag; ++j2)
|
||||||
|
{
|
||||||
|
if (l1 >= 0 && l1 < 256)
|
||||||
|
{
|
||||||
|
Block block = world.func_147439_a(i2, l1, j2);
|
||||||
|
|
||||||
|
if (!block.isAir(world, i2, l1, j2) && !block.isLeaves(world, i2, l1, j2))
|
||||||
|
{
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!flag)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Block block1 = world.func_147439_a(x, y - 1, z);
|
||||||
|
Block block2 = world.func_147439_a(x + 1, y - 1, z);
|
||||||
|
Block block3 = world.func_147439_a(x - 1, y - 1, z);
|
||||||
|
Block block4 = world.func_147439_a(x, y - 1, z + 1);
|
||||||
|
Block block5 = world.func_147439_a(x, y - 1, z - 1);
|
||||||
|
|
||||||
|
boolean isSoil = block1.canSustainPlant(world, x, y - 1, z, ForgeDirection.UP, (BlockSapling)Blocks.sapling) &&
|
||||||
|
block2.canSustainPlant(world, x + 1, y - 1, z, ForgeDirection.UP, (BlockSapling)Blocks.sapling) &&
|
||||||
|
block3.canSustainPlant(world, x - 1, y - 1, z, ForgeDirection.UP, (BlockSapling)Blocks.sapling) &&
|
||||||
|
block4.canSustainPlant(world, x, y - 1, z + 1, ForgeDirection.UP, (BlockSapling)Blocks.sapling) &&
|
||||||
|
block5.canSustainPlant(world, x, y - 1, z - 1, ForgeDirection.UP, (BlockSapling)Blocks.sapling);
|
||||||
|
|
||||||
|
if (isSoil && y < 256 - l - 1)
|
||||||
|
{
|
||||||
|
block1.onPlantGrow(world, x, y - 1, z, x, y, z);
|
||||||
|
block1.onPlantGrow(world, x + 1, y - 1, z, x + 1, y, z);
|
||||||
|
block1.onPlantGrow(world, x - 1, y - 1, z, x - 1, y, z);
|
||||||
|
block1.onPlantGrow(world, x, y - 1, z + 1, x, y, z + 1);
|
||||||
|
block1.onPlantGrow(world, x, y - 1, z - 1, x, y, z - 1);
|
||||||
|
l3 = random.nextInt(2);
|
||||||
|
i2 = 1;
|
||||||
|
byte b0 = 0;
|
||||||
|
int k2;
|
||||||
|
int i4;
|
||||||
|
|
||||||
|
for (i4 = 0; i4 <= j1; ++i4)
|
||||||
|
{
|
||||||
|
k2 = y + l - i4;
|
||||||
|
|
||||||
|
for (int l2 = x - l3; l2 <= x + l3; ++l2)
|
||||||
|
{
|
||||||
|
int i3 = l2 - x;
|
||||||
|
|
||||||
|
for (int j3 = z - l3; j3 <= z + l3; ++j3)
|
||||||
|
{
|
||||||
|
int k3 = j3 - z;
|
||||||
|
|
||||||
|
if ((Math.abs(i3) != l3 || Math.abs(k3) != l3 || l3 <= 0) && world.func_147439_a(l2, k2, j3).canBeReplacedByLeaves(world, l2, k2, j3))
|
||||||
|
{
|
||||||
|
//TODO: setBlockAndMetadata()
|
||||||
|
this.func_150516_a(world, l2, k2, j3, leaves, this.metaLeaves);
|
||||||
|
this.func_150516_a(world, l2 + 1, k2, j3, leaves, this.metaLeaves);
|
||||||
|
this.func_150516_a(world, l2 - 1, k2, j3, leaves, this.metaLeaves);
|
||||||
|
this.func_150516_a(world, l2, k2, j3 + 1, leaves, this.metaLeaves);
|
||||||
|
this.func_150516_a(world, l2, k2, j3 - 1, leaves, this.metaLeaves);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (l3 >= i2)
|
||||||
|
{
|
||||||
|
l3 = b0;
|
||||||
|
b0 = 1;
|
||||||
|
++i2;
|
||||||
|
|
||||||
|
if (i2 > k1)
|
||||||
|
{
|
||||||
|
i2 = k1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
++l3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
i4 = random.nextInt(3);
|
||||||
|
|
||||||
|
for (int i = 0; i < l - i4; ++i)
|
||||||
|
{
|
||||||
|
Block block6 = world.func_147439_a(x, y + i, z);
|
||||||
|
|
||||||
|
if (block6.isAir(world, x, y + i, z) || block6.isLeaves(world, x, y + i, z))
|
||||||
|
{
|
||||||
|
//TODO: setBlockAndMetadata()
|
||||||
|
this.func_150516_a(world, x, y + i, z, wood, metaWood);
|
||||||
|
this.func_150516_a(world, x + 1, y + i, z, wood, metaWood);
|
||||||
|
this.func_150516_a(world, x - 1, y + i, z, wood, metaWood);
|
||||||
|
this.func_150516_a(world, x, y + i, z + 1, wood, metaWood);
|
||||||
|
this.func_150516_a(world, x, y + i, z - 1, wood, metaWood);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
package biomesoplenty.common.world.features.trees;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
|
||||||
|
|
||||||
|
public class WorldGenChaparral3 extends WorldGenAbstractTree
|
||||||
|
{
|
||||||
|
public WorldGenChaparral3()
|
||||||
|
{
|
||||||
|
super(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean generate(World world, Random random, int x, int y, int z)
|
||||||
|
{
|
||||||
|
//TODO: isAirBlock()
|
||||||
|
while (world.func_147437_c(x, y, z) && y > 2)
|
||||||
|
{
|
||||||
|
--y;
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO: getBlock()
|
||||||
|
Block block = world.func_147439_a(x, y, z);
|
||||||
|
|
||||||
|
if (block != Blocks.grass && block != Blocks.sand)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int var7 = -2; var7 <= 2; ++var7)
|
||||||
|
{
|
||||||
|
for (int var8 = -2; var8 <= 2; ++var8)
|
||||||
|
{
|
||||||
|
//TODO: isAirBlock() isAirBlock()
|
||||||
|
if (world.func_147437_c(x + var7, y - 1, z + var8) && world.func_147437_c(x + var7, y - 2, z + var8))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO: setBlock()
|
||||||
|
world.func_147449_b(x, y, z, Blocks.log);
|
||||||
|
world.func_147449_b(x, y + 1, z, Blocks.leaves);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,136 @@
|
||||||
|
package biomesoplenty.common.world.features.trees;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
|
||||||
|
|
||||||
|
public class WorldGenPoplar extends WorldGenAbstractTree
|
||||||
|
{
|
||||||
|
public WorldGenPoplar()
|
||||||
|
{
|
||||||
|
super(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean generate(World world, Random random, int x, int y, int z)
|
||||||
|
{
|
||||||
|
//TODO: isAirBlock()
|
||||||
|
while (world.func_147437_c(x, y, z) && y > 2)
|
||||||
|
{
|
||||||
|
--y;
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO: getBlock()
|
||||||
|
Block block = world.func_147439_a(x, y, z);
|
||||||
|
|
||||||
|
if (block != Blocks.grass)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int var7 = -2; var7 <= 2; ++var7)
|
||||||
|
{
|
||||||
|
for (int var8 = -2; var8 <= 2; ++var8)
|
||||||
|
{
|
||||||
|
//TODO: isAirBlock() isAirBlock() isAirBlock()
|
||||||
|
if (world.func_147437_c(x + var7, y - 1, z + var8) && world.func_147437_c(x + var7, y - 2, z + var8) && !world.func_147437_c(x + var7, y, z + var8))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO: setBlock()
|
||||||
|
world.func_147449_b(x, y, z, Blocks.dirt);
|
||||||
|
world.func_147465_d(x, y + 1, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 2, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 3, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 4, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 5, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 6, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 7, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 8, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 9, z, Blocks.log, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 3, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 3, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 3, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 3, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 4, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 4, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 4, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 4, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 4, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 4, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 4, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 4, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 5, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 5, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 5, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 5, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 5, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 5, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 5, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 5, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 2, y + 5, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 2, y + 5, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 5, z + 2, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 5, z - 2, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 6, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 6, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 6, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 6, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 6, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 6, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 6, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 6, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 2, y + 6, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 2, y + 6, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 6, z + 2, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 6, z - 2, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 7, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 7, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 7, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 7, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 7, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 7, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 7, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 7, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 2, y + 7, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 2, y + 7, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 7, z + 2, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 7, z - 2, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 8, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 8, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 8, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 8, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 8, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 8, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 8, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 8, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 9, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 9, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 9, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 9, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 10, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 10, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 10, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 10, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x, y + 11, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 12, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 13, z, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,140 @@
|
||||||
|
package biomesoplenty.common.world.features.trees;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
|
||||||
|
|
||||||
|
public class WorldGenPoplar2 extends WorldGenAbstractTree
|
||||||
|
{
|
||||||
|
public WorldGenPoplar2()
|
||||||
|
{
|
||||||
|
super(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean generate(World world, Random random, int x, int y, int z)
|
||||||
|
{
|
||||||
|
//TODO: isAirBlock()
|
||||||
|
while (world.func_147437_c(x, y, z) && y > 2)
|
||||||
|
{
|
||||||
|
--y;
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO: getBlock()
|
||||||
|
Block block = world.func_147439_a(x, y, z);
|
||||||
|
|
||||||
|
if (block != Blocks.grass)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int var7 = -2; var7 <= 2; ++var7)
|
||||||
|
{
|
||||||
|
for (int var8 = -2; var8 <= 2; ++var8)
|
||||||
|
{
|
||||||
|
//TODO: isAirBlock() isAirBlock() isAirBlock()
|
||||||
|
if (world.func_147437_c(x + var7, y - 1, z + var8) && world.func_147437_c(x + var7, y - 2, z + var8) && !world.func_147437_c(x + var7, y, z + var8))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
world.func_147449_b(x, y, z, Blocks.dirt);
|
||||||
|
world.func_147465_d(x, y + 1, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 2, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 3, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 4, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 5, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 6, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 7, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 8, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 9, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 10, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 11, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 12, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 13, z, Blocks.log, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 14, z, Blocks.log, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 7, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 7, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 7, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 7, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 8, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 8, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 8, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 8, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 8, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 8, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 8, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 8, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 9, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 9, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 9, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 9, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 9, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 9, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 9, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 9, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 2, y + 9, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 2, y + 9, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 9, z + 2, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 9, z - 2, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 10, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 10, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 10, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 10, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 10, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 10, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 10, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 10, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 2, y + 10, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 2, y + 10, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 10, z + 2, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 10, z - 2, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 11, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 11, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 11, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 11, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 11, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 11, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 11, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 11, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 2, y + 11, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 2, y + 11, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 11, z + 2, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 11, z - 2, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 12, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 12, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 12, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 12, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 12, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x + 1, y + 12, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 12, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 12, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 13, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 13, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 13, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 13, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x + 1, y + 14, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x - 1, y + 14, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 14, z + 1, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 14, z - 1, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
world.func_147465_d(x, y + 15, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 16, z, Blocks.leaves, 1, 2);
|
||||||
|
world.func_147465_d(x, y + 17, z, Blocks.leaves, 1, 2);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,12 +6,12 @@ import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.world.gen.feature.WorldGenDoublePlant;
|
import net.minecraft.world.gen.feature.WorldGenDoublePlant;
|
||||||
import net.minecraft.world.gen.feature.WorldGenLakes;
|
import net.minecraft.world.gen.feature.WorldGenLakes;
|
||||||
import net.minecraft.world.gen.feature.WorldGenLiquids;
|
import net.minecraft.world.gen.feature.WorldGenLiquids;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenSand;
|
||||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
import biomesoplenty.api.BOPBlockHelper;
|
import biomesoplenty.api.BOPBlockHelper;
|
||||||
import biomesoplenty.common.world.features.WorldGenBOPDoubleFlora;
|
import biomesoplenty.common.world.features.WorldGenBOPDoubleFlora;
|
||||||
import biomesoplenty.common.world.features.WorldGenBOPFlora;
|
import biomesoplenty.common.world.features.WorldGenBOPFlora;
|
||||||
import biomesoplenty.common.world.features.WorldGenBOPTallGrass;
|
import biomesoplenty.common.world.features.WorldGenBOPTallGrass;
|
||||||
import biomesoplenty.common.world.features.WorldGenMud;
|
|
||||||
import biomesoplenty.common.world.features.WorldGenRiverCane;
|
import biomesoplenty.common.world.features.WorldGenRiverCane;
|
||||||
import biomesoplenty.common.world.features.WorldGenSplotches;
|
import biomesoplenty.common.world.features.WorldGenSplotches;
|
||||||
import biomesoplenty.common.world.features.WorldGenWaterReeds;
|
import biomesoplenty.common.world.features.WorldGenWaterReeds;
|
||||||
|
@ -29,6 +29,7 @@ public class WorldGenFieldAssociation
|
||||||
{
|
{
|
||||||
associateField("generateQuicksand", new WorldGenSplotches(BOPBlockHelper.get("mud"), 1, 24));
|
associateField("generateQuicksand", new WorldGenSplotches(BOPBlockHelper.get("mud"), 1, 24));
|
||||||
associateField("generateCanyon", new WorldGenSplotches(BOPBlockHelper.get("redRock"), 0, 48));
|
associateField("generateCanyon", new WorldGenSplotches(BOPBlockHelper.get("redRock"), 0, 48));
|
||||||
|
associateField("generateStoneInGrass", new WorldGenSplotches(Blocks.stone, 0, 32));
|
||||||
|
|
||||||
associateField("waterPoolsPerChunk", new WorldGenLiquids(Blocks.flowing_water));
|
associateField("waterPoolsPerChunk", new WorldGenLiquids(Blocks.flowing_water));
|
||||||
associateField("lavaPoolsPerChunk", new WorldGenLiquids(Blocks.flowing_lava));
|
associateField("lavaPoolsPerChunk", new WorldGenLiquids(Blocks.flowing_lava));
|
||||||
|
@ -36,7 +37,7 @@ public class WorldGenFieldAssociation
|
||||||
associateField("waterLakesPerChunk", new WorldGenLakes(Blocks.water));
|
associateField("waterLakesPerChunk", new WorldGenLakes(Blocks.water));
|
||||||
associateField("lavaLakesPerChunk", new WorldGenLakes(Blocks.lava));
|
associateField("lavaLakesPerChunk", new WorldGenLakes(Blocks.lava));
|
||||||
|
|
||||||
associateField("mudPerChunk", new WorldGenMud(7));
|
associateField("mudPerChunk", new WorldGenSand(BOPBlockHelper.get("mud"), 7));
|
||||||
associateField("riverCanePerChunk", new WorldGenRiverCane());
|
associateField("riverCanePerChunk", new WorldGenRiverCane());
|
||||||
associateField("shrubsPerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("foliage"), 9));
|
associateField("shrubsPerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("foliage"), 9));
|
||||||
associateField("bushesPerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("foliage"), 4));
|
associateField("bushesPerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("foliage"), 4));
|
||||||
|
@ -58,6 +59,7 @@ public class WorldGenFieldAssociation
|
||||||
associateField("cattailsPerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("plants"), 7));
|
associateField("cattailsPerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("plants"), 7));
|
||||||
associateField("highCattailsPerChunk", new WorldGenBOPDoubleFlora(BOPBlockHelper.get("plants"), BOPBlockHelper.get("plants"), 10, 9));
|
associateField("highCattailsPerChunk", new WorldGenBOPDoubleFlora(BOPBlockHelper.get("plants"), BOPBlockHelper.get("plants"), 10, 9));
|
||||||
associateField("algaePerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("foliage"), 0));
|
associateField("algaePerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("foliage"), 0));
|
||||||
|
associateField("sproutsPerChunk", new WorldGenBOPFlora(BOPBlockHelper.get("foliage"), 5));
|
||||||
|
|
||||||
WorldGenDoublePlant doubleTallGrass = new WorldGenDoublePlant();
|
WorldGenDoublePlant doubleTallGrass = new WorldGenDoublePlant();
|
||||||
//TODO: setMetadata() ?
|
//TODO: setMetadata() ?
|
||||||
|
|
Loading…
Reference in a new issue