Changed beach biomes for vanilla biomes, added the Mangrove as a beach biome for tropical biomes, moved the Lush Swamp to the Warm Temperate climate (NOTE: This can cause abrupt chunk borders in existing worlds! Update at your own risk!)

This commit is contained in:
Forstride 2019-08-05 23:31:54 -04:00
parent 09040388a0
commit 3450b516c1
7 changed files with 32 additions and 10 deletions

View File

@ -7,6 +7,7 @@
******************************************************************************/
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;
@ -98,7 +99,7 @@ public class BayouBiome extends BiomeBOP
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 1, 1, 1));
this.addWeight(BOPClimates.SUBTROPICAL, 10);
this.setBeachBiome((Biome)null);
this.setBeachBiome(BOPBiomes.mangrove);
}
@OnlyIn(Dist.CLIENT)

View File

@ -7,6 +7,7 @@
******************************************************************************/
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;
@ -81,7 +82,8 @@ public class LushGrasslandBiome extends BiomeBOP
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
this.setBeachBiome(BOPBiomes.mangrove);
this.addWeight(BOPClimates.TROPICAL, 7);
}
}

View File

@ -47,7 +47,6 @@ public class LushSwampBiome extends BiomeBOP
DefaultBiomeFeatures.addStoneVariants(this);
DefaultBiomeFeatures.addOres(this);
DefaultBiomeFeatures.addSwampClayDisks(this);
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Biome.createDecoratedFeature(Feature.DISK, new SphereReplaceConfig(BOPBlocks.mud.getDefaultState(), 8, 2, Lists.newArrayList(new BlockState[]{Blocks.DIRT.getDefaultState(), Blocks.GRASS_BLOCK.getDefaultState()})), Placement.COUNT_TOP_SOLID, new FrequencyConfig(3)));
////////////////////////////////////////////////////////////
@ -56,9 +55,9 @@ public class LushSwampBiome extends BiomeBOP
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.HUGE_RED_MUSHROOM, new BigMushroomFeatureConfig(false), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.5F, 0.1F, 1)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(BOPBiomeFeatures.LUSH_SWAMP_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(5)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.DOUBLE_PLANT, new DoublePlantConfig(BOPBlocks.tall_cattail.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(8)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.DOUBLE_PLANT, new DoublePlantConfig(BOPBlocks.tall_cattail.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(4)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.DOUBLE_PLANT, new DoublePlantConfig(Blocks.TALL_GRASS.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(5)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.cattail.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(15)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.cattail.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8)));
@ -91,7 +90,7 @@ public class LushSwampBiome extends BiomeBOP
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 1, 1, 1));
this.addWeight(BOPClimates.SUBTROPICAL, 3);
this.addWeight(BOPClimates.WARM_TEMPERATE, 3);
this.setBeachBiome((Biome)null);
}
}

View File

@ -7,6 +7,7 @@
******************************************************************************/
package biomesoplenty.common.biome.overworld;
import biomesoplenty.api.biome.BOPBiomes;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.common.biome.BiomeBOP;
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
@ -86,7 +87,8 @@ public class RainforestBiome extends BiomeBOP
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.OCELOT, 2, 1, 1));
this.setBeachBiome(BOPBiomes.mangrove);
this.addWeight(BOPClimates.SUBTROPICAL, 5);
}

View File

@ -7,6 +7,7 @@
******************************************************************************/
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;
@ -90,7 +91,8 @@ public class TropicalRainforestBiome extends BiomeBOP
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.OCELOT, 2, 1, 1));
this.setBeachBiome(BOPBiomes.mangrove);
this.addWeight(BOPClimates.TROPICAL, 10);
}

View File

@ -7,6 +7,7 @@
******************************************************************************/
package biomesoplenty.common.world.layer;
import biomesoplenty.api.biome.BOPBiomes;
import biomesoplenty.common.biome.BiomeBOP;
import biomesoplenty.common.world.BOPLayerUtil;
import net.minecraft.util.registry.Registry;
@ -63,7 +64,7 @@ public enum GenLayerShoreBOP implements ICastleTransformer
if (BOPLayerUtil.isOcean(northBiomeId) || BOPLayerUtil.isOcean(eastBiomeId) || BOPLayerUtil.isOcean(southBiomeId) || BOPLayerUtil.isOcean(westBiomeId))
{
return BEACH;
return Registry.BIOME.getId(BOPBiomes.mangrove.get());
}
}
else if (biomeId != MOUNTAINS && biomeId != WOODED_MOUNTAINS && biomeId != MOUNTAIN_EDGE)
@ -92,9 +93,24 @@ public enum GenLayerShoreBOP implements ICastleTransformer
BiomeBOP biomeBOP = (BiomeBOP)biome;
if (biomeBOP.beachBiomeId != -1)
{
return biomeBOP.beachBiomeId;
}
else
{
return biomeId;
}
}
else
{
if (biome == Biomes.JUNGLE || biome == Biomes.JUNGLE_HILLS || biome == Biomes.JUNGLE_EDGE || biome == Biomes.MODIFIED_JUNGLE || biome == Biomes.BAMBOO_JUNGLE || biome == Biomes.BAMBOO_JUNGLE_HILLS || biome == Biomes.MODIFIED_JUNGLE_EDGE)
{
return Registry.BIOME.getId(BOPBiomes.mangrove.get());
}
if (biome == Biomes.TAIGA || biome == Biomes.TAIGA_MOUNTAINS || biome == Biomes.TAIGA_HILLS || biome == Biomes.GIANT_TREE_TAIGA || biome == Biomes.GIANT_SPRUCE_TAIGA || biome == Biomes.GIANT_TREE_TAIGA_HILLS || biome == Biomes.GIANT_SPRUCE_TAIGA_HILLS || biome == Biomes.BIRCH_FOREST_HILLS || biome == Biomes.BIRCH_FOREST || biome == Biomes.TALL_BIRCH_HILLS || biome == Biomes.TALL_BIRCH_FOREST || biome == Biomes.DARK_FOREST_HILLS || biome == Biomes.DARK_FOREST)
{
return Registry.BIOME.getId(BOPBiomes.gravel_beach.get());
}
}
return BEACH;

View File

@ -109,6 +109,7 @@ public class ModBiomes
private static void registerBiomes()
{
//Technical Biomes (Need to be registered before main biomes that use them)
mangrove = registerBiome(new MangroveBiome(), "mangrove");
gravel_beach = registerBiome(new GravelBeachBiome(), "gravel_beach");
origin_beach = registerBiome(new OriginBeachBiome(), "origin_beach");
white_beach = registerBiome(new WhiteBeachBiome(), "white_beach");
@ -137,7 +138,6 @@ public class ModBiomes
lavender_field = registerBiome(new LavenderFieldBiome(), "lavender_field");
lush_grassland = registerBiome(new LushGrasslandBiome(), "lush_grassland");
lush_swamp = registerBiome(new LushSwampBiome(), "lush_swamp");
mangrove = registerBiome(new MangroveBiome(), "mangrove");
maple_woods = registerBiome(new MapleWoodsBiome(), "maple_woods");
marsh = registerBiome(new MarshBiome(), "marsh");
meadow = registerBiome(new MeadowBiome(), "meadow");