More features added to the Undergarden. Fixed a bug with trees in the Jade Cliffs.
This commit is contained in:
parent
dadbb815bc
commit
b74853da42
|
@ -28,6 +28,14 @@ Omega Essence: Mined from Omega Essence Ore. Used to turn Origin blocks bac
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
OVERWORLD BIOMES:
|
||||||
|
|
||||||
|
Hot Springs: Geysers, pools of water and lava, and decaying spruce trees.
|
||||||
|
|
||||||
|
Temperate Forest: Tall, decaying deciduous trees, thorns, and small bushes.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
NETHER BIOMES:
|
NETHER BIOMES:
|
||||||
|
|
||||||
Undergarden: Vines, nether wart, giant/small mushrooms, hellstem plant.
|
Undergarden: Vines, nether wart, giant/small mushrooms, hellstem plant.
|
||||||
|
|
|
@ -46,6 +46,7 @@ import biomesoplenty.worldgen.WorldGenMelon;
|
||||||
import biomesoplenty.worldgen.WorldGenMesa;
|
import biomesoplenty.worldgen.WorldGenMesa;
|
||||||
import biomesoplenty.worldgen.WorldGenMud;
|
import biomesoplenty.worldgen.WorldGenMud;
|
||||||
import biomesoplenty.worldgen.WorldGenMycelium;
|
import biomesoplenty.worldgen.WorldGenMycelium;
|
||||||
|
import biomesoplenty.worldgen.WorldGenNetherGrass;
|
||||||
import biomesoplenty.worldgen.WorldGenNetherVines;
|
import biomesoplenty.worldgen.WorldGenNetherVines;
|
||||||
import biomesoplenty.worldgen.WorldGenNetherWart;
|
import biomesoplenty.worldgen.WorldGenNetherWart;
|
||||||
import biomesoplenty.worldgen.WorldGenOasis;
|
import biomesoplenty.worldgen.WorldGenOasis;
|
||||||
|
@ -167,6 +168,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
protected WorldGenerator highCattailGen;
|
protected WorldGenerator highCattailGen;
|
||||||
protected WorldGenerator outbackGen;
|
protected WorldGenerator outbackGen;
|
||||||
protected WorldGenerator canyonGrassGen;
|
protected WorldGenerator canyonGrassGen;
|
||||||
|
protected WorldGenerator netherGrassGen;
|
||||||
protected WorldGenerator netherWartGen;
|
protected WorldGenerator netherWartGen;
|
||||||
protected WorldGenerator steppeGen;
|
protected WorldGenerator steppeGen;
|
||||||
protected WorldGenerator thornGen;
|
protected WorldGenerator thornGen;
|
||||||
|
@ -276,6 +278,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
/** The amount of tall grass to generate per chunk. */
|
/** The amount of tall grass to generate per chunk. */
|
||||||
protected int grassPerChunk;
|
protected int grassPerChunk;
|
||||||
protected int outbackPerChunk;
|
protected int outbackPerChunk;
|
||||||
|
protected int netherGrassPerChunk;
|
||||||
protected int netherWartPerChunk;
|
protected int netherWartPerChunk;
|
||||||
protected int canyonGrassPerChunk;
|
protected int canyonGrassPerChunk;
|
||||||
protected int steppePerChunk;
|
protected int steppePerChunk;
|
||||||
|
@ -427,6 +430,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
this.highGrassGen = new WorldGenHighGrass(Blocks.foliage.get().blockID, 3);
|
this.highGrassGen = new WorldGenHighGrass(Blocks.foliage.get().blockID, 3);
|
||||||
this.highCattailGen = new WorldGenHighCattail(Blocks.plants.get().blockID, 9);
|
this.highCattailGen = new WorldGenHighCattail(Blocks.plants.get().blockID, 9);
|
||||||
this.outbackGen = new WorldGenOutback(Blocks.foliage.get().blockID, 2);
|
this.outbackGen = new WorldGenOutback(Blocks.foliage.get().blockID, 2);
|
||||||
|
this.netherGrassGen = new WorldGenNetherGrass(Block.tallGrass.blockID, 1);
|
||||||
this.netherWartGen = new WorldGenNetherWart(Block.netherStalk.blockID, 0);
|
this.netherWartGen = new WorldGenNetherWart(Block.netherStalk.blockID, 0);
|
||||||
this.canyonGrassGen = new WorldGenCanyonGrass(Blocks.foliage.get().blockID, 2);
|
this.canyonGrassGen = new WorldGenCanyonGrass(Blocks.foliage.get().blockID, 2);
|
||||||
this.steppeGen = new WorldGenSteppe(Block.sand.blockID, 0);
|
this.steppeGen = new WorldGenSteppe(Block.sand.blockID, 0);
|
||||||
|
@ -495,6 +499,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
this.desertCactiPerChunk = 0;
|
this.desertCactiPerChunk = 0;
|
||||||
this.highGrassPerChunk = 0;
|
this.highGrassPerChunk = 0;
|
||||||
this.outbackPerChunk = 0;
|
this.outbackPerChunk = 0;
|
||||||
|
this.netherGrassPerChunk = 0;
|
||||||
this.netherWartPerChunk = 0;
|
this.netherWartPerChunk = 0;
|
||||||
this.canyonGrassPerChunk = 0;
|
this.canyonGrassPerChunk = 0;
|
||||||
this.steppePerChunk = 0;
|
this.steppePerChunk = 0;
|
||||||
|
@ -1074,6 +1079,14 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
||||||
this.outbackGen.generate(this.currentWorld, this.randomGenerator, var3, var4, var5);
|
this.outbackGen.generate(this.currentWorld, this.randomGenerator, var3, var4, var5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (var2 = 0; var2 < this.netherGrassPerChunk; ++var2)
|
||||||
|
{
|
||||||
|
var3 = this.chunk_X + this.randomGenerator.nextInt(16) + 8;
|
||||||
|
var4 = this.randomGenerator.nextInt(128);
|
||||||
|
var5 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8;
|
||||||
|
this.netherGrassGen.generate(this.currentWorld, this.randomGenerator, var3, var4, var5);
|
||||||
|
}
|
||||||
|
|
||||||
for (var2 = 0; var2 < this.netherWartPerChunk; ++var2)
|
for (var2 = 0; var2 < this.netherWartPerChunk; ++var2)
|
||||||
{
|
{
|
||||||
var3 = this.chunk_X + this.randomGenerator.nextInt(16) + 8;
|
var3 = this.chunk_X + this.randomGenerator.nextInt(16) + 8;
|
||||||
|
|
|
@ -24,11 +24,14 @@ public class BiomeGenNetherGarden extends BiomeGenBase
|
||||||
this.customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
this.customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator;
|
||||||
this.topBlock = (byte)Block.netherrack.blockID;
|
this.topBlock = (byte)Block.netherrack.blockID;
|
||||||
this.fillerBlock = (byte)Block.netherrack.blockID;
|
this.fillerBlock = (byte)Block.netherrack.blockID;
|
||||||
this.customBiomeDecorator.treesPerChunk = 15;
|
this.customBiomeDecorator.treesPerChunk = 60;
|
||||||
this.customBiomeDecorator.netherVinesPerChunk = 80;
|
this.customBiomeDecorator.netherVinesPerChunk = 60;
|
||||||
this.customBiomeDecorator.mushroomsPerChunk = 20;
|
this.customBiomeDecorator.mushroomsPerChunk = 30;
|
||||||
this.customBiomeDecorator.bigMushroomsPerChunk = 10;
|
this.customBiomeDecorator.bigMushroomsPerChunk = 30;
|
||||||
this.customBiomeDecorator.netherWartPerChunk = 3;
|
this.customBiomeDecorator.netherWartPerChunk = 3;
|
||||||
|
this.customBiomeDecorator.netherGrassPerChunk = 8;
|
||||||
|
this.customBiomeDecorator.glowshroomsPerChunk = 3;
|
||||||
|
this.customBiomeDecorator.toadstoolsPerChunk = 5;
|
||||||
this.spawnableMonsterList.clear();
|
this.spawnableMonsterList.clear();
|
||||||
this.spawnableCreatureList.clear();
|
this.spawnableCreatureList.clear();
|
||||||
this.spawnableWaterCreatureList.clear();
|
this.spawnableWaterCreatureList.clear();
|
||||||
|
|
|
@ -104,13 +104,13 @@ public class BlockBOPMushroom extends BlockFlower
|
||||||
protected boolean canThisPlantGrowOnThisBlockID(int id, int metadata)
|
protected boolean canThisPlantGrowOnThisBlockID(int id, int metadata)
|
||||||
{
|
{
|
||||||
if (metadata == 0) //Toadstool
|
if (metadata == 0) //Toadstool
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID || id == Block.netherrack.blockID;
|
||||||
if (metadata == 1) //Portobello
|
if (metadata == 1) //Portobello
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID | id == Blocks.holyGrass.get().blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID | id == Blocks.holyGrass.get().blockID;
|
||||||
if (metadata == 2) //Blue Milk Cap
|
if (metadata == 2) //Blue Milk Cap
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
|
||||||
if (metadata == 3) //Glowshroom
|
if (metadata == 3) //Glowshroom
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Block.stone.blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Block.stone.blockID || id == Block.netherrack.blockID;
|
||||||
else
|
else
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID;
|
||||||
}
|
}
|
||||||
|
@ -126,7 +126,7 @@ public class BlockBOPMushroom extends BlockFlower
|
||||||
switch (meta)
|
switch (meta)
|
||||||
{
|
{
|
||||||
case 0: // Toadstool
|
case 0: // Toadstool
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID || id == Block.netherrack.blockID;
|
||||||
|
|
||||||
case 1: // Portobello
|
case 1: // Portobello
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
|
||||||
|
@ -135,7 +135,7 @@ public class BlockBOPMushroom extends BlockFlower
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Blocks.holyGrass.get().blockID;
|
||||||
|
|
||||||
case 3: // Glowshroom
|
case 3: // Glowshroom
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Block.stone.blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID || id == Block.stone.blockID || id == Block.netherrack.blockID;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID;
|
return id == Block.grass.blockID || id == Block.dirt.blockID || id == Block.mycelium.blockID;
|
||||||
|
@ -147,12 +147,7 @@ public class BlockBOPMushroom extends BlockFlower
|
||||||
@Override
|
@Override
|
||||||
public boolean canBlockStay(World world, int x, int y, int z)
|
public boolean canBlockStay(World world, int x, int y, int z)
|
||||||
{
|
{
|
||||||
if (world.getBlockId(x, y, z) != this.blockID)
|
return this.canThisPlantGrowOnThisBlockID(world.getBlockId(x, y - 1, z), world.getBlockMetadata(x, y, z));
|
||||||
return (world.getFullBlockLightValue(x, y, z) >= 8 || world.canBlockSeeTheSky(x, y, z))
|
|
||||||
&& this.canThisPlantGrowOnThisBlockID(world.getBlockId(x, y - 1, z));
|
|
||||||
else
|
|
||||||
return (world.getFullBlockLightValue(x, y, z) >= 8 || world.canBlockSeeTheSky(x, y, z))
|
|
||||||
&& this.canThisPlantGrowOnThisBlockID(world.getBlockId(x, y - 1, z), world.getBlockMetadata(x, y, z));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -93,7 +93,7 @@ public class WorldGenJadeTree extends WorldGenerator
|
||||||
|
|
||||||
if ((Math.abs(var18) != var21 || Math.abs(var20) != var21 || var21 <= 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var17, var16, var19)])
|
if ((Math.abs(var18) != var21 || Math.abs(var20) != var21 || var21 <= 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var17, var16, var19)])
|
||||||
{
|
{
|
||||||
this.setBlockAndMetadata(par1World, var17, var16, var19, Block.leaves.blockID, 4);
|
this.setBlockAndMetadata(par1World, var17, var16, var19, Block.leaves.blockID, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
package biomesoplenty.worldgen;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import biomesoplenty.api.Blocks;
|
||||||
|
import biomesoplenty.configuration.BOPBlocks;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||||
|
|
||||||
|
public class WorldGenNetherGrass extends WorldGenerator
|
||||||
|
{
|
||||||
|
/** Stores ID for WorldGenTallGrass */
|
||||||
|
private int tallGrassID;
|
||||||
|
private int tallGrassMetadata;
|
||||||
|
|
||||||
|
public WorldGenNetherGrass(int par1, int par2)
|
||||||
|
{
|
||||||
|
this.tallGrassID = par1;
|
||||||
|
this.tallGrassMetadata = par2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
|
||||||
|
{
|
||||||
|
int var11;
|
||||||
|
|
||||||
|
for (boolean var6 = false; ((var11 = par1World.getBlockId(par3, par4, par5)) == 0 || var11 == Block.leaves.blockID) && par4 > 0; --par4)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int var7 = 0; var7 < 128; ++var7)
|
||||||
|
{
|
||||||
|
int var8 = par3 + par2Random.nextInt(8) - par2Random.nextInt(8);
|
||||||
|
int var9 = par4 + par2Random.nextInt(4) - par2Random.nextInt(4);
|
||||||
|
int var10 = par5 + par2Random.nextInt(8) - par2Random.nextInt(8);
|
||||||
|
int var99 = par2Random.nextInt(6);
|
||||||
|
|
||||||
|
if (par1World.isAirBlock(var8, var9, var10) && par1World.getBlockId(var8, var9 - 1, var10) == Block.netherrack.blockID)
|
||||||
|
{
|
||||||
|
par1World.setBlock(var8, var9 - 1, var10, Block.grass.blockID, 0, 2);
|
||||||
|
|
||||||
|
if (var99 == 0)
|
||||||
|
{
|
||||||
|
par1World.setBlock(var8, var9, var10, Block.mushroomRed.blockID, 0, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var99 == 1)
|
||||||
|
{
|
||||||
|
par1World.setBlock(var8, var9, var10, Block.mushroomBrown.blockID, 0, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var99 == 2)
|
||||||
|
{
|
||||||
|
par1World.setBlock(var8, var9, var10, Block.tallGrass.blockID, 0, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -85,7 +85,7 @@ public class WorldGenNetherMushroom extends WorldGenerator
|
||||||
{
|
{
|
||||||
j1 = par1World.getBlockId(par3, par4 - 1, par5);
|
j1 = par1World.getBlockId(par3, par4 - 1, par5);
|
||||||
|
|
||||||
if (j1 != Block.netherrack.blockID)
|
if (j1 != Block.netherrack.blockID && j1 != Block.grass.blockID)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue