More biome rework stuff

This commit is contained in:
Forstride 2020-10-07 00:36:04 -04:00
parent 692a20d335
commit 316600aae7
23 changed files with 362 additions and 138 deletions

View file

@ -13,12 +13,11 @@ import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.Biome;
import java.util.Optional;
public class BOPBiomes
{
public static RegistryKey<Biome> alps = register("alps");
public static RegistryKey<Biome> alps_foothills = register("alps_foothills");
public static RegistryKey<Biome> bamboo_grove = register("bamboo_grove");
public static RegistryKey<Biome> bayou = register("bayou");
public static RegistryKey<Biome> bayou_mangrove = register("bayou_mangrove");
public static RegistryKey<Biome> cherry_blossom_grove = register("cherry_blossom_grove");
@ -31,6 +30,7 @@ public class BOPBiomes
public static RegistryKey<Biome> fir_clearing = register("fir_clearing");
public static RegistryKey<Biome> flower_meadow = register("flower_meadow");
public static RegistryKey<Biome> fungal_jungle = register("fungal_jungle");
public static RegistryKey<Biome> golden_prairie = register("golden_prairie");
public static RegistryKey<Biome> gravel_beach = register("gravel_beach");
public static RegistryKey<Biome> grove = register("grove");
public static RegistryKey<Biome> highland = register("highland");
@ -38,7 +38,7 @@ public class BOPBiomes
public static RegistryKey<Biome> jade_cliffs = register("jade_cliffs");
public static RegistryKey<Biome> lavender_field = register("lavender_field");
public static RegistryKey<Biome> lush_desert = register("lush_desert");
public static RegistryKey<Biome> maple_woods = register("maple_woods");
public static RegistryKey<Biome> lush_savanna = register("lush_savanna");
public static RegistryKey<Biome> meadow = register("meadow");
public static RegistryKey<Biome> muskeg = register("muskeg");
public static RegistryKey<Biome> mystic_grove = register("mystic_grove");
@ -46,10 +46,8 @@ public class BOPBiomes
public static RegistryKey<Biome> ominous_woods = register("ominous_woods");
public static RegistryKey<Biome> orchard = register("orchard");
public static RegistryKey<Biome> origin_valley = register("origin_valley");
public static RegistryKey<Biome> pasture = register("pasture");
public static RegistryKey<Biome> poppy_field = register("poppy_field");
public static RegistryKey<Biome> overgrown_fungal_jungle = register("overgrown_fungal_jungle");
public static RegistryKey<Biome> prairie = register("prairie");
public static RegistryKey<Biome> pumpkin_patch = register("pumpkin_patch");
public static RegistryKey<Biome> rainbow_hills = register("rainbow_hills");
public static RegistryKey<Biome> rainforest = register("rainforest");
public static RegistryKey<Biome> rainforest_clearing = register("rainforest_clearing");
@ -57,12 +55,14 @@ public class BOPBiomes
public static RegistryKey<Biome> redwood_forest = register("redwood_forest");
public static RegistryKey<Biome> redwood_forest_edge = register("redwood_forest_edge");
public static RegistryKey<Biome> seasonal_forest = register("seasonal_forest");
public static RegistryKey<Biome> seasonal_pumpkin_patch = register("seasonal_pumpkin_patch");
public static RegistryKey<Biome> shroomy_wetland = register("shroomy_wetland");
public static RegistryKey<Biome> shrubland = register("shrubland");
public static RegistryKey<Biome> shrubland_hills = register("shrubland_hills");
public static RegistryKey<Biome> silkglade = register("silkglade");
public static RegistryKey<Biome> snowy_coniferous_forest = register("snowy_coniferous_forest");
public static RegistryKey<Biome> snowy_fir_clearing = register("snowy_fir_clearing");
public static RegistryKey<Biome> snowy_maple_forest = register("snowy_maple_forest");
public static RegistryKey<Biome> tropic_beach = register("tropic_beach");
public static RegistryKey<Biome> tropics = register("tropics");
public static RegistryKey<Biome> tundra = register("tundra");

View file

@ -0,0 +1,94 @@
/*******************************************************************************
* Copyright 2014-2019, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.biome.overworld;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.common.biome.BiomeTemplate;
import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType;
import net.minecraft.world.biome.*;
import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.feature.Features;
import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class BambooGroveBiome extends BiomeTemplate
{
public BambooGroveBiome()
{
}
@Override
protected void configureBiome(Biome.Builder builder)
{
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.05F).scale(0.05F).temperature(0.6F).downfall(0.9F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.6F)).grassColorOverride(0x85CE71).foliageColorOverride(0x63BF66).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
}
@Override
protected void configureGeneration(BiomeGenerationSettings.Builder builder)
{
builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS));
// Structures
DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder);
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD);
// Underground
DefaultBiomeFeatures.addDefaultCarvers(builder);
DefaultBiomeFeatures.addDefaultLakes(builder);
DefaultBiomeFeatures.addDefaultMonsterRoom(builder);
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder);
////////////////////////////////////////////////////////////
// Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BAMBOO_GROVE_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.CHERRY_BLOSSOM_GROVE_FLOWERS);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LILAC_2);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LILY_PAD_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SHORT_BAMBOO_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SPROUTS_15);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_SUGAR_CANE);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.SEAGRASS_COLD);
////////////////////////////////////////////////////////////
// Other Features
DefaultBiomeFeatures.addDefaultSprings(builder);
DefaultBiomeFeatures.addSurfaceFreezing(builder);
}
@Override
protected void configureMobSpawns(MobSpawnInfo.Builder builder)
{
// Entities
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.SHEEP, 12, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PIG, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.CHICKEN, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.COW, 8, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PANDA, 80, 1, 2));
builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE_VILLAGER, 5, 1, 1));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SKELETON, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CREEPER, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1));
}
}

View file

@ -57,9 +57,7 @@ public class CherryBlossomGroveBiome extends BiomeTemplate
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.CHERRY_BLOSSOM_GROVE_FLOWERS);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LILAC_4);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LILY_PAD_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.PEONY_1);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SHORT_BAMBOO_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SPROUTS_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL);
@ -82,7 +80,6 @@ public class CherryBlossomGroveBiome extends BiomeTemplate
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PIG, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.CHICKEN, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.COW, 8, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PANDA, 80, 1, 2));
builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4));

View file

@ -58,7 +58,7 @@ public class FungalJungleBiome extends BiomeTemplate
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.FUNGAL_JUNGLE_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.FERN_GRASS_16);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.GLOWSHROOM_EXTRA);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.GLOWSHROOM_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.HUGE_GLOWSHROOM);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LARGE_FERN_7);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.MYCELIUM_SPLATTER);

View file

@ -17,14 +17,14 @@ import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class PastureBiome extends BiomeTemplate
public class GoldenPrairieBiome extends BiomeTemplate
{
public PastureBiome() {}
public GoldenPrairieBiome() {}
@Override
protected void configureBiome(Biome.Builder builder)
{
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.PLAINS).depth(0.05F).scale(0.0F).temperature(0.8F).downfall(0.3F);
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.PLAINS).depth(0.0F).scale(-0.1F).temperature(0.8F).downfall(0.3F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xEAE177).foliageColorOverride(0xD6E672).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
}
@ -47,9 +47,9 @@ public class PastureBiome extends BiomeTemplate
////////////////////////////////////////////////////////////
// Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.PASTURE_TALL_WHEAT);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_6);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.GOLDEN_PRAIRIE_TALL_WHEAT);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_24);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_64);
////////////////////////////////////////////////////////////
@ -62,10 +62,6 @@ public class PastureBiome extends BiomeTemplate
protected void configureMobSpawns(MobSpawnInfo.Builder builder)
{
// Entities
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.SHEEP, 12, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PIG, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.CHICKEN, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.COW, 8, 4, 4));
builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4));

View file

@ -18,42 +18,43 @@ import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.feature.Features;
import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class PoppyFieldBiome extends BiomeTemplate
public class LushSavannaBiome extends BiomeTemplate
{
public PoppyFieldBiome()
public LushSavannaBiome()
{
this.addWeight(BOPClimates.DRY_TEMPERATE, 2);
this.setBeachBiome(null);
}
@Override
protected void configureBiome(Biome.Builder builder)
{
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.PLAINS).depth(0.1F).scale(0.01F).temperature(0.65F).downfall(0.15F);
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.DESERT).depth(0.1F).scale(0.01F).temperature(1.8F).downfall(0.15F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.65F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4566514).waterFogColor(267827).fogColor(12638463).skyColor(calculateSkyColor(1.8F)).grassColorOverride(0xEFE182).foliageColorOverride(0xD3D156).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
}
@Override
protected void configureGeneration(BiomeGenerationSettings.Builder builder)
{
builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.POPPY_FIELD, SurfaceBuilder.CONFIG_GRASS));
builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.LUSH_SAVANNA, BOPSurfaceBuilders.ORANGE_SAND_SURFACE));
// Structures
DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder);
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD);
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_DESERT);
// Underground
DefaultBiomeFeatures.addDefaultCarvers(builder);
DefaultBiomeFeatures.addDefaultLakes(builder);
DefaultBiomeFeatures.addDefaultMonsterRoom(builder);
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder);
DefaultBiomeFeatures.addDefaultSoftDisks(builder);
////////////////////////////////////////////////////////////
// Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.POPPY_FIELD_FLOWERS);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.POPPY_FLOWERS);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.ROSE_BUSH_15);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SPROUTS_50);
@ -72,7 +73,7 @@ public class PoppyFieldBiome extends BiomeTemplate
protected void configureMobSpawns(MobSpawnInfo.Builder builder)
{
// Entities
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PIG, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.DONKEY, 1, 1, 3));
builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4));
@ -83,5 +84,6 @@ public class PoppyFieldBiome extends BiomeTemplate
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.HUSK, 80, 4, 4));
}
}

View file

@ -59,6 +59,7 @@ public class MysticPlainsBiome extends BiomeTemplate
////////////////////////////////////////////////////////////
// Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.MYSTIC_PLAINS_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.MYSTIC_PLAINS_FLOWERS);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BLUE_HYDRANGEA_4);

View file

@ -0,0 +1,96 @@
/*******************************************************************************
* Copyright 2014-2019, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.biome.overworld;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.common.biome.BiomeTemplate;
import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType;
import net.minecraft.world.biome.*;
import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.feature.Features;
import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class OvergrownFungalJungleBiome extends BiomeTemplate
{
public OvergrownFungalJungleBiome()
{
this.setBeachBiome(null);
this.setGrassColorFunction(this::getGrassColor);
}
@Override
protected void configureBiome(Biome.Builder builder)
{
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.1F).scale(0.05F).temperature(0.85F).downfall(0.8F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4445678).waterFogColor(270131).fogColor(12638463).skyColor(calculateSkyColor(0.85F)).grassColorOverride(0x4AA2F9).foliageColorOverride(0x4ADCF9).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
}
@Override
protected void configureGeneration(BiomeGenerationSettings.Builder builder)
{
builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS));
// Structures
DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder);
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_JUNGLE);
// Underground
DefaultBiomeFeatures.addDefaultCarvers(builder);
DefaultBiomeFeatures.addDefaultMonsterRoom(builder);
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder);
////////////////////////////////////////////////////////////
// Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.OVERGROWN_FUNGAL_JUNGLE_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.FERN_GRASS_16);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.GLOWSHROOM_EXTRA);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.HUGE_GLOWSHROOM_EXTRA);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LARGE_FERN_14);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SMALL_GLOWSHROOM_EXTRA);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_24);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.SEAGRASS_SWAMP);
////////////////////////////////////////////////////////////
// Other Features
DefaultBiomeFeatures.addDefaultSprings(builder);
DefaultBiomeFeatures.addSurfaceFreezing(builder);
}
@Override
protected void configureMobSpawns(MobSpawnInfo.Builder builder)
{
// Entities
builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE_VILLAGER, 5, 1, 1));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SKELETON, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CREEPER, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1));
}
public int getGrassColor(double x, double z)
{
double d0 = Biome.BIOME_INFO_NOISE.getValue(x * 0.0225D, z * 0.0225D, false);
return d0 < -0.1D ? 0x4AA2F9 : 0x4DD6CA;
}
}

View file

@ -56,8 +56,9 @@ public class PrairieBiome extends BiomeTemplate
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.PRAIRIE_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.CONIFEROUS_FOREST_FLOWERS);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.GOLDENROD_8);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.GOLDENROD_10);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_24);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_24);
////////////////////////////////////////////////////////////

View file

@ -19,9 +19,9 @@ import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class PumpkinPatchBiome extends BiomeTemplate
public class SeasonalPumpkinPatchBiome extends BiomeTemplate
{
public PumpkinPatchBiome()
public SeasonalPumpkinPatchBiome()
{
this.setBeachBiome(BOPBiomes.gravel_beach);
}
@ -53,7 +53,7 @@ public class PumpkinPatchBiome extends BiomeTemplate
////////////////////////////////////////////////////////////
// Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.PUMPKIN_PATCH_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SEASONAL_PUMPKIN_PATCH_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BIG_PUMPKIN);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BUSH_10);

View file

@ -7,32 +7,31 @@
******************************************************************************/
package biomesoplenty.common.biome.overworld;
import biomesoplenty.api.biome.BOPBiomes;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.common.biome.BiomeTemplate;
import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures;
import biomesoplenty.init.ModEntities;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType;
import net.minecraft.world.biome.*;
import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.feature.Features;
import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class MapleWoodsBiome extends BiomeTemplate
public class SnowyMapleForestBiome extends BiomeTemplate
{
public MapleWoodsBiome()
public SnowyMapleForestBiome()
{
this.setBeachBiome(BOPBiomes.gravel_beach);
}
@Override
protected void configureBiome(Biome.Builder builder)
{
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(0.1F).scale(0.2F).temperature(0.2F).downfall(0.8F);
builder.precipitation(Biome.RainType.SNOW).biomeCategory(Biome.Category.ICY).depth(0.2F).scale(0.2F).temperature(-0.25F).downfall(0.5F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.2F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(-0.25F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
}
@Override
@ -41,14 +40,15 @@ public class MapleWoodsBiome extends BiomeTemplate
builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS));
// Structures
builder.addStructureStart(StructureFeatures.VILLAGE_TAIGA);
builder.addStructureStart(StructureFeatures.PILLAGER_OUTPOST);
builder.addStructureStart(StructureFeatures.IGLOO);
DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder);
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD);
// Underground
DefaultBiomeFeatures.addDefaultCarvers(builder);
DefaultBiomeFeatures.addDefaultLakes(builder);
builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER);
DefaultBiomeFeatures.addDefaultMonsterRoom(builder);
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder);
@ -57,12 +57,14 @@ public class MapleWoodsBiome extends BiomeTemplate
////////////////////////////////////////////////////////////
// Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.MAPLE_WOODS_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SNOWY_MAPLE_FOREST_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SNOWY_FLOWERS);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.FERN_GRASS_4);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_BERRY_SPARSE);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_PUMPKIN);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL);
////////////////////////////////////////////////////////////
@ -75,11 +77,8 @@ public class MapleWoodsBiome extends BiomeTemplate
protected void configureMobSpawns(MobSpawnInfo.Builder builder)
{
// Entities
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.deer, 8, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.SHEEP, 12, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PIG, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.CHICKEN, 10, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.COW, 8, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.WOLF, 5, 4, 4));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4));
builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8));

