diff --git a/common/biomesoplenty/biomes/BiomeGenWasteland.java b/common/biomesoplenty/biomes/BiomeGenWasteland.java index 373fe0aae..15d6f5bd1 100644 --- a/common/biomesoplenty/biomes/BiomeGenWasteland.java +++ b/common/biomesoplenty/biomes/BiomeGenWasteland.java @@ -10,6 +10,8 @@ import biomesoplenty.api.Blocks; import biomesoplenty.configuration.configfile.BOPConfigurationMisc; import biomesoplenty.worldgen.WorldGenWasteland; import biomesoplenty.worldgen.WorldGenWasteland2; +import biomesoplenty.worldgen.WorldGenWasteland3; +import biomesoplenty.worldgen.WorldGenWasteland4; import biomesoplenty.worldgen.tree.WorldGenDeadTree3; public class BiomeGenWasteland extends BiomeGenBase implements IWCFog @@ -24,8 +26,10 @@ public class BiomeGenWasteland extends BiomeGenBase implements IWCFog theBiomeDecorator = new BiomeDecoratorBOP(this); customBiomeDecorator = (BiomeDecoratorBOP) theBiomeDecorator; customBiomeDecorator.treesPerChunk = 0; + customBiomeDecorator.grassPerChunk = 20; customBiomeDecorator.deadGrassPerChunk = 14; customBiomeDecorator.poisonWaterPerChunk = 10; + customBiomeDecorator.waterLakesPerChunk = 2; waterColorMultiplier = 15073024; spawnableCreatureList.clear(); spawnableWaterCreatureList.clear(); @@ -41,6 +45,15 @@ public class BiomeGenWasteland extends BiomeGenBase implements IWCFog : (par1Random.nextInt(2) == 0 ? new WorldGenWasteland2() : new WorldGenWasteland()); } + + /** + * Gets a WorldGen appropriate for this biome. + */ + @Override + public WorldGenerator getRandomWorldGenForGrass(Random par1Random) + { + return par1Random.nextInt(2) == 0 ? new WorldGenWasteland4() : new WorldGenWasteland3(); + } /** * Provides the basic grass color based on the biome temperature and @@ -68,7 +81,7 @@ public class BiomeGenWasteland extends BiomeGenBase implements IWCFog @Override public int getFogColour() { - return 5662280; + return 12106885; } /** @@ -79,7 +92,7 @@ public class BiomeGenWasteland extends BiomeGenBase implements IWCFog { if (BOPConfigurationMisc.skyColors) { - return 10465942; + return 9477744; } else { @@ -104,6 +117,6 @@ public class BiomeGenWasteland extends BiomeGenBase implements IWCFog public float getFogCloseness() { // TODO Auto-generated method stub - return 0.6F; + return 0.3F; } } diff --git a/common/biomesoplenty/worldgen/WorldGenWasteland3.java b/common/biomesoplenty/worldgen/WorldGenWasteland3.java new file mode 100644 index 000000000..dbcef8b21 --- /dev/null +++ b/common/biomesoplenty/worldgen/WorldGenWasteland3.java @@ -0,0 +1,66 @@ +package biomesoplenty.worldgen; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; +import biomesoplenty.api.Blocks; + +public class WorldGenWasteland3 extends WorldGenerator +{ + @Override + public boolean generate(World var1, Random var2, int var3, int var4, int var5) + { + while (var1.isAirBlock(var3, var4, var5) && var4 > 2) + { + --var4; + } + + int var6 = var1.getBlockId(var3, var4, var5); + int var95 = var1.getBlockId(var3 - 1, var4, var5); + int var96 = var1.getBlockId(var3 + 1, var4, var5); + int var97 = var1.getBlockId(var3, var4, var5 - 1); + int var98 = var1.getBlockId(var3, var4, var5 + 1); + + if (var6 != Blocks.driedDirt.get().blockID || var95 != Blocks.driedDirt.get().blockID || var96 != Blocks.driedDirt.get().blockID || var97 != Blocks.driedDirt.get().blockID || var98 != Blocks.driedDirt.get().blockID ) + return false; + else + { + for (int var7 = -2; var7 <= 2; ++var7) + { + for (int var8 = -2; var8 <= 2; ++var8) + { + if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8)) + return false; + } + } + + int var999 = var2.nextInt(2); + + if (var999 == 0) + { + var1.setBlock(var3, var4, var5, Blocks.driedDirt.get().blockID); + var1.setBlock(var3 - 1, var4, var5, Blocks.driedDirt.get().blockID); + var1.setBlock(var3 + 1, var4, var5, Blocks.driedDirt.get().blockID); + var1.setBlock(var3, var4, var5 - 1, Blocks.driedDirt.get().blockID); + var1.setBlock(var3, var4, var5 + 1, Blocks.driedDirt.get().blockID); + this.setBlockAndMetadata(var1, var3, var4 + 1, var5, Blocks.driedDirt.get().blockID, 0); + this.setBlockAndMetadata(var1, var3 + 1, var4 + 1, var5, Blocks.driedDirt.get().blockID, 0); + this.setBlockAndMetadata(var1, var3 - 1, var4 + 1, var5, Blocks.driedDirt.get().blockID, 0); + this.setBlockAndMetadata(var1, var3, var4 + 1, var5 + 1, Blocks.driedDirt.get().blockID, 0); + this.setBlockAndMetadata(var1, var3, var4 + 1, var5 - 1, Blocks.driedDirt.get().blockID, 0); + this.setBlockAndMetadata(var1, var3, var4 + 2, var5, Blocks.driedDirt.get().blockID, 0); + return true; + } + if (var999 == 1) + { + var1.setBlock(var3, var4, var5, Blocks.driedDirt.get().blockID); + this.setBlockAndMetadata(var1, var3, var4 + 1, var5, Blocks.driedDirt.get().blockID, 0); + return true; + } + + return true; + } + } +} diff --git a/common/biomesoplenty/worldgen/WorldGenWasteland4.java b/common/biomesoplenty/worldgen/WorldGenWasteland4.java new file mode 100644 index 000000000..7b1d621a7 --- /dev/null +++ b/common/biomesoplenty/worldgen/WorldGenWasteland4.java @@ -0,0 +1,60 @@ +package biomesoplenty.worldgen; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; +import biomesoplenty.api.Blocks; + +public class WorldGenWasteland4 extends WorldGenerator +{ + @Override + public boolean generate(World var1, Random var2, int var3, int var4, int var5) + { + while (var1.isAirBlock(var3, var4, var5) && var4 > 2) + { + --var4; + } + + int var6 = var1.getBlockId(var3, var4, var5); + int var95 = var1.getBlockId(var3 - 1, var4, var5); + int var96 = var1.getBlockId(var3 + 1, var4, var5); + int var97 = var1.getBlockId(var3, var4, var5 - 1); + int var98 = var1.getBlockId(var3, var4, var5 + 1); + + if (var6 != Blocks.driedDirt.get().blockID || var95 != Blocks.driedDirt.get().blockID || var96 != Blocks.driedDirt.get().blockID || var97 != Blocks.driedDirt.get().blockID || var98 != Blocks.driedDirt.get().blockID ) + return false; + else + { + for (int var7 = -2; var7 <= 2; ++var7) + { + for (int var8 = -2; var8 <= 2; ++var8) + { + if (var1.isAirBlock(var3 + var7, var4 - 1, var5 + var8) && var1.isAirBlock(var3 + var7, var4 - 2, var5 + var8)) + return false; + } + } + + int var999 = var2.nextInt(2); + + if (var999 == 0) + { + this.setBlock(var1, var3, var4 - 1, var5, 0); + this.setBlock(var1, var3 + 1, var4 - 1, var5, 0); + this.setBlock(var1, var3 - 1, var4 - 1, var5, 0); + this.setBlock(var1, var3, var4 - 1, var5 + 1, 0); + this.setBlock(var1, var3, var4 - 1, var5 - 1, 0); + this.setBlock(var1, var3, var4 - 2, var5, 0); + return true; + } + if (var999 == 1) + { + this.setBlock(var1, var3, var4 - 1, var5, 0); + return true; + } + + return true; + } + } +}