From bcd099261b0ef446a9ca6566f80dd2422a3a78b7 Mon Sep 17 00:00:00 2001 From: Forstride Date: Fri, 17 Jul 2020 09:46:19 -0400 Subject: [PATCH] Changed the Ghost Forest to a snowy biome called the Muskeg (Be sure to delete your existing configs and use a new world, or you will likely run into issues!) --- .../biomesoplenty/api/biome/BOPBiomes.java | 2 +- .../biome/overworld/MapleWoodsBiome.java | 2 +- ...GhostForestBiome.java => MuskegBiome.java} | 37 ++++++++++--------- .../java/biomesoplenty/init/ModBiomes.java | 6 +-- .../assets/biomesoplenty/lang/en_us.json | 2 +- .../biomesoplenty/all_biomes.json | 12 +++--- .../advancements/biomesoplenty/root.json | 14 +++---- 7 files changed, 38 insertions(+), 37 deletions(-) rename src/main/java/biomesoplenty/common/biome/overworld/{GhostForestBiome.java => MuskegBiome.java} (78%) diff --git a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java index d528cda10..9dacfadc9 100644 --- a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java +++ b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java @@ -28,7 +28,6 @@ public class BOPBiomes public static Optional floodplain = Optional.empty(); public static Optional flower_meadow = Optional.empty(); public static Optional fungal_jungle = Optional.empty(); - public static Optional ghost_forest = Optional.empty(); public static Optional grassland = Optional.empty(); public static Optional gravel_beach = Optional.empty(); public static Optional grove = Optional.empty(); @@ -42,6 +41,7 @@ public class BOPBiomes public static Optional marsh = Optional.empty(); public static Optional meadow = Optional.empty(); public static Optional mire = Optional.empty(); + public static Optional muskeg = Optional.empty(); public static Optional mystic_grove = Optional.empty(); public static Optional oasis = Optional.empty(); public static Optional ominous_woods = Optional.empty(); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/MapleWoodsBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/MapleWoodsBiome.java index adc7969c6..f612adf56 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/MapleWoodsBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/MapleWoodsBiome.java @@ -38,7 +38,7 @@ public class MapleWoodsBiome extends BiomeBOP { public MapleWoodsBiome() { - super((new Biome.Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS)).precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(0.1F).scale(0.2F).temperature(0.25F).downfall(0.8F).specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()).parent((String)null)); + super((new Biome.Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS)).precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(0.1F).scale(0.2F).temperature(0.2F).downfall(0.8F).specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()).parent((String)null)); // Structures this.addStructureStart(DefaultBiomeFeatures.VILLAGE_TAIGA); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/GhostForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/MuskegBiome.java similarity index 78% rename from src/main/java/biomesoplenty/common/biome/overworld/GhostForestBiome.java rename to src/main/java/biomesoplenty/common/biome/overworld/MuskegBiome.java index 762c6365d..3135cc4e7 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/GhostForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/MuskegBiome.java @@ -7,7 +7,6 @@ ******************************************************************************/ package biomesoplenty.common.biome.overworld; -import biomesoplenty.api.biome.BOPBiomes; import biomesoplenty.api.block.BOPBlocks; import biomesoplenty.api.enums.BOPClimates; import biomesoplenty.common.biome.BiomeBOP; @@ -20,13 +19,12 @@ import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.entity.EntityClassification; import net.minecraft.entity.EntityType; +import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.BiomeAmbience; import net.minecraft.world.biome.DefaultBiomeFeatures; import net.minecraft.world.biome.MoodSoundAmbience; import net.minecraft.world.gen.GenerationStage; import net.minecraft.world.gen.feature.*; -import net.minecraft.world.gen.feature.structure.MineshaftConfig; -import net.minecraft.world.gen.feature.structure.MineshaftStructure; import net.minecraft.world.gen.placement.AtSurfaceWithExtraConfig; import net.minecraft.world.gen.placement.ChanceConfig; import net.minecraft.world.gen.placement.FrequencyConfig; @@ -36,11 +34,11 @@ import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class GhostForestBiome extends BiomeBOP +public class MuskegBiome extends BiomeBOP { - public GhostForestBiome() + public MuskegBiome() { - super((new Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS)).precipitation(RainType.RAIN).biomeCategory(Category.SWAMP).depth(-0.125F).scale(0.0F).temperature(0.5F).downfall(0.6F).specialEffects((new BiomeAmbience.Builder()).waterColor(0x448FBD).waterFogColor(0x061326).fogColor(12638463).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()).parent((String)null)); + super((new Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(BOPBiomeFeatures.PODZOL_SURFACE_BUILDER, SurfaceBuilder.CONFIG_GRASS)).precipitation(RainType.SNOW).biomeCategory(Category.ICY).depth(-0.175F).scale(-0.05F).temperature(-0.25F).downfall(0.6F).specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()).parent((String)null)); // Structures DefaultBiomeFeatures.addDefaultOverworldLandStructures(this); @@ -50,7 +48,7 @@ public class GhostForestBiome extends BiomeBOP DefaultBiomeFeatures.addDefaultCarvers(this); DefaultBiomeFeatures.addDefaultLakes(this); - this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Feature.LAKE.configured(new BlockStateFeatureConfig(Blocks.CLAY.defaultBlockState())).decorated(Placement.WATER_LAKE.configured(new ChanceConfig(3)))); + this.addFeature(GenerationStage.Decoration.LAKES, Feature.LAKE.configured(new BlockStateFeatureConfig(Blocks.WATER.defaultBlockState())).decorated(Placement.WATER_LAKE.configured(new ChanceConfig(2)))); DefaultBiomeFeatures.addDefaultMonsterRoom(this); DefaultBiomeFeatures.addDefaultUndergroundVariety(this); @@ -63,11 +61,11 @@ public class GhostForestBiome extends BiomeBOP //////////////////////////////////////////////////////////// // Vegetation - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DARK_OAK_TWIGLET_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.4F), BOPBiomeFeatures.DEAD_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.3F), BOPBiomeFeatures.DEAD_TWIGLET_TREE_TALL.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F)), BOPBiomeFeatures.DEAD_TWIGLET_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG))).decorated(Placement.COUNT_EXTRA_HEIGHTMAP.configured(new AtSurfaceWithExtraConfig(4, 0.5F, 1)))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, new StandardGrassFeature(NoFeatureConfig.CODEC).configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(8)))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPBiomeFeatures.SCRUB.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(25)))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.watergrass.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(25)))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(2)))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DARK_OAK_TWIGLET_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.4F), BOPBiomeFeatures.DEAD_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.3F), BOPBiomeFeatures.DYING_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.075F), BOPBiomeFeatures.DEAD_TWIGLET_TREE_TALL.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F)), BOPBiomeFeatures.DEAD_TWIGLET_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG))).decorated(Placement.COUNT_EXTRA_HEIGHTMAP.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1)))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, new StandardGrassFeature(NoFeatureConfig.CODEC).configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(3)))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPBiomeFeatures.SCRUB.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(10)))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.watergrass.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(4)))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(12)))); //////////////////////////////////////////////////////////// @@ -76,6 +74,7 @@ public class GhostForestBiome extends BiomeBOP DefaultBiomeFeatures.addSurfaceFreezing(this); // Entities + this.addSpawn(EntityClassification.CREATURE, new SpawnListEntry(EntityType.RABBIT, 4, 2, 3)); this.addSpawn(EntityClassification.AMBIENT, new SpawnListEntry(EntityType.BAT, 10, 8, 8)); this.addSpawn(EntityClassification.MONSTER, new SpawnListEntry(EntityType.SPIDER, 100, 4, 4)); this.addSpawn(EntityClassification.MONSTER, new SpawnListEntry(EntityType.ZOMBIE, 95, 4, 4)); @@ -85,22 +84,24 @@ public class GhostForestBiome extends BiomeBOP this.addSpawn(EntityClassification.MONSTER, new SpawnListEntry(EntityType.SLIME, 100, 4, 4)); this.addSpawn(EntityClassification.MONSTER, new SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4)); this.addSpawn(EntityClassification.MONSTER, new SpawnListEntry(EntityType.WITCH, 5, 1, 1)); - - this.addWeight(BOPClimates.WET_TEMPERATE, 2); - this.setBeachBiome(BOPBiomes.gravel_beach); + this.addSpawn(EntityClassification.MONSTER, new SpawnListEntry(EntityType.STRAY, 20, 4, 4)); + + this.addWeight(BOPClimates.TUNDRA, 2); + this.setBeachBiome((Biome)null); + this.setRiverBiome((Biome)null); } - + @OnlyIn(Dist.CLIENT) @Override public int getGrassColor(double x, double z) { - return 0x9BAF6B; + return 0x94966E; } @OnlyIn(Dist.CLIENT) @Override public int getFoliageColor() { - return 0x88AD66; + return 0x8D9B6B; } } diff --git a/src/main/java/biomesoplenty/init/ModBiomes.java b/src/main/java/biomesoplenty/init/ModBiomes.java index cf2045a0d..ea6fc9ba5 100644 --- a/src/main/java/biomesoplenty/init/ModBiomes.java +++ b/src/main/java/biomesoplenty/init/ModBiomes.java @@ -89,7 +89,6 @@ public class ModBiomes registerBiome(new FloodplainBiome(), "floodplain"); registerBiome(new FlowerMeadowBiome(), "flower_meadow"); registerBiome(new FungalJungleBiome(), "fungal_jungle"); - registerBiome(new GhostForestBiome(), "ghost_forest"); registerBiome(new GrasslandBiome(), "grassland"); registerBiome(new GroveBiome(), "grove"); registerBiome(new HighlandBiome(), "highland"); @@ -101,6 +100,7 @@ public class ModBiomes registerBiome(new MarshBiome(), "marsh"); registerBiome(new MeadowBiome(), "meadow"); registerBiome(new MireBiome(), "mire"); + registerBiome(new MuskegBiome(), "muskeg"); registerBiome(new MysticGroveBiome(), "mystic_grove"); registerBiome(new OasisBiome(), "oasis"); registerBiome(new OminousWoodsBiome(), "ominous_woods"); @@ -224,7 +224,6 @@ public class ModBiomes registerBiomeToDictionary(floodplain, Type.OVERWORLD, Type.JUNGLE, Type.WATER, Type.HOT, Type.WET); registerBiomeToDictionary(flower_meadow, Type.OVERWORLD, Type.PLAINS); registerBiomeToDictionary(fungal_jungle, Type.OVERWORLD, Type.MAGICAL, Type.MUSHROOM, Type.JUNGLE, Type.HOT, Type.LUSH, Type.RARE); - registerBiomeToDictionary(ghost_forest, Type.OVERWORLD, Type.FOREST, Type.DEAD, Type.WET); registerBiomeToDictionary(grassland, Type.OVERWORLD, Type.PLAINS, Type.HILLS, Type.WET); registerBiomeToDictionary(gravel_beach, Type.OVERWORLD, Type.BEACH); registerBiomeToDictionary(grove, Type.OVERWORLD, Type.FOREST, Type.PLAINS, Type.SPARSE); @@ -238,6 +237,7 @@ public class ModBiomes registerBiomeToDictionary(marsh, Type.OVERWORLD, Type.WET); registerBiomeToDictionary(meadow, Type.OVERWORLD, Type.PLAINS, Type.FOREST); registerBiomeToDictionary(mire, Type.OVERWORLD, Type.SWAMP, Type.DEAD, Type.WET); + registerBiomeToDictionary(muskeg, Type.OVERWORLD, Type.FOREST, Type.SWAMP, Type.COLD, Type.SNOWY, Type.SPARSE, Type.DEAD, Type.WET); registerBiomeToDictionary(mystic_grove, Type.OVERWORLD, Type.MAGICAL, Type.FOREST, Type.LUSH, Type.DENSE, Type.RARE); registerBiomeToDictionary(oasis, Type.OVERWORLD, Type.SANDY, Type.LUSH, Type.JUNGLE, Type.HOT, Type.SPARSE); registerBiomeToDictionary(ominous_woods, Type.OVERWORLD, Type.MAGICAL, Type.FOREST, Type.SPOOKY, Type.DEAD, Type.DENSE, Type.RARE); @@ -299,7 +299,6 @@ public class ModBiomes registerVillagerType(floodplain, IVillagerType.JUNGLE); registerVillagerType(flower_meadow, IVillagerType.TAIGA); registerVillagerType(fungal_jungle, IVillagerType.JUNGLE); - registerVillagerType(ghost_forest, IVillagerType.SWAMP); registerVillagerType(grassland, IVillagerType.PLAINS); registerVillagerType(gravel_beach, IVillagerType.PLAINS); registerVillagerType(grove, IVillagerType.PLAINS); @@ -313,6 +312,7 @@ public class ModBiomes registerVillagerType(marsh, IVillagerType.SWAMP); registerVillagerType(meadow, IVillagerType.TAIGA); registerVillagerType(mire, IVillagerType.SWAMP); + registerVillagerType(muskeg, IVillagerType.SNOW); registerVillagerType(mystic_grove, IVillagerType.PLAINS); registerVillagerType(oasis, IVillagerType.DESERT); registerVillagerType(ominous_woods, IVillagerType.SWAMP); diff --git a/src/main/resources/assets/biomesoplenty/lang/en_us.json b/src/main/resources/assets/biomesoplenty/lang/en_us.json index 068cbed5e..fcd855b5b 100644 --- a/src/main/resources/assets/biomesoplenty/lang/en_us.json +++ b/src/main/resources/assets/biomesoplenty/lang/en_us.json @@ -23,7 +23,6 @@ "biome.biomesoplenty.floodplain": "Floodplain", "biome.biomesoplenty.flower_meadow": "Flower Meadow", "biome.biomesoplenty.fungal_jungle": "Fungal Jungle", - "biome.biomesoplenty.ghost_forest": "Ghost Forest", "biome.biomesoplenty.grassland": "Grassland", "biome.biomesoplenty.gravel_beach": "Gravel Beach", "biome.biomesoplenty.grove": "Grove", @@ -37,6 +36,7 @@ "biome.biomesoplenty.marsh": "Marsh", "biome.biomesoplenty.meadow": "Meadow", "biome.biomesoplenty.mire": "Mire", + "biome.biomesoplenty.muskeg": "Muskeg", "biome.biomesoplenty.mystic_grove": "Mystic Grove", "biome.biomesoplenty.oasis": "Oasis", "biome.biomesoplenty.ominous_woods": "Ominous Woods", diff --git a/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json b/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json index 4413396e8..087a075e0 100644 --- a/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json +++ b/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json @@ -110,12 +110,6 @@ "conditions": { "biome": "biomesoplenty:fungal_jungle" } - }, - "ghost_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:ghost_forest" - } }, "grassland": { "trigger": "minecraft:location", @@ -194,6 +188,12 @@ "conditions": { "biome": "biomesoplenty:mire" } + }, + "muskeg": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:muskeg" + } }, "mystic_grove": { "trigger": "minecraft:location", diff --git a/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json b/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json index a24a8618b..db12dbba2 100644 --- a/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json +++ b/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json @@ -109,12 +109,6 @@ "conditions": { "biome": "biomesoplenty:fungal_jungle" } - }, - "ghost_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:ghost_forest" - } }, "grassland": { "trigger": "minecraft:location", @@ -193,6 +187,12 @@ "conditions": { "biome": "biomesoplenty:mire" } + }, + "muskeg": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:muskeg" + } }, "mystic_grove": { "trigger": "minecraft:location", @@ -447,7 +447,6 @@ "floodplain", "flower_meadow", "fungal_jungle", - "ghost_forest", "grassland", "gravel_beach", "grove", @@ -461,6 +460,7 @@ "marsh", "meadow", "mire", + "muskeg", "mystic_grove", "oasis", "ominous_woods",