View file

@ -106,6 +106,7 @@ public class BOPConfiguredFeatures
// Biome Tree Listings
public static final ConfiguredFeature<?, ?> ALPS_FOOTHILLS_TREES = register("alps_foothills_trees", ALPS_SPRUCE_TREE.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> BAMBOO_GROVE_TREES = register("bamboo_grove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(WHITE_CHERRY_TREE_BEES.weighted(0.05F), PINK_CHERRY_TREE_BEES.weighted(0.05F), BIG_WHITE_CHERRY_TREE.weighted(0.05F), BIG_PINK_CHERRY_TREE.weighted(0.05F), BIG_FLOWERING_OAK_TREE.weighted(0.1F), FLOWERING_BUSH.weighted(0.3F)), FLOWERING_OAK_TREE_BEES)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(7, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> BAYOU_TREES = register("bayou_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(CYPRESS_TREE_MEDIUM.weighted(0.3F)), CYPRESS_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.6F, 1))));
public static final ConfiguredFeature<?, ?> BAYOU_MANGROVE_TREES = register("bayou_mangrove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(CYPRESS_TREE_MEDIUM.weighted(0.05F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(15, 0.6F, 1))));
public static final ConfiguredFeature<?, ?> CHERRY_BLOSSOM_GROVE_TREES = register("cherry_blossom_grove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(WHITE_CHERRY_TREE_BEES.weighted(0.1F), PINK_CHERRY_TREE_BEES.weighted(0.2F), BIG_WHITE_CHERRY_TREE.weighted(0.3F), FLOWERING_OAK_TREE_BEES.weighted(0.15F), FLOWERING_BUSH.weighted(0.3F)), BIG_PINK_CHERRY_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.3F, 1))));
@ -121,15 +122,15 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> JADE_CLIFFS_TREES = register("jade_cliffs_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE.weighted(0.075F), Features.PINE.weighted(0.025F)), SPRUCE_BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(35, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> LAVENDER_FIELD_TREES = register("lavender_field_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FLOWERING_OAK_TREE_BEES.weighted(0.2F), BIG_FLOWERING_OAK_TREE.weighted(0.1F), BIG_JACARANDA_TREE.weighted(0.1F)), JACARANDA_TREE_BEES)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1))));
public static final ConfiguredFeature<?, ?> LUSH_DESERT_TREES = register("lush_desert_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(ACACIA_BUSH.weighted(0.4F), SPARSE_ACACIA_TREE.weighted(0.2F)), ACACIA_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.4F, 1))));
public static final ConfiguredFeature<?, ?> MAPLE_WOODS_TREES = register("maple_woods_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE.weighted(0.2F), BIG_MAPLE_TREE.weighted(0.05F)), MAPLE_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(20, 0.15F, 1))));
public static final ConfiguredFeature<?, ?> MEADOW_TREES = register("meadow_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE_BEES.weighted(0.25F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> MUSKEG_TREES = register("muskeg_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DARK_OAK_TWIGLET_TREE.weighted(0.4F), DEAD_TREE.weighted(0.3F), DYING_TREE.weighted(0.075F), DEAD_TWIGLET_TREE_TALL.weighted(0.1F)), DEAD_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1))));
public static final ConfiguredFeature<?, ?> MYSTIC_GROVE_TREES = register("mystic_grove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(GIANT_TREE.weighted(0.01F), TALL_SWAMP_TREE.weighted(0.1F), BIG_FLOWERING_OAK_TREE.weighted(0.2F), JACARANDA_TREE.weighted(0.3F), BIG_MAGIC_TREE.weighted(0.3F)), MAGIC_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.5F, 1))));
public static final ConfiguredFeature<?, ?> MYSTIC_GROVE_TREES = register("mystic_grove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_FLOWERING_OAK_TREE.weighted(0.15F), JACARANDA_TREE.weighted(0.25F), BIG_MAGIC_TREE.weighted(0.3F)), MAGIC_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.5F, 1))));
public static final ConfiguredFeature<?, ?> MYSTIC_PLAINS_TREES = register("mystic_plains_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FLOWERING_OAK_TREE.weighted(0.1F), JACARANDA_TREE.weighted(0.25F)), MAGIC_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1))));
public static final ConfiguredFeature<?, ?> OMINOUS_WOODS_TREES = register("ominous_woods_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TREE.weighted(0.05F), DYING_TREE.weighted(0.15F), WILLOW_TREE.weighted(0.15F), TALL_UMBRAN_TREE.weighted(0.7F)), UMBRAN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(7, 0.5F, 1))));
public static final ConfiguredFeature<?, ?> ORCHARD_TREES = register("orchard_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_FLOWERING_OAK_TREE.weighted(0.1F)), FLOWERING_OAK_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> ORIGIN_VALLEY_TREES = register("origin_valley_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_ORIGIN_TREE.weighted(0.1F)), ORIGIN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(BOPPlacements.ALPHA_TREE.configured(NoPlacementConfig.INSTANCE)));
public static final ConfiguredFeature<?, ?> OVERGROWN_FUNGAL_JUNGLE_TREES = register("overgrown_fungal_jungle_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(GIANT_TREE.weighted(0.04F), BIG_OAK_TREE.weighted(0.4F), Features.OAK.weighted(0.2F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(20, 0.6F, 1))));
public static final ConfiguredFeature<?, ?> PRAIRIE_TREES = register("prairie_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_OAK_TREE.weighted(0.1F)), SPARSE_OAK_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig((int)0.85F, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> PUMPKIN_PATCH_TREES = register("pumpkin_patch_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.2F)), TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.5F, 1))));
public static final ConfiguredFeature<?, ?> RAINBOW_HILLS_TREES = register("rainbow_hills_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.2F), FIR_TREE_SMALL.weighted(0.1F), FIR_TREE.weighted(0.025F), BIG_RAINBOW_BIRCH_TREE.weighted(0.2F)), RAINBOW_BIRCH_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(15, 0.5F, 1))));
public static final ConfiguredFeature<?, ?> RAINFOREST_TREES = register("rainforest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(Features.JUNGLE_TREE.weighted(0.1F)), MAHOGANY_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(12, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> RAINFOREST_CLEARING_TREES = register("rainforest_clearing_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(SPARSE_OAK_TREE.weighted(0.3F), BIG_OAK_TREE.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.3F, 1))));
@ -137,11 +138,13 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> REDWOOD_FOREST_EDGE_TREES = register("redwood_forest_edge_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(REDWOOD_TREE.weighted(0.3F), REDWOOD_TREE_MEDIUM.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> REDWOOD_FOREST_TREES = register("redwood_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(REDWOOD_TREE.weighted(0.1F), REDWOOD_TREE_MEDIUM.weighted(0.3F), REDWOOD_TREE_LARGE.weighted(0.5F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(18, 0.2F, 1))));
public static final ConfiguredFeature<?, ?> SEASONAL_FOREST_TREES = register("seasonal_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(Features.OAK.weighted(0.05F), BIG_OAK_TREE.weighted(0.025F), MAPLE_TREE.weighted(0.2F), YELLOW_AUTUMN_TREE.weighted(0.3F), BIG_MAPLE_TREE.weighted(0.1F), BIG_YELLOW_AUTUMN_TREE.weighted(0.1F), BIG_ORANGE_AUTUMN_TREE.weighted(0.1F)), ORANGE_AUTUMN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> SEASONAL_PUMPKIN_PATCH_TREES = register("seasonal_pumpkin_patch_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.2F), YELLOW_AUTUMN_TREE.weighted(0.1F), BIG_YELLOW_AUTUMN_TREE.weighted(0.05F)), TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(6, 0.5F, 1))));
public static final ConfiguredFeature<?, ?> SHROOMY_WETLAND_TREES = register("shroomy_wetland_trees", DARK_OAK_TWIGLET_TREE.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(3, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> SHRUBLAND_TREES = register("shrubland_trees", BUSH.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.05F, 1))));
public static final ConfiguredFeature<?, ?> SHRUBLAND_HILLS_TREES = register("shrubland_hills_trees", BUSH.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.05F, 1))));
public static final ConfiguredFeature<?, ?> SILKGLADE_TREES = register("silkglade_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(Features.SWAMP_TREE.weighted(0.05F), BIRCH_POPLAR.weighted(0.15F), COBWEB_BUSH.weighted(0.2F), SMALL_DEAD_TREE.weighted(0.5F), SILK_TREE.weighted(0.2F), FULL_COBWEB_BUSH.weighted(0.05F), FULL_SILK_TREE.weighted(0.05F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.4F, 1))));
public static final ConfiguredFeature<?, ?> SNOWY_CONIFEROUS_FOREST_TREES = register("snowy_coniferous_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FIR_TREE.weighted(0.33333334F)), FIR_TREE_LARGE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(4, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> SNOWY_CONIFEROUS_FOREST_TREES = register("snowy_coniferous_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FIR_TREE.weighted(0.4F), MAPLE_TREE.weighted(0.1F)), FIR_TREE_LARGE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(6, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> SNOWY_MAPLE_FOREST_TREES = register("snowy_maple_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FIR_TREE.weighted(0.025F), FIR_TREE_SMALL.weighted(0.1F), BIG_MAPLE_TREE.weighted(0.3F)), MAPLE_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> TROPICS_TREES = register("tropics_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(JUNGLE_TWIGLET_TREE.weighted(0.3F), FLOWERING_BUSH.weighted(0.1F)), PALM_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(11, 0.2F, 1))));
public static final ConfiguredFeature<?, ?> TUNDRA_TREES = register("tundra_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TWIGLET_TREE_SMALL.weighted(0.1F)), MAPLE_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> TUNDRA_BOG_TREES = register("tundra_bog_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(SPRUCE_TWIGLET_TREE.weighted(0.4F), MAPLE_TWIGLET_TREE.weighted(0.6F)), TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(16, 0.4F, 1))));
@ -166,7 +169,7 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> OMINOUS_WOODS_FLOWERS = register("ominous_woods_flowers", BOPFeatures.OMINOUS_WOODS_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(3)));
public static final ConfiguredFeature<?, ?> ORCHARD_FLOWERS = register("orchard_flowers", BOPFeatures.EXTENDED_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(15)));
public static final ConfiguredFeature<?, ?> ORIGIN_FLOWERS = register("origin_flowers", BOPFeatures.ORIGIN_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(4)));
public static final ConfiguredFeature<?, ?> POPPY_FIELD_FLOWERS = register("poppy_field_flowers", BOPFeatures.POPPY_FEATURE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(500)));
public static final ConfiguredFeature<?, ?> POPPY_FLOWERS = register("poppy_flowers", BOPFeatures.POPPY_FEATURE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(500)));
public static final ConfiguredFeature<?, ?> RAINBOW_HILLS_FLOWERS = register("rainbow_hills_flowers", BOPFeatures.RAINBOW_HILLS_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(25)));
public static final ConfiguredFeature<?, ?> RAINFOREST_FLOWERS = register("rainforest_flowers", BOPFeatures.RAINFOREST_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(5)));
public static final ConfiguredFeature<?, ?> SHRUBLAND_FLOWERS = register("shrubland_flowers", BOPFeatures.SHRUBLAND_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(3)));
@ -216,7 +219,7 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> TALL_GRASS_6 = register("tall_grass_6", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(6)));
public static final ConfiguredFeature<?, ?> TALL_GRASS_12 = register("tall_grass_12", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(12)));
public static final ConfiguredFeature<?, ?> TALL_GRASS_24 = register("tall_grass_24", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(24)));
public static final ConfiguredFeature<?, ?> TALL_GRASS_125 = register("tall_grass_125", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(125)));
public static final ConfiguredFeature<?, ?> TALL_GRASS_64 = register("tall_grass_64", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(64)));
public static final ConfiguredFeature<?, ?> TALL_GRASS_250 = register("tall_grass_250", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(FeatureUtil.denseCount(250)));
public static final ConfiguredFeature<?, ?> LARGE_FERN_7 = register("large_fern_7", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.LARGE_FERN.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(7)));
@ -231,8 +234,9 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> TOADSTOOL_NORMAL = register("toadstool_normal", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.toadstool.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(1)));
public static final ConfiguredFeature<?, ?> TOADSTOOL_EXTRA = register("toadstool_extra", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.toadstool.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(3)));
public static final ConfiguredFeature<?, ?> GLOWSHROOM_EXTRA = register("glowshroom_extra", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.glowshroom.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(20)));
public static final ConfiguredFeature<?, ?> PASTURE_TALL_WHEAT = register("pasture_tall_wheat", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.tall_wheat.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(600)));
public static final ConfiguredFeature<?, ?> GLOWSHROOM_NORMAL = register("glowshroom_normal", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.glowshroom.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(20)));
public static final ConfiguredFeature<?, ?> GLOWSHROOM_EXTRA = register("glowshroom_extra", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.glowshroom.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(50)));
public static final ConfiguredFeature<?, ?> GOLDEN_PRAIRIE_TALL_WHEAT = register("golden_prairie_tall_wheat", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.tall_wheat.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(500)));
// Water Plants
public static final ConfiguredFeature<?, ?> REED_5 = register("reed_5", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(5)));
@ -263,9 +267,8 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> ROSE_BUSH_4 = register("rose_bush_4", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.ROSE_BUSH.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(4)));
public static final ConfiguredFeature<?, ?> ROSE_BUSH_15 = register("rose_bush_15", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.ROSE_BUSH.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(15)));
public static final ConfiguredFeature<?, ?> GOLDENROD_1 = register("goldenrod_1", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.goldenrod.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(1)));
public static final ConfiguredFeature<?, ?> GOLDENROD_2 = register("goldenrod_2", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.goldenrod.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(2)));
public static final ConfiguredFeature<?, ?> GOLDENROD_8 = register("goldenrod_8", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.goldenrod.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(8)));
public static final ConfiguredFeature<?, ?> GOLDENROD_10 = register("goldenrod_10", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.goldenrod.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(10)));
public static final ConfiguredFeature<?, ?> BLUE_HYDRANGEA_1 = register("blue_hydrangea_1", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.blue_hydrangea.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(1)));
public static final ConfiguredFeature<?, ?> BLUE_HYDRANGEA_4 = register("blue_hydrangea_4", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.blue_hydrangea.defaultBlockState())).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(4)));
@ -282,7 +285,8 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> FLESH_TENDON = register("flesh_tendon", BOPFeatures.FLESH_TENDON.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(65)));
public static final ConfiguredFeature<?, ?> GRAVEL_DISK_EXTRA = register("gravel_disk_extra", Feature.DISK.configured(new SphereReplaceConfig(Blocks.GRAVEL.defaultBlockState(), FeatureSpread.of(4, 2), 1, ImmutableList.of(Blocks.DIRT.defaultBlockState(), Blocks.GRASS_BLOCK.defaultBlockState()))).decorated(Features.Placements.TOP_SOLID_HEIGHTMAP_SQUARE).count(6));
public static final ConfiguredFeature<?, ?> HUGE_BROWN_MUSHROOM_EXTRA = register("huge_brown_mushroom_extra", Features.HUGE_BROWN_MUSHROOM.decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(19)));
public static final ConfiguredFeature<?, ?> HUGE_GLOWSHROOM = register("huge_glowshroom", BOPFeatures.HUGE_GLOWSHROOM.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(9)));
public static final ConfiguredFeature<?, ?> HUGE_GLOWSHROOM = register("huge_glowshroom", BOPFeatures.HUGE_GLOWSHROOM.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(6)));
public static final ConfiguredFeature<?, ?> HUGE_GLOWSHROOM_EXTRA = register("huge_glowshroom_extra", BOPFeatures.HUGE_GLOWSHROOM.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(18)));
public static final ConfiguredFeature<?, ?> HUGE_RED_MUSHROOM_EXTRA = register("huge_red_mushroom_extra", Features.HUGE_RED_MUSHROOM.decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(6)));
public static final ConfiguredFeature<?, ?> HUGE_TOADSTOOL = register("huge_toadstool", BOPFeatures.HUGE_TOADSTOOL.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(1)));
public static final ConfiguredFeature<?, ?> LARGE_CRYSTAL = register("large_crystal", BOPFeatures.LARGE_CRYSTAL.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(200)));
@ -305,6 +309,7 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> SMALL_BROWN_MUSHROOM = register("small_brown_mushroom", BOPFeatures.SMALL_BROWN_MUSHROOM.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(2)));
public static final ConfiguredFeature<?, ?> SMALL_CRYSTAL = register("small_crystal", BOPFeatures.SMALL_CRYSTAL.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(40)));
public static final ConfiguredFeature<?, ?> SMALL_GLOWSHROOM = register("small_glowshroom", BOPFeatures.SMALL_GLOWSHROOM.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(3)));
public static final ConfiguredFeature<?, ?> SMALL_GLOWSHROOM_EXTRA = register("small_glowshroom_extra", BOPFeatures.SMALL_GLOWSHROOM.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(12)));
public static final ConfiguredFeature<?, ?> SMALL_RED_MUSHROOM = register("small_red_mushroom", BOPFeatures.SMALL_RED_MUSHROOM.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(1)));
public static final ConfiguredFeature<?, ?> SMALL_TOADSTOOL = register("small_toadstool", BOPFeatures.SMALL_TOADSTOOL.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(1)));
public static final ConfiguredFeature<?, ?> VOLCANO_GRASS_SPLATTER = register("volcano_grass_splatter", BOPFeatures.GRASS_SPLATTER.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(25)));

