From 6ccd512fefcbdf5dd2168ba6f7994cb1732336c2 Mon Sep 17 00:00:00 2001 From: Matt Caughey Date: Sun, 17 Jan 2016 14:44:19 -0500 Subject: [PATCH] Added extensions for vanilla overworld biomes --- .../biomesoplenty/api/biome/BOPBiomes.java | 16 ++- .../overworld/BiomeGenXericShrubland.java | 2 +- .../biome/vanilla/BiomeExtBirchForest.java | 46 ++++++++ .../common/biome/vanilla/BiomeExtDesert.java | 23 ++++ .../biome/vanilla/BiomeExtExtremeHills.java | 38 +++++++ .../common/biome/vanilla/BiomeExtForest.java | 50 +++++++++ .../biome/vanilla/BiomeExtIcePlains.java | 36 +++++++ .../common/biome/vanilla/BiomeExtJungle.java | 43 ++++++++ .../common/biome/vanilla/BiomeExtMesa.java | 26 +++++ .../common/biome/vanilla/BiomeExtPlains.java | 37 +++++++ .../biome/vanilla/BiomeExtRoofedForest.java | 31 ++++++ .../common/biome/vanilla/BiomeExtSavanna.java | 37 +++++++ .../biome/vanilla/BiomeExtSwampland.java | 58 ++++++++++ .../common/biome/vanilla/BiomeExtTaiga.java | 36 +++++++ .../biomesoplenty/common/init/ModBiomes.java | 101 ++++++++++++++++-- 15 files changed, 566 insertions(+), 14 deletions(-) create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForest.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesert.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHills.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForest.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIcePlains.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungle.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesa.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtPlains.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtRoofedForest.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavanna.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSwampland.java create mode 100644 src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaiga.java diff --git a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java index 02114e82b..07abd8e98 100644 --- a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java +++ b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java @@ -8,10 +8,10 @@ package biomesoplenty.api.biome; -import com.google.common.base.Optional; - import net.minecraft.world.biome.BiomeGenBase; +import com.google.common.base.Optional; + public class BOPBiomes { public static final IBiomeRegistry REG_INSTANCE = createRegistry(); @@ -68,6 +68,18 @@ public class BOPBiomes //Biome extensions public static IExtendedBiome end_extension; + public static IExtendedBiome plains_extension; + public static IExtendedBiome forest_extension; + public static IExtendedBiome jungle_extension; + public static IExtendedBiome desert_extension; + public static IExtendedBiome taiga_extension; + public static IExtendedBiome mesa_extension; + public static IExtendedBiome ice_plains_extension; + public static IExtendedBiome extreme_hills_extension; + public static IExtendedBiome swampland_extension; + public static IExtendedBiome birch_forest_extension; + public static IExtendedBiome roofed_forest_extension; + public static IExtendedBiome savanna_extension; private static IBiomeRegistry createRegistry() { diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenXericShrubland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenXericShrubland.java index eca381163..7aa047eed 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenXericShrubland.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenXericShrubland.java @@ -76,7 +76,7 @@ public class BiomeGenXericShrubland extends BOPBiome grassGenerator.add("tallgrass", 3, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); + this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); } @Override diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForest.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForest.java new file mode 100644 index 000000000..c8449da6b --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForest.java @@ -0,0 +1,46 @@ +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.feature.GeneratorDoubleFlora; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtBirchForest extends ExtendedBiomeWrapper +{ + public BiomeExtBirchForest() + { + super(BiomeGenBase.birchForest); + + // 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("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.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()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.6F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + 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()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesert.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesert.java new file mode 100644 index 000000000..c8475f707 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesert.java @@ -0,0 +1,23 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.world.biome.BiomeGenBase; +import biomesoplenty.api.biome.ExtendedBiomeWrapper; +import biomesoplenty.api.biome.generation.GeneratorStage; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtDesert extends ExtendedBiomeWrapper +{ + public BiomeExtDesert() + { + super(BiomeGenBase.desert); + + // 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()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHills.java new file mode 100644 index 000000000..9c3c9234a --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHills.java @@ -0,0 +1,38 @@ +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.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtExtremeHills extends ExtendedBiomeWrapper +{ + public BiomeExtExtremeHills() + { + super(BiomeGenBase.extremeHills); + + // 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())); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForest.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForest.java new file mode 100644 index 000000000..73993152c --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForest.java @@ -0,0 +1,50 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.block.BlockDoublePlant; +import net.minecraft.block.BlockFlower.EnumFlowerType; +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.feature.GeneratorDoubleFlora; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtForest extends ExtendedBiomeWrapper +{ + public BiomeExtForest() + { + super(BiomeGenBase.forest); + + // 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.5F).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()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + 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()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIcePlains.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIcePlains.java new file mode 100644 index 000000000..f4b87a603 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIcePlains.java @@ -0,0 +1,36 @@ +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.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtIcePlains extends ExtendedBiomeWrapper +{ + public BiomeExtIcePlains() + { + super(BiomeGenBase.icePlains); + + // 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("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); + + // gem + this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungle.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungle.java new file mode 100644 index 000000000..6fde2e8c2 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungle.java @@ -0,0 +1,43 @@ +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.feature.GeneratorDoubleFlora; +import biomesoplenty.common.world.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtJungle extends ExtendedBiomeWrapper +{ + public BiomeExtJungle() + { + super(BiomeGenBase.jungle); + + // 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.7F).with(BOPPlants.SHRUB).create()); + this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.8F).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("orange_cosmos", 1, (new GeneratorFlora.Builder().with(BOPFlowers.ORANGE_COSMOS).create())); + + // gem + this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesa.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesa.java new file mode 100644 index 000000000..1ab41ad4e --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesa.java @@ -0,0 +1,26 @@ +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.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtMesa extends ExtendedBiomeWrapper +{ + public BiomeExtMesa() + { + super(BiomeGenBase.mesa); + + // other plants + this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.TINYCACTUS).create()); + + // gem + this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtPlains.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtPlains.java new file mode 100644 index 000000000..d21a7f6a4 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtPlains.java @@ -0,0 +1,37 @@ +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.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtPlains extends ExtendedBiomeWrapper +{ + public BiomeExtPlains() + { + super(BiomeGenBase.plains); + + // 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()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("clover", 4, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); + flowerGenerator.add("white_anemones", 2, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); + + // gem + this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtRoofedForest.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtRoofedForest.java new file mode 100644 index 000000000..38e5b5b4c --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtRoofedForest.java @@ -0,0 +1,31 @@ +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.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtRoofedForest extends ExtendedBiomeWrapper +{ + public BiomeExtRoofedForest() + { + super(BiomeGenBase.roofedForest); + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(2.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()); + + // gem + this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavanna.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavanna.java new file mode 100644 index 000000000..24154ce0f --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavanna.java @@ -0,0 +1,37 @@ +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.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtSavanna extends ExtendedBiomeWrapper +{ + public BiomeExtSavanna() + { + super(BiomeGenBase.savanna); + + // 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()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSwampland.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSwampland.java new file mode 100644 index 000000000..b63e4ce21 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSwampland.java @@ -0,0 +1,58 @@ +package biomesoplenty.common.biome.vanilla; + +import net.minecraft.init.Blocks; +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.BlockBOPCoral; +import biomesoplenty.common.block.BlockBOPDoublePlant; +import biomesoplenty.common.block.BlockBOPLilypad; +import biomesoplenty.common.enums.BOPFlowers; +import biomesoplenty.common.enums.BOPGems; +import biomesoplenty.common.enums.BOPPlants; +import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; +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.GeneratorSplotches; +import biomesoplenty.common.world.feature.GeneratorWaterside; + +public class BiomeExtSwampland extends ExtendedBiomeWrapper +{ + public BiomeExtSwampland() + { + super(BiomeGenBase.swampland); + + // grasses + GeneratorWeighted grassGenerator = new GeneratorWeighted(0.8F); + 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()); + + // mud + this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(8).maxRadius(7).with(BOPBlocks.mud.getDefaultState()).create()); + + // other plants + this.addGenerator("cattails", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.CATTAIL).create()); + this.addGenerator("double_cattails", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); + this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.KORU).create()); + + // flowers + GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.6F); + this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); + flowerGenerator.add("swampflower", 1, (new GeneratorFlora.Builder()).with(BOPFlowers.SWAMPFLOWER).create()); + + // water plants + this.addGenerator("duckweed", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.DUCKWEED).generationAttempts(32).create()); + this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(10.0F).replace(Blocks.water).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).generationAttempts(32).scatterYMethod(ScatterYMethod.AT_GROUND).create()); + this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.REED).generationAttempts(32).create()); + + // gem + this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaiga.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaiga.java new file mode 100644 index 000000000..de1c0b60d --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaiga.java @@ -0,0 +1,36 @@ +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.feature.GeneratorFlora; +import biomesoplenty.common.world.feature.GeneratorGrass; +import biomesoplenty.common.world.feature.GeneratorOreSingle; + +public class BiomeExtTaiga extends ExtendedBiomeWrapper +{ + public BiomeExtTaiga() + { + super(BiomeGenBase.taiga); + + // 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()); + } +} diff --git a/src/main/java/biomesoplenty/common/init/ModBiomes.java b/src/main/java/biomesoplenty/common/init/ModBiomes.java index 66ffdbbf9..66424f018 100644 --- a/src/main/java/biomesoplenty/common/init/ModBiomes.java +++ b/src/main/java/biomesoplenty/common/init/ModBiomes.java @@ -8,7 +8,65 @@ package biomesoplenty.common.init; -import static biomesoplenty.api.biome.BOPBiomes.*; +import static biomesoplenty.api.biome.BOPBiomes.alps; +import static biomesoplenty.api.biome.BOPBiomes.arctic; +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.bog; +import static biomesoplenty.api.biome.BOPBiomes.boreal_forest; +import static biomesoplenty.api.biome.BOPBiomes.brushland; +import static biomesoplenty.api.biome.BOPBiomes.canyon; +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.coniferous_forest; +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.deciduous_forest; +import static biomesoplenty.api.biome.BOPBiomes.dense_forest; +import static biomesoplenty.api.biome.BOPBiomes.desert_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.fen; +import static biomesoplenty.api.biome.BOPBiomes.flower_field; +import static biomesoplenty.api.biome.BOPBiomes.forest_extension; +import static biomesoplenty.api.biome.BOPBiomes.frost_forest; +import static biomesoplenty.api.biome.BOPBiomes.frozen_desert; +import static biomesoplenty.api.biome.BOPBiomes.fungi_forest; +import static biomesoplenty.api.biome.BOPBiomes.garden; +import static biomesoplenty.api.biome.BOPBiomes.glacier; +import static biomesoplenty.api.biome.BOPBiomes.grassland; +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.jade_cliffs; +import static biomesoplenty.api.biome.BOPBiomes.jungle_extension; +import static biomesoplenty.api.biome.BOPBiomes.lavender_fields; +import static biomesoplenty.api.biome.BOPBiomes.marsh; +import static biomesoplenty.api.biome.BOPBiomes.mesa_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.origin_valley; +import static biomesoplenty.api.biome.BOPBiomes.outback; +import static biomesoplenty.api.biome.BOPBiomes.plains_extension; +import static biomesoplenty.api.biome.BOPBiomes.prairie; +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.shrubland; +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.thicket; +import static biomesoplenty.api.biome.BOPBiomes.tundra; +import static biomesoplenty.api.biome.BOPBiomes.woodland; +import static biomesoplenty.api.biome.BOPBiomes.xeric_shrubland; import java.io.File; import java.io.IOException; @@ -20,13 +78,13 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import com.google.common.base.Optional; - +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.BiomeDictionary; +import net.minecraftforge.common.BiomeDictionary.Type; +import net.minecraftforge.common.BiomeManager; import biomesoplenty.api.biome.BOPBiome; import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.biome.ExtendedBiomeWrapper; import biomesoplenty.api.biome.IExtendedBiome; -import biomesoplenty.api.biome.generation.GeneratorStage; import biomesoplenty.common.biome.overworld.BiomeGenAlps; import biomesoplenty.common.biome.overworld.BiomeGenArctic; import biomesoplenty.common.biome.overworld.BiomeGenBambooForest; @@ -70,19 +128,27 @@ import biomesoplenty.common.biome.overworld.BiomeGenThicket; import biomesoplenty.common.biome.overworld.BiomeGenTundra; import biomesoplenty.common.biome.overworld.BiomeGenWoodland; import biomesoplenty.common.biome.overworld.BiomeGenXericShrubland; +import biomesoplenty.common.biome.vanilla.BiomeExtBirchForest; +import biomesoplenty.common.biome.vanilla.BiomeExtDesert; import biomesoplenty.common.biome.vanilla.BiomeExtEnd; +import biomesoplenty.common.biome.vanilla.BiomeExtExtremeHills; +import biomesoplenty.common.biome.vanilla.BiomeExtForest; +import biomesoplenty.common.biome.vanilla.BiomeExtIcePlains; +import biomesoplenty.common.biome.vanilla.BiomeExtJungle; +import biomesoplenty.common.biome.vanilla.BiomeExtMesa; +import biomesoplenty.common.biome.vanilla.BiomeExtPlains; +import biomesoplenty.common.biome.vanilla.BiomeExtRoofedForest; +import biomesoplenty.common.biome.vanilla.BiomeExtSavanna; +import biomesoplenty.common.biome.vanilla.BiomeExtSwampland; +import biomesoplenty.common.biome.vanilla.BiomeExtTaiga; import biomesoplenty.common.command.BOPCommand; import biomesoplenty.common.enums.BOPClimates; import biomesoplenty.common.util.biome.BiomeUtils; import biomesoplenty.common.util.config.BOPConfig; import biomesoplenty.common.world.WorldTypeBOP; -import biomesoplenty.common.world.feature.GeneratorGrass; import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.init.Blocks; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.common.BiomeDictionary; -import net.minecraftforge.common.BiomeDictionary.Type; -import net.minecraftforge.common.BiomeManager; + +import com.google.common.base.Optional; public class ModBiomes implements BOPBiomes.IBiomeRegistry { @@ -210,6 +276,19 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry biomeWrapperMap = new HashMap(); end_extension = registerWrappedBiome(new BiomeExtEnd(), "end"); + birch_forest_extension = registerWrappedBiome(new BiomeExtBirchForest(), "birch_forest"); + desert_extension = registerWrappedBiome(new BiomeExtDesert(), "desert"); + extreme_hills_extension = registerWrappedBiome(new BiomeExtExtremeHills(), "extreme_hills"); + forest_extension = registerWrappedBiome(new BiomeExtForest(), "forest"); + ice_plains_extension = registerWrappedBiome(new BiomeExtIcePlains(), "ice_plains"); + jungle_extension = registerWrappedBiome(new BiomeExtJungle(), "jungle"); + mesa_extension = registerWrappedBiome(new BiomeExtMesa(), "mesa"); + plains_extension = registerWrappedBiome(new BiomeExtPlains(), "plains"); + roofed_forest_extension = registerWrappedBiome(new BiomeExtRoofedForest(), "roofed_forest"); + savanna_extension = registerWrappedBiome(new BiomeExtSavanna(), "savanna"); + swampland_extension = registerWrappedBiome(new BiomeExtSwampland(), "swampland"); + taiga_extension = registerWrappedBiome(new BiomeExtTaiga(), "taiga"); + } private static void registerBiomes()