From 068b1f7b84fff4547ea0a88222b574338e5c2a97 Mon Sep 17 00:00:00 2001 From: Forstride Date: Fri, 12 Feb 2016 19:32:59 -0500 Subject: [PATCH] Added vanilla extensions for sub biomes and ocean --- .../biomesoplenty/api/biome/BOPBiomes.java | 14 +++ .../vanilla/BiomeExtBirchForestHills.java | 76 +++++++++++++++ .../biome/vanilla/BiomeExtColdTaiga.java | 52 +++++++++++ .../biome/vanilla/BiomeExtColdTaigaHills.java | 52 +++++++++++ .../biome/vanilla/BiomeExtDesertHills.java | 39 ++++++++ .../vanilla/BiomeExtExtremeHillsPlus.java | 62 +++++++++++++ .../biome/vanilla/BiomeExtForestHills.java | 92 +++++++++++++++++++ .../biome/vanilla/BiomeExtIceMountains.java | 52 +++++++++++ .../biome/vanilla/BiomeExtJungleHills.java | 59 ++++++++++++ .../biome/vanilla/BiomeExtMegaTaiga.java | 57 ++++++++++++ .../biome/vanilla/BiomeExtMegaTaigaHills.java | 57 ++++++++++++ .../biome/vanilla/BiomeExtMesaPlateau.java | 47 ++++++++++ .../common/biome/vanilla/BiomeExtOcean.java | 32 +++++++ .../biome/vanilla/BiomeExtSavannaPlateau.java | 56 +++++++++++ .../biome/vanilla/BiomeExtTaigaHills.java | 57 ++++++++++++ .../biomesoplenty/common/init/ModBiomes.java | 42 +++++++++ 16 files changed, 846 insertions(+) create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForestHills.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaiga.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaigaHills.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesertHills.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHillsPlus.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForestHills.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIceMountains.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungleHills.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaiga.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaigaHills.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesaPlateau.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtOcean.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavannaPlateau.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaigaHills.java diff --git a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java index 012c5250e..6e304b1e8 100644 --- a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java +++ b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java @@ -90,16 +90,30 @@ public class BOPBiomes public static IExtendedBiome end_extension; public static IExtendedBiome plains_extension; public static IExtendedBiome forest_extension; + public static IExtendedBiome forest_hills_extension; public static IExtendedBiome jungle_extension; + public static IExtendedBiome jungle_hills_extension; public static IExtendedBiome desert_extension; + public static IExtendedBiome desert_hills_extension; public static IExtendedBiome taiga_extension; + public static IExtendedBiome taiga_hills_extension; public static IExtendedBiome mesa_extension; + public static IExtendedBiome mesa_plateau_extension; public static IExtendedBiome ice_plains_extension; + public static IExtendedBiome ice_mountains_extension; public static IExtendedBiome extreme_hills_extension; + public static IExtendedBiome extreme_hills_plus_extension; public static IExtendedBiome swampland_extension; public static IExtendedBiome birch_forest_extension; + public static IExtendedBiome birch_forest_hills_extension; public static IExtendedBiome roofed_forest_extension; public static IExtendedBiome savanna_extension; + public static IExtendedBiome savanna_plateau_extension; + public static IExtendedBiome ocean_extension; + public static IExtendedBiome cold_taiga_extension; + public static IExtendedBiome cold_taiga_hills_extension; + public static IExtendedBiome mega_taiga_extension; + public static IExtendedBiome mega_taiga_hills_extension; private static IBiomeRegistry createRegistry() { diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForestHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForestHills.java new file mode 100644 index 000000000..83db12a04 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForestHills.java @@ -0,0 +1,76 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.init.Blocks; +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.block.BlockBOPDoublePlant; +import biomesoplenty.common.block.BlockBOPMushroom; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorDoubleFlora; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtBirchForestHills extends ExtendedBiomeWrapper +{ + public BiomeExtBirchForestHills() + { + super(BiomeGenBase.birchForestHills); + + if (BOPBiomes.gravel_beach.isPresent()) + { + this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID; + } + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(2.5F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // other plants + this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.DEADLEAFPILE).create()); + this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); + this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); + this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.CLOVERPATCH).create()); + this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.POISONIVY).create()); + + // shrooms + this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.4F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("clover", 1, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); + flowerGenerator.add("lily_of_the_valley", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LILY_OF_THE_VALLEY)).generationAttempts(128).create()); + + // gem + this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("amber");} + if (!settings.generatePoisonIvy) {this.removeGenerator("poison_ivy");} + if (!settings.generateFlax) {this.removeGenerator("flax");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopMushrooms) {this.removeGenerator("toadstools"); this.removeGenerator("flat_mushroom"); this.removeGenerator("blue_milk_caps"); this.removeGenerator("portobellos");} + + if (!settings.generateBopFoliage) {this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaiga.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaiga.java new file mode 100644 index 000000000..8baa41563 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaiga.java @@ -0,0 +1,52 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtColdTaiga extends ExtendedBiomeWrapper +{ + public BiomeExtColdTaiga() + { + super(BiomeGenBase.coldTaiga); + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); + + // gem + this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("tanzanite");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaigaHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaigaHills.java new file mode 100644 index 000000000..b8f01c332 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaigaHills.java @@ -0,0 +1,52 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtColdTaigaHills extends ExtendedBiomeWrapper +{ + public BiomeExtColdTaigaHills() + { + super(BiomeGenBase.coldTaigaHills); + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); + + // gem + this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("tanzanite");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesertHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesertHills.java new file mode 100644 index 000000000..a0edf6037 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesertHills.java @@ -0,0 +1,39 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.common.block.BlockBOPSand; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorLakes; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtDesertHills extends ExtendedBiomeWrapper +{ + public BiomeExtDesertHills() + { + super(BiomeGenBase.desertHills); + + // other plants + this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.TINYCACTUS).create()); + + // gem + this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("ruby");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHillsPlus.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHillsPlus.java new file mode 100644 index 000000000..54d2b02a6 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHillsPlus.java @@ -0,0 +1,62 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.enums.BOPTrees; +import biomesoplenty.common.enums.BOPWoods; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; +import biomesoplenty.common.world.feature.tree.GeneratorBasicTree; +import biomesoplenty.common.world.feature.tree.GeneratorBigTree; + +public class BiomeExtExtremeHillsPlus extends ExtendedBiomeWrapper +{ + public BiomeExtExtremeHillsPlus() + { + super(BiomeGenBase.extremeHillsPlus); + + // trees + GeneratorWeighted treeGenerator = new GeneratorWeighted(0.3F); + this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); + treeGenerator.add("jacaranda", 1, (new GeneratorBasicTree.Builder()).minHeight(4).maxHeight(7).log(BOPWoods.JACARANDA).leaves(BOPTrees.JACARANDA).create()); + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // other plants + this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); + this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); + this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.2F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopMushrooms) {this.removeGenerator("toadstools"); this.removeGenerator("flat_mushroom"); this.removeGenerator("blue_milk_caps"); this.removeGenerator("portobellos");} + + if (!settings.generateBopFoliage) {this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForestHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForestHills.java new file mode 100644 index 000000000..87c45e630 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForestHills.java @@ -0,0 +1,92 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.block.BlockDoublePlant; +import net.minecraft.block.BlockFlower.EnumFlowerType; +import net.minecraft.init.Blocks; +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.block.BlockBOPDoublePlant; +import biomesoplenty.common.block.BlockBOPMushroom; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.enums.BOPTrees; +import biomesoplenty.common.enums.BOPWoods; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorDoubleFlora; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; +import biomesoplenty.common.world.feature.tree.GeneratorBasicTree; + +public class BiomeExtForestHills extends ExtendedBiomeWrapper +{ + public BiomeExtForestHills() + { + super(BiomeGenBase.forestHills); + + if (BOPBiomes.gravel_beach.isPresent()) + { + this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID; + } + + // trees + GeneratorWeighted treeGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); + treeGenerator.add("flowering_oak", 1, (new GeneratorBasicTree.Builder()).altLeaves(BOPTrees.FLOWERING).create()); + + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(5.0F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // other plants + this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SPROUT).create()); + this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create()); + this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.DEADLEAFPILE).create()); + this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.7F).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); + this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); + this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.CLOVERPATCH).create()); + this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.BERRYBUSH).create()); + this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.POISONIVY).create()); + + // shrooms + this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); + this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); + flowerGenerator.add("blue_hydrangeas", 3, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); + + // gem + this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("amber");} + if (!settings.generatePoisonIvy) {this.removeGenerator("poison_ivy");} + if (!settings.generateFlax) {this.removeGenerator("flax");} + if (!settings.generateBerryBushes) {this.removeGenerator("berry_bushes");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopMushrooms) {this.removeGenerator("toadstools"); this.removeGenerator("flat_mushroom"); this.removeGenerator("blue_milk_caps"); this.removeGenerator("portobellos");} + + if (!settings.generateBopFoliage) {this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIceMountains.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIceMountains.java new file mode 100644 index 000000000..4b01d67d0 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIceMountains.java @@ -0,0 +1,52 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtIceMountains extends ExtendedBiomeWrapper +{ + public BiomeExtIceMountains() + { + super(BiomeGenBase.iceMountains); + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(0.1F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("icy_irises", 1, (new GeneratorFlora.Builder().with(BOPFlowers.ICY_IRIS).create())); + flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); + + // gem + this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("tanzanite");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungleHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungleHills.java new file mode 100644 index 000000000..a23324482 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungleHills.java @@ -0,0 +1,59 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.block.BlockBOPDoublePlant; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorDoubleFlora; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtJungleHills extends ExtendedBiomeWrapper +{ + public BiomeExtJungleHills() + { + super(BiomeGenBase.jungleHills); + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(5.0F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // other plants + this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).with(BOPPlants.SPROUT).create()); + this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); + this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.8F).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); + this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.6F).with(BOPPlants.RAFFLESIA).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("orange_cosmos", 4, (new GeneratorFlora.Builder().with(BOPFlowers.ORANGE_COSMOS).create())); + + // gem + this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("topaz");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopFoliage) {this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaiga.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaiga.java new file mode 100644 index 000000000..c974215eb --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaiga.java @@ -0,0 +1,57 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtMegaTaiga extends ExtendedBiomeWrapper +{ + public BiomeExtMegaTaiga() + { + super(BiomeGenBase.megaTaiga); + + if (BOPBiomes.gravel_beach.isPresent()) + { + this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID; + } + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); + + // gem + this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("tanzanite");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaigaHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaigaHills.java new file mode 100644 index 000000000..8de1bd184 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaigaHills.java @@ -0,0 +1,57 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtMegaTaigaHills extends ExtendedBiomeWrapper +{ + public BiomeExtMegaTaigaHills() + { + super(BiomeGenBase.megaTaigaHills); + + if (BOPBiomes.gravel_beach.isPresent()) + { + this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID; + } + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); + + // gem + this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("tanzanite");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesaPlateau.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesaPlateau.java new file mode 100644 index 000000000..cd8335fe3 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesaPlateau.java @@ -0,0 +1,47 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtMesaPlateau extends ExtendedBiomeWrapper +{ + public BiomeExtMesaPlateau() + { + super(BiomeGenBase.mesaPlateau); + + // other plants + this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(0.5F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create()); + this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.TINYCACTUS).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.2F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("bromeliad", 2, (new GeneratorFlora.Builder().with(BOPFlowers.BROMELIAD).create())); + + // gem + this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("ruby");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("desertgrass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtOcean.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtOcean.java new file mode 100644 index 000000000..edda7e287 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtOcean.java @@ -0,0 +1,32 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.common.block.BlockBOPSand; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorLakes; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtOcean extends ExtendedBiomeWrapper +{ + public BiomeExtOcean() + { + super(BiomeGenBase.ocean); + + // gem + this.addGenerator("sapphire", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.SAPPHIRE).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("sapphire");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavannaPlateau.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavannaPlateau.java new file mode 100644 index 000000000..558537505 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavannaPlateau.java @@ -0,0 +1,56 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.common.block.BlockBOPSand; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorLakes; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtSavannaPlateau extends ExtendedBiomeWrapper +{ + public BiomeExtSavannaPlateau() + { + super(BiomeGenBase.savannaPlateau); + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(4.0F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.8F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("wildflower", 4, (new GeneratorFlora.Builder()).with(BOPFlowers.WILDFLOWER).create()); + flowerGenerator.add("clover", 2, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); + + // gem + this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("ruby");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaigaHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaigaHills.java new file mode 100644 index 000000000..9005bb7fd --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaigaHills.java @@ -0,0 +1,57 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.api.biome.generation.GeneratorWeighted; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.BOPWorldSettings; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtTaigaHills extends ExtendedBiomeWrapper +{ + public BiomeExtTaigaHills() + { + super(BiomeGenBase.taigaHills); + + if (BOPBiomes.gravel_beach.isPresent()) + { + this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID; + } + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); + grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); + grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); + grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); + grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); + + // gem + this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); + } + + @Override + public void applySettings(BOPWorldSettings settings) + { + if (!settings.generateBopGems) {this.removeGenerator("tanzanite");} + + if (!settings.generateBopFlowers) {this.removeGenerator("flowers");} + + if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");} + + if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");} + + if (!settings.generateBopGrasses) {this.removeGenerator("grass");} + } +} diff --git a/src/main/java/biomesoplenty/common/init/ModBiomes.java b/src/main/java/biomesoplenty/common/init/ModBiomes.java index 581558f47..75a175e2c 100644 --- a/src/main/java/biomesoplenty/common/init/ModBiomes.java +++ b/src/main/java/biomesoplenty/common/init/ModBiomes.java @@ -12,6 +12,7 @@ import static biomesoplenty.api.biome.BOPBiomes.alps; import static biomesoplenty.api.biome.BOPBiomes.bamboo_forest; import static biomesoplenty.api.biome.BOPBiomes.bayou; import static biomesoplenty.api.biome.BOPBiomes.birch_forest_extension; +import static biomesoplenty.api.biome.BOPBiomes.birch_forest_hills_extension; import static biomesoplenty.api.biome.BOPBiomes.bog; import static biomesoplenty.api.biome.BOPBiomes.boreal_forest; import static biomesoplenty.api.biome.BOPBiomes.brushland; @@ -20,18 +21,23 @@ import static biomesoplenty.api.biome.BOPBiomes.canyon_ravine; import static biomesoplenty.api.biome.BOPBiomes.chaparral; import static biomesoplenty.api.biome.BOPBiomes.cherry_blossom_grove; import static biomesoplenty.api.biome.BOPBiomes.cold_desert; +import static biomesoplenty.api.biome.BOPBiomes.cold_taiga_extension; +import static biomesoplenty.api.biome.BOPBiomes.cold_taiga_hills_extension; import static biomesoplenty.api.biome.BOPBiomes.coniferous_forest; import static biomesoplenty.api.biome.BOPBiomes.coral_reef; import static biomesoplenty.api.biome.BOPBiomes.crag; import static biomesoplenty.api.biome.BOPBiomes.dead_forest; import static biomesoplenty.api.biome.BOPBiomes.dead_swamp; import static biomesoplenty.api.biome.BOPBiomes.desert_extension; +import static biomesoplenty.api.biome.BOPBiomes.desert_hills_extension; import static biomesoplenty.api.biome.BOPBiomes.end_extension; import static biomesoplenty.api.biome.BOPBiomes.eucalyptus_forest; import static biomesoplenty.api.biome.BOPBiomes.extreme_hills_extension; +import static biomesoplenty.api.biome.BOPBiomes.extreme_hills_plus_extension; import static biomesoplenty.api.biome.BOPBiomes.fen; import static biomesoplenty.api.biome.BOPBiomes.flower_field; import static biomesoplenty.api.biome.BOPBiomes.forest_extension; +import static biomesoplenty.api.biome.BOPBiomes.forest_hills_extension; import static biomesoplenty.api.biome.BOPBiomes.frozen_desert; import static biomesoplenty.api.biome.BOPBiomes.fungi_forest; import static biomesoplenty.api.biome.BOPBiomes.garden; @@ -41,7 +47,9 @@ import static biomesoplenty.api.biome.BOPBiomes.grove; import static biomesoplenty.api.biome.BOPBiomes.heathland; import static biomesoplenty.api.biome.BOPBiomes.highland; import static biomesoplenty.api.biome.BOPBiomes.ice_plains_extension; +import static biomesoplenty.api.biome.BOPBiomes.ice_mountains_extension; import static biomesoplenty.api.biome.BOPBiomes.jungle_extension; +import static biomesoplenty.api.biome.BOPBiomes.jungle_hills_extension; import static biomesoplenty.api.biome.BOPBiomes.kelp_forest; import static biomesoplenty.api.biome.BOPBiomes.land_of_lakes; import static biomesoplenty.api.biome.BOPBiomes.lavender_fields; @@ -50,12 +58,16 @@ import static biomesoplenty.api.biome.BOPBiomes.lush_swamp; import static biomesoplenty.api.biome.BOPBiomes.maple_woods; import static biomesoplenty.api.biome.BOPBiomes.marsh; import static biomesoplenty.api.biome.BOPBiomes.meadow; +import static biomesoplenty.api.biome.BOPBiomes.mega_taiga_extension; +import static biomesoplenty.api.biome.BOPBiomes.mega_taiga_hills_extension; import static biomesoplenty.api.biome.BOPBiomes.mesa_extension; +import static biomesoplenty.api.biome.BOPBiomes.mesa_plateau_extension; import static biomesoplenty.api.biome.BOPBiomes.moor; import static biomesoplenty.api.biome.BOPBiomes.mountain; import static biomesoplenty.api.biome.BOPBiomes.mountain_foothills; import static biomesoplenty.api.biome.BOPBiomes.mystic_grove; import static biomesoplenty.api.biome.BOPBiomes.oasis; +import static biomesoplenty.api.biome.BOPBiomes.ocean_extension; import static biomesoplenty.api.biome.BOPBiomes.ominous_woods; import static biomesoplenty.api.biome.BOPBiomes.origin_valley; import static biomesoplenty.api.biome.BOPBiomes.orchard; @@ -69,6 +81,7 @@ import static biomesoplenty.api.biome.BOPBiomes.redwood_forest; import static biomesoplenty.api.biome.BOPBiomes.roofed_forest_extension; import static biomesoplenty.api.biome.BOPBiomes.sacred_springs; import static biomesoplenty.api.biome.BOPBiomes.savanna_extension; +import static biomesoplenty.api.biome.BOPBiomes.savanna_plateau_extension; import static biomesoplenty.api.biome.BOPBiomes.seasonal_forest; import static biomesoplenty.api.biome.BOPBiomes.shield; import static biomesoplenty.api.biome.BOPBiomes.shrubland; @@ -77,6 +90,7 @@ import static biomesoplenty.api.biome.BOPBiomes.snowy_forest; import static biomesoplenty.api.biome.BOPBiomes.steppe; import static biomesoplenty.api.biome.BOPBiomes.swampland_extension; import static biomesoplenty.api.biome.BOPBiomes.taiga_extension; +import static biomesoplenty.api.biome.BOPBiomes.taiga_hills_extension; import static biomesoplenty.api.biome.BOPBiomes.temperate_rainforest; import static biomesoplenty.api.biome.BOPBiomes.tropical_island; import static biomesoplenty.api.biome.BOPBiomes.tropical_rainforest; @@ -167,18 +181,32 @@ import biomesoplenty.common.biome.overworld.BiomeGenWetland; import biomesoplenty.common.biome.overworld.BiomeGenWoodland; import biomesoplenty.common.biome.overworld.BiomeGenXericShrubland; import biomesoplenty.common.biome.vanilla.BiomeExtBirchForest; +import biomesoplenty.common.biome.vanilla.BiomeExtBirchForestHills; +import biomesoplenty.common.biome.vanilla.BiomeExtColdTaiga; +import biomesoplenty.common.biome.vanilla.BiomeExtColdTaigaHills; import biomesoplenty.common.biome.vanilla.BiomeExtDesert; +import biomesoplenty.common.biome.vanilla.BiomeExtDesertHills; import biomesoplenty.common.biome.vanilla.BiomeExtEnd; import biomesoplenty.common.biome.vanilla.BiomeExtExtremeHills; +import biomesoplenty.common.biome.vanilla.BiomeExtExtremeHillsPlus; import biomesoplenty.common.biome.vanilla.BiomeExtForest; +import biomesoplenty.common.biome.vanilla.BiomeExtForestHills; import biomesoplenty.common.biome.vanilla.BiomeExtIcePlains; +import biomesoplenty.common.biome.vanilla.BiomeExtIceMountains; import biomesoplenty.common.biome.vanilla.BiomeExtJungle; +import biomesoplenty.common.biome.vanilla.BiomeExtJungleHills; +import biomesoplenty.common.biome.vanilla.BiomeExtMegaTaiga; +import biomesoplenty.common.biome.vanilla.BiomeExtMegaTaigaHills; import biomesoplenty.common.biome.vanilla.BiomeExtMesa; +import biomesoplenty.common.biome.vanilla.BiomeExtMesaPlateau; +import biomesoplenty.common.biome.vanilla.BiomeExtOcean; import biomesoplenty.common.biome.vanilla.BiomeExtPlains; import biomesoplenty.common.biome.vanilla.BiomeExtRoofedForest; import biomesoplenty.common.biome.vanilla.BiomeExtSavanna; +import biomesoplenty.common.biome.vanilla.BiomeExtSavannaPlateau; import biomesoplenty.common.biome.vanilla.BiomeExtSwampland; import biomesoplenty.common.biome.vanilla.BiomeExtTaiga; +import biomesoplenty.common.biome.vanilla.BiomeExtTaigaHills; import biomesoplenty.common.command.BOPCommand; import biomesoplenty.common.enums.BOPClimates; import biomesoplenty.common.enums.BOPClimates.WeightedBiomeEntry; @@ -412,17 +440,31 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry end_extension = registerWrappedBiome(new BiomeExtEnd(), "end"); birch_forest_extension = registerWrappedBiome(new BiomeExtBirchForest(), "birch_forest"); + birch_forest_hills_extension = registerWrappedBiome(new BiomeExtBirchForestHills(), "birch_forest_hills"); + cold_taiga_extension = registerWrappedBiome(new BiomeExtColdTaiga(), "cold_taiga"); + cold_taiga_hills_extension = registerWrappedBiome(new BiomeExtColdTaigaHills(), "cold_taiga_hills"); desert_extension = registerWrappedBiome(new BiomeExtDesert(), "desert"); + desert_hills_extension = registerWrappedBiome(new BiomeExtDesertHills(), "desert_hills"); extreme_hills_extension = registerWrappedBiome(new BiomeExtExtremeHills(), "extreme_hills"); + extreme_hills_plus_extension = registerWrappedBiome(new BiomeExtExtremeHillsPlus(), "extreme_hills+"); forest_extension = registerWrappedBiome(new BiomeExtForest(), "forest"); + forest_hills_extension = registerWrappedBiome(new BiomeExtForestHills(), "forest_hills"); ice_plains_extension = registerWrappedBiome(new BiomeExtIcePlains(), "ice_plains"); + ice_mountains_extension = registerWrappedBiome(new BiomeExtIceMountains(), "ice_mountains"); jungle_extension = registerWrappedBiome(new BiomeExtJungle(), "jungle"); + jungle_hills_extension = registerWrappedBiome(new BiomeExtJungleHills(), "jungle_hills"); + mega_taiga_extension = registerWrappedBiome(new BiomeExtMegaTaiga(), "mega_taiga"); + mega_taiga_hills_extension = registerWrappedBiome(new BiomeExtMegaTaigaHills(), "mega_taiga_hills"); mesa_extension = registerWrappedBiome(new BiomeExtMesa(), "mesa"); + mesa_plateau_extension = registerWrappedBiome(new BiomeExtMesaPlateau(), "mesa_plateau"); + ocean_extension = registerWrappedBiome(new BiomeExtOcean(), "ocean"); plains_extension = registerWrappedBiome(new BiomeExtPlains(), "plains"); roofed_forest_extension = registerWrappedBiome(new BiomeExtRoofedForest(), "roofed_forest"); savanna_extension = registerWrappedBiome(new BiomeExtSavanna(), "savanna"); + savanna_plateau_extension = registerWrappedBiome(new BiomeExtSavannaPlateau(), "savanna_plateau"); swampland_extension = registerWrappedBiome(new BiomeExtSwampland(), "swampland"); taiga_extension = registerWrappedBiome(new BiomeExtTaiga(), "taiga"); + taiga_hills_extension = registerWrappedBiome(new BiomeExtTaigaHills(), "taiga_hills"); }