View file

@ -23,7 +23,6 @@ import net.minecraft.world.gen.feature.*;
public class BOPFeatures
{
//Standard Trees
public static final Feature<BaseTreeFeatureConfig> SMALL_JUNGLE_TREE = register("small_jungle_tree", new BasicTreeFeature.Builder().maxHeight(9).log(Blocks.JUNGLE_LOG.defaultBlockState()).leaves(Blocks.JUNGLE_LEAVES.defaultBlockState()).trunkFruit(Blocks.COCOA.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> ORIGIN_TREE = register("origin_tree", new BasicTreeFeature.Builder().leaves(BOPBlocks.origin_leaves.defaultBlockState()).minHeight(5).maxHeight(8).create());
public static final Feature<BaseTreeFeatureConfig> FLOWERING_OAK_TREE = register("flowering_oak_tree", new BasicTreeFeature.Builder().altLeaves(BOPBlocks.flowering_oak_leaves.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> RAINBOW_BIRCH_TREE = register("rainbow_birch_tree", new BasicTreeFeature.Builder().log(Blocks.BIRCH_LOG.defaultBlockState()).leaves(BOPBlocks.rainbow_birch_leaves.defaultBlockState()).create());
@ -36,7 +35,7 @@ public class BOPFeatures
public static final Feature<BaseTreeFeatureConfig> SMALL_DEAD_TREE = register("small_dead_tree", new BasicTreeFeature.Builder().log(BOPBlocks.dead_log.defaultBlockState()).leaves(BOPBlocks.dead_leaves.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> SILK_TREE = register("silk_tree", new BasicTreeFeature.Builder().log(BOPBlocks.dead_log.defaultBlockState()).leaves(BOPBlocks.dead_leaves.defaultBlockState()).altLeaves(Blocks.COBWEB.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> FULL_SILK_TREE = register("full_silk_tree", new BasicTreeFeature.Builder().log(BOPBlocks.dead_log.defaultBlockState()).leaves(Blocks.COBWEB.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> MAGIC_TREE = register("magic_tree", new BasicTreeFeature.Builder().log(BOPBlocks.magic_log.defaultBlockState()).leaves(BOPBlocks.magic_leaves.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> MAGIC_TREE = register("magic_tree", new PoplarTreeFeature.Builder().log(BOPBlocks.magic_log.defaultBlockState()).leaves(BOPBlocks.magic_leaves.defaultBlockState()).minHeight(8).maxHeight(12).create());
//Big Trees
public static final Feature<BaseTreeFeatureConfig> BIG_OAK_TREE = register("big_oak_tree", new BigTreeFeature.Builder().create());
@ -49,9 +48,9 @@ public class BOPFeatures
public static final Feature<BaseTreeFeatureConfig> BIG_PINK_CHERRY_TREE = register("big_pink_cherry_tree", new BigTreeFeature.Builder().log(BOPBlocks.cherry_log.defaultBlockState()).leaves(BOPBlocks.pink_cherry_leaves.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> BIG_WHITE_CHERRY_TREE = register("big_white_cherry_tree", new BigTreeFeature.Builder().log(BOPBlocks.cherry_log.defaultBlockState()).leaves(BOPBlocks.white_cherry_leaves.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> BIG_JACARANDA_TREE = register("big_jacaranda_tree", new BigTreeFeature.Builder().log(BOPBlocks.jacaranda_log.defaultBlockState()).leaves(BOPBlocks.jacaranda_leaves.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> BIG_MAGIC_TREE = register("big_magic_tree", new BigTreeFeature.Builder().log(BOPBlocks.magic_log.defaultBlockState()).leaves(BOPBlocks.magic_leaves.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> BIG_MAGIC_TREE = register("big_magic_tree", new PoplarTreeFeature.Builder().log(BOPBlocks.magic_log.defaultBlockState()).leaves(BOPBlocks.magic_leaves.defaultBlockState()).minHeight(16).maxHeight(20).create());
public static final Feature<BaseTreeFeatureConfig> GIANT_TREE = register("giant_tree", new BigTreeFeature.Builder().log(Blocks.DARK_OAK_LOG.defaultBlockState()).leaves(Blocks.DARK_OAK_LEAVES.defaultBlockState().setValue(LeavesBlock.PERSISTENT, true)).minHeight(15).maxHeight(20).trunkWidth(4).create());
public static final Feature<BaseTreeFeatureConfig> GIANT_TREE = register("giant_tree", new BigTreeFeature.Builder().log(Blocks.DARK_OAK_LOG.defaultBlockState()).leaves(Blocks.DARK_OAK_LEAVES.defaultBlockState().setValue(LeavesBlock.PERSISTENT, true)).minHeight(12).maxHeight(18).trunkWidth(4).create());
//Conifer Trees
public static final Feature<BaseTreeFeatureConfig> TALL_SPRUCE_TREE = register("tall_spruce_tree", new TaigaTreeFeature.Builder().log(Blocks.SPRUCE_LOG.defaultBlockState()).leaves(Blocks.SPRUCE_LEAVES.defaultBlockState()).maxHeight(13).create());
@ -59,8 +58,6 @@ public class BOPFeatures
public static final Feature<BaseTreeFeatureConfig> FIR_TREE_SMALL = register("fir_tree_small", new TaigaTreeFeature.Builder().log(BOPBlocks.fir_log.defaultBlockState()).leaves(BOPBlocks.fir_leaves.defaultBlockState()).minHeight(5).maxHeight(11).create());
public static final Feature<BaseTreeFeatureConfig> FIR_TREE = register("fir_tree", new TaigaTreeFeature.Builder().log(BOPBlocks.fir_log.defaultBlockState()).leaves(BOPBlocks.fir_leaves.defaultBlockState()).minHeight(5).maxHeight(28).create());
public static final Feature<BaseTreeFeatureConfig> FIR_TREE_LARGE = register("fir_tree_large", new TaigaTreeFeature.Builder().log(BOPBlocks.fir_log.defaultBlockState()).leaves(BOPBlocks.fir_leaves.defaultBlockState()).minHeight(20).maxHeight(40).trunkWidth(2).create());
public static final Feature<BaseTreeFeatureConfig> SEQUOIA_TREE = register("sequoia_tree", new TaigaTreeFeature.Builder().log(BOPBlocks.redwood_log.defaultBlockState()).leaves(BOPBlocks.redwood_leaves.defaultBlockState()).minHeight(5).maxHeight(15).create());
public static final Feature<BaseTreeFeatureConfig> SEQUOIA_TREE_LARGE = register("sequoia_tree_large", new TaigaTreeFeature.Builder().log(BOPBlocks.redwood_log.defaultBlockState()).leaves(BOPBlocks.redwood_leaves.defaultBlockState()).minHeight(20).maxHeight(35).create());
public static final Feature<BaseTreeFeatureConfig> UMBRAN_TREE = register("umbran_tree", new TaigaTreeFeature.Builder().log(BOPBlocks.umbran_log.defaultBlockState()).leaves(BOPBlocks.umbran_leaves.defaultBlockState()).maxHeight(20).create());
public static final Feature<BaseTreeFeatureConfig> TALL_UMBRAN_TREE = register("tall_umbran_tree", new TaigaTreeFeature.Builder().log(BOPBlocks.umbran_log.defaultBlockState()).leaves(BOPBlocks.umbran_leaves.defaultBlockState()).minHeight(20).maxHeight(30).trunkWidth(2).create());
@ -68,7 +65,6 @@ public class BOPFeatures
public static final Feature<BaseTreeFeatureConfig> SPRUCE_POPLAR = register("spruce_poplar", new PoplarTreeFeature.Builder().log(Blocks.SPRUCE_LOG.defaultBlockState()).leaves(Blocks.SPRUCE_LEAVES.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> BIRCH_POPLAR = register("birch_poplar", new PoplarTreeFeature.Builder().log(Blocks.BIRCH_LOG.defaultBlockState()).leaves(Blocks.BIRCH_LEAVES.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> DARK_OAK_POPLAR = register("dark_oak_poplar", new PoplarTreeFeature.Builder().log(Blocks.DARK_OAK_LOG.defaultBlockState()).leaves(Blocks.DARK_OAK_LEAVES.defaultBlockState()).create());
public static final Feature<BaseTreeFeatureConfig> YELLOW_POPLAR_TREE = register("yellow_poplar_tree", new PoplarTreeFeature.Builder().log(Blocks.BIRCH_LOG.defaultBlockState()).leaves(BOPBlocks.yellow_autumn_leaves.defaultBlockState()).create());
//Swamp Trees
public static final Feature<BaseTreeFeatureConfig> CYPRESS_TREE = register("cypress_tree", new CypressTreeFeature.Builder().create());

View file

@ -109,11 +109,11 @@ public class HugeGlowshroomFeature extends Feature<NoFeatureConfig>
public boolean checkSpace(IWorld world, BlockPos pos)
{
for (int y = 0; y <= 16; y++)
for (int y = 0; y <= 6; y++)
{
for (int x = -3; x <= 3; x++)
for (int x = -2; x <= 2; x++)
{
for (int z = -3; z <= 3; z++)
for (int z = -2; z <= 2; z++)
{
BlockPos pos1 = pos.offset(x, y, z);
if (pos1.getY() >= 255 || !this.replace.matches(world, pos1))

View file

@ -85,9 +85,9 @@ public class HugeToadstoolFeature extends Feature<NoFeatureConfig>
{
for (int y = 0; y <= 8; y++)
{
for (int x = -3; x <= 3; x++)
for (int x = -1; x <= 1; x++)
{
for (int z = -3; z <= 3; z++)
for (int z = -1; z <= 1; z++)
{
BlockPos pos1 = pos.offset(x, y, z);
if (pos1.getY() >= 255 || !this.replace.matches(world, pos1))

View file

@ -41,7 +41,7 @@ public class BOPSurfaceBuilders
public static final SurfaceBuilder<SurfaceBuilderConfig> VOLCANO = register("volcano", new VolcanoSurfaceBuilder(SurfaceBuilderConfig.CODEC));
public static final SurfaceBuilder<SurfaceBuilderConfig> DEEP_TOP_LAYER = register("deep_top_layer", new DeepTopLayerSurfaceBuilder(SurfaceBuilderConfig.CODEC));
public static final SurfaceBuilder<SurfaceBuilderConfig> ORANGE_SANDSTONE = register("orange_sandstone", new OrangeSandstoneSurfaceBuilder(SurfaceBuilderConfig.CODEC));
public static final SurfaceBuilder<SurfaceBuilderConfig> POPPY_FIELD = register("poppy_field", new PoppyFieldSurfaceBuilder(SurfaceBuilderConfig.CODEC));
public static final SurfaceBuilder<SurfaceBuilderConfig> LUSH_SAVANNA = register("lush_savanna", new LushSavannaSurfaceBuilder(SurfaceBuilderConfig.CODEC));
public static final SurfaceBuilder<SurfaceBuilderConfig> WITHERED_ABYSS = register("withered_abyss", new WitheredAbyssSurfaceBuilder(SurfaceBuilderConfig.CODEC));
public static final SurfaceBuilder<SurfaceBuilderConfig> FLESH = register("flesh", new FleshSurfaceBuilder(SurfaceBuilderConfig.CODEC));
public static final SurfaceBuilder<SurfaceBuilderConfig> ORIGIN_VALLEY = register("origin_valley", new OriginValleySurfaceBuilder(SurfaceBuilderConfig.CODEC));

View file

@ -16,9 +16,9 @@ import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig;
import java.util.Random;
public class PoppyFieldSurfaceBuilder extends SurfaceBuilder<SurfaceBuilderConfig>
public class LushSavannaSurfaceBuilder extends SurfaceBuilder<SurfaceBuilderConfig>
{
public PoppyFieldSurfaceBuilder(Codec<SurfaceBuilderConfig> deserializer)
public LushSavannaSurfaceBuilder(Codec<SurfaceBuilderConfig> deserializer)
{
super(deserializer);
}

View file

@ -127,6 +127,7 @@ public class ModBiomes
//Overworld Biomes
registerBiome(new AlpsBiome(), "alps");
registerBiome(new BambooGroveBiome(), "bamboo_grove");
registerBiome(new BayouBiome(), "bayou");
registerBiome(new CherryBlossomGroveBiome(), "cherry_blossom_grove");
registerBiome(new ConiferousForestBiome(), "coniferous_forest");
@ -138,34 +139,35 @@ public class ModBiomes
registerBiome(new FirClearingBiome(), "fir_clearing");
registerBiome(new FlowerMeadowBiome(), "flower_meadow");
registerBiome(new FungalJungleBiome(), "fungal_jungle");
registerBiome(new GoldenPrairieBiome(), "golden_prairie");
registerBiome(new GroveBiome(), "grove");
registerBiome(new HighlandBiome(), "highland");
registerBiome(new HighlandMoorBiome(), "highland_moor");
registerBiome(new JadeCliffsBiome(), "jade_cliffs");
registerBiome(new LavenderFieldBiome(), "lavender_field");
registerBiome(new LushDesertBiome(), "lush_desert");
registerBiome(new MapleWoodsBiome(), "maple_woods");
registerBiome(new LushSavannaBiome(), "lush_savanna");
registerBiome(new MeadowBiome(), "meadow");
registerBiome(new MuskegBiome(), "muskeg");
registerBiome(new MysticGroveBiome(), "mystic_grove");
registerBiome(new MysticPlainsBiome(), "mystic_plains");
registerBiome(new OminousWoodsBiome(), "ominous_woods");
registerBiome(new OriginValleyBiome(), "origin_valley");
registerBiome(new PastureBiome(), "pasture");
registerBiome(new PoppyFieldBiome(), "poppy_field");
registerBiome(new OvergrownFungalJungleBiome(), "overgrown_fungal_jungle");
registerBiome(new PrairieBiome(), "prairie");
registerBiome(new PumpkinPatchBiome(), "pumpkin_patch");
registerBiome(new RainbowHillsBiome(), "rainbow_hills");
registerBiome(new RainforestBiome(), "rainforest");
registerBiome(new RainforestClearingBiome(), "rainforest_clearing");
registerBiome(new RainforestCliffsBiome(), "rainforest_cliffs");
registerBiome(new RedwoodForestBiome(), "redwood_forest");
registerBiome(new SeasonalForestBiome(), "seasonal_forest");
registerBiome(new SeasonalPumpkinPatchBiome(), "seasonal_pumpkin_patch");
registerBiome(new ShroomyWetlandBiome(), "shroomy_wetland");
registerBiome(new ShrublandBiome(), "shrubland");
registerBiome(new ShrublandHillsBiome(), "shrubland_hills");
registerBiome(new SilkgladeBiome(), "silkglade");
registerBiome(new SnowyConiferousForestBiome(), "snowy_coniferous_forest");
registerBiome(new SnowyMapleForestBiome(), "snowy_maple_forest");
registerBiome(new SnowyFirClearingBiome(), "snowy_fir_clearing");
registerBiome(new TropicsBiome(), "tropics");
registerBiome(new TundraBiome(), "tundra");
@ -189,24 +191,35 @@ public class ModBiomes
registerSubBiome(bayou, dense_bayou, 1.0F, 100);
registerSubBiome(bayou, bayou_mangrove, 1.0F, 100);
registerSubBiome(cherry_blossom_grove, bamboo_grove, 0.8F, 100);
registerSubBiome(coniferous_forest, fir_clearing, 0.75F, 100);
registerSubBiome(coniferous_forest, coniferous_lakes, 1.0F, 100);
registerSubBiome(highland, highland_moor, 0.75F, 100);
registerSubBiome(meadow, flower_meadow, 0.5F, 100);
registerSubBiome(prairie, pasture, 1.0F, 100);
registerSubBiome(seasonal_forest, pumpkin_patch, 0.45F, 100);
registerSubBiome(snowy_coniferous_forest, snowy_fir_clearing, 0.5F, 100);
registerSubBiome(dryland, dry_steppe, 1.0F, 100);
registerSubBiome(fungal_jungle, overgrown_fungal_jungle, 0.8F, 100);
registerSubBiome(highland, highland_moor, 0.75F, 100);
registerSubBiome(lush_desert, lush_savanna, 0.65F, 100);
registerSubBiome(meadow, flower_meadow, 0.5F, 100);
registerSubBiome(mystic_grove, mystic_plains, 0.75F, 100);
registerSubBiome(prairie, golden_prairie, 1.0F, 100);
registerSubBiome(rainforest, rainforest_cliffs, 2.0F, 100);
registerSubBiome(rainforest, rainforest_clearing, 2.0F, 100);
registerSubBiome(seasonal_forest, seasonal_pumpkin_patch, 0.45F, 100);
registerSubBiome(shrubland, shrubland_hills, 0.75F, 100);
registerSubBiome(snowy_coniferous_forest, snowy_fir_clearing, 0.75F, 100);
registerSubBiome(snowy_coniferous_forest, snowy_maple_forest, 1.25F, 100);
registerSubBiome(tundra, tundra_basin, 1.5F, 100);
registerSubBiome(tundra, tundra_bog, 2.0F, 100);
@ -270,6 +283,7 @@ public class ModBiomes
{
registerVillagerType(alps, VillagerType.SNOW);
registerVillagerType(alps_foothills, VillagerType.SNOW);
registerVillagerType(bamboo_grove, VillagerType.PLAINS);
registerVillagerType(bayou, VillagerType.SWAMP);
registerVillagerType(bayou_mangrove, VillagerType.SWAMP);
registerVillagerType(cherry_blossom_grove, VillagerType.PLAINS);
@ -282,14 +296,15 @@ public class ModBiomes
registerVillagerType(fir_clearing, VillagerType.TAIGA);
registerVillagerType(flower_meadow, VillagerType.TAIGA);
registerVillagerType(fungal_jungle, VillagerType.JUNGLE);
registerVillagerType(golden_prairie, VillagerType.PLAINS);
registerVillagerType(gravel_beach, VillagerType.PLAINS);
registerVillagerType(grove, VillagerType.PLAINS);
registerVillagerType(highland, VillagerType.PLAINS);
registerVillagerType(highland_moor, VillagerType.PLAINS);
registerVillagerType(jade_cliffs, VillagerType.PLAINS);
registerVillagerType(lavender_field, VillagerType.PLAINS);
registerVillagerType(lush_desert, VillagerType.DESERT);
registerVillagerType(maple_woods, VillagerType.TAIGA);
registerVillagerType(lush_desert, VillagerType.SAVANNA);
registerVillagerType(lush_savanna, VillagerType.SAVANNA);
registerVillagerType(meadow, VillagerType.TAIGA);
registerVillagerType(muskeg, VillagerType.SNOW);
registerVillagerType(mystic_grove, VillagerType.PLAINS);
@ -297,10 +312,8 @@ public class ModBiomes
registerVillagerType(ominous_woods, VillagerType.SWAMP);
registerVillagerType(orchard, VillagerType.PLAINS);
registerVillagerType(origin_valley, VillagerType.PLAINS);
registerVillagerType(pasture, VillagerType.PLAINS);
registerVillagerType(poppy_field, VillagerType.PLAINS);
registerVillagerType(overgrown_fungal_jungle, VillagerType.JUNGLE);
registerVillagerType(prairie, VillagerType.PLAINS);
registerVillagerType(pumpkin_patch, VillagerType.PLAINS);
registerVillagerType(rainbow_hills, VillagerType.PLAINS);
registerVillagerType(rainforest, VillagerType.JUNGLE);
registerVillagerType(rainforest_clearing, VillagerType.JUNGLE);
@ -308,12 +321,14 @@ public class ModBiomes
registerVillagerType(redwood_forest, VillagerType.PLAINS);
registerVillagerType(redwood_forest_edge, VillagerType.PLAINS);
registerVillagerType(seasonal_forest, VillagerType.PLAINS);
registerVillagerType(seasonal_pumpkin_patch, VillagerType.PLAINS);
registerVillagerType(shroomy_wetland, VillagerType.SWAMP);
registerVillagerType(shrubland, VillagerType.PLAINS);
registerVillagerType(shrubland_hills, VillagerType.PLAINS);
registerVillagerType(silkglade, VillagerType.SWAMP);
registerVillagerType(snowy_coniferous_forest, VillagerType.SNOW);
registerVillagerType(snowy_fir_clearing, VillagerType.SNOW);
registerVillagerType(snowy_maple_forest, VillagerType.SNOW);
registerVillagerType(tropic_beach, VillagerType.JUNGLE);
registerVillagerType(tropics, VillagerType.JUNGLE);
registerVillagerType(tundra, VillagerType.TAIGA);

View file

@ -9,6 +9,7 @@
"biome.biomesoplenty.alps": "Alps",
"biome.biomesoplenty.alps_foothills": "Alps Foothills",
"biome.biomesoplenty.bamboo_grove": "Bamboo Grove",
"biome.biomesoplenty.bayou": "Bayou",
"biome.biomesoplenty.bayou_mangrove": "Bayou Mangrove",
"biome.biomesoplenty.cherry_blossom_grove": "Cherry Blossom Grove",
@ -24,6 +25,7 @@
"biome.biomesoplenty.fir_clearing": "Fir Clearing",
"biome.biomesoplenty.flower_meadow": "Flower Meadow",
"biome.biomesoplenty.fungal_jungle": "Fungal Jungle",
"biome.biomesoplenty.golden_prairie": "Golden Prairie",
"biome.biomesoplenty.gravel_beach": "Gravel Beach",
"biome.biomesoplenty.grove": "Grove",
"biome.biomesoplenty.highland": "Highland",
@ -31,7 +33,7 @@
"biome.biomesoplenty.jade_cliffs": "Jade Cliffs",
"biome.biomesoplenty.lavender_field": "Lavender Field",
"biome.biomesoplenty.lush_desert": "Lush Desert",
"biome.biomesoplenty.maple_woods": "Maple Woods",
"biome.biomesoplenty.lush_savanna": "Lush Savanna",
"biome.biomesoplenty.meadow": "Meadow",
"biome.biomesoplenty.muskeg": "Muskeg",
"biome.biomesoplenty.mystic_grove": "Mystic Grove",
@ -39,10 +41,8 @@
"biome.biomesoplenty.ominous_woods": "Ominous Woods",
"biome.biomesoplenty.orchard": "Orchard",
"biome.biomesoplenty.origin_valley": "Origin Valley",
"biome.biomesoplenty.pasture": "Pasture",
"biome.biomesoplenty.poppy_field": "Poppy Field",
"biome.biomesoplenty.overgrown_fungal_jungle": "Overgrown Fungal Jungle",
"biome.biomesoplenty.prairie": "Prairie",
"biome.biomesoplenty.pumpkin_patch": "Pumpkin Patch",
"biome.biomesoplenty.rainbow_hills": "Rainbow Hills",
"biome.biomesoplenty.rainforest": "Rainforest",
"biome.biomesoplenty.rainforest_clearing": "Rainforest Clearing",
@ -50,12 +50,14 @@
"biome.biomesoplenty.redwood_forest": "Redwood Forest",
"biome.biomesoplenty.redwood_forest_edge": "Redwood Forest Edge",
"biome.biomesoplenty.seasonal_forest": "Seasonal Forest",
"biome.biomesoplenty.seasonal_pumpkin_patch": "Seasonal Pumpkin Patch",
"biome.biomesoplenty.shroomy_wetland": "Shroomy Wetland",
"biome.biomesoplenty.shrubland": "Shrubland",
"biome.biomesoplenty.shrubland_hills": "Shrubland Hills",
"biome.biomesoplenty.silkglade": "Silkglade",
"biome.biomesoplenty.snowy_coniferous_forest": "Snowy Coniferous Forest",
"biome.biomesoplenty.snowy_fir_clearing": "Snowy Fir Clearing",
"biome.biomesoplenty.snowy_maple_forest": "Snowy Maple Forest",
"biome.biomesoplenty.tropic_beach": "Tropic Beach",
"biome.biomesoplenty.tropics": "Tropics",
"biome.biomesoplenty.tundra": "Tundra",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 B

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 B

After

Width:  |  Height:  |  Size: 336 B

View file

@ -26,6 +26,12 @@
"conditions": {
"biome": "biomesoplenty:alps_foothills"
}
},
"bamboo_grove": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:bamboo_grove"
}
},
"bayou": {
"trigger": "minecraft:location",
@ -104,6 +110,12 @@
"conditions": {
"biome": "biomesoplenty:fungal_jungle"
}
},
"golden_prairie": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:golden_prairie"
}
},
"gravel_beach": {
"trigger": "minecraft:location",
@ -147,10 +159,10 @@
"biome": "biomesoplenty:lush_desert"
}
},
"maple_woods": {
"lush_savanna": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:maple_woods"
"biome": "biomesoplenty:lush_savanna"
}
},
"meadow": {
@ -195,16 +207,10 @@
"biome": "biomesoplenty:origin_valley"
}
},
"pasture": {
"overgrown_fungal_jungle": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:pasture"
}
},
"poppy_field": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:poppy_field"
"biome": "biomesoplenty:overgrown_fungal_jungle"
}
},
"prairie": {
@ -212,12 +218,6 @@
"conditions": {
"biome": "biomesoplenty:prairie"
}
},
"pumpkin_patch": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:pumpkin_patch"
}
},
"rainbow_hills": {
"trigger": "minecraft:location",
@ -260,6 +260,12 @@
"conditions": {
"biome": "biomesoplenty:seasonal_forest"
}
},
"seasonal_pumpkin_patch": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:seasonal_pumpkin_patch"
}
},
"shroomy_wetland": {
"trigger": "minecraft:location",
@ -296,6 +302,12 @@
"conditions": {
"biome": "biomesoplenty:snowy_fir_clearing"
}
},
"snowy_maple_forest": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:snowy_maple_forest"
}
},
"tropic_beach": {
"trigger": "minecraft:location",

View file

@ -25,6 +25,12 @@
"conditions": {
"biome": "biomesoplenty:alps_foothills"
}
},
"bamboo_grove": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:bamboo_grove"
}
},
"bayou": {
"trigger": "minecraft:location",
@ -103,6 +109,12 @@
"conditions": {
"biome": "biomesoplenty:fungal_jungle"
}
},
"golden_prairie": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:golden_prairie"
}
},
"gravel_beach": {
"trigger": "minecraft:location",
@ -146,10 +158,10 @@
"biome": "biomesoplenty:lush_desert"
}
},
"maple_woods": {
"lush_savanna": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:maple_woods"
"biome": "biomesoplenty:lush_savanna"
}
},
"meadow": {
@ -194,22 +206,10 @@
"biome": "biomesoplenty:origin_valley"
}
},
"overgrown_cliffs": {
"overgrown_fungal_jungle": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:overgrown_cliffs"
}
},
"pasture": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:pasture"
}
},
"poppy_field": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:poppy_field"
"biome": "biomesoplenty:overgrown_fungal_jungle"
}
},
"prairie": {
@ -217,12 +217,6 @@
"conditions": {
"biome": "biomesoplenty:prairie"
}
},
"pumpkin_patch": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:pumpkin_patch"
}
},
"rainbow_hills": {
"trigger": "minecraft:location",
@ -265,6 +259,12 @@
"conditions": {
"biome": "biomesoplenty:seasonal_forest"
}
},
"seasonal_pumpkin_patch": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:seasonal_pumpkin_patch"
}
},
"shroomy_wetland": {
"trigger": "minecraft:location",
@ -295,6 +295,12 @@
"conditions": {
"biome": "biomesoplenty:snowy_coniferous_forest"
}
},
"snowy_maple_forest": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:snowy_maple_forest"
}
},
"snowy_fir_clearing": {
"trigger": "minecraft:location",
@ -385,6 +391,7 @@
[
"alps",
"alps_foothills",
"bamboo_grove",
"bayou",
"bayou_mangrove",
"cherry_blossom_grove",
@ -398,6 +405,7 @@
"fir_clearing",
"flower_meadow",
"fungal_jungle",
"golden_prairie",
"gravel_beach",
"grove",
"highland",
@ -405,7 +413,7 @@
"jade_cliffs",
"lavender_field",
"lush_desert",
"maple_woods",
"lush_savanna",
"meadow",
"muskeg",
"mystic_grove",
@ -413,10 +421,8 @@
"ominous_woods",
"orchard",
"origin_valley",
"pasture",
"poppy_field",
"overgrown_fungal_jungle",
"prairie",
"pumpkin_patch",
"rainbow_hills",
"rainforest",
"rainforest_clearing",
@ -424,12 +430,14 @@
"redwood_forest",
"redwood_forest_edge",
"seasonal_forest",
"seasonal_pumpkin_patch",
"shroomy_wetland",
"shrubland",
"shrubland_hills",
"silkglade",
"snowy_coniferous_forest",
"snowy_fir_clearing",
"snowy_maple_forest",
"tropic_beach",
"tropics",
"tundra",