diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.java b/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.java index 2c81b40e2..47feb4322 100644 --- a/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.java +++ b/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.java @@ -181,15 +181,18 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH GENERATE_BOP_PLANTS (112), GENERATE_BOP_WATER_PLANTS (113), GENERATE_BOP_MUSHROOMS (114), - GENERATE_POISON_IVY (115), - GENERATE_FLAX (116), - GENERATE_BERRY_BUSHES (117), - GENERATE_WILD_CARROTS (118), - GENERATE_THORNS (119), - GENERATE_QUICKSAND (120), - GENERATE_LIQUID_POISON (121), - GENERATE_HOT_SPRINGS (122), - GENERATE_NETHER_HIVES (123); + GENERATE_ROCK_FORMATIONS (115), + GENERATE_POISON_IVY (116), + GENERATE_FLAX (117), + GENERATE_BERRY_BUSHES (118), + GENERATE_WILD_CARROTS (119), + GENERATE_THORNS (120), + GENERATE_QUICKSAND (121), + GENERATE_LIQUID_POISON (122), + GENERATE_HOT_SPRINGS (123), + GENERATE_NETHER_HIVES (124), + GENERATE_NETHER_PLANTS (125), + GENERATE_END_FEATURES (126); private int id; @@ -242,8 +245,9 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BOP_FOLIAGE.getId(), "Generate BOP Foliage", true, this.settings.generateBopFoliage), new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BOP_FLOWERS.getId(), "Generate BOP Flowers", true, this.settings.generateBopFlowers), new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BOP_PLANTS.getId(), "Generate BOP Plants", true, this.settings.generateBopPlants), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BOP_WATER_PLANTS.getId(), "Generate BOP Water P.", true, this.settings.generateBopWaterPlants), + new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BOP_WATER_PLANTS.getId(), "Generate BOP Water Pl.", true, this.settings.generateBopWaterPlants), new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BOP_MUSHROOMS.getId(), "Generate BOP Shrooms", true, this.settings.generateBopMushrooms), + new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_ROCK_FORMATIONS.getId(), "Generate Rock Forma.", true, this.settings.generateRockFormations), new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_POISON_IVY.getId(), "Generate Poison Ivy", true, this.settings.generatePoisonIvy), new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_FLAX.getId(), "Generate Flax", true, this.settings.generateFlax), new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BERRY_BUSHES.getId(), "Generate Berry Bushes", true, this.settings.generateBerryBushes), @@ -252,7 +256,9 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_QUICKSAND.getId(), "Generate Quicksand", true, this.settings.generateQuicksand), new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_LIQUID_POISON.getId(), "Generate Liquid Poison", true, this.settings.generateLiquidPoison), new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_HOT_SPRINGS.getId(), "Generate Hot Springs", true, this.settings.generateHotSprings), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_NETHER_HIVES.getId(), "Generate Nether Hives", true, this.settings.generateNetherHives) + new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_NETHER_HIVES.getId(), "Generate Nether Hives", true, this.settings.generateNetherHives), + new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_NETHER_PLANTS.getId(), "Generate Nether Plants", true, this.settings.generateNetherPlants), + new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_END_FEATURES.getId(), "Generate End Features", true, this.settings.generateEndFeatures) }; this.pageManager = new GuiBOPPageManager(createTableForFields(page0Fields, page1Fields, page2Fields)); @@ -368,6 +374,9 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH case GENERATE_BOP_MUSHROOMS: this.settings.generateBopMushrooms = value; break; + case GENERATE_ROCK_FORMATIONS: + this.settings.generateRockFormations = value; + break; case GENERATE_POISON_IVY: this.settings.generatePoisonIvy = value; break; @@ -395,6 +404,12 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH case GENERATE_NETHER_HIVES: this.settings.generateNetherHives = value; break; + case GENERATE_NETHER_PLANTS: + this.settings.generateNetherPlants = value; + break; + case GENERATE_END_FEATURES: + this.settings.generateEndFeatures = value; + break; default: break; } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenHeathland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenHeathland.java index bf5685323..f32f4d68f 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenHeathland.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenHeathland.java @@ -83,7 +83,6 @@ public class BiomeGenHeathland extends BOPBiome treeGenerator.add("oak", 1, (new GeneratorBasicTree.Builder()).create()); // other plants - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.BUSH).create()); this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SHRUB).create()); this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.LEAFPILE).create()); @@ -98,7 +97,6 @@ public class BiomeGenHeathland extends BOPBiome public void applySettings(BOPWorldSettings settings) { if (!settings.generateBopGems) {this.removeGenerator("peridot");} - if (!settings.generateBerryBushes) {this.removeGenerator("berry_bushes");} if (!settings.generateBopSoils) {this.topBlock = Blocks.grass.getDefaultState(); this.fillerBlock = Blocks.dirt.getDefaultState();} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushSwamp.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushSwamp.java index 7aa6ed704..9d1e95849 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushSwamp.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushSwamp.java @@ -104,6 +104,7 @@ public class BiomeGenLushSwamp extends BOPBiome flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); // other plants + this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.KORU).create()); this.addGenerator("cattail", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(3.0F).with(BOPPlants.CATTAIL).create()); this.addGenerator("double_cattail", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(3.0F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); @@ -135,6 +136,7 @@ public class BiomeGenLushSwamp extends BOPBiome public void applySettings(BOPWorldSettings settings) { if (!settings.generateBopGems) {this.removeGenerator("malachite");} + if (!settings.generateBerryBushes) {this.removeGenerator("berry_bushes");} if (!settings.generateLiquidPoison) {this.removeGenerator("poison_lakes");} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShrubland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShrubland.java index adba98da7..a6ec6d4a4 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShrubland.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShrubland.java @@ -54,6 +54,7 @@ public class BiomeGenShrubland extends BOPBiome this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.gravel.getDefaultState()).create()); // other plants + this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.7F).with(BOPPlants.BUSH).create()); this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create()); this.addGenerator("flax", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(6).create()); @@ -85,6 +86,7 @@ public class BiomeGenShrubland extends BOPBiome { if (!settings.generateBopGems) {this.removeGenerator("peridot");} if (!settings.generateFlax) {this.removeGenerator("flax");} + if (!settings.generateBerryBushes) {this.removeGenerator("berry_bushes");} 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");} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWetland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWetland.java index efe380414..944ccbb0d 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWetland.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWetland.java @@ -103,8 +103,6 @@ public class BiomeGenWetland extends BOPBiome this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.DEADLEAFPILE).create()); this.addGenerator("sugar_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(1.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(Blocks.reeds.getDefaultState()).minHeight(1).maxHeight(3).create()); this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(2.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create()); - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.BUSH).create()); // water plants this.addGenerator("duckweed", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1.5F).with(BlockBOPLilypad.LilypadType.DUCKWEED).create()); @@ -131,7 +129,6 @@ public class BiomeGenWetland extends BOPBiome public void applySettings(BOPWorldSettings settings) { if (!settings.generateBopGems) {this.removeGenerator("malachite");} - if (!settings.generateBerryBushes) {this.removeGenerator("berry_bushes");} 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");} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWoodland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWoodland.java index 02176d091..0b4eca8a5 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWoodland.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWoodland.java @@ -85,6 +85,7 @@ public class BiomeGenWoodland extends BOPBiome flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); // other plants + this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create()); this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create()); @@ -116,6 +117,7 @@ public class BiomeGenWoodland extends BOPBiome 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.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");} diff --git a/src/main/java/biomesoplenty/common/world/BOPWorldSettings.java b/src/main/java/biomesoplenty/common/world/BOPWorldSettings.java index 3b850b661..b99246843 100644 --- a/src/main/java/biomesoplenty/common/world/BOPWorldSettings.java +++ b/src/main/java/biomesoplenty/common/world/BOPWorldSettings.java @@ -10,6 +10,8 @@ package biomesoplenty.common.world; import java.io.File; +import javax.swing.text.html.HTMLDocument.HTMLReader.FormAction; + import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; @@ -80,6 +82,7 @@ public class BOPWorldSettings public boolean generateBopPlants = true; public boolean generateBopWaterPlants = true; public boolean generateBopMushrooms = true; + public boolean generateRockFormations = true; public boolean generatePoisonIvy = true; public boolean generateFlax = true; public boolean generateBerryBushes = true; @@ -89,6 +92,8 @@ public class BOPWorldSettings public boolean generateLiquidPoison = true; public boolean generateHotSprings = true; public boolean generateNetherHives = true; + public boolean generateNetherPlants = true; + public boolean generateEndFeatures = true; // Vanilla properties - not configurable (yet) but included for consistency with vanilla ChunkProviderSettings @@ -137,6 +142,7 @@ public class BOPWorldSettings obj.addProperty("generateBopPlants", this.generateBopPlants); obj.addProperty("generateBopWaterPlants", this.generateBopWaterPlants); obj.addProperty("generateBopMushrooms", this.generateBopMushrooms); + obj.addProperty("generateRockFormations", this.generateRockFormations); obj.addProperty("generatePoisonIvy", this.generatePoisonIvy); obj.addProperty("generateFlax", this.generateFlax); obj.addProperty("generateBerryBushes", this.generateBerryBushes); @@ -146,6 +152,8 @@ public class BOPWorldSettings obj.addProperty("generateLiquidPoison", this.generateLiquidPoison); obj.addProperty("generateHotSprings", this.generateHotSprings); obj.addProperty("generateNetherHives", this.generateNetherHives); + obj.addProperty("generateNetherPlants", this.generateNetherPlants); + obj.addProperty("generateEndFeatures", this.generateEndFeatures); return serializer.toJson(obj); } @@ -170,6 +178,7 @@ public class BOPWorldSettings this.generateBopPlants = worldConfig.getBool("generateBopPlants", this.generateBopPlants); this.generateBopWaterPlants = worldConfig.getBool("generateBopWaterPlants", this.generateBopWaterPlants); this.generateBopMushrooms = worldConfig.getBool("generateBopMushrooms", this.generateBopMushrooms); + this.generateRockFormations = worldConfig.getBool("generateRockFormations", this.generateRockFormations); this.generatePoisonIvy = worldConfig.getBool("generatePoisonIvy", this.generatePoisonIvy); this.generateFlax = worldConfig.getBool("generateFlax", this.generateFlax); this.generateBerryBushes = worldConfig.getBool("generateBerryBushes", this.generateBerryBushes); @@ -179,6 +188,8 @@ public class BOPWorldSettings this.generateLiquidPoison = worldConfig.getBool("generateLiquidPoison", this.generateLiquidPoison); this.generateHotSprings = worldConfig.getBool("generateHotSprings", this.generateHotSprings); this.generateNetherHives = worldConfig.getBool("generateNetherHives", this.generateNetherHives); + this.generateNetherPlants = worldConfig.getBool("generateNetherPlants", this.generateNetherPlants); + this.generateEndFeatures = worldConfig.getBool("generateEndFeatures", this.generateEndFeatures); } public void setDefault() @@ -198,6 +209,7 @@ public class BOPWorldSettings this.generateBopPlants = true; this.generateBopWaterPlants = true; this.generateBopMushrooms = true; + this.generateRockFormations = true; this.generatePoisonIvy = true; this.generateFlax = true; this.generateBerryBushes = true; @@ -207,6 +219,8 @@ public class BOPWorldSettings this.generateLiquidPoison = true; this.generateHotSprings = true; this.generateNetherHives = true; + this.generateNetherPlants = true; + this.generateEndFeatures = true; // Vanilla default values this.seaLevel = 63; diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_medium.png b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_medium.png index 759cd831d..52f4adfcc 100644 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_medium.png and b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_medium.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_small.png b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_small.png index 0beac97bf..0020ef745 100644 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_small.png and b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_small.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_tiny.png b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_tiny.png index f8ad4320d..7803cc866 100644 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_tiny.png and b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_tiny.png differ