diff --git a/common/biomesoplenty/biomes/BiomeDecoratorBOP.java b/common/biomesoplenty/biomes/BiomeDecoratorBOP.java index f269367a6..39f5d2ea0 100644 --- a/common/biomesoplenty/biomes/BiomeDecoratorBOP.java +++ b/common/biomesoplenty/biomes/BiomeDecoratorBOP.java @@ -98,6 +98,7 @@ import biomesoplenty.worldgen.WorldGenSponge; import biomesoplenty.worldgen.WorldGenSprout; import biomesoplenty.worldgen.WorldGenSteppe; import biomesoplenty.worldgen.WorldGenSunflower; +import biomesoplenty.worldgen.WorldGenWaterReeds; import biomesoplenty.worldgen.tree.WorldGenPromisedWillow; public class BiomeDecoratorBOP extends BiomeDecorator @@ -182,6 +183,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator public WorldGenerator plantDeadGen; public WorldGenerator plantDesertGen; public WorldGenerator cattailGen; + public WorldGenerator waterReedGen; public WorldGenerator highCattailGen; public WorldGenerator outbackGen; public WorldGenerator smolderingGrassGen; @@ -328,6 +330,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator public int bluebellsPerChunk; public int minersDelightPerChunk; public int icyIrisPerChunk; + public int waterReedsPerChunk; public int boneSpinesPerChunk; public int boneSpines2PerChunk; @@ -532,6 +535,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator desertCactusGen = new WorldGenDesertCactus(); waterlilyGen = new WorldGenWaterlily(); algaeGen = new WorldGenAlgae(); + waterReedGen = new WorldGenWaterReeds(); pitGen = new WorldGenPit(Blocks.ash.get().blockID); waterlilyPerChunk = 0; lilyflowersPerChunk = 0; @@ -623,6 +627,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator bluebellsPerChunk = 0; minersDelightPerChunk = 2; icyIrisPerChunk = 0; + waterReedsPerChunk = 0; generateLakes = true; generateAsh = false; generateMycelium = false; @@ -1701,6 +1706,19 @@ public class BiomeDecoratorBOP extends BiomeDecorator algaeGen.generate(currentWorld, randomGenerator, var3, var5, var4); } + + for (var2 = 0; doGen && var2 < waterReedsPerChunk; ++var2) + { + var3 = chunk_X + randomGenerator.nextInt(16) + 8; + var4 = chunk_Z + randomGenerator.nextInt(16) + 8; + + for (var5 = randomGenerator.nextInt(256); var5 > 0 && currentWorld.getBlockId(var3, var5 - 1, var4) == 0; --var5) + { + ; + } + + waterReedGen.generate(currentWorld, randomGenerator, var3, var5, var4); + } //Added doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, LILYPAD); diff --git a/common/biomesoplenty/biomes/BiomeGenBayou.java b/common/biomesoplenty/biomes/BiomeGenBayou.java index e66526d3e..82d385143 100644 --- a/common/biomesoplenty/biomes/BiomeGenBayou.java +++ b/common/biomesoplenty/biomes/BiomeGenBayou.java @@ -42,6 +42,7 @@ public class BiomeGenBayou extends BiomeGenBase customBiomeDecorator.algaePerChunk = 1; customBiomeDecorator.shrubsPerChunk = 2; customBiomeDecorator.wheatGrassPerChunk = 7; + customBiomeDecorator.waterReedsPerChunk = 3; customBiomeDecorator.generatePumpkins = false; waterColorMultiplier = 16767282; spawnableWaterCreatureList.clear(); diff --git a/common/biomesoplenty/biomes/BiomeGenBog.java b/common/biomesoplenty/biomes/BiomeGenBog.java index 370662642..5752231a6 100644 --- a/common/biomesoplenty/biomes/BiomeGenBog.java +++ b/common/biomesoplenty/biomes/BiomeGenBog.java @@ -40,6 +40,7 @@ public class BiomeGenBog extends BiomeGenBase customBiomeDecorator.waterLakesPerChunk = 6; customBiomeDecorator.wheatGrassPerChunk = 3; customBiomeDecorator.poisonWaterPerChunk = 2; + customBiomeDecorator.waterReedsPerChunk = 5; customBiomeDecorator.shrubsPerChunk = 10; customBiomeDecorator.generatePumpkins = false; } diff --git a/common/biomesoplenty/biomes/BiomeGenBorealForest.java b/common/biomesoplenty/biomes/BiomeGenBorealForest.java index 5684086ce..ea55b6a40 100644 --- a/common/biomesoplenty/biomes/BiomeGenBorealForest.java +++ b/common/biomesoplenty/biomes/BiomeGenBorealForest.java @@ -29,6 +29,7 @@ public class BiomeGenBorealForest extends BiomeGenBase customBiomeDecorator.grassPerChunk = 50; customBiomeDecorator.wheatGrassPerChunk = 25; customBiomeDecorator.shrubsPerChunk = 10; + customBiomeDecorator.waterReedsPerChunk = 2; } /** diff --git a/common/biomesoplenty/biomes/BiomeGenDeadForest.java b/common/biomesoplenty/biomes/BiomeGenDeadForest.java index 02954906e..9036089f9 100644 --- a/common/biomesoplenty/biomes/BiomeGenDeadForest.java +++ b/common/biomesoplenty/biomes/BiomeGenDeadForest.java @@ -29,6 +29,7 @@ public class BiomeGenDeadForest extends BiomeGenBase customBiomeDecorator.reedsPerChunk = -999; customBiomeDecorator.wheatGrassPerChunk = 1; customBiomeDecorator.shrubsPerChunk = 2; + customBiomeDecorator.waterReedsPerChunk = 2; } /** diff --git a/common/biomesoplenty/biomes/BiomeGenDeadSwamp.java b/common/biomesoplenty/biomes/BiomeGenDeadSwamp.java index d8975a423..0028418a3 100644 --- a/common/biomesoplenty/biomes/BiomeGenDeadSwamp.java +++ b/common/biomesoplenty/biomes/BiomeGenDeadSwamp.java @@ -32,6 +32,7 @@ public class BiomeGenDeadSwamp extends BiomeGenBase customBiomeDecorator.sandPerChunk2 = -999; customBiomeDecorator.reedsBOPPerChunk = 2; customBiomeDecorator.wheatGrassPerChunk = 10; + customBiomeDecorator.waterReedsPerChunk = 3; spawnableCreatureList.clear(); spawnableWaterCreatureList.clear(); waterColorMultiplier = 10661201; diff --git a/common/biomesoplenty/biomes/BiomeGenDeciduousForest.java b/common/biomesoplenty/biomes/BiomeGenDeciduousForest.java index 539bae479..127158732 100644 --- a/common/biomesoplenty/biomes/BiomeGenDeciduousForest.java +++ b/common/biomesoplenty/biomes/BiomeGenDeciduousForest.java @@ -30,6 +30,7 @@ public class BiomeGenDeciduousForest extends BiomeGenBase customBiomeDecorator.poisonIvyPerChunk = 1; customBiomeDecorator.wheatGrassPerChunk = 10; customBiomeDecorator.shrubsPerChunk = 10; + customBiomeDecorator.waterReedsPerChunk = 1; } /** diff --git a/common/biomesoplenty/biomes/BiomeGenFen.java b/common/biomesoplenty/biomes/BiomeGenFen.java index ed310986e..fe4c93bfe 100644 --- a/common/biomesoplenty/biomes/BiomeGenFen.java +++ b/common/biomesoplenty/biomes/BiomeGenFen.java @@ -41,6 +41,7 @@ public class BiomeGenFen extends BiomeGenBase customBiomeDecorator.algaePerChunk = 1; customBiomeDecorator.portobellosPerChunk = 1; customBiomeDecorator.wheatGrassPerChunk = 8; + customBiomeDecorator.waterReedsPerChunk = 6; customBiomeDecorator.shrubsPerChunk = 7; spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); } diff --git a/common/biomesoplenty/biomes/BiomeGenLushSwamp.java b/common/biomesoplenty/biomes/BiomeGenLushSwamp.java index 572249b77..eb62c358e 100644 --- a/common/biomesoplenty/biomes/BiomeGenLushSwamp.java +++ b/common/biomesoplenty/biomes/BiomeGenLushSwamp.java @@ -34,6 +34,7 @@ public class BiomeGenLushSwamp extends BiomeGenBase customBiomeDecorator.poisonWaterPerChunk = 2; customBiomeDecorator.carrotsPerChunk = 1; customBiomeDecorator.shrubsPerChunk = 5; + customBiomeDecorator.waterReedsPerChunk = 5; spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 1, 1, 1)); } diff --git a/common/biomesoplenty/biomes/BiomeGenMangrove.java b/common/biomesoplenty/biomes/BiomeGenMangrove.java index 713fb6e15..8d4f1e487 100644 --- a/common/biomesoplenty/biomes/BiomeGenMangrove.java +++ b/common/biomesoplenty/biomes/BiomeGenMangrove.java @@ -27,6 +27,7 @@ public class BiomeGenMangrove extends BiomeGenBase customBiomeDecorator.deadGrassPerChunk = 9; customBiomeDecorator.reedsPerChunk = -999; customBiomeDecorator.cactiPerChunk = -999; + customBiomeDecorator.waterReedsPerChunk = 4; customBiomeDecorator.desertSproutsPerChunk = 1; customBiomeDecorator.waterLakesPerChunk = 10; } diff --git a/common/biomesoplenty/biomes/BiomeGenMarsh.java b/common/biomesoplenty/biomes/BiomeGenMarsh.java index 1299291f2..8394fcd02 100644 --- a/common/biomesoplenty/biomes/BiomeGenMarsh.java +++ b/common/biomesoplenty/biomes/BiomeGenMarsh.java @@ -34,6 +34,7 @@ public class BiomeGenMarsh extends BiomeGenBase customBiomeDecorator.sandPerChunk2 = -999; customBiomeDecorator.mudPerChunk = 1; customBiomeDecorator.mudPerChunk2 = 1; + customBiomeDecorator.waterReedsPerChunk = 10; customBiomeDecorator.generatePumpkins = false; spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); } diff --git a/common/biomesoplenty/biomes/BiomeGenQuagmire.java b/common/biomesoplenty/biomes/BiomeGenQuagmire.java index d3b73a596..0ec82dc3c 100644 --- a/common/biomesoplenty/biomes/BiomeGenQuagmire.java +++ b/common/biomesoplenty/biomes/BiomeGenQuagmire.java @@ -31,6 +31,7 @@ public class BiomeGenQuagmire extends BiomeGenBase customBiomeDecorator.sandPerChunk = -999; customBiomeDecorator.sandPerChunk2 = -999; customBiomeDecorator.wheatGrassPerChunk = 3; + customBiomeDecorator.waterReedsPerChunk = 1; waterColorMultiplier = 13390080; customBiomeDecorator.generateQuagmire = true; } diff --git a/common/biomesoplenty/biomes/BiomeGenSilkglades.java b/common/biomesoplenty/biomes/BiomeGenSilkglades.java index 646445878..1c6d4e314 100644 --- a/common/biomesoplenty/biomes/BiomeGenSilkglades.java +++ b/common/biomesoplenty/biomes/BiomeGenSilkglades.java @@ -39,6 +39,7 @@ public class BiomeGenSilkglades extends BiomeGenBase customBiomeDecorator.sproutsPerChunk = 2; customBiomeDecorator.poisonIvyPerChunk = 2; customBiomeDecorator.cobwebsPerChunk = 9; + customBiomeDecorator.waterReedsPerChunk = 3; customBiomeDecorator.generatePumpkins = true; waterColorMultiplier = 16777079; spawnableWaterCreatureList.clear(); diff --git a/common/biomesoplenty/biomes/BiomeGenSludgepit.java b/common/biomesoplenty/biomes/BiomeGenSludgepit.java index 303c4bc60..44852264b 100644 --- a/common/biomesoplenty/biomes/BiomeGenSludgepit.java +++ b/common/biomesoplenty/biomes/BiomeGenSludgepit.java @@ -39,6 +39,7 @@ public class BiomeGenSludgepit extends BiomeGenBase customBiomeDecorator.deadBushPerChunk = 5; customBiomeDecorator.algaePerChunk = 2; customBiomeDecorator.poisonWaterPerChunk = 5; + customBiomeDecorator.waterReedsPerChunk = 4; spawnableCreatureList.add(new SpawnListEntry(EntitySlime.class, 1, 1, 1)); waterColorMultiplier = 11506176; } diff --git a/common/biomesoplenty/biomes/BiomeGenWetland.java b/common/biomesoplenty/biomes/BiomeGenWetland.java index 8fd8e5ed5..ace1a0218 100644 --- a/common/biomesoplenty/biomes/BiomeGenWetland.java +++ b/common/biomesoplenty/biomes/BiomeGenWetland.java @@ -45,6 +45,7 @@ public class BiomeGenWetland extends BiomeGenBase customBiomeDecorator.portobellosPerChunk = 1; customBiomeDecorator.berryBushesPerChunk = 1; customBiomeDecorator.shrubsPerChunk = 10; + customBiomeDecorator.waterReedsPerChunk = 7; spawnableCreatureList.clear(); spawnableWaterCreatureList.clear(); spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); diff --git a/common/biomesoplenty/biomes/beach/BiomeGenBeachOvergrown.java b/common/biomesoplenty/biomes/beach/BiomeGenBeachOvergrown.java index 0b5be5755..365028184 100644 --- a/common/biomesoplenty/biomes/beach/BiomeGenBeachOvergrown.java +++ b/common/biomesoplenty/biomes/beach/BiomeGenBeachOvergrown.java @@ -26,6 +26,7 @@ public class BiomeGenBeachOvergrown extends BiomeGenBase customBiomeDecorator.duneGrassPerChunk = 25; customBiomeDecorator.cactiPerChunk = 5; customBiomeDecorator.outbackPerChunk = 7; + customBiomeDecorator.waterReedsPerChunk = 6; } /** diff --git a/common/biomesoplenty/biomes/vanilla/BiomeGenSwampNew.java b/common/biomesoplenty/biomes/vanilla/BiomeGenSwampNew.java index 12e0c530b..cd2c1c930 100644 --- a/common/biomesoplenty/biomes/vanilla/BiomeGenSwampNew.java +++ b/common/biomesoplenty/biomes/vanilla/BiomeGenSwampNew.java @@ -39,6 +39,7 @@ public class BiomeGenSwampNew extends BiomeGenBase customBiomeDecorator.mudPerChunk = 9; customBiomeDecorator.mudPerChunk2 = 9; customBiomeDecorator.portobellosPerChunk = 1; + customBiomeDecorator.waterReedsPerChunk = 5; waterColorMultiplier = 14745456; spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 1, 1, 1)); } diff --git a/common/biomesoplenty/worldgen/WorldGenWaterReeds.java b/common/biomesoplenty/worldgen/WorldGenWaterReeds.java new file mode 100644 index 000000000..a2e6f5e59 --- /dev/null +++ b/common/biomesoplenty/worldgen/WorldGenWaterReeds.java @@ -0,0 +1,29 @@ +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 WorldGenWaterReeds extends WorldGenerator +{ + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + { + for (int var6 = 0; var6 < 64; ++var6) + { + int var7 = par3 + par2Random.nextInt(4) - par2Random.nextInt(4); + int var8 = par4 + par2Random.nextInt(4) - par2Random.nextInt(4); + int var9 = par5 + par2Random.nextInt(4) - par2Random.nextInt(4); + + if (par1World.isAirBlock(var7, var8, var9) && par1World.getBlockId(var7, var8 - 1, var9) == Block.waterStill.blockID) + { + par1World.setBlock(var7, var8, var9, Blocks.plants.get().blockID, 14, 2); + } + } + + return true; + } +} diff --git a/resources/assets/biomesoplenty/textures/blocks/item_reed.png b/resources/assets/biomesoplenty/textures/blocks/item_reed.png index b9b3c790a..316de252c 100644 Binary files a/resources/assets/biomesoplenty/textures/blocks/item_reed.png and b/resources/assets/biomesoplenty/textures/blocks/item_reed.png differ diff --git a/resources/assets/biomesoplenty/textures/blocks/reed.png b/resources/assets/biomesoplenty/textures/blocks/reed.png index 3019d31f3..ab4c0e688 100644 Binary files a/resources/assets/biomesoplenty/textures/blocks/reed.png and b/resources/assets/biomesoplenty/textures/blocks/reed.png differ diff --git a/resources/assets/biomesoplenty/textures/blocks/reedbottom.png b/resources/assets/biomesoplenty/textures/blocks/reedbottom.png index 084582b97..df10cd761 100644 Binary files a/resources/assets/biomesoplenty/textures/blocks/reedbottom.png and b/resources/assets/biomesoplenty/textures/blocks/reedbottom.png differ