From 3202b992a9c5c7fc6c48630f4f4f370ba40fd129 Mon Sep 17 00:00:00 2001 From: Adubbz Date: Thu, 20 Mar 2014 13:46:02 +1100 Subject: [PATCH] Fixed Forced Decorators with grass and flowers --- .../java/biomesoplenty/BiomesOPlenty.java | 8 +- .../biomesoplenty/common/biomes/BOPBiome.java | 54 +------ .../common/biomes/BiomeGenBayou.java | 8 +- .../common/biomes/BiomeGenBog.java | 10 +- .../common/biomes/BiomeGenBorealForest.java | 12 +- .../common/biomes/BiomeGenBrushland.java | 10 +- .../common/biomes/BiomeGenCanyon.java | 4 +- .../common/biomes/BiomeGenChaparral.java | 14 +- .../biomes/BiomeGenCherryBlossomGrove.java | 16 +- .../biomes/BiomeGenConiferousForest.java | 14 +- .../biomes/BiomeGenConiferousForestSnow.java | 16 +- .../common/biomes/BiomeGenDeadForest.java | 10 +- .../common/biomes/BiomeGenDeadSwamp.java | 12 +- .../biomes/BiomeGenDeciduousForest.java | 10 +- .../common/biomes/BiomeGenFen.java | 16 +- .../common/biomes/BiomeGenFrostForest.java | 24 ++- .../common/biomes/BiomeGenGrassland.java | 12 +- .../common/biomes/BiomeGenGrove.java | 16 +- .../common/biomes/BiomeGenHeathland.java | 14 +- .../common/biomes/BiomeGenHighland.java | 10 +- .../common/biomes/BiomeGenJadeCliffs.java | 4 +- .../common/biomes/BiomeGenLushDesert.java | 14 +- .../common/biomes/BiomeGenLushSwamp.java | 14 +- .../common/biomes/BiomeGenMapleWoods.java | 10 +- .../common/biomes/BiomeGenMarsh.java | 10 +- .../common/biomes/BiomeGenMeadow.java | 18 ++- .../common/biomes/BiomeGenMoor.java | 14 +- .../common/biomes/BiomeGenMysticGrove.java | 24 +-- .../common/biomes/BiomeGenOminousWoods.java | 24 ++- .../common/biomes/BiomeGenOriginValley.java | 4 +- .../common/biomes/BiomeGenPrairie.java | 16 +- .../common/biomes/BiomeGenQuagmire.java | 8 +- .../common/biomes/BiomeGenRainforest.java | 14 +- .../common/biomes/BiomeGenRedwoodForest.java | 14 +- .../common/biomes/BiomeGenSacredSprings.java | 6 +- .../common/biomes/BiomeGenSeasonalForest.java | 10 +- .../common/biomes/BiomeGenShield.java | 8 +- .../common/biomes/BiomeGenShrubland.java | 2 +- .../common/biomes/BiomeGenSilkglades.java | 8 +- .../common/biomes/BiomeGenSludgepit.java | 10 +- .../common/biomes/BiomeGenSpruceWoods.java | 10 +- .../biomes/BiomeGenTemperateRainforest.java | 16 +- .../common/biomes/BiomeGenThicket.java | 2 +- .../common/biomes/BiomeGenTimber.java | 10 +- .../biomes/BiomeGenTropicalRainforest.java | 14 +- .../common/biomes/BiomeGenTropics.java | 22 +-- .../common/biomes/BiomeGenTundra.java | 12 +- .../common/biomes/BiomeGenWasteland.java | 4 +- .../common/biomes/BiomeGenWetland.java | 16 +- .../common/biomes/BiomeGenWoodland.java | 10 +- .../BOPConfigurationBiomeGen.java | 8 +- .../core/{BOPWorld.java => BOPBiomes.java} | 11 +- .../common/core/BOPVanillaCompat.java | 21 +-- .../DecorationModificationEventHandler.java | 10 +- .../decoration/BOPDecorationManager.java | 89 +++++++---- .../world/decoration/BOPWorldFeatures.java | 143 +++++++++++------- ...orcedDecorators.java => BiomeTweaker.java} | 34 ++++- .../world/decoration/ForcedDecorator.java | 12 +- .../common/world/decoration/IBOPBiome.java | 11 -- .../managers/WorldGenBOPFlowerManager.java | 46 ++++++ .../managers/WorldGenBOPGrassManager.java | 46 ++++++ .../BirchForestForcedDecorator.java | 14 +- .../ExtremeHillsForcedDecorator.java | 13 +- .../ForestForcedDecorator.java | 16 +- .../IcePlainsForcedDecorator.java | 3 +- .../JungleForcedDecorator.java | 22 +-- .../forceddecorators/MesaForcedDecorator.java | 6 +- .../PlainsForcedDecorator.java | 15 +- .../RoofedForestForcedDecorator.java | 12 +- .../SavannaForcedDecorator.java | 14 +- .../SwampForcedDecorator.java | 14 +- .../TaigaForcedDecorator.java | 6 +- .../generation/WorldGenFieldAssociation.java | 10 +- 73 files changed, 704 insertions(+), 510 deletions(-) rename src/main/java/biomesoplenty/common/core/{BOPWorld.java => BOPBiomes.java} (98%) rename src/main/java/biomesoplenty/common/world/decoration/{ForcedDecorators.java => BiomeTweaker.java} (75%) create mode 100644 src/main/java/biomesoplenty/common/world/features/managers/WorldGenBOPFlowerManager.java create mode 100644 src/main/java/biomesoplenty/common/world/features/managers/WorldGenBOPGrassManager.java diff --git a/src/main/java/biomesoplenty/BiomesOPlenty.java b/src/main/java/biomesoplenty/BiomesOPlenty.java index 0bdbb4f99..4bf9d0a98 100644 --- a/src/main/java/biomesoplenty/BiomesOPlenty.java +++ b/src/main/java/biomesoplenty/BiomesOPlenty.java @@ -12,7 +12,7 @@ import biomesoplenty.common.integration.TreecapitatorIntegration; import biomesoplenty.common.network.PacketPipeline; import biomesoplenty.common.utils.BOPModInfo; import biomesoplenty.common.world.WorldTypeBOP; -import biomesoplenty.common.world.decoration.ForcedDecorators; +import biomesoplenty.common.world.decoration.BiomeTweaker; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; @@ -53,12 +53,12 @@ public class BiomesOPlenty BOPFluids.init(); BOPArmor.init(); BOPCrafting.init(); - BOPWorld.init(); + BOPBiomes.init(); BOPConfigurationBiomeGen.init(BOPConfiguration.biomeGenConfigFile); BOPConfigurationVillages.init(BOPConfiguration.villagesConfigFile); BOPConfigurationStrongholds.init(BOPConfiguration.strongholdsConfigFile); BOPConfigurationWorldFeatures.init(BOPConfiguration.worldFeaturesConfigFile); - ForcedDecorators.init(); + BiomeTweaker.init(); BOPEntities.init(); BOPVanillaCompat.init(); @@ -82,6 +82,6 @@ public class BiomesOPlenty { packetPipeline.postInitialize(); - BOPWorld.worldTypeBOP = new WorldTypeBOP(); + BOPBiomes.worldTypeBOP = new WorldTypeBOP(); } } \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biomes/BOPBiome.java b/src/main/java/biomesoplenty/common/biomes/BOPBiome.java index 305e6de85..b4fd796ea 100644 --- a/src/main/java/biomesoplenty/common/biomes/BOPBiome.java +++ b/src/main/java/biomesoplenty/common/biomes/BOPBiome.java @@ -3,13 +3,9 @@ package biomesoplenty.common.biomes; import biomesoplenty.common.world.decoration.BOPDecorationManager; import biomesoplenty.common.world.decoration.BOPWorldFeatures; import biomesoplenty.common.world.decoration.IBOPBiome; -import biomesoplenty.common.world.features.WorldGenBOPFlora; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.feature.WorldGenerator; -import java.util.HashMap; -import java.util.Map.Entry; import java.util.Random; public abstract class BOPBiome extends BiomeGenBase implements IBOPBiome @@ -20,7 +16,7 @@ public abstract class BOPBiome extends BiomeGenBase implements IBOPBiome { super(biomeID); - bopWorldFeatures = BOPDecorationManager.getBiomeFeatures(biomeID); + bopWorldFeatures = BOPDecorationManager.getOrCreateBiomeFeatures(biomeID); } @Override @@ -44,54 +40,6 @@ public abstract class BOPBiome extends BiomeGenBase implements IBOPBiome } } - @Override - public WorldGenBOPFlora getRandomWorldGenForBOPFlowers(Random random) - { - if (weightedFlowerGen != null && !weightedFlowerGen.isEmpty()) - { - return getRandomWeightedWorldGenerator(weightedFlowerGen); - } - else - { - return null; - } - } - - @Override - public WorldGenerator getRandomWorldGenForGrass(Random random) - { - if (weightedGrassGen != null && !weightedGrassGen.isEmpty()) - { - return getRandomWeightedWorldGenerator(weightedGrassGen); - } - else - { - return super.getRandomWorldGenForGrass(random); - } - } - - public static T getRandomWeightedWorldGenerator(HashMap worldGeneratorMap) - { - double completeWeight = 0D; - - for (Number weight : worldGeneratorMap.values()) - { - completeWeight += Double.parseDouble(weight.toString()); - } - - double random = Math.random() * completeWeight; - double countWeight = 0D; - - for (Entry entry : worldGeneratorMap.entrySet()) - { - countWeight += Double.parseDouble(entry.getValue().toString()); - - if (countWeight >= random) return entry.getKey(); - } - - return null; - } - @Override public BOPWorldFeatures getBiomeFeatures() { diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenBayou.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenBayou.java index 8fea09e4b..86496d623 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenBayou.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenBayou.java @@ -54,9 +54,11 @@ public class BiomeGenBayou extends BOPBiome this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 10); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 15); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenBog.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenBog.java index 849fae73f..cedf37286 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenBog.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenBog.java @@ -49,10 +49,12 @@ public class BiomeGenBog extends BOPBiome this.bopWorldFeatures.setFeature("seaweedPerChunk", 15); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenBorealForest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenBorealForest.java index b9bd75c24..dcc05185e 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenBorealForest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenBorealForest.java @@ -36,12 +36,14 @@ public class BiomeGenBorealForest extends BOPBiome this.bopWorldFeatures.setFeature("waterReedsPerChunk", 4); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 10); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 10); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 50); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 2D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 10); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 2D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenBrushland.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenBrushland.java index 0eb8ab4fb..5ed49d636 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenBrushland.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenBrushland.java @@ -33,11 +33,13 @@ public class BiomeGenBrushland extends BOPBiome this.bopWorldFeatures.setFeature("waterReedsPerChunk", 2); this.bopWorldFeatures.setFeature("generateQuicksand", true); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 5); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 6); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 5); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenCanyon.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenCanyon.java index c73f30115..53ae0aca4 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenCanyon.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenCanyon.java @@ -38,7 +38,9 @@ public class BiomeGenCanyon extends BOPBiome this.bopWorldFeatures.setFeature("generatePumpkins", false); this.bopWorldFeatures.setFeature("generateCanyon", true); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenChaparral.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenChaparral.java index 3f8e161bc..40b39890d 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenChaparral.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenChaparral.java @@ -44,13 +44,15 @@ public class BiomeGenChaparral extends BOPBiome this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 5); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 8); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 20); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenCherryBlossomGrove.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenCherryBlossomGrove.java index 02f0bacc6..882ec4e0e 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenCherryBlossomGrove.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenCherryBlossomGrove.java @@ -36,14 +36,16 @@ public class BiomeGenCherryBlossomGrove extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 15); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 6), 12); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 8); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 6); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 15); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 6), 12); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenConiferousForest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenConiferousForest.java index 83791f7bf..51775a470 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenConiferousForest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenConiferousForest.java @@ -47,12 +47,14 @@ public class BiomeGenConiferousForest extends BOPBiome this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 8); this.bopWorldFeatures.setFeature("seaweedPerChunk", 5); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(3, 64), 0.5D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 10); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(3, 64), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenConiferousForestSnow.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenConiferousForestSnow.java index bf1e8013d..9ec5d8c61 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenConiferousForestSnow.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenConiferousForestSnow.java @@ -40,14 +40,16 @@ public class BiomeGenConiferousForestSnow extends BOPBiome this.bopWorldFeatures.setFeature("shrubsPerChunk", 4); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 8); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.25D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(3, 64), 0.25D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.25D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(3, 64), 0.25D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenDeadForest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenDeadForest.java index e58bd0cc9..8869ce8d9 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenDeadForest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenDeadForest.java @@ -33,10 +33,12 @@ public class BiomeGenDeadForest extends BOPBiome this.bopWorldFeatures.setFeature("waterReedsPerChunk", 2); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 20); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 0), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 1); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 0), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenDeadSwamp.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenDeadSwamp.java index 23d80ad71..bd4806703 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenDeadSwamp.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenDeadSwamp.java @@ -44,11 +44,13 @@ public class BiomeGenDeadSwamp extends BOPBiome this.bopWorldFeatures.setFeature("koruPerChunk", 1); this.bopWorldFeatures.setFeature("seaweedPerChunk", 5); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 0.25D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 25); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 0.25D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenDeciduousForest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenDeciduousForest.java index c088713df..e64aaa760 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenDeciduousForest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenDeciduousForest.java @@ -38,10 +38,12 @@ public class BiomeGenDeciduousForest extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 10); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 10); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 10); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenFen.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenFen.java index bd3931f97..4e762dc89 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenFen.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenFen.java @@ -51,14 +51,16 @@ public class BiomeGenFen extends BOPBiome this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 10); this.bopWorldFeatures.setFeature("seaweedPerChunk", 15); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 6); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 15); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 0.25D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 6); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 0.25D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenFrostForest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenFrostForest.java index 77e717fad..51a5536a8 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenFrostForest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenFrostForest.java @@ -8,7 +8,6 @@ import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenAbstractTree; import net.minecraft.world.gen.feature.WorldGenTallGrass; -import net.minecraft.world.gen.feature.WorldGenerator; import java.util.Random; @@ -31,10 +30,19 @@ public class BiomeGenFrostForest extends BOPBiome this.theBiomeDecorator.mushroomsPerChunk = -999; this.bopWorldFeatures.setFeature("shrubsPerChunk", 1); - this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 3); this.bopWorldFeatures.setFeature("leafPilesPerChunk", 2); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 4); this.bopWorldFeatures.setFeature("generatePumpkins", false); + + this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 3); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 1); + + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 7), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override @@ -44,18 +52,6 @@ public class BiomeGenFrostForest extends BOPBiome return worldGeneratorTrees; } - @Override - public WorldGenerator getRandomWorldGenForGrass(Random random) - { - return random.nextInt(2) == 0 ? new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 10) : (random.nextInt(4) == 0 ? new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 11) : new WorldGenTallGrass(Blocks.tallgrass, 1)); - } - - @Override - public WorldGenBOPFlora getRandomWorldGenForBOPFlowers(Random random) - { - return random.nextInt(5) == 0 ? new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 7) : new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8); - } - @Override public void decorate(World world, Random random, int chunkX, int chunkZ) { diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenGrassland.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenGrassland.java index b19f45bcc..7d7efcea2 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenGrassland.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenGrassland.java @@ -41,11 +41,13 @@ public class BiomeGenGrassland extends BOPBiome this.bopWorldFeatures.setFeature("waterReedsPerChunk", 2); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 1), 0.25D); - weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 2), 0.25D); - weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 2); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 1), 0.25D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 2), 0.25D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenGrove.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenGrove.java index 1d937741b..fd7178ed3 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenGrove.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenGrove.java @@ -40,14 +40,16 @@ public class BiomeGenGrove extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 5); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 16); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 6); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(5, 3), 4); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 8); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 16); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(5, 3), 4); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenHeathland.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenHeathland.java index 806523685..b53586491 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenHeathland.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenHeathland.java @@ -41,13 +41,15 @@ public class BiomeGenHeathland extends BOPBiome this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 5); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 7), 8); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 6); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 10); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 7), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenHighland.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenHighland.java index 5a6570ab4..3034bd5d6 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenHighland.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenHighland.java @@ -27,10 +27,12 @@ public class BiomeGenHighland extends BOPBiome this.bopWorldFeatures.setFeature("wildCarrotsPerChunk", 1); this.bopWorldFeatures.setFeature("rockpilesPerChunk", 3); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.25D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.25D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 99); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.25D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.25D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenJadeCliffs.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenJadeCliffs.java index 505bb7304..b905fe790 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenJadeCliffs.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenJadeCliffs.java @@ -34,7 +34,9 @@ public class BiomeGenJadeCliffs extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 4); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 2); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 6); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 3); + + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 6); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenLushDesert.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenLushDesert.java index 8ee9f40d3..d4f7bd851 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenLushDesert.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenLushDesert.java @@ -51,13 +51,15 @@ public class BiomeGenLushDesert extends BOPBiome this.bopWorldFeatures.setFeature("generateSand", true); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 4); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 7), 8); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 8); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("plants"), 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 4); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 7), 8); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("plants"), 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenLushSwamp.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenLushSwamp.java index a56d31ca0..793fddf41 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenLushSwamp.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenLushSwamp.java @@ -43,13 +43,15 @@ public class BiomeGenLushSwamp extends BOPBiome this.bopWorldFeatures.setFeature("cloverPatchesPerChunk", 10); this.bopWorldFeatures.setFeature("seaweedPerChunk", 10); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 4); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 6); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 4); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 4); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 6); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenMapleWoods.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenMapleWoods.java index bff2cb8eb..cbe88b7b6 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenMapleWoods.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenMapleWoods.java @@ -32,11 +32,13 @@ public class BiomeGenMapleWoods extends BOPBiome this.bopWorldFeatures.setFeature("shrubsPerChunk", 2); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 8); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 1); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 1); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 1); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenMarsh.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenMarsh.java index 13ec2e461..b781d1209 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenMarsh.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenMarsh.java @@ -42,10 +42,12 @@ public class BiomeGenMarsh extends BOPBiome this.bopWorldFeatures.setFeature("seaweedPerChunk", 15); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 0.25D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 50); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 0.25D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenMeadow.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenMeadow.java index c7d8726d4..2e8101707 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenMeadow.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenMeadow.java @@ -40,15 +40,17 @@ public class BiomeGenMeadow extends BOPBiome this.bopWorldFeatures.setFeature("seaweedPerChunk", 5); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 10); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(5, 3), 5); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(0, 3), 2); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 10); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(5, 3), 5); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(0, 3), 2); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenMoor.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenMoor.java index b741b1753..b154eb169 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenMoor.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenMoor.java @@ -43,13 +43,15 @@ public class BiomeGenMoor extends BOPBiome this.bopWorldFeatures.setFeature("seaweedPerChunk", 5); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 1), 14); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 15); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 1), 14); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenMysticGrove.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenMysticGrove.java index fde76ff6a..f0d8d40bb 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenMysticGrove.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenMysticGrove.java @@ -50,18 +50,20 @@ public class BiomeGenMysticGrove extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 10); this.bopWorldFeatures.setFeature("seaweedPerChunk", 5); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 6), 12); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 3), 10); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 3), 6); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 6); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 15); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 6), 12); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 3), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 3), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 4); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenOminousWoods.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenOminousWoods.java index f1761dc1e..99e174976 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenOminousWoods.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenOminousWoods.java @@ -12,7 +12,6 @@ import net.minecraft.entity.passive.EntityBat; import net.minecraft.init.Blocks; import net.minecraft.world.gen.feature.WorldGenAbstractTree; import net.minecraft.world.gen.feature.WorldGenTallGrass; -import net.minecraft.world.gen.feature.WorldGenerator; import java.util.Random; @@ -48,12 +47,21 @@ public class BiomeGenOminousWoods extends BOPBiome this.theBiomeDecorator.sandPerChunk = -999; this.theBiomeDecorator.sandPerChunk2 = -999; - this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 1); this.bopWorldFeatures.setFeature("thornsPerChunk", 9); this.bopWorldFeatures.setFeature("poisonIvyPerChunk", 3); this.bopWorldFeatures.setFeature("leafPilesPerChunk", 2); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 4); //TODO: FEATURE customBiomeDecorator.poisonWaterPerChunk = 15; + + this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 1); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 1); + + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 2), 20); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(Blocks.tallgrass, 0), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override @@ -62,18 +70,6 @@ public class BiomeGenOminousWoods extends BOPBiome { return random.nextInt(2) == 0 ? new WorldGenBOPTaiga2(BOPBlockHelper.get("logs1"), BOPBlockHelper.get("leaves1"), 2, 3, false, 14, 6, 0) : (random.nextInt(6) == 0 ? new WorldGenDeadTree1(false, Blocks.dirt, Blocks.grass, BOPBlockHelper.get("grass"), BOPBlockHelper.get("driedDirt"), BOPBlockHelper.get("redRock")) : new WorldGenBOPSwampTree(BOPBlockHelper.get("logs1"), BOPBlockHelper.get("leaves1"), 2, 3, 5, 4, BOPBlockHelper.get("treeMoss"), -1)); } - - @Override - public WorldGenBOPFlora getRandomWorldGenForBOPFlowers(Random random) - { - return new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 2); - } - - @Override - public WorldGenerator getRandomWorldGenForGrass(Random random) - { - return random.nextInt(4) == 0 ? (random.nextInt(2) == 0 ? new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 10) : new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 11)) : (random.nextInt(6) == 0 ? new WorldGenTallGrass(Blocks.tallgrass, 0) : new WorldGenTallGrass(Blocks.tallgrass, 1)); - } @Override public int getBiomeGrassColor(int x, int y, int z) diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenOriginValley.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenOriginValley.java index 207af2fb4..3e95b03b4 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenOriginValley.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenOriginValley.java @@ -39,8 +39,8 @@ public class BiomeGenOriginValley extends BOPBiome //TODO: FEATURE this.theBiomeDecorator.generateUndergroundLakes = false; this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 8), 8); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.yellow_flower, 0), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 8), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.yellow_flower, 0), 10); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenPrairie.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenPrairie.java index 677f2ef50..ff80d6582 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenPrairie.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenPrairie.java @@ -36,14 +36,16 @@ public class BiomeGenPrairie extends BOPBiome this.bopWorldFeatures.setFeature("waterReedsPerChunk", 4); this.bopWorldFeatures.setFeature("leafPilesPerChunk", 15); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 4), 12); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 6); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 999); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 4), 12); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 6); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenQuagmire.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenQuagmire.java index 6f42989fd..99b61fec1 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenQuagmire.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenQuagmire.java @@ -43,9 +43,11 @@ public class BiomeGenQuagmire extends BOPBiome this.bopWorldFeatures.setFeature("koruPerChunk", 1); this.bopWorldFeatures.setFeature("generateQuagmire", true); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 10); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenRainforest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenRainforest.java index 053d68599..066d0d57e 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenRainforest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenRainforest.java @@ -48,10 +48,10 @@ public class BiomeGenRainforest extends BOPBiome this.bopWorldFeatures.setFeature("seaweedPerChunk", 15); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 6), 12); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 6); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 4); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 6), 12); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 4); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(1, 5), 6); } @Override @@ -60,12 +60,6 @@ public class BiomeGenRainforest extends BOPBiome { return random.nextInt(15) == 0 ? this.worldGeneratorTrees : (random.nextInt(5) == 0 ? worldGeneratorBigTree : new WorldGenOriginalTree(Blocks.log, Blocks.leaves, 0, 0, false, 8, 2, false)); } - - @Override - public WorldGenBOPFlora getRandomWorldGenForBOPFlowers(Random random) - { - return null; - } @Override public WorldGenerator getRandomWorldGenForGrass(Random random) diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenRedwoodForest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenRedwoodForest.java index 42afc0520..873bbdd44 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenRedwoodForest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenRedwoodForest.java @@ -38,13 +38,15 @@ public class BiomeGenRedwoodForest extends BOPBiome this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 5); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 10); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 8); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 15); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 8); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenSacredSprings.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenSacredSprings.java index 0cecf0e87..966a1cfa6 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenSacredSprings.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenSacredSprings.java @@ -38,9 +38,9 @@ public class BiomeGenSacredSprings extends BOPBiome this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 2); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 6), 10); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 6); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(5, 5), 5); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 6), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(5, 5), 5); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenSeasonalForest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenSeasonalForest.java index 8fac78680..3289a9b7a 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenSeasonalForest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenSeasonalForest.java @@ -36,10 +36,12 @@ public class BiomeGenSeasonalForest extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 8); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 15); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 8); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenShield.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenShield.java index ca8948505..0c87e7d5a 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenShield.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenShield.java @@ -37,9 +37,11 @@ public class BiomeGenShield extends BOPBiome this.bopWorldFeatures.setFeature("seaweedPerChunk", 5); this.bopWorldFeatures.setFeature("generateStoneInGrass2", true); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 12); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenShrubland.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenShrubland.java index 2835fffdf..568347efc 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenShrubland.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenShrubland.java @@ -39,7 +39,7 @@ public class BiomeGenShrubland extends BOPBiome this.bopWorldFeatures.setFeature("waterReedsPerChunk", 3); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 4); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 4); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenSilkglades.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenSilkglades.java index e8f8434b4..42c5b2dec 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenSilkglades.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenSilkglades.java @@ -50,9 +50,11 @@ public class BiomeGenSilkglades extends BOPBiome this.bopWorldFeatures.setFeature("cobwebNestsPerChunk", 2); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 15); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 0), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 2); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 0), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenSludgepit.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenSludgepit.java index f50815b13..f061768c3 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenSludgepit.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenSludgepit.java @@ -50,10 +50,12 @@ public class BiomeGenSludgepit extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 5); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 5); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 0), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 30); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 0), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenSpruceWoods.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenSpruceWoods.java index 5bcd92cc5..e55942613 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenSpruceWoods.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenSpruceWoods.java @@ -38,11 +38,13 @@ public class BiomeGenSpruceWoods extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 6); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 3); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 5), 15); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 100); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 5), 15); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenTemperateRainforest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenTemperateRainforest.java index f9d3aafc1..9ecb4042b 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenTemperateRainforest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenTemperateRainforest.java @@ -43,13 +43,15 @@ public class BiomeGenTemperateRainforest extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 15); this.bopWorldFeatures.setFeature("seaweedPerChunk", 15); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 2D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(3), 0.25D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 25); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 2D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(3), 0.25D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenThicket.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenThicket.java index 313a0ecca..d568a15c3 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenThicket.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenThicket.java @@ -33,7 +33,7 @@ public class BiomeGenThicket extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 5); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 10); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 4); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 2), 4); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenTimber.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenTimber.java index 488ed1275..f13f34ab1 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenTimber.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenTimber.java @@ -35,10 +35,12 @@ public class BiomeGenTimber extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 5); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 12); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 8); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenTropicalRainforest.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenTropicalRainforest.java index 083e9ccae..4ae277a91 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenTropicalRainforest.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenTropicalRainforest.java @@ -48,13 +48,15 @@ public class BiomeGenTropicalRainforest extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 10); this.bopWorldFeatures.setFeature("seaweedPerChunk", 15); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 5), 12); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 9); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.75D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(3), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 5), 12); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.75D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(3), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenTropics.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenTropics.java index 3a2e11e57..99499b447 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenTropics.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenTropics.java @@ -46,17 +46,19 @@ public class BiomeGenTropics extends BOPBiome this.bopWorldFeatures.setFeature("seaweedPerChunk", 10); this.bopWorldFeatures.setFeature("generatePumpkins", false); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 8); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 5), 10); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 0), 15); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 7); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 6); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(0, 3), 2); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 7); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(3), 0.25D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 5), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers2"), 0), 15); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 7); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 6); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(0, 3), 2); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(3), 0.25D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenTundra.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenTundra.java index 200f90551..394c46bd0 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenTundra.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenTundra.java @@ -40,12 +40,14 @@ public class BiomeGenTundra extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 5); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 5); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 4); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 8); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 4); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenWasteland.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenWasteland.java index 6e59c56c4..ce2040135 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenWasteland.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenWasteland.java @@ -40,7 +40,9 @@ public class BiomeGenWasteland extends BOPBiome this.bopWorldFeatures.setFeature("wasteland4PerChunk", 1); this.bopWorldFeatures.setFeature("wastelandRockPilesPerChunk", 2); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("plants"), 0), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 20); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("plants"), 0), 1D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenWetland.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenWetland.java index c5667be14..a9cbb1c2d 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenWetland.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenWetland.java @@ -61,14 +61,16 @@ public class BiomeGenWetland extends BOPBiome this.bopWorldFeatures.setFeature("leafPilesPerChunk", 10); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 5); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 1), 10); - weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 6); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 10); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPDoubleFlora(3), 0.75D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 1), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 1), 6); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(3), 0.75D); } @Override diff --git a/src/main/java/biomesoplenty/common/biomes/BiomeGenWoodland.java b/src/main/java/biomesoplenty/common/biomes/BiomeGenWoodland.java index 6aa2028be..0241f60bb 100644 --- a/src/main/java/biomesoplenty/common/biomes/BiomeGenWoodland.java +++ b/src/main/java/biomesoplenty/common/biomes/BiomeGenWoodland.java @@ -35,11 +35,13 @@ public class BiomeGenWoodland extends BOPBiome this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 10); this.bopWorldFeatures.setFeature("logsPerChunk", 10); - weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 6); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 7); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(4, 5), 6); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } diff --git a/src/main/java/biomesoplenty/common/configuration/BOPConfigurationBiomeGen.java b/src/main/java/biomesoplenty/common/configuration/BOPConfigurationBiomeGen.java index c79053f0d..2f738c1df 100644 --- a/src/main/java/biomesoplenty/common/configuration/BOPConfigurationBiomeGen.java +++ b/src/main/java/biomesoplenty/common/configuration/BOPConfigurationBiomeGen.java @@ -3,7 +3,7 @@ package biomesoplenty.common.configuration; import biomesoplenty.api.BOPBiomeHelper; import biomesoplenty.api.BOPBiomeHelper.BOPBiomeEntry; import biomesoplenty.api.BOPBiomeHelper.TemperatureType; -import biomesoplenty.common.core.BOPWorld; +import biomesoplenty.common.core.BOPBiomes; import biomesoplenty.common.world.layer.hell.BiomeLayerHellBiomes; import cpw.mods.fml.common.FMLLog; import net.minecraft.world.biome.BiomeGenBase; @@ -65,18 +65,18 @@ public class BOPConfigurationBiomeGen if (config.get("Overworld Biomes To Generate (There must be at least one from each category)", name + " (" + WordUtils.capitalize(entry.temperatureType.toString().toLowerCase()) + ")", !disabledBiomes.contains(convertedName)).getBoolean(!disabledBiomes.contains(convertedName))) { - if (BOPWorld.onlyBiome != null ? entry == BOPWorld.onlyBiome : true) + if (BOPBiomes.onlyBiome != null ? entry == BOPBiomes.onlyBiome : true) { entry.addToCorrespondingTemperatureTypeList(); } } } - if (BOPWorld.onlyBiome != null) + if (BOPBiomes.onlyBiome != null) { for (TemperatureType temperatureType : BOPBiomeHelper.TemperatureType.values()) { - BOPBiomeHelper.getCorrespondingTemperatureTypeList(temperatureType).add(BOPWorld.onlyBiome); + BOPBiomeHelper.getCorrespondingTemperatureTypeList(temperatureType).add(BOPBiomes.onlyBiome); } } else diff --git a/src/main/java/biomesoplenty/common/core/BOPWorld.java b/src/main/java/biomesoplenty/common/core/BOPBiomes.java similarity index 98% rename from src/main/java/biomesoplenty/common/core/BOPWorld.java rename to src/main/java/biomesoplenty/common/core/BOPBiomes.java index 04b8b9dd5..3ed4a9a04 100644 --- a/src/main/java/biomesoplenty/common/core/BOPWorld.java +++ b/src/main/java/biomesoplenty/common/core/BOPBiomes.java @@ -9,14 +9,13 @@ import biomesoplenty.common.configuration.BOPConfigurationMisc; import biomesoplenty.common.world.WorldTypeBOP; import biomesoplenty.common.world.decoration.BOPDecorationManager; import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.init.Blocks; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.WorldChunkManager; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; import net.minecraftforge.common.BiomeManager; -public class BOPWorld +public class BOPBiomes { public static WorldTypeBOP worldTypeBOP; @@ -30,7 +29,6 @@ public class BOPWorld registerBiomes(); addBiomesToDictionary(); addSpawnBiomes(); - overrideBiomeProperties(); } private static void registerBiomes() @@ -268,13 +266,6 @@ public class BOPWorld BiomeDictionary.registerBiomeType(BOPBiomeHelper.get("wetland"), Type.SWAMP, Type.FOREST); BiomeDictionary.registerBiomeType(BOPBiomeHelper.get("woodland"), Type.FOREST); } - - private static void overrideBiomeProperties() - { - BiomeGenBase.hell.topBlock = Blocks.netherrack; - BiomeGenBase.hell.fillerBlock = Blocks.netherrack; - } - public static void registerOnlyBiome(BOPBiomeEntry biome) { onlyBiome = biome; diff --git a/src/main/java/biomesoplenty/common/core/BOPVanillaCompat.java b/src/main/java/biomesoplenty/common/core/BOPVanillaCompat.java index 3c70ebc3e..5671f1af9 100644 --- a/src/main/java/biomesoplenty/common/core/BOPVanillaCompat.java +++ b/src/main/java/biomesoplenty/common/core/BOPVanillaCompat.java @@ -5,8 +5,8 @@ import biomesoplenty.api.BOPItemHelper; import biomesoplenty.common.configuration.BOPConfigurationMisc; import biomesoplenty.common.entities.projectiles.dispenser.DispenserBehaviourDart; import biomesoplenty.common.entities.projectiles.dispenser.DispenserBehaviourMudball; -import biomesoplenty.common.world.decoration.ForcedDecorators; -import biomesoplenty.common.world.decoration.IBOPBiome; +import biomesoplenty.common.world.decoration.BOPDecorationManager; +import biomesoplenty.common.world.decoration.BOPWorldFeatures; import biomesoplenty.common.world.features.WorldGenBOPDoubleFlora; import biomesoplenty.common.world.features.WorldGenBOPFlora; import net.minecraft.block.BlockDispenser; @@ -97,22 +97,13 @@ public class BOPVanillaCompat { if (biome != null) { - IBOPBiome bopDecoration = null; + BOPWorldFeatures biomeFeatures = BOPDecorationManager.getBiomeFeatures(biome.biomeID); - if (biome instanceof IBOPBiome) + if (biomeFeatures != null) { - bopDecoration = (IBOPBiome)biome; - } - else if (ForcedDecorators.biomeHasForcedDecorator(biome.biomeID)) - { - bopDecoration = ForcedDecorators.getForcedDecorator(biome.biomeID); - } - - if (bopDecoration != null) - { - if (bopDecoration.weightedFlowerGen != null && !bopDecoration.weightedFlowerGen.isEmpty()) + if (biomeFeatures.weightedFlowerGen != null && !biomeFeatures.weightedFlowerGen.isEmpty()) { - HashMap flowerMap = bopDecoration.weightedFlowerGen; + HashMap flowerMap = biomeFeatures.weightedFlowerGen; for (Entry entry : flowerMap.entrySet()) { diff --git a/src/main/java/biomesoplenty/common/eventhandler/world/DecorationModificationEventHandler.java b/src/main/java/biomesoplenty/common/eventhandler/world/DecorationModificationEventHandler.java index 32ac4122a..59a99fe27 100644 --- a/src/main/java/biomesoplenty/common/eventhandler/world/DecorationModificationEventHandler.java +++ b/src/main/java/biomesoplenty/common/eventhandler/world/DecorationModificationEventHandler.java @@ -1,6 +1,6 @@ package biomesoplenty.common.eventhandler.world; -import biomesoplenty.common.world.decoration.ForcedDecorators; +import biomesoplenty.common.world.decoration.BiomeTweaker; import biomesoplenty.common.world.decoration.IBOPBiome; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -36,9 +36,9 @@ public class DecorationModificationEventHandler { bopDecoration = (IBOPBiome)biome; } - else if (ForcedDecorators.biomeHasForcedDecorator(biome.biomeID)) + else if (BiomeTweaker.biomeHasForcedDecorator(biome.biomeID)) { - bopDecoration = ForcedDecorators.getForcedDecorator(biome.biomeID); + bopDecoration = BiomeTweaker.getForcedDecorator(biome.biomeID); } if (bopDecoration != null) @@ -70,9 +70,9 @@ public class DecorationModificationEventHandler { bopDecoration = (IBOPBiome)biome; } - else if (ForcedDecorators.biomeHasForcedDecorator(biome.biomeID)) + else if (BiomeTweaker.biomeHasForcedDecorator(biome.biomeID)) { - bopDecoration = ForcedDecorators.getForcedDecorator(biome.biomeID); + bopDecoration = BiomeTweaker.getForcedDecorator(biome.biomeID); } if (bopDecoration != null) diff --git a/src/main/java/biomesoplenty/common/world/decoration/BOPDecorationManager.java b/src/main/java/biomesoplenty/common/world/decoration/BOPDecorationManager.java index 0b185017c..81fd12ec4 100644 --- a/src/main/java/biomesoplenty/common/world/decoration/BOPDecorationManager.java +++ b/src/main/java/biomesoplenty/common/world/decoration/BOPDecorationManager.java @@ -6,9 +6,12 @@ import cpw.mods.fml.common.IWorldGenerator; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.event.terraingen.DecorateBiomeEvent; import net.minecraftforge.event.terraingen.TerrainGen; +import java.util.HashMap; +import java.util.Map; import java.util.Random; public class BOPDecorationManager implements IWorldGenerator @@ -21,48 +24,82 @@ public class BOPDecorationManager implements IWorldGenerator chunkX <<= 4; chunkZ <<= 4; - BiomeGenBase biome = world.getBiomeGenForCoords(chunkX, chunkZ); + BiomeGenBase biome = world.getBiomeGenForCoords(chunkX + 16, chunkZ + 16); BOPWorldFeatures biomeFeatures = getBiomeFeatures(biome.biomeID); - for (String featureName : biomeFeatures.getFeatureNames()) + if (biomeFeatures != null) { - try + for (String featureName : biomeFeatures.getFeatureNames()) { - if (featureName.equals("bopFlowersPerChunk")) - { - if (!TerrainGen.decorate(world, random, chunkX, chunkZ, DecorateBiomeEvent.Decorate.EventType.FLOWERS)) continue; - } - - WorldGenFieldAssociation.WorldFeature worldFeature = WorldGenFieldAssociation.getAssociatedFeature(featureName); - - if (worldFeature != null) + try { - IBOPWorldGenerator worldGenerator = worldFeature.getBOPWorldGenerator(); - - if (worldGenerator != null) + if (featureName.equals("bopFlowersPerChunk")) { - worldGenerator.setupGeneration(world, random, biome, featureName, chunkX, chunkZ); + if (!TerrainGen.decorate(world, random, chunkX, chunkZ, DecorateBiomeEvent.Decorate.EventType.FLOWERS)) continue; + } + else if (featureName.equals("bopGrassPerChunk")) + { + if (!TerrainGen.decorate(world, random, chunkX, chunkZ, DecorateBiomeEvent.Decorate.EventType.GRASS)) continue; + } + + WorldGenFieldAssociation.WorldFeature worldFeature = WorldGenFieldAssociation.getAssociatedFeature(featureName); + + if (worldFeature != null) + { + IBOPWorldGenerator worldGenerator = worldFeature.getBOPWorldGenerator(); + + if (worldGenerator != null) + { + worldGenerator.setupGeneration(world, random, biome, featureName, chunkX, chunkZ); + } } } - } - catch (Exception e) - { - Throwable cause = e.getCause(); + catch (Exception e) + { + Throwable cause = e.getCause(); - if (e.getMessage() != null && e.getMessage().equals("Already decorating!!") || (cause != null && cause.getMessage() != null && cause.getMessage().equals("Already decorating!!"))) - { - } - else - { - e.printStackTrace(); + if (e.getMessage() != null && e.getMessage().equals("Already decorating!!") || (cause != null && cause.getMessage() != null && cause.getMessage().equals("Already decorating!!"))) + { + } + else + { + e.printStackTrace(); + } } } } } - public static BOPWorldFeatures getBiomeFeatures(int biomeID) + public static T getRandomWeightedWorldGenerator(HashMap worldGeneratorMap) + { + double completeWeight = 0D; + + for (Number weight : worldGeneratorMap.values()) + { + completeWeight += Double.parseDouble(weight.toString()); + } + + double random = Math.random() * completeWeight; + double countWeight = 0D; + + for (Map.Entry entry : worldGeneratorMap.entrySet()) + { + countWeight += Double.parseDouble(entry.getValue().toString()); + + if (countWeight >= random) return entry.getKey(); + } + + return null; + } + + public static BOPWorldFeatures getOrCreateBiomeFeatures(int biomeID) { if (biomeFeaturesMap[biomeID] == null) return biomeFeaturesMap[biomeID] = new BOPWorldFeatures(); else return biomeFeaturesMap[biomeID]; } + + public static BOPWorldFeatures getBiomeFeatures(int biomeID) + { + return biomeFeaturesMap[biomeID]; + } } diff --git a/src/main/java/biomesoplenty/common/world/decoration/BOPWorldFeatures.java b/src/main/java/biomesoplenty/common/world/decoration/BOPWorldFeatures.java index 2333a695c..5a665749a 100644 --- a/src/main/java/biomesoplenty/common/world/decoration/BOPWorldFeatures.java +++ b/src/main/java/biomesoplenty/common/world/decoration/BOPWorldFeatures.java @@ -1,12 +1,17 @@ package biomesoplenty.common.world.decoration; +import biomesoplenty.common.world.features.WorldGenBOPFlora; import biomesoplenty.common.world.generation.WorldGenFieldAssociation; +import net.minecraft.world.gen.feature.WorldGenerator; import java.util.HashMap; import java.util.Set; public class BOPWorldFeatures { + public HashMap weightedGrassGen = new HashMap(); + public HashMap weightedFlowerGen = new HashMap(); + private HashMap featureValueMap = new HashMap(); static @@ -16,71 +21,87 @@ public class BOPWorldFeatures protected BOPWorldFeatures() { - setFeature("generatePumpkins", true); - setFeature("generateQuicksand", false); - setFeature("generateCanyon", false); - setFeature("generateStoneInGrass", false); - setFeature("generateStoneInGrass2", false); - setFeature("generateGrass", false); - setFeature("generateSand", false); - setFeature("generateQuagmire", false); - setFeature("generateAsh", false); - setFeature("generateMelons", false); + addFeature("generatePumpkins", true); + addFeature("generateQuicksand", false); + addFeature("generateCanyon", false); + addFeature("generateStoneInGrass", false); + addFeature("generateStoneInGrass2", false); + addFeature("generateGrass", false); + addFeature("generateSand", false); + addFeature("generateQuagmire", false); + addFeature("generateAsh", false); + addFeature("generateMelons", false); - setFeature("waterPoolsPerChunk", 50); - setFeature("lavaPoolsPerChunk", 20); + addFeature("waterPoolsPerChunk", 50); + addFeature("lavaPoolsPerChunk", 20); - setFeature("waterLakesPerChunk", 0); - setFeature("lavaLakesPerChunk", 0); + addFeature("waterLakesPerChunk", 0); + addFeature("lavaLakesPerChunk", 0); - setFeature("mudPerChunk", 0); - setFeature("riverCanePerChunk", 0); - setFeature("shrubsPerChunk", 0); - setFeature("bushesPerChunk", 0); - setFeature("cloverPatchesPerChunk", 0); - setFeature("seaweedPerChunk", 0); - setFeature("leafPilesPerChunk", 0); - setFeature("deadLeafPilesPerChunk", 0); - setFeature("lavenderPerChunk", 0); - setFeature("thornsPerChunk", 0); - setFeature("stalagmitesPerChunk", 3); - setFeature("stalactitesPerChunk", 6); - setFeature("desertSproutsPerChunk", 0); - setFeature("bromeliadsPerChunk", 0); - setFeature("waterReedsPerChunk", 0); - setFeature("wildCarrotsPerChunk", 0); - setFeature("poisonIvyPerChunk", 0); - setFeature("berryBushesPerChunk", 0); - setFeature("portobellosPerChunk", 0); - setFeature("koruPerChunk", 0); - setFeature("toadstoolsPerChunk", 0); - setFeature("blueMilksPerChunk", 0); - setFeature("cattailsPerChunk", 0); - setFeature("highCattailsPerChunk", 0); - setFeature("algaePerChunk", 0); - setFeature("sproutsPerChunk", 0); - setFeature("tinyCactiPerChunk", 0); - setFeature("oasesPerChunk", 0); - setFeature("minersDelightPerChunk", 2); - setFeature("rootsPerChunk", 9); - setFeature("grassSplatterPerChunk", 0); - setFeature("rockpilesPerChunk", 0); - setFeature("logsPerChunk", 0); - setFeature("lavaSpoutsPerChunk", 0); - setFeature("cobwebsPerChunk", 0); - setFeature("cobwebNestsPerChunk", 0); - setFeature("wasteland1PerChunk", 0); - setFeature("wasteland2PerChunk", 0); - setFeature("wasteland3PerChunk", 0); - setFeature("wasteland4PerChunk", 0); - setFeature("wastelandRockPilesPerChunk", 0); + addFeature("mudPerChunk", 0); + addFeature("riverCanePerChunk", 0); + addFeature("shrubsPerChunk", 0); + addFeature("bushesPerChunk", 0); + addFeature("cloverPatchesPerChunk", 0); + addFeature("seaweedPerChunk", 0); + addFeature("leafPilesPerChunk", 0); + addFeature("deadLeafPilesPerChunk", 0); + addFeature("lavenderPerChunk", 0); + addFeature("thornsPerChunk", 0); + addFeature("stalagmitesPerChunk", 3); + addFeature("stalactitesPerChunk", 6); + addFeature("desertSproutsPerChunk", 0); + addFeature("bromeliadsPerChunk", 0); + addFeature("waterReedsPerChunk", 0); + addFeature("wildCarrotsPerChunk", 0); + addFeature("poisonIvyPerChunk", 0); + addFeature("berryBushesPerChunk", 0); + addFeature("portobellosPerChunk", 0); + addFeature("koruPerChunk", 0); + addFeature("toadstoolsPerChunk", 0); + addFeature("blueMilksPerChunk", 0); + addFeature("cattailsPerChunk", 0); + addFeature("highCattailsPerChunk", 0); + addFeature("algaePerChunk", 0); + addFeature("sproutsPerChunk", 0); + addFeature("tinyCactiPerChunk", 0); + addFeature("oasesPerChunk", 0); + addFeature("minersDelightPerChunk", 2); + addFeature("rootsPerChunk", 9); + addFeature("grassSplatterPerChunk", 0); + addFeature("rockpilesPerChunk", 0); + addFeature("logsPerChunk", 0); + addFeature("lavaSpoutsPerChunk", 0); + addFeature("cobwebsPerChunk", 0); + addFeature("cobwebNestsPerChunk", 0); + addFeature("wasteland1PerChunk", 0); + addFeature("wasteland2PerChunk", 0); + addFeature("wasteland3PerChunk", 0); + addFeature("wasteland4PerChunk", 0); + addFeature("wastelandRockPilesPerChunk", 0); - setFeature("bopFlowersPerChunk", 0); + addFeature("bopFlowersPerChunk", 0); + addFeature("bopGrassPerChunk", 0); + } + + private void setFeature(String name, T value, boolean initialize) + { + if (!initialize) + { + if (!featureValueMap.containsKey(name)) throw new NoSuchFeatureException(name); + } + + featureValueMap.put(name, value); } public void setFeature(String name, T value) { - featureValueMap.put(name, value); + this.setFeature(name, value, false); + } + + protected void addFeature(String name, T value) + { + this.setFeature(name, value, true); } public Object getFeature(String name) @@ -92,4 +113,12 @@ public class BOPWorldFeatures { return featureValueMap.keySet(); } + + public class NoSuchFeatureException extends RuntimeException + { + public NoSuchFeatureException(String name) + { + super("Feature " + name + " does not exist!"); + } + } } diff --git a/src/main/java/biomesoplenty/common/world/decoration/ForcedDecorators.java b/src/main/java/biomesoplenty/common/world/decoration/BiomeTweaker.java similarity index 75% rename from src/main/java/biomesoplenty/common/world/decoration/ForcedDecorators.java rename to src/main/java/biomesoplenty/common/world/decoration/BiomeTweaker.java index 1df2ac428..122da2f38 100644 --- a/src/main/java/biomesoplenty/common/world/decoration/ForcedDecorators.java +++ b/src/main/java/biomesoplenty/common/world/decoration/BiomeTweaker.java @@ -1,17 +1,21 @@ package biomesoplenty.common.world.decoration; import biomesoplenty.common.world.forceddecorators.*; +import cpw.mods.fml.relauncher.ReflectionHelper; +import net.minecraft.init.Blocks; import net.minecraft.world.biome.BiomeGenBase; import java.util.HashMap; +import java.util.List; -public class ForcedDecorators +public class BiomeTweaker { public static HashMap forcedDecoratorMap = new HashMap(); public static void init() { addForcedDecorators(); + tweakDecorationProperties(); } private static void addForcedDecorators() @@ -56,6 +60,34 @@ public class ForcedDecorators addForcedDecorator(BiomeGenBase.coldTaiga.biomeID, TaigaForcedDecorator.class); addForcedDecorator(BiomeGenBase.coldTaigaHills.biomeID, TaigaForcedDecorator.class); } + + private static void tweakDecorationProperties() + { + BiomeGenBase.hell.topBlock = Blocks.netherrack; + BiomeGenBase.hell.fillerBlock = Blocks.netherrack; + + for (int i = 0; i < BiomeGenBase.getBiomeGenArray().length; i++) + { + BiomeGenBase biome = BiomeGenBase.getBiome(i); + + if (biome != null) + { + BOPWorldFeatures biomeFeatures = BOPDecorationManager.getBiomeFeatures(i); + + if (biomeFeatures != null) + { + List flowers = ReflectionHelper.getPrivateValue(BiomeGenBase.class, biome, "flowers"); + + flowers.clear(); + + biome.addDefaultFlowers(); + + biome.theBiomeDecorator.flowersPerChunk = 0; + biome.theBiomeDecorator.grassPerChunk = 0; + } + } + } + } public static void addForcedDecorator(int biomeID, Class decoratorClass) { diff --git a/src/main/java/biomesoplenty/common/world/decoration/ForcedDecorator.java b/src/main/java/biomesoplenty/common/world/decoration/ForcedDecorator.java index fff228d8f..c71d0701e 100644 --- a/src/main/java/biomesoplenty/common/world/decoration/ForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/decoration/ForcedDecorator.java @@ -1,24 +1,14 @@ package biomesoplenty.common.world.decoration; -import biomesoplenty.common.world.features.WorldGenBOPFlora; - -import java.util.Random; - public class ForcedDecorator implements IBOPBiome { protected BOPWorldFeatures bopWorldFeatures; public ForcedDecorator(int id) { - bopWorldFeatures = BOPDecorationManager.getBiomeFeatures(id); + bopWorldFeatures = BOPDecorationManager.getOrCreateBiomeFeatures(id); } - @Override - public WorldGenBOPFlora getRandomWorldGenForBOPFlowers(Random random) - { - return null; - } - @Override public BOPWorldFeatures getBiomeFeatures() { diff --git a/src/main/java/biomesoplenty/common/world/decoration/IBOPBiome.java b/src/main/java/biomesoplenty/common/world/decoration/IBOPBiome.java index 5cd70b06f..573d603b4 100644 --- a/src/main/java/biomesoplenty/common/world/decoration/IBOPBiome.java +++ b/src/main/java/biomesoplenty/common/world/decoration/IBOPBiome.java @@ -1,17 +1,6 @@ package biomesoplenty.common.world.decoration; -import biomesoplenty.common.world.features.WorldGenBOPFlora; -import net.minecraft.world.gen.feature.WorldGenerator; - -import java.util.HashMap; -import java.util.Random; - public interface IBOPBiome { - public HashMap weightedGrassGen = new HashMap(); - public HashMap weightedFlowerGen = new HashMap(); - - public WorldGenBOPFlora getRandomWorldGenForBOPFlowers(Random random); - public BOPWorldFeatures getBiomeFeatures(); } diff --git a/src/main/java/biomesoplenty/common/world/features/managers/WorldGenBOPFlowerManager.java b/src/main/java/biomesoplenty/common/world/features/managers/WorldGenBOPFlowerManager.java new file mode 100644 index 000000000..80d68a0d0 --- /dev/null +++ b/src/main/java/biomesoplenty/common/world/features/managers/WorldGenBOPFlowerManager.java @@ -0,0 +1,46 @@ +package biomesoplenty.common.world.features.managers; + +import biomesoplenty.common.world.decoration.BOPDecorationManager; +import biomesoplenty.common.world.decoration.BOPWorldFeatures; +import biomesoplenty.common.world.features.WorldGenBOPFlora; +import biomesoplenty.common.world.generation.WorldGeneratorBOP; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; + +import java.util.Random; + +public class WorldGenBOPFlowerManager extends WorldGeneratorBOP +{ + private BOPWorldFeatures biomeFeatures; + + @Override + public boolean generate(World world, Random random, int x, int y, int z) + { + if (biomeFeatures != null) + { + if (biomeFeatures.weightedFlowerGen != null && !biomeFeatures.weightedFlowerGen.isEmpty()) + { + WorldGenBOPFlora flowerGenerator = BOPDecorationManager.getRandomWeightedWorldGenerator(biomeFeatures.weightedFlowerGen); + + return flowerGenerator.generate(world, random, x, y, z); + } + } + + return false; + } + + @Override + public void setupGeneration(World world, Random random, BiomeGenBase biome, String featureName, int x, int z) + { + this.biomeFeatures = BOPDecorationManager.getBiomeFeatures(biome.biomeID); + + for (int i = 0; i < (Integer)biomeFeatures.getFeature(featureName); ++i) + { + int randX = x + random.nextInt(16) + 8; + int randZ = z + random.nextInt(16) + 8; + int randY = random.nextInt(world.getHeightValue(randX, randZ) + 32); + + this.generate(world, random, randX, randY, randZ); + } + } +} diff --git a/src/main/java/biomesoplenty/common/world/features/managers/WorldGenBOPGrassManager.java b/src/main/java/biomesoplenty/common/world/features/managers/WorldGenBOPGrassManager.java new file mode 100644 index 000000000..03ff7014d --- /dev/null +++ b/src/main/java/biomesoplenty/common/world/features/managers/WorldGenBOPGrassManager.java @@ -0,0 +1,46 @@ +package biomesoplenty.common.world.features.managers; + +import biomesoplenty.common.world.decoration.BOPDecorationManager; +import biomesoplenty.common.world.decoration.BOPWorldFeatures; +import biomesoplenty.common.world.generation.WorldGeneratorBOP; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.gen.feature.WorldGenerator; + +import java.util.Random; + +public class WorldGenBOPGrassManager extends WorldGeneratorBOP +{ + private BOPWorldFeatures biomeFeatures; + + @Override + public boolean generate(World world, Random random, int x, int y, int z) + { + if (biomeFeatures != null) + { + if (biomeFeatures.weightedGrassGen != null && !biomeFeatures.weightedGrassGen.isEmpty()) + { + WorldGenerator grassGenerator = BOPDecorationManager.getRandomWeightedWorldGenerator(biomeFeatures.weightedGrassGen); + + return grassGenerator.generate(world, random, x, y, z); + } + } + + return false; + } + + @Override + public void setupGeneration(World world, Random random, BiomeGenBase biome, String featureName, int x, int z) + { + this.biomeFeatures = BOPDecorationManager.getBiomeFeatures(biome.biomeID); + + for (int i = 0; i < (Integer)biomeFeatures.getFeature(featureName); ++i) + { + int randX = x + random.nextInt(16) + 8; + int randZ = z + random.nextInt(16) + 8; + int randY = random.nextInt(world.getHeightValue(randX, randZ) * 2); + + this.generate(world, random, randX, randY, randZ); + } + } +} diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/BirchForestForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/BirchForestForcedDecorator.java index bc85011c4..4dc814501 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/BirchForestForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/BirchForestForcedDecorator.java @@ -17,12 +17,14 @@ public class BirchForestForcedDecorator extends ForcedDecorator this.bopWorldFeatures.setFeature("leafPilesPerChunk", 4); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 2); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 10); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 1), 15); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.25D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.25D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 1), 15); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.25D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.25D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/ExtremeHillsForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/ExtremeHillsForcedDecorator.java index f5e9d7520..0b66c892a 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/ExtremeHillsForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/ExtremeHillsForcedDecorator.java @@ -12,17 +12,18 @@ public class ExtremeHillsForcedDecorator extends ForcedDecorator { super(id); - this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 3); this.bopWorldFeatures.setFeature("shrubsPerChunk", 1); this.bopWorldFeatures.setFeature("leafPilesPerChunk", 3); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 1); + this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 3); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/ForestForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/ForestForcedDecorator.java index 56c4acdb4..923a729cc 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/ForestForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/ForestForcedDecorator.java @@ -14,7 +14,6 @@ public class ForestForcedDecorator extends ForcedDecorator this.bopWorldFeatures.setFeature("leafPilesPerChunk", 15); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 5); - this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 5); this.bopWorldFeatures.setFeature("cloverPatchesPerChunk", 5); this.bopWorldFeatures.setFeature("riverCanePerChunk", 5); this.bopWorldFeatures.setFeature("shrubsPerChunk", 2); @@ -24,12 +23,15 @@ public class ForestForcedDecorator extends ForcedDecorator this.bopWorldFeatures.setFeature("berryBushesPerChunk", 1); this.bopWorldFeatures.setFeature("toadstoolsPerChunk", 2); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8); + this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 5); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/IcePlainsForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/IcePlainsForcedDecorator.java index e1520f70f..fd4fb156c 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/IcePlainsForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/IcePlainsForcedDecorator.java @@ -11,7 +11,8 @@ public class IcePlainsForcedDecorator extends ForcedDecorator super(id); this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 1); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/JungleForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/JungleForcedDecorator.java index 92f8feab1..79ee4eb18 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/JungleForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/JungleForcedDecorator.java @@ -13,17 +13,19 @@ public class JungleForcedDecorator extends ForcedDecorator super(id); this.bopWorldFeatures.setFeature("leafPilesPerChunk", 10); - this.bopWorldFeatures.setFeature("generatePumpkins", 10); - this.bopWorldFeatures.setFeature("generatePumpkins", 15); - this.bopWorldFeatures.setFeature("generatePumpkins", 1); + this.bopWorldFeatures.setFeature("seaweedPerChunk", 15); + this.bopWorldFeatures.setFeature("poisonIvyPerChunk", 1); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 5), 12); + this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 10); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 1D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 5), 12); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 2), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/MesaForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/MesaForcedDecorator.java index a5ffd08f4..661b40bf3 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/MesaForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/MesaForcedDecorator.java @@ -14,7 +14,9 @@ public class MesaForcedDecorator extends ForcedDecorator this.bopWorldFeatures.setFeature("tinyCactiPerChunk", 10); this.bopWorldFeatures.setFeature("bromeliadsPerChunk", 10); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("plants"), 1), 1D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("plants"), 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/PlainsForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/PlainsForcedDecorator.java index 36bb55378..77eb44b34 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/PlainsForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/PlainsForcedDecorator.java @@ -13,14 +13,15 @@ public class PlainsForcedDecorator extends ForcedDecorator super(id); this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 8); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 10); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 5); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 0), 10); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 5); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/RoofedForestForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/RoofedForestForcedDecorator.java index 0f3529557..c6a6f9659 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/RoofedForestForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/RoofedForestForcedDecorator.java @@ -17,11 +17,13 @@ public class RoofedForestForcedDecorator extends ForcedDecorator this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 4); this.bopWorldFeatures.setFeature("waterReedsPerChunk", 2); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.25D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.25D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.25D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.25D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/SavannaForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/SavannaForcedDecorator.java index 6944e47f1..17f33ed76 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/SavannaForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/SavannaForcedDecorator.java @@ -14,15 +14,17 @@ public class SavannaForcedDecorator extends ForcedDecorator this.bopWorldFeatures.setFeature("leafPilesPerChunk", 10); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 5); - this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 10); this.bopWorldFeatures.setFeature("bushesPerChunk", 3); this.bopWorldFeatures.setFeature("waterReedsPerChunk", 5); - weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 7), 8); + this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 10); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 20); - weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 7), 8); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/SwampForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/SwampForcedDecorator.java index 8c176d409..67a4b0574 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/SwampForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/SwampForcedDecorator.java @@ -23,12 +23,14 @@ public class SwampForcedDecorator extends ForcedDecorator this.bopWorldFeatures.setFeature("leafPilesPerChunk", 2); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 4); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 1), 15); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); - this.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 1), 15); + + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(Blocks.tallgrass, 1), 1D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 1), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 2), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D); + this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPTallGrass(BOPBlockHelper.get("foliage"), 11), 0.5D); } } diff --git a/src/main/java/biomesoplenty/common/world/forceddecorators/TaigaForcedDecorator.java b/src/main/java/biomesoplenty/common/world/forceddecorators/TaigaForcedDecorator.java index 267231e32..9446c6288 100644 --- a/src/main/java/biomesoplenty/common/world/forceddecorators/TaigaForcedDecorator.java +++ b/src/main/java/biomesoplenty/common/world/forceddecorators/TaigaForcedDecorator.java @@ -10,10 +10,12 @@ public class TaigaForcedDecorator extends ForcedDecorator { super(id); - this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 2); this.bopWorldFeatures.setFeature("leafPilesPerChunk", 2); this.bopWorldFeatures.setFeature("deadLeafPilesPerChunk", 4); - this.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); + this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 2); + this.bopWorldFeatures.setFeature("bopGrassPerChunk", 5); + + this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 8), 8); } } diff --git a/src/main/java/biomesoplenty/common/world/generation/WorldGenFieldAssociation.java b/src/main/java/biomesoplenty/common/world/generation/WorldGenFieldAssociation.java index b8a9e129b..8c6be7287 100644 --- a/src/main/java/biomesoplenty/common/world/generation/WorldGenFieldAssociation.java +++ b/src/main/java/biomesoplenty/common/world/generation/WorldGenFieldAssociation.java @@ -2,11 +2,16 @@ package biomesoplenty.common.world.generation; import biomesoplenty.api.BOPBlockHelper; import biomesoplenty.common.world.features.*; +import biomesoplenty.common.world.features.managers.WorldGenBOPFlowerManager; +import biomesoplenty.common.world.features.managers.WorldGenBOPGrassManager; import biomesoplenty.common.world.forcedgenerators.LakesForcedGenerator; import biomesoplenty.common.world.forcedgenerators.MelonForcedGenerator; import biomesoplenty.common.world.forcedgenerators.PondForcedGenerator; import net.minecraft.init.Blocks; -import net.minecraft.world.gen.feature.*; +import net.minecraft.world.gen.feature.WorldGenLakes; +import net.minecraft.world.gen.feature.WorldGenLiquids; +import net.minecraft.world.gen.feature.WorldGenMelon; +import net.minecraft.world.gen.feature.WorldGenerator; import java.util.HashMap; @@ -72,6 +77,9 @@ public class WorldGenFieldAssociation associateFeature("wasteland2PerChunk", new WorldGenWasteland2()); associateFeature("wasteland3PerChunk", new WorldGenWasteland3()); associateFeature("wasteland4PerChunk", new WorldGenWasteland4()); + + associateFeature("bopFlowersPerChunk", new WorldGenBOPFlowerManager()); + associateFeature("bopGrassPerChunk", new WorldGenBOPGrassManager()); } private static void associateFeaturesForced() {