Copied fixes over to biome rework branch

This commit is contained in:
Forstride 2020-10-12 06:20:26 -04:00
parent 69ad6bfc15
commit daffd4b951
57 changed files with 310 additions and 99 deletions

View file

@ -27,7 +27,7 @@ public class BOPBiomes
public static RegistryKey<Biome> dead_swamp = register("dead_swamp"); public static RegistryKey<Biome> dead_swamp = register("dead_swamp");
public static RegistryKey<Biome> deep_bayou = register("deep_bayou"); public static RegistryKey<Biome> deep_bayou = register("deep_bayou");
public static RegistryKey<Biome> dryland = register("dryland"); public static RegistryKey<Biome> dryland = register("dryland");
public static RegistryKey<Biome> dry_steppe = register("dry_steppe"); public static RegistryKey<Biome> dry_boneyard = register("dry_boneyard");
public static RegistryKey<Biome> fir_clearing = register("fir_clearing"); public static RegistryKey<Biome> fir_clearing = register("fir_clearing");
public static RegistryKey<Biome> flower_meadow = register("flower_meadow"); public static RegistryKey<Biome> flower_meadow = register("flower_meadow");
public static RegistryKey<Biome> fungal_jungle = register("fungal_jungle"); public static RegistryKey<Biome> fungal_jungle = register("fungal_jungle");
@ -61,6 +61,7 @@ public class BOPBiomes
public static RegistryKey<Biome> redwood_forest = register("redwood_forest"); public static RegistryKey<Biome> redwood_forest = register("redwood_forest");
public static RegistryKey<Biome> redwood_forest_edge = register("redwood_forest_edge"); public static RegistryKey<Biome> redwood_forest_edge = register("redwood_forest_edge");
public static RegistryKey<Biome> redwood_hills = register("redwood_hills"); public static RegistryKey<Biome> redwood_hills = register("redwood_hills");
public static RegistryKey<Biome> scrubland = register("scrubland");
public static RegistryKey<Biome> seasonal_forest = register("seasonal_forest"); public static RegistryKey<Biome> seasonal_forest = register("seasonal_forest");
public static RegistryKey<Biome> seasonal_orchard = register("seasonal_orchard"); public static RegistryKey<Biome> seasonal_orchard = register("seasonal_orchard");
public static RegistryKey<Biome> seasonal_pumpkin_patch = register("seasonal_pumpkin_patch"); public static RegistryKey<Biome> seasonal_pumpkin_patch = register("seasonal_pumpkin_patch");
@ -81,6 +82,7 @@ public class BOPBiomes
public static RegistryKey<Biome> wasteland = register("wasteland"); public static RegistryKey<Biome> wasteland = register("wasteland");
public static RegistryKey<Biome> wetland = register("wetland"); public static RegistryKey<Biome> wetland = register("wetland");
public static RegistryKey<Biome> wetland_marsh = register("wetland_marsh"); public static RegistryKey<Biome> wetland_marsh = register("wetland_marsh");
public static RegistryKey<Biome> wooded_scrubland = register("wooded_scrubland");
public static RegistryKey<Biome> wooded_wasteland = register("wooded_wasteland"); public static RegistryKey<Biome> wooded_wasteland = register("wooded_wasteland");
public static RegistryKey<Biome> crystalline_chasm = register("crystalline_chasm"); public static RegistryKey<Biome> crystalline_chasm = register("crystalline_chasm");

View file

@ -297,7 +297,7 @@ public class BOPBlocks
public static Block desert_grass; public static Block desert_grass;
public static Block dead_grass; public static Block dead_grass;
public static Block cattail; public static Block cattail;
public static Block tall_wheat; public static Block barley;
public static Block reed; public static Block reed;
public static Block watergrass; public static Block watergrass;
public static Block mangrove_root; public static Block mangrove_root;

View file

@ -47,9 +47,7 @@ public class BayouMangrove extends BiomeTemplate
// Underground // Underground
DefaultBiomeFeatures.addDefaultCarvers(builder); DefaultBiomeFeatures.addDefaultCarvers(builder);
DefaultBiomeFeatures.addDefaultLakes(builder);
builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.WATER_LAKE_COMMON);
DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultMonsterRoom(builder);
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder); DefaultBiomeFeatures.addDefaultOres(builder);

View file

@ -66,10 +66,7 @@ public class DeadSwampBiome extends BiomeTemplate
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.HUGE_BROWN_MUSHROOM_EXTRA); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.HUGE_BROWN_MUSHROOM_EXTRA);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.PODZOL_SPLATTER); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.PODZOL_SPLATTER);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.REED_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SCRUB_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SMALL_BROWN_MUSHROOM); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SMALL_BROWN_MUSHROOM);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TOADSTOOL_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_PUMPKIN); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_PUMPKIN);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL);

View file

@ -52,6 +52,8 @@ public class DeepBayouBiome extends BiomeTemplate
DefaultBiomeFeatures.addDefaultOres(builder); DefaultBiomeFeatures.addDefaultOres(builder);
DefaultBiomeFeatures.addSwampClayDisk(builder); DefaultBiomeFeatures.addSwampClayDisk(builder);
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, BOPConfiguredFeatures.MUD_DISK);
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
// Vegetation // Vegetation

View file

@ -19,20 +19,19 @@ import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class DrySteppeBiome extends BiomeTemplate public class DryBoneyardBiome extends BiomeTemplate
{ {
public DrySteppeBiome() public DryBoneyardBiome()
{ {
this.setRiverBiome(null); this.setRiverBiome(null);
this.setBeachBiome(null);
} }
@Override @Override
protected void configureBiome(Biome.Builder builder) protected void configureBiome(Biome.Builder builder)
{ {
builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.SAVANNA).depth(1.4F).scale(0.3F).temperature(1.5F).downfall(0.1F); builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.PLAINS).depth(0.1F).scale(0.1F).temperature(0.7F).downfall(0.05F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(0x9E9DFF).grassColorOverride(0xDBBA9F).foliageColorOverride(0xD6C7A8).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(0x9E9DFF).grassColorOverride(0xE5DFA9).foliageColorOverride(0xDAE0B3).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override
@ -43,31 +42,28 @@ public class DrySteppeBiome extends BiomeTemplate
// Structures // Structures
DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder);
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD); builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD);
builder.addStructureStart(StructureFeatures.NETHER_FOSSIL);
// Underground // Underground
DefaultBiomeFeatures.addDefaultCarvers(builder); DefaultBiomeFeatures.addDefaultCarvers(builder);
builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_LAVA);
DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultMonsterRoom(builder);
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder); DefaultBiomeFeatures.addDefaultOres(builder);
DefaultBiomeFeatures.addDefaultSoftDisks(builder);
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
// Vegetation // Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_20); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DRY_BONEYARD_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BONE_SPINE);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BUSH_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_5); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH);
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
// Other Features // Other Features
DefaultBiomeFeatures.addDefaultSprings(builder); DefaultBiomeFeatures.addDefaultSprings(builder);
DefaultBiomeFeatures.addExtraEmeralds(builder);
DefaultBiomeFeatures.addInfestedStone(builder);
DefaultBiomeFeatures.addSurfaceFreezing(builder); DefaultBiomeFeatures.addSurfaceFreezing(builder);
} }
@ -75,8 +71,6 @@ public class DrySteppeBiome extends BiomeTemplate
protected void configureMobSpawns(MobSpawnInfo.Builder builder) protected void configureMobSpawns(MobSpawnInfo.Builder builder)
{ {
// Entities // Entities
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3));
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.LLAMA, 5, 4, 6));
builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); 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.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, 95, 4, 4));

View file

@ -7,15 +7,14 @@
******************************************************************************/ ******************************************************************************/
package biomesoplenty.common.biome.overworld; package biomesoplenty.common.biome.overworld;
import biomesoplenty.api.biome.BOPBiomes;
import biomesoplenty.api.enums.BOPClimates; import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.common.biome.BiomeTemplate; import biomesoplenty.common.biome.BiomeTemplate;
import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures;
import biomesoplenty.common.world.gen.surfacebuilders.BOPSurfaceBuilders;
import net.minecraft.entity.EntityClassification; import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType;
import net.minecraft.world.biome.*; import net.minecraft.world.biome.*;
import net.minecraft.world.gen.GenerationStage; import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.feature.structure.StructureFeatures; import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
@ -24,17 +23,16 @@ public class DrylandBiome extends BiomeTemplate
{ {
public DrylandBiome() public DrylandBiome()
{ {
this.addWeight(BOPClimates.SAVANNA, 5); this.addWeight(BOPClimates.SAVANNA, 3);
this.setRiverBiome(null); this.setRiverBiome(null);
this.setBeachBiome(null);
} }
@Override @Override
protected void configureBiome(Biome.Builder builder) protected void configureBiome(Biome.Builder builder)
{ {
builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.SAVANNA).depth(0.1F).scale(0.1F).temperature(1.5F).downfall(0.1F); builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.PLAINS).depth(0.1F).scale(0.1F).temperature(0.7F).downfall(0.05F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(0x9E9DFF).grassColorOverride(0xDBBA9F).foliageColorOverride(0xD6C7A8).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(0x9E9DFF).grassColorOverride(0xE5DFA9).foliageColorOverride(0xDAE0B3).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override
@ -45,17 +43,12 @@ public class DrylandBiome extends BiomeTemplate
// Structures // Structures
DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder);
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD); builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD);
builder.addStructureStart(StructureFeatures.NETHER_FOSSIL);
// Underground // Underground
DefaultBiomeFeatures.addDefaultCarvers(builder); DefaultBiomeFeatures.addDefaultCarvers(builder);
builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_LAVA);
DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultMonsterRoom(builder);
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder); DefaultBiomeFeatures.addDefaultOres(builder);
DefaultBiomeFeatures.addDefaultSoftDisks(builder);
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
@ -63,10 +56,7 @@ public class DrylandBiome extends BiomeTemplate
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DRYLAND_TREES); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DRYLAND_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BUSH_10); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BUSH_10);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_2);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_10);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH);
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
@ -79,7 +69,6 @@ public class DrylandBiome extends BiomeTemplate
protected void configureMobSpawns(MobSpawnInfo.Builder builder) protected void configureMobSpawns(MobSpawnInfo.Builder builder)
{ {
// Entities // Entities
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3));
builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); 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.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, 95, 4, 4));

View file

@ -47,7 +47,7 @@ public class GoldenPrairieBiome extends BiomeTemplate
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
// Vegetation // Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.GOLDEN_PRAIRIE_TALL_WHEAT); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BARLEY);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_24); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_24);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_64); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_64);

View file

@ -30,7 +30,7 @@ public class HighlandMoorBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.PLAINS).depth(1.8F).scale(-0.05F).temperature(0.6F).downfall(0.6F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.PLAINS).depth(1.8F).scale(-0.05F).temperature(0.6F).downfall(0.6F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.6F)).grassColorOverride(0x71AA70).foliageColorOverride(0x78C46D).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.6F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -63,6 +63,7 @@ public class LushDesertBiome extends BiomeTemplate
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_2); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_2);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_10); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_10);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DUNE_GRASS_128); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DUNE_GRASS_128);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SPROUTS_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH_2); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH_2);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_SUGAR_CANE); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_SUGAR_CANE);

View file

@ -30,7 +30,7 @@ public class LushSavannaBiome extends BiomeTemplate
@Override @Override
protected void configureBiome(Biome.Builder builder) protected void configureBiome(Biome.Builder builder)
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.DESERT).depth(0.1F).scale(0.01F).temperature(0.9F).downfall(0.5F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.DESERT).depth(0.25F).scale(0.1F).temperature(0.9F).downfall(0.5F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4566514).waterFogColor(267827).fogColor(12638463).skyColor(calculateSkyColor(0.9F)).grassColorOverride(0xEFE182).foliageColorOverride(0xD3D156).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4566514).waterFogColor(267827).fogColor(12638463).skyColor(calculateSkyColor(0.9F)).grassColorOverride(0xEFE182).foliageColorOverride(0xD3D156).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }

View file

@ -33,7 +33,7 @@ public class MysticGroveBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.1F).scale(0.1F).temperature(0.7F).downfall(0.8F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.1F).scale(0.1F).temperature(0.7F).downfall(0.8F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x9C3FE4).waterFogColor(0x2E0533).fogColor(0xFFC9DA).skyColor(0x66DBFF).grassColorOverride(0x69CFDB).foliageColorOverride(0x70E0B5).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x9C3FE4).waterFogColor(0x2E0533).fogColor(0xFFC9DA).skyColor(0xAAEFFF).grassColorOverride(0x69CFDB).foliageColorOverride(0x70E0B5).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -32,7 +32,7 @@ public class MysticPlainsBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.0F).scale(-0.05F).temperature(0.7F).downfall(0.8F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.0F).scale(-0.05F).temperature(0.7F).downfall(0.8F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x9C3FE4).waterFogColor(0x2E0533).fogColor(0xFFC9DA).skyColor(0x66DBFF).grassColorOverride(0x69CFDB).foliageColorOverride(0x70E0B5).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x9C3FE4).waterFogColor(0x2E0533).fogColor(0xFFC9DA).skyColor(0xAAEFFF).grassColorOverride(0x69CFDB).foliageColorOverride(0x70E0B5).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -55,6 +55,7 @@ public class OminousMireBiome extends BiomeTemplate
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder); DefaultBiomeFeatures.addDefaultOres(builder);
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, BOPConfiguredFeatures.MUD_DISK);
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, BOPConfiguredFeatures.BLACK_SAND_DISK); builder.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, BOPConfiguredFeatures.BLACK_SAND_DISK);
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////

View file

@ -27,7 +27,7 @@ public class OrchardBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.0F).scale(0.0F).temperature(0.8F).downfall(0.4F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.0F).scale(0.0F).temperature(0.8F).downfall(0.4F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xA9DB69).foliageColorOverride(0xC9F75D).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -30,7 +30,7 @@ public class PrairieBiome extends BiomeTemplate
{ {
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.05F).scale(0.0F).temperature(0.8F).downfall(0.3F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xDDE580).foliageColorOverride(0xC2E07B).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); 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());
} }
@Override @Override

View file

@ -31,7 +31,7 @@ public class RedwoodForestBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.25F).scale(0.05F).temperature(0.8F).downfall(0.6F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.25F).scale(0.05F).temperature(0.8F).downfall(0.6F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB6D367).foliageColorOverride(0x97BF4E).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB5D55C).foliageColorOverride(0x8EBF42).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -28,7 +28,7 @@ public class RedwoodForestEdgeBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.25F).scale(0.05F).temperature(0.8F).downfall(0.6F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.25F).scale(0.05F).temperature(0.8F).downfall(0.6F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB6D367).foliageColorOverride(0x97BF4E).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB5D55C).foliageColorOverride(0x8EBF42).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -30,7 +30,7 @@ public class RedwoodHillsBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(1.5F).scale(0.2F).temperature(0.8F).downfall(0.6F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(1.5F).scale(0.2F).temperature(0.8F).downfall(0.6F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB6D367).foliageColorOverride(0x97BF4E).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB5D55C).foliageColorOverride(0x8EBF42).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -0,0 +1,86 @@
/*******************************************************************************
* 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.structure.StructureFeatures;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class ScrublandBiome extends BiomeTemplate
{
public ScrublandBiome()
{
this.addWeight(BOPClimates.SAVANNA, 7);
}
@Override
protected void configureBiome(Biome.Builder builder)
{
builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.SAVANNA).depth(0.0F).scale(0.0F).temperature(1.1F).downfall(0.15F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(1.1F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
}
@Override
protected void configureGeneration(BiomeGenerationSettings.Builder builder)
{
builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS));
// Structures
builder.addStructureStart(StructureFeatures.VILLAGE_SAVANNA);
builder.addStructureStart(StructureFeatures.PILLAGER_OUTPOST);
DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder);
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD);
// Underground
DefaultBiomeFeatures.addDefaultCarvers(builder);
DefaultBiomeFeatures.addDefaultMonsterRoom(builder);
DefaultBiomeFeatures.addDefaultUndergroundVariety(builder);
DefaultBiomeFeatures.addDefaultOres(builder);
////////////////////////////////////////////////////////////
// Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_10);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6);
////////////////////////////////////////////////////////////
// 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.HORSE, 5, 2, 6));
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));
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,8 +57,9 @@ public class SeasonalOrchardBiome extends BiomeTemplate
// Vegetation // Vegetation
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SEASONAL_ORCHARD_TREES); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SEASONAL_ORCHARD_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.ORCHARD_FLOWERS); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.FLOWER_DEFAULT);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BUSH_5);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.REED_10); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.REED_10);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TOADSTOOL_EXTRA); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TOADSTOOL_EXTRA);

View file

@ -25,6 +25,7 @@ public class SilkgladeNestBiome extends BiomeTemplate
{ {
this.setBeachBiome(null); this.setBeachBiome(null);
this.setRiverBiome(null); this.setRiverBiome(null);
this.setGrassColorFunction(this::getGrassColor);
} }
@Override @Override
@ -32,7 +33,7 @@ public class SilkgladeNestBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.5F).scale(0.2F).temperature(0.75F).downfall(0.2F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.5F).scale(0.2F).temperature(0.75F).downfall(0.2F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x82826A).waterFogColor(0x0D0F09).fogColor(12638463).skyColor(calculateSkyColor(0.75F)).grassColorOverride(0xB2B39F).foliageColorOverride(0xDEE1C6).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x82826A).waterFogColor(0x0D0F09).fogColor(12638463).skyColor(calculateSkyColor(0.75F)).grassColorOverride(0x939F76).foliageColorOverride(0xDEE1C6).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override
@ -80,4 +81,10 @@ public class SilkgladeNestBiome extends BiomeTemplate
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CAVE_SPIDER, 50, 4, 4)); builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CAVE_SPIDER, 50, 4, 4));
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4));
} }
private int getGrassColor(double x, double z)
{
double d0 = Biome.BIOME_INFO_NOISE.getValue(x * 0.0225D, z * 0.0225D, false);
return d0 < -0.1D ? 0xB2B39F : 0x939F76;
}
} }

View file

@ -33,7 +33,7 @@ public class TundraBasinBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(0.0F).scale(-0.1F).temperature(0.2F).downfall(0.5F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(0.0F).scale(-0.1F).temperature(0.2F).downfall(0.5F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.2F)).grassColorOverride(0xAD9364).foliageColorOverride(0xB5A76C).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.2F)).grassColorOverride(0xC08359).foliageColorOverride(0xC5975C).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -32,7 +32,7 @@ public class TundraBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(0.15F).scale(0.15F).temperature(0.2F).downfall(0.5F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(0.15F).scale(0.15F).temperature(0.2F).downfall(0.5F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.2F)).grassColorOverride(0xAD9364).foliageColorOverride(0xB5A76C).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.2F)).grassColorOverride(0xC08359).foliageColorOverride(0xC5975C).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -31,7 +31,7 @@ public class TundraBogBiome extends BiomeTemplate
{ {
builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(-0.15F).scale(-0.025F).temperature(0.2F).downfall(0.5F); builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(-0.15F).scale(-0.025F).temperature(0.2F).downfall(0.5F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.2F)).grassColorOverride(0xAD9364).foliageColorOverride(0xB5A76C).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.2F)).grassColorOverride(0xC08359).foliageColorOverride(0xC5975C).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
} }
@Override @Override

View file

@ -0,0 +1,91 @@
/*******************************************************************************
* 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 WoodedScrublandBiome extends BiomeTemplate
{
public WoodedScrublandBiome()
{
}
@Override
protected void configureBiome(Biome.Builder builder)
{
builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.SAVANNA).depth(0.1F).scale(0.2F).temperature(1.1F).downfall(0.15F);
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(1.1F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build());
}
@Override
protected void configureGeneration(BiomeGenerationSettings.Builder builder)
{
builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS));
// Structures
builder.addStructureStart(StructureFeatures.VILLAGE_SAVANNA);
builder.addStructureStart(StructureFeatures.PILLAGER_OUTPOST);
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.WOODED_SCRUBLAND_TREES);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_10);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SCRUB_EXTRA);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12);
builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_6);
////////////////////////////////////////////////////////////
// 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.HORSE, 5, 2, 6));
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));
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

@ -18,6 +18,8 @@ import net.minecraft.world.biome.Biome;
import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.ForgeRegistry; import net.minecraftforge.registries.ForgeRegistry;
import javax.annotation.Nullable;
public class BiomeUtil public class BiomeUtil
{ {
public static RegistryKey<Biome> createKey(Biome biome) public static RegistryKey<Biome> createKey(Biome biome)
@ -86,8 +88,9 @@ public class BiomeUtil
return getBiome(id) != null; return getBiome(id) != null;
} }
@Nullable
public static RegistryKey<Biome> getClientKey(Biome biome) public static RegistryKey<Biome> getClientKey(Biome biome)
{ {
return Minecraft.getInstance().level.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY).getResourceKey(biome).get(); return Minecraft.getInstance().level.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY).getResourceKey(biome).orElse(null);
} }
} }

View file

@ -46,7 +46,7 @@ public class BOPBiomeProvider extends BiomeProvider
public BOPBiomeProvider(long seed, Registry<Biome> biomes) public BOPBiomeProvider(long seed, Registry<Biome> biomes)
{ {
super(Stream.concat(VANILLA_POSSIBLE_BIOMES.stream(), BOPClimates.getOverworldBiomes().stream()).map(BiomeUtil::getBiome).collect(Collectors.toList())); super(Stream.concat(VANILLA_POSSIBLE_BIOMES.stream(), BOPClimates.getOverworldBiomes().stream()).map(biomes::get).collect(Collectors.toList()));
this.seed = seed; this.seed = seed;
this.noiseBiomeLayer = BOPLayerUtil.createGenLayers(seed, new BOPOverworldGenSettings()); this.noiseBiomeLayer = BOPLayerUtil.createGenLayers(seed, new BOPOverworldGenSettings());
this.biomes = biomes; this.biomes = biomes;

View file

@ -52,7 +52,7 @@ public class BOPNetherBiomeProvider extends BiomeProvider
@Override @Override
protected Codec<? extends BiomeProvider> codec() protected Codec<? extends BiomeProvider> codec()
{ {
return CODEC.stable(); return CODEC;
} }
@Override @Override

View file

@ -96,10 +96,10 @@ public class BOPWorldTypeUtil
if (server.getWorldData() instanceof ServerWorldInfo) if (server.getWorldData() instanceof ServerWorldInfo)
{ {
ServerWorldInfo worldInfo = (ServerWorldInfo)server.getWorldData(); ServerWorldInfo worldInfo = (ServerWorldInfo)server.getWorldData();
worldInfo.worldGenSettings = createDimensionGeneratorSettings(DynamicRegistries.builtin(), worldInfo.worldGenSettings.seed(), worldInfo.worldGenSettings.generateFeatures(), worldInfo.worldGenSettings.generateBonusChest()); worldInfo.worldGenSettings = createDimensionGeneratorSettings(server.registryAccess(), worldInfo.worldGenSettings.seed(), worldInfo.worldGenSettings.generateFeatures(), worldInfo.worldGenSettings.generateBonusChest());
} }
// Replace the world gen settings in server.properties // Replace the world gen settings in server.properties
properties.worldGenSettings = createDimensionGeneratorSettings(DynamicRegistries.builtin(), properties.worldGenSettings.seed(), properties.worldGenSettings.generateFeatures(), properties.worldGenSettings.generateBonusChest()); properties.worldGenSettings = createDimensionGeneratorSettings(server.registryAccess(), properties.worldGenSettings.seed(), properties.worldGenSettings.generateFeatures(), properties.worldGenSettings.generateBonusChest());
} }
} }

View file

@ -31,6 +31,7 @@ public class BOPConfiguredFeatures
{ {
// Trees // Trees
public static final ConfiguredFeature<?, ?> ACACIA_BUSH = register("acacia_bush", BOPFeatures.ACACIA_BUSH.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> ACACIA_BUSH = register("acacia_bush", BOPFeatures.ACACIA_BUSH.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> ACACIA_TWIGLET = register("acacia_twiglet", BOPFeatures.ACACIA_TWIGLET.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> ACACIA_TWIGLET_SMALL = register("acacia_twiglet_small", BOPFeatures.ACACIA_TWIGLET_SMALL.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> ACACIA_TWIGLET_SMALL = register("acacia_twiglet_small", BOPFeatures.ACACIA_TWIGLET_SMALL.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> ACACIA_TWIGLET_TREE = register("acacia_twiglet_tree", BOPFeatures.ACACIA_TWIGLET_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> ACACIA_TWIGLET_TREE = register("acacia_twiglet_tree", BOPFeatures.ACACIA_TWIGLET_TREE.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> ALPS_SPRUCE_TREE = register("alps_spruce_tree", BOPFeatures.ALPS_SPRUCE_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> ALPS_SPRUCE_TREE = register("alps_spruce_tree", BOPFeatures.ALPS_SPRUCE_TREE.configured(Features.OAK.config()));
@ -94,6 +95,7 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> TALL_SPRUCE_TREE = register("tall_spruce_tree", BOPFeatures.TALL_SPRUCE_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> TALL_SPRUCE_TREE = register("tall_spruce_tree", BOPFeatures.TALL_SPRUCE_TREE.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> TALL_SPRUCE_TREE_BEES = register("tall_spruce_tree_bees", BOPFeatures.TALL_SPRUCE_TREE.configured(Features.OAK.config().withDecorators(ImmutableList.of(Features.Placements.BEEHIVE_005)))); public static final ConfiguredFeature<?, ?> TALL_SPRUCE_TREE_BEES = register("tall_spruce_tree_bees", BOPFeatures.TALL_SPRUCE_TREE.configured(Features.OAK.config().withDecorators(ImmutableList.of(Features.Placements.BEEHIVE_005))));
public static final ConfiguredFeature<?, ?> TALL_SWAMP_TREE = register("tall_swamp_tree", BOPFeatures.TALL_SWAMP_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> TALL_SWAMP_TREE = register("tall_swamp_tree", BOPFeatures.TALL_SWAMP_TREE.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> TALL_TWIGLET_TREE = register("tall_twiglet_tree", BOPFeatures.TALL_TWIGLET_TREE.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> TALL_UMBRAN_TREE = register("tall_umbran_tree", BOPFeatures.TALL_UMBRAN_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> TALL_UMBRAN_TREE = register("tall_umbran_tree", BOPFeatures.TALL_UMBRAN_TREE.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> TWIGLET_TREE = register("twiglet_tree", BOPFeatures.TWIGLET_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> TWIGLET_TREE = register("twiglet_tree", BOPFeatures.TWIGLET_TREE.configured(Features.OAK.config()));
public static final ConfiguredFeature<?, ?> TWIGLET_TREE_VOLCANO = register("twiglet_tree_volcano", BOPFeatures.TWIGLET_TREE_VOLCANO.configured(Features.OAK.config())); public static final ConfiguredFeature<?, ?> TWIGLET_TREE_VOLCANO = register("twiglet_tree_volcano", BOPFeatures.TWIGLET_TREE_VOLCANO.configured(Features.OAK.config()));
@ -114,8 +116,9 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> CONIFEROUS_LAKES_TREES = register("coniferous_lakes_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FIR_TREE.weighted(0.1F)), FIR_TREE_SMALL)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.1F, 1)))); public static final ConfiguredFeature<?, ?> CONIFEROUS_LAKES_TREES = register("coniferous_lakes_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FIR_TREE.weighted(0.1F)), FIR_TREE_SMALL)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> DEAD_FOREST_TREES = register("dead_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DYING_TREE.weighted(0.2F), DEAD_TREE.weighted(0.1F), TALL_SPRUCE_TREE.weighted(0.3F), SMALL_DEAD_TREE.weighted(0.3F)), Features.OAK)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.5F, 1)))); public static final ConfiguredFeature<?, ?> DEAD_FOREST_TREES = register("dead_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DYING_TREE.weighted(0.2F), DEAD_TREE.weighted(0.1F), TALL_SPRUCE_TREE.weighted(0.3F), SMALL_DEAD_TREE.weighted(0.3F)), Features.OAK)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.5F, 1))));
public static final ConfiguredFeature<?, ?> DEAD_SWAMP_TREES = register("dead_swamp_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(2, 0.3F, 1)))); public static final ConfiguredFeature<?, ?> DEAD_SWAMP_TREES = register("dead_swamp_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(2, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> DEEP_BAYOU_TREES = register("deep_bayou_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(CYPRESS_TREE.weighted(0.2F), CYPRESS_TREE_MEDIUM.weighted(0.5F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(20, 0.6F, 1)))); public static final ConfiguredFeature<?, ?> DEEP_BAYOU_TREES = register("deep_bayou_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(CYPRESS_TREE.weighted(0.2F), CYPRESS_TREE_MEDIUM.weighted(0.5F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(24, 0.6F, 1))));
public static final ConfiguredFeature<?, ?> DRYLAND_TREES = register("dryland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TWIGLET_TREE.weighted(0.4F), DYING_TREE.weighted(0.1F), SPARSE_OAK_TREE.weighted(0.2F)), ACACIA_TWIGLET_SMALL)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(3, 0.5F, 1)))); public static final ConfiguredFeature<?, ?> DRYLAND_TREES = register("dryland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TWIGLET_TREE.weighted(0.4F), SPARSE_OAK_TREE.weighted(0.2F)), ACACIA_TWIGLET_SMALL)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.4F, 1))));
public static final ConfiguredFeature<?, ?> DRY_BONEYARD_TREES = register("dry_boneyard_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TWIGLET_TREE.weighted(0.4F), SPARSE_OAK_TREE.weighted(0.2F)), ACACIA_TWIGLET_SMALL)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1))));
public static final ConfiguredFeature<?, ?> FIR_CLEARING_TREES = register("fir_clearing_trees", FIR_TREE_SMALL.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.1F, 1)))); public static final ConfiguredFeature<?, ?> FIR_CLEARING_TREES = register("fir_clearing_trees", FIR_TREE_SMALL.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> FLOWER_MEADOW_TREES = register("flower_meadow_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE_BEES.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.3F, 1)))); public static final ConfiguredFeature<?, ?> FLOWER_MEADOW_TREES = register("flower_meadow_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE_BEES.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.3F, 1))));
public static final ConfiguredFeature<?, ?> FUNGAL_JUNGLE_TREES = register("fungal_jungle_trees", BUSH.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.1F, 1)))); public static final ConfiguredFeature<?, ?> FUNGAL_JUNGLE_TREES = register("fungal_jungle_trees", BUSH.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.1F, 1))));
@ -157,6 +160,7 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> VOLCANIC_PLAINS_TREES = register("volcanic_plains_trees", TWIGLET_TREE_VOLCANO.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.1F, 1)))); public static final ConfiguredFeature<?, ?> VOLCANIC_PLAINS_TREES = register("volcanic_plains_trees", TWIGLET_TREE_VOLCANO.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> WASTELAND_TREES = register("wasteland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TREE_WASTELAND.weighted(0.2F)), DYING_TREE_WASTELAND)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig((int)0.8F, 0.2F, 1)))); public static final ConfiguredFeature<?, ?> WASTELAND_TREES = register("wasteland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TREE_WASTELAND.weighted(0.2F)), DYING_TREE_WASTELAND)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig((int)0.8F, 0.2F, 1))));
public static final ConfiguredFeature<?, ?> WETLAND_TREES = register("wetland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE.weighted(0.5F)), WILLOW_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.1F, 1)))); public static final ConfiguredFeature<?, ?> WETLAND_TREES = register("wetland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE.weighted(0.5F)), WILLOW_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.1F, 1))));
public static final ConfiguredFeature<?, ?> WOODED_SCRUBLAND_TREES = register("wooded_scrubland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(SPRUCE_TWIGLET_TREE.weighted(0.3F), TALL_TWIGLET_TREE.weighted(0.1F)), ACACIA_TWIGLET)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(6, 0.5F, 1))));
// Biome Flower Listings // Biome Flower Listings
public static final ConfiguredFeature<?, ?> CHERRY_BLOSSOM_GROVE_FLOWERS = register("cherry_blossom_grove_flowers", BOPFeatures.CHERRY_BLOSSOM_GROVE_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(5))); public static final ConfiguredFeature<?, ?> CHERRY_BLOSSOM_GROVE_FLOWERS = register("cherry_blossom_grove_flowers", BOPFeatures.CHERRY_BLOSSOM_GROVE_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(5)));
@ -200,6 +204,7 @@ public class BOPConfiguredFeatures
public static final ConfiguredFeature<?, ?> WASTELAND_GRASS_2 = register("wasteland_grass_2", BOPFeatures.WASTELAND_GRASS.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(2))); public static final ConfiguredFeature<?, ?> WASTELAND_GRASS_2 = register("wasteland_grass_2", BOPFeatures.WASTELAND_GRASS.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(2)));
public static final ConfiguredFeature<?, ?> BUSH_5 = register("bush_5", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(5)));
public static final ConfiguredFeature<?, ?> BUSH_10 = register("bush_10", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(10))); public static final ConfiguredFeature<?, ?> BUSH_10 = register("bush_10", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(10)));
public static final ConfiguredFeature<?, ?> BUSH_15 = register("bush_15", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(15))); public static final ConfiguredFeature<?, ?> BUSH_15 = register("bush_15", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(15)));
public static final ConfiguredFeature<?, ?> BUSH_50 = register("bush_50", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(50))); public static final ConfiguredFeature<?, ?> BUSH_50 = register("bush_50", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(50)));
@ -242,7 +247,7 @@ public class BOPConfiguredFeatures
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<?, ?> 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_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_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<?, ?> 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))); public static final ConfiguredFeature<?, ?> BARLEY = register("barley", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.barley.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(500)));
// Water Plants // 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))); 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)));

View file

@ -33,7 +33,7 @@ public class CragSplatterFeature extends Feature<NoFeatureConfig>
int j1 = l - pos.getZ(); int j1 = l - pos.getZ();
if (i1 * i1 + j1 * j1 <= j * j) if (i1 * i1 + j1 * j1 <= j * j)
{ {
for (int k1 = pos.getY() - 2; k1 <= pos.getY() + 2; ++k1) for (int k1 = pos.getY() - 6; k1 <= pos.getY() + 6; ++k1)
{ {
BlockPos blockpos = new BlockPos(k, k1, l); BlockPos blockpos = new BlockPos(k, k1, l);
BlockState blockstate = worldIn.getBlockState(blockpos); BlockState blockstate = worldIn.getBlockState(blockpos);

View file

@ -163,7 +163,7 @@ public class MahoganyTreeFeature extends TreeFeatureBase
} }
} }
int height = world.getRandom().nextInt(3); int height = 1 + world.getRandom().nextInt(2);
for (int i = 0; i <= height; i++) for (int i = 0; i <= height; i++)
{ {
if (replace.matches(world, pos.relative(direction, length+1).above(i+1))) if (replace.matches(world, pos.relative(direction, length+1).above(i+1)))

View file

@ -104,8 +104,8 @@ public class ModBiomes
} }
// Register biome providers // Register biome providers
Registry.register(Registry.BIOME_SOURCE, "biomesoplenty_overworld", BOPBiomeProvider.CODEC.stable()); Registry.register(Registry.BIOME_SOURCE, "biomesoplenty_overworld", BOPBiomeProvider.CODEC);
Registry.register(Registry.BIOME_SOURCE, "biomesoplenty_nether", BOPNetherBiomeProvider.CODEC.stable()); Registry.register(Registry.BIOME_SOURCE, "biomesoplenty_nether", BOPNetherBiomeProvider.CODEC);
} }
@SubscribeEvent @SubscribeEvent
@ -136,7 +136,7 @@ public class ModBiomes
registerBiome(new DeadSwampBiome(), "dead_swamp"); registerBiome(new DeadSwampBiome(), "dead_swamp");
registerBiome(new DeepBayouBiome(), "deep_bayou"); registerBiome(new DeepBayouBiome(), "deep_bayou");
registerBiome(new DrylandBiome(), "dryland"); registerBiome(new DrylandBiome(), "dryland");
registerBiome(new DrySteppeBiome(), "dry_steppe"); registerBiome(new DryBoneyardBiome(), "dry_boneyard");
registerBiome(new FirClearingBiome(), "fir_clearing"); registerBiome(new FirClearingBiome(), "fir_clearing");
registerBiome(new FlowerMeadowBiome(), "flower_meadow"); registerBiome(new FlowerMeadowBiome(), "flower_meadow");
registerBiome(new FungalJungleBiome(), "fungal_jungle"); registerBiome(new FungalJungleBiome(), "fungal_jungle");
@ -167,6 +167,7 @@ public class ModBiomes
registerBiome(new RainforestCliffsBiome(), "rainforest_cliffs"); registerBiome(new RainforestCliffsBiome(), "rainforest_cliffs");
registerBiome(new RedwoodForestBiome(), "redwood_forest"); registerBiome(new RedwoodForestBiome(), "redwood_forest");
registerBiome(new RedwoodHillsBiome(), "redwood_hills"); registerBiome(new RedwoodHillsBiome(), "redwood_hills");
registerBiome(new ScrublandBiome(), "scrubland");
registerBiome(new SeasonalForestBiome(), "seasonal_forest"); registerBiome(new SeasonalForestBiome(), "seasonal_forest");
registerBiome(new SeasonalOrchardBiome(), "seasonal_orchard"); registerBiome(new SeasonalOrchardBiome(), "seasonal_orchard");
registerBiome(new SeasonalPumpkinPatchBiome(), "seasonal_pumpkin_patch"); registerBiome(new SeasonalPumpkinPatchBiome(), "seasonal_pumpkin_patch");
@ -185,6 +186,7 @@ public class ModBiomes
registerBiome(new WastelandBiome(), "wasteland"); registerBiome(new WastelandBiome(), "wasteland");
registerBiome(new WetlandBiome(), "wetland"); registerBiome(new WetlandBiome(), "wetland");
registerBiome(new WetlandMarshBiome(), "wetland_marsh"); registerBiome(new WetlandMarshBiome(), "wetland_marsh");
registerBiome(new WoodedScrublandBiome(), "wooded_scrubland");
registerBiome(new WoodedWastelandBiome(), "wooded_wasteland"); registerBiome(new WoodedWastelandBiome(), "wooded_wasteland");
//Nether Biomes //Nether Biomes
@ -207,7 +209,7 @@ public class ModBiomes
registerSubBiome(dead_forest, dead_swamp, 0.75F, 100); registerSubBiome(dead_forest, dead_swamp, 0.75F, 100);
registerSubBiome(dryland, dry_steppe, 1.0F, 100); registerSubBiome(dryland, dry_boneyard, 0.75F, 100);
registerSubBiome(fungal_jungle, overgrown_fungal_jungle, 0.8F, 100); registerSubBiome(fungal_jungle, overgrown_fungal_jungle, 0.8F, 100);
@ -236,8 +238,10 @@ public class ModBiomes
registerSubBiome(redwood_forest, redwood_hills, 0.75F, 100); registerSubBiome(redwood_forest, redwood_hills, 0.75F, 100);
registerSubBiome(seasonal_forest, seasonal_orchard, 0.75F, 100); registerSubBiome(scrubland, wooded_scrubland, 1.0F, 100);
registerSubBiome(seasonal_forest, seasonal_pumpkin_patch, 0.75F, 100);
registerSubBiome(seasonal_forest, seasonal_orchard, 1.0F, 100);
registerSubBiome(seasonal_forest, seasonal_pumpkin_patch, 1.0F, 100);
registerSubBiome(shrubland, shrubland_hills, 0.75F, 100); registerSubBiome(shrubland, shrubland_hills, 0.75F, 100);
@ -282,7 +286,7 @@ public class ModBiomes
registerVanillaBiome(Biomes.SNOWY_TAIGA, BOPClimates.TUNDRA, 7); registerVanillaBiome(Biomes.SNOWY_TAIGA, BOPClimates.TUNDRA, 7);
registerVanillaBiome(Biomes.TAIGA, BOPClimates.WET_BOREAL, 10); registerVanillaBiome(Biomes.TAIGA, BOPClimates.WET_BOREAL, 10);
registerVanillaBiome(Biomes.GIANT_TREE_TAIGA, BOPClimates.DRY_BOREAL, 5); registerVanillaBiome(Biomes.GIANT_TREE_TAIGA, BOPClimates.DRY_BOREAL, 5);
registerVanillaBiome(Biomes.DARK_FOREST, BOPClimates.WET_TEMPERATE, 5); registerVanillaBiome(Biomes.DARK_FOREST, BOPClimates.WET_TEMPERATE, 7);
registerVanillaBiome(Biomes.BIRCH_FOREST, BOPClimates.DRY_TEMPERATE, 5); registerVanillaBiome(Biomes.BIRCH_FOREST, BOPClimates.DRY_TEMPERATE, 5);
registerVanillaBiome(Biomes.FOREST, BOPClimates.COOL_TEMPERATE, 10); registerVanillaBiome(Biomes.FOREST, BOPClimates.COOL_TEMPERATE, 10);
registerVanillaBiome(Biomes.PLAINS, BOPClimates.WARM_TEMPERATE, 10); registerVanillaBiome(Biomes.PLAINS, BOPClimates.WARM_TEMPERATE, 10);
@ -319,8 +323,8 @@ public class ModBiomes
registerVillagerType(dead_forest, VillagerType.TAIGA); registerVillagerType(dead_forest, VillagerType.TAIGA);
registerVillagerType(dead_swamp, VillagerType.TAIGA); registerVillagerType(dead_swamp, VillagerType.TAIGA);
registerVillagerType(deep_bayou, VillagerType.SWAMP); registerVillagerType(deep_bayou, VillagerType.SWAMP);
registerVillagerType(dryland, VillagerType.SAVANNA); registerVillagerType(dryland, VillagerType.PLAINS);
registerVillagerType(dry_steppe, VillagerType.SAVANNA); registerVillagerType(dry_boneyard, VillagerType.PLAINS);
registerVillagerType(fir_clearing, VillagerType.TAIGA); registerVillagerType(fir_clearing, VillagerType.TAIGA);
registerVillagerType(flower_meadow, VillagerType.TAIGA); registerVillagerType(flower_meadow, VillagerType.TAIGA);
registerVillagerType(fungal_jungle, VillagerType.JUNGLE); registerVillagerType(fungal_jungle, VillagerType.JUNGLE);
@ -353,6 +357,7 @@ public class ModBiomes
registerVillagerType(redwood_forest, VillagerType.PLAINS); registerVillagerType(redwood_forest, VillagerType.PLAINS);
registerVillagerType(redwood_forest_edge, VillagerType.PLAINS); registerVillagerType(redwood_forest_edge, VillagerType.PLAINS);
registerVillagerType(redwood_hills, VillagerType.PLAINS); registerVillagerType(redwood_hills, VillagerType.PLAINS);
registerVillagerType(scrubland, VillagerType.SAVANNA);
registerVillagerType(seasonal_forest, VillagerType.PLAINS); registerVillagerType(seasonal_forest, VillagerType.PLAINS);
registerVillagerType(seasonal_orchard, VillagerType.PLAINS); registerVillagerType(seasonal_orchard, VillagerType.PLAINS);
registerVillagerType(seasonal_pumpkin_patch, VillagerType.PLAINS); registerVillagerType(seasonal_pumpkin_patch, VillagerType.PLAINS);
@ -373,6 +378,7 @@ public class ModBiomes
registerVillagerType(wasteland, VillagerType.DESERT); registerVillagerType(wasteland, VillagerType.DESERT);
registerVillagerType(wetland, VillagerType.SWAMP); registerVillagerType(wetland, VillagerType.SWAMP);
registerVillagerType(wetland_marsh, VillagerType.SWAMP); registerVillagerType(wetland_marsh, VillagerType.SWAMP);
registerVillagerType(wooded_scrubland, VillagerType.SAVANNA);
registerVillagerType(wooded_wasteland, VillagerType.DESERT); registerVillagerType(wooded_wasteland, VillagerType.DESERT);
} }

View file

@ -308,10 +308,10 @@ public class ModBlocks
//Tall Plants //Tall Plants
cattail = registerBlock(new DoubleWatersidePlantBlock(AbstractBlock.Properties.of(Material.PLANT, MaterialColor.DIRT).noCollission().instabreak().sound(SoundType.GRASS)), "cattail"); cattail = registerBlock(new DoubleWatersidePlantBlock(AbstractBlock.Properties.of(Material.PLANT, MaterialColor.DIRT).noCollission().instabreak().sound(SoundType.GRASS)), "cattail");
tall_wheat = registerBlock(new DoublePlantBlockBOP(AbstractBlock.Properties.of(Material.PLANT, MaterialColor.TERRACOTTA_YELLOW).noCollission().instabreak().sound(SoundType.GRASS)), "tall_wheat"); barley = registerBlock(new DoublePlantBlockBOP(AbstractBlock.Properties.of(Material.PLANT, MaterialColor.TERRACOTTA_YELLOW).noCollission().instabreak().sound(SoundType.GRASS)), "barley");
reed = registerBlock(new DoubleWaterPlantBlock(AbstractBlock.Properties.of(Material.PLANT, MaterialColor.DIRT).noCollission().instabreak().sound(SoundType.GRASS)), "reed"); reed = registerBlock(new DoubleWaterPlantBlock(AbstractBlock.Properties.of(Material.REPLACEABLE_WATER_PLANT, MaterialColor.DIRT).noCollission().instabreak().sound(SoundType.GRASS)), "reed");
watergrass = registerBlock(new DoubleWaterPlantBlock(AbstractBlock.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)), "watergrass"); watergrass = registerBlock(new DoubleWaterPlantBlock(AbstractBlock.Properties.of(Material.REPLACEABLE_WATER_PLANT).noCollission().instabreak().sound(SoundType.GRASS)), "watergrass");
mangrove_root = registerBlock(new DoubleWaterPlantBlock(AbstractBlock.Properties.of(Material.PLANT, MaterialColor.TERRACOTTA_WHITE).noCollission().strength(1.0F, 1.5F).sound(SoundType.WOOD)), "mangrove_root"); mangrove_root = registerBlock(new DoubleWaterPlantBlock(AbstractBlock.Properties.of(Material.WATER_PLANT, MaterialColor.TERRACOTTA_WHITE).noCollission().strength(1.0F, 1.5F).sound(SoundType.WOOD)), "mangrove_root");
dead_branch = registerBlock(new DeadBranchBlock(AbstractBlock.Properties.of(Material.WOOD, MaterialColor.COLOR_GRAY).noCollission().instabreak().sound(SoundType.WOOD)), "dead_branch"); dead_branch = registerBlock(new DeadBranchBlock(AbstractBlock.Properties.of(Material.WOOD, MaterialColor.COLOR_GRAY).noCollission().instabreak().sound(SoundType.WOOD)), "dead_branch");
bramble = registerBlock(new BrambleBlock(AbstractBlock.Properties.of(Material.PLANT, MaterialColor.NETHER).strength(0.4F).harvestLevel(0).harvestTool(ToolType.AXE).sound(SoundType.WOOD)), "bramble"); bramble = registerBlock(new BrambleBlock(AbstractBlock.Properties.of(Material.PLANT, MaterialColor.NETHER).strength(0.4F).harvestLevel(0).harvestTool(ToolType.AXE).sound(SoundType.WOOD)), "bramble");
@ -414,7 +414,7 @@ public class ModBlocks
RenderTypeLookup.setRenderLayer(desert_grass, cutoutRenderType); RenderTypeLookup.setRenderLayer(desert_grass, cutoutRenderType);
RenderTypeLookup.setRenderLayer(dead_grass, cutoutRenderType); RenderTypeLookup.setRenderLayer(dead_grass, cutoutRenderType);
RenderTypeLookup.setRenderLayer(cattail, cutoutRenderType); RenderTypeLookup.setRenderLayer(cattail, cutoutRenderType);
RenderTypeLookup.setRenderLayer(tall_wheat, cutoutRenderType); RenderTypeLookup.setRenderLayer(barley, cutoutRenderType);
RenderTypeLookup.setRenderLayer(reed, cutoutRenderType); RenderTypeLookup.setRenderLayer(reed, cutoutRenderType);
RenderTypeLookup.setRenderLayer(watergrass, cutoutRenderType); RenderTypeLookup.setRenderLayer(watergrass, cutoutRenderType);
RenderTypeLookup.setRenderLayer(mangrove_root, cutoutRenderType); RenderTypeLookup.setRenderLayer(mangrove_root, cutoutRenderType);

View file

@ -136,7 +136,7 @@ public class ModVanillaCompat
registerFlammable(BOPBlocks.desert_grass, 60, 100); registerFlammable(BOPBlocks.desert_grass, 60, 100);
registerFlammable(BOPBlocks.dead_grass, 60, 100); registerFlammable(BOPBlocks.dead_grass, 60, 100);
registerFlammable(BOPBlocks.dead_branch, 60, 100); registerFlammable(BOPBlocks.dead_branch, 60, 100);
registerFlammable(BOPBlocks.tall_wheat, 60, 100); registerFlammable(BOPBlocks.barley, 60, 100);
//Log Stripping //Log Stripping
registerStrippable(BOPBlocks.fir_log, BOPBlocks.stripped_fir_log); registerStrippable(BOPBlocks.fir_log, BOPBlocks.stripped_fir_log);
@ -228,7 +228,7 @@ public class ModVanillaCompat
registerCompostable(0.5F, BOPBlocks.dead_grass); registerCompostable(0.5F, BOPBlocks.dead_grass);
registerCompostable(0.5F, BOPBlocks.cattail); registerCompostable(0.5F, BOPBlocks.cattail);
registerCompostable(0.5F, BOPBlocks.tall_wheat); registerCompostable(0.5F, BOPBlocks.barley);
registerCompostable(0.5F, BOPBlocks.reed); registerCompostable(0.5F, BOPBlocks.reed);
registerCompostable(0.5F, BOPBlocks.watergrass); registerCompostable(0.5F, BOPBlocks.watergrass);
registerCompostable(0.5F, BOPBlocks.mangrove_root); registerCompostable(0.5F, BOPBlocks.mangrove_root);

View file

@ -0,0 +1,6 @@
{
"variants": {
"half=lower": { "model": "biomesoplenty:block/barley_bottom" },
"half=upper": { "model": "biomesoplenty:block/barley_top" }
}
}

View file

@ -1,6 +0,0 @@
{
"variants": {
"half=lower": { "model": "biomesoplenty:block/tall_wheat_bottom" },
"half=upper": { "model": "biomesoplenty:block/tall_wheat_top" }
}
}

View file

@ -21,7 +21,7 @@
"biome.biomesoplenty.dead_swamp": "Dead Swamp", "biome.biomesoplenty.dead_swamp": "Dead Swamp",
"biome.biomesoplenty.deep_bayou": "Deep Bayou", "biome.biomesoplenty.deep_bayou": "Deep Bayou",
"biome.biomesoplenty.dryland": "Dryland", "biome.biomesoplenty.dryland": "Dryland",
"biome.biomesoplenty.dry_steppe": "Dry Steppe", "biome.biomesoplenty.dry_boneyard": "Dry Boneyard",
"biome.biomesoplenty.fir_clearing": "Fir Clearing", "biome.biomesoplenty.fir_clearing": "Fir Clearing",
"biome.biomesoplenty.flower_meadow": "Flower Meadow", "biome.biomesoplenty.flower_meadow": "Flower Meadow",
"biome.biomesoplenty.fungal_jungle": "Fungal Jungle", "biome.biomesoplenty.fungal_jungle": "Fungal Jungle",
@ -55,6 +55,7 @@
"biome.biomesoplenty.redwood_forest": "Redwood Forest", "biome.biomesoplenty.redwood_forest": "Redwood Forest",
"biome.biomesoplenty.redwood_forest_edge": "Redwood Forest Edge", "biome.biomesoplenty.redwood_forest_edge": "Redwood Forest Edge",
"biome.biomesoplenty.redwood_hills": "Redwood Hills", "biome.biomesoplenty.redwood_hills": "Redwood Hills",
"biome.biomesoplenty.scrubland": "Scrubland",
"biome.biomesoplenty.seasonal_forest": "Seasonal Forest", "biome.biomesoplenty.seasonal_forest": "Seasonal Forest",
"biome.biomesoplenty.seasonal_orchard": "Seasonal Orchard", "biome.biomesoplenty.seasonal_orchard": "Seasonal Orchard",
"biome.biomesoplenty.seasonal_pumpkin_patch": "Seasonal Pumpkin Patch", "biome.biomesoplenty.seasonal_pumpkin_patch": "Seasonal Pumpkin Patch",
@ -78,6 +79,7 @@
"biome.biomesoplenty.wetland": "Wetland", "biome.biomesoplenty.wetland": "Wetland",
"biome.biomesoplenty.wetland_marsh": "Wetland Marsh", "biome.biomesoplenty.wetland_marsh": "Wetland Marsh",
"biome.biomesoplenty.withered_abyss": "Withered Abyss", "biome.biomesoplenty.withered_abyss": "Withered Abyss",
"biome.biomesoplenty.wooded_scrubland": "Wooded Scrubland",
"biome.biomesoplenty.wooded_wasteland": "Wooded Wasteland", "biome.biomesoplenty.wooded_wasteland": "Wooded Wasteland",
"item.biomesoplenty.bop_icon": "BOP Icon", "item.biomesoplenty.bop_icon": "BOP Icon",
@ -97,6 +99,7 @@
"item.biomesoplenty.umbran_boat": "Umbran Boat", "item.biomesoplenty.umbran_boat": "Umbran Boat",
"item.biomesoplenty.willow_boat": "Willow Boat", "item.biomesoplenty.willow_boat": "Willow Boat",
"block.biomesoplenty.barley": "Barley",
"block.biomesoplenty.black_sand": "Black Sand", "block.biomesoplenty.black_sand": "Black Sand",
"block.biomesoplenty.black_sandstone": "Black Sandstone", "block.biomesoplenty.black_sandstone": "Black Sandstone",
"block.biomesoplenty.black_sandstone_slab": "Black Sandstone Slab", "block.biomesoplenty.black_sandstone_slab": "Black Sandstone Slab",
@ -354,7 +357,6 @@
"block.biomesoplenty.stripped_umbran_wood": "Stripped Umbran Wood", "block.biomesoplenty.stripped_umbran_wood": "Stripped Umbran Wood",
"block.biomesoplenty.stripped_willow_log": "Stripped Willow Log", "block.biomesoplenty.stripped_willow_log": "Stripped Willow Log",
"block.biomesoplenty.stripped_willow_wood": "Stripped Willow Wood", "block.biomesoplenty.stripped_willow_wood": "Stripped Willow Wood",
"block.biomesoplenty.tall_wheat": "Tall Wheat",
"block.biomesoplenty.toadstool": "Toadstool", "block.biomesoplenty.toadstool": "Toadstool",
"block.biomesoplenty.toadstool_block": "Toadstool Block", "block.biomesoplenty.toadstool_block": "Toadstool Block",
"block.biomesoplenty.umbran_button": "Umbran Button", "block.biomesoplenty.umbran_button": "Umbran Button",

View file

@ -1,6 +1,6 @@
{ {
"parent": "block/cross", "parent": "block/cross",
"textures": { "textures": {
"cross": "biomesoplenty:block/tall_wheat_top" "cross": "biomesoplenty:block/barley_bottom"
} }
} }

View file

@ -1,6 +1,6 @@
{ {
"parent": "block/cross", "parent": "block/cross",
"textures": { "textures": {
"cross": "biomesoplenty:block/tall_wheat_bottom" "cross": "biomesoplenty:block/barley_top"
} }
} }

View file

@ -1,6 +1,6 @@
{ {
"parent": "item/generated", "parent": "item/generated",
"textures": { "textures": {
"layer0": "biomesoplenty:block/tall_wheat_top" "layer0": "biomesoplenty:block/barley_top"
} }
} }

View file

@ -5,8 +5,8 @@ block.10031 = biomesoplenty:sprout biomesoplenty:dune_grass biomesoplenty:desert
block.10059 = biomesoplenty:origin_sapling biomesoplenty:flowering_oak_sapling biomesoplenty:rainbow_birch_sapling biomesoplenty:yellow_autumn_sapling biomesoplenty:orange_autumn_sapling biomesoplenty:maple_sapling biomesoplenty:fir_sapling biomesoplenty:redwood_sapling biomesoplenty:white_cherry_sapling biomesoplenty:pink_cherry_sapling biomesoplenty:mahogany_sapling biomesoplenty:jacaranda_sapling biomesoplenty:palm_sapling biomesoplenty:willow_sapling biomesoplenty:dead_sapling biomesoplenty:magic_sapling biomesoplenty:umbran_sapling biomesoplenty:hellbark_sapling biomesoplenty:rose biomesoplenty:violet biomesoplenty:lavender biomesoplenty:wildflower biomesoplenty:orange_cosmos biomesoplenty:pink_daffodil biomesoplenty:pink_hibiscus biomesoplenty:glowflower biomesoplenty:wilted_lily biomesoplenty:burning_blossom biomesoplenty:bush block.10059 = biomesoplenty:origin_sapling biomesoplenty:flowering_oak_sapling biomesoplenty:rainbow_birch_sapling biomesoplenty:yellow_autumn_sapling biomesoplenty:orange_autumn_sapling biomesoplenty:maple_sapling biomesoplenty:fir_sapling biomesoplenty:redwood_sapling biomesoplenty:white_cherry_sapling biomesoplenty:pink_cherry_sapling biomesoplenty:mahogany_sapling biomesoplenty:jacaranda_sapling biomesoplenty:palm_sapling biomesoplenty:willow_sapling biomesoplenty:dead_sapling biomesoplenty:magic_sapling biomesoplenty:umbran_sapling biomesoplenty:hellbark_sapling biomesoplenty:rose biomesoplenty:violet biomesoplenty:lavender biomesoplenty:wildflower biomesoplenty:orange_cosmos biomesoplenty:pink_daffodil biomesoplenty:pink_hibiscus biomesoplenty:glowflower biomesoplenty:wilted_lily biomesoplenty:burning_blossom biomesoplenty:bush
# Tall Plants # Tall Plants
block.10175 = biomesoplenty:blue_hydrangea:half=lower biomesoplenty:goldenrod:half=lower biomesoplenty:cattail:half=lower biomesoplenty:tall_wheat:half=lower biomesoplenty:reed:half=lower biomesoplenty:watergrass:half=lower block.10175 = biomesoplenty:blue_hydrangea:half=lower biomesoplenty:goldenrod:half=lower biomesoplenty:cattail:half=lower biomesoplenty:barley:half=lower biomesoplenty:reed:half=lower biomesoplenty:watergrass:half=lower
block.10176 = biomesoplenty:blue_hydrangea:half=upper biomesoplenty:goldenrod:half=upper biomesoplenty:cattail:half=upper biomesoplenty:tall_wheat:half=upper biomesoplenty:reed:half=upper biomesoplenty:watergrass:half=upper block.10176 = biomesoplenty:blue_hydrangea:half=upper biomesoplenty:goldenrod:half=upper biomesoplenty:cattail:half=upper biomesoplenty:barley:half=upper biomesoplenty:reed:half=upper biomesoplenty:watergrass:half=upper
# Leaves # Leaves
block.10018 = biomesoplenty:origin_leaves biomesoplenty:flowering_oak_leaves biomesoplenty:rainbow_birch_leaves biomesoplenty:yellow_autumn_leaves biomesoplenty:orange_autumn_leaves biomesoplenty:maple_leaves biomesoplenty:fir_leaves biomesoplenty:redwood_leaves biomesoplenty:white_cherry_leaves biomesoplenty:pink_cherry_leaves biomesoplenty:mahogany_leaves biomesoplenty:jacaranda_leaves biomesoplenty:palm_leaves biomesoplenty:willow_leaves biomesoplenty:dead_leaves biomesoplenty:magic_leaves biomesoplenty:umbran_leaves biomesoplenty:hellbark_leaves block.10018 = biomesoplenty:origin_leaves biomesoplenty:flowering_oak_leaves biomesoplenty:rainbow_birch_leaves biomesoplenty:yellow_autumn_leaves biomesoplenty:orange_autumn_leaves biomesoplenty:maple_leaves biomesoplenty:fir_leaves biomesoplenty:redwood_leaves biomesoplenty:white_cherry_leaves biomesoplenty:pink_cherry_leaves biomesoplenty:mahogany_leaves biomesoplenty:jacaranda_leaves biomesoplenty:palm_leaves biomesoplenty:willow_leaves biomesoplenty:dead_leaves biomesoplenty:magic_leaves biomesoplenty:umbran_leaves biomesoplenty:hellbark_leaves

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 365 B

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 B

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 B

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 265 B

View file

@ -93,10 +93,10 @@
"biome": "biomesoplenty:dryland" "biome": "biomesoplenty:dryland"
} }
}, },
"dry_steppe": { "dry_boneyard": {
"trigger": "minecraft:location", "trigger": "minecraft:location",
"conditions": { "conditions": {
"biome": "biomesoplenty:dry_steppe" "biome": "biomesoplenty:dry_boneyard"
} }
}, },
"fir_clearing": { "fir_clearing": {
@ -296,6 +296,12 @@
"conditions": { "conditions": {
"biome": "biomesoplenty:redwood_hills" "biome": "biomesoplenty:redwood_hills"
} }
},
"scrubland": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:scrubland"
}
}, },
"seasonal_forest": { "seasonal_forest": {
"trigger": "minecraft:location", "trigger": "minecraft:location",
@ -434,6 +440,12 @@
"conditions": { "conditions": {
"biome": "biomesoplenty:withered_abyss" "biome": "biomesoplenty:withered_abyss"
} }
},
"wooded_scrubland": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:wooded_scrubland"
}
}, },
"wooded_wasteland": { "wooded_wasteland": {
"trigger": "minecraft:location", "trigger": "minecraft:location",

View file

@ -92,10 +92,10 @@
"biome": "biomesoplenty:dryland" "biome": "biomesoplenty:dryland"
} }
}, },
"dry_steppe": { "dry_boneyard": {
"trigger": "minecraft:location", "trigger": "minecraft:location",
"conditions": { "conditions": {
"biome": "biomesoplenty:dry_steppe" "biome": "biomesoplenty:dry_boneyard"
} }
}, },
"fir_clearing": { "fir_clearing": {
@ -295,6 +295,12 @@
"conditions": { "conditions": {
"biome": "biomesoplenty:redwood_hills" "biome": "biomesoplenty:redwood_hills"
} }
},
"scrubland": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:scrubland"
}
}, },
"seasonal_forest": { "seasonal_forest": {
"trigger": "minecraft:location", "trigger": "minecraft:location",
@ -433,6 +439,12 @@
"conditions": { "conditions": {
"biome": "biomesoplenty:withered_abyss" "biome": "biomesoplenty:withered_abyss"
} }
},
"wooded_scrubland": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:wooded_scrubland"
}
}, },
"wooded_wasteland": { "wooded_wasteland": {
"trigger": "minecraft:location", "trigger": "minecraft:location",
@ -456,7 +468,7 @@
"dead_swamp", "dead_swamp",
"deep_bayou", "deep_bayou",
"dryland", "dryland",
"dry_steppe", "dry_boneyard",
"fir_clearing", "fir_clearing",
"flower_meadow", "flower_meadow",
"fungal_jungle", "fungal_jungle",
@ -490,6 +502,7 @@
"redwood_forest", "redwood_forest",
"redwood_forest_edge", "redwood_forest_edge",
"redwood_hills", "redwood_hills",
"scrubland",
"seasonal_forest", "seasonal_forest",
"seasonal_orchard", "seasonal_orchard",
"seasonal_pumpkin_patch", "seasonal_pumpkin_patch",
@ -513,6 +526,7 @@
"wetland", "wetland",
"wetland_marsh", "wetland_marsh",
"withered_abyss", "withered_abyss",
"wooded_scrubland",
"wooded_wasteland" "wooded_wasteland"
] ]
] ]

View file

@ -17,7 +17,7 @@
} }
} }
], ],
"name": "biomesoplenty:tall_wheat" "name": "biomesoplenty:barley"
}, },
{ {
"type": "minecraft:item", "type": "minecraft:item",
@ -27,7 +27,7 @@
}, },
{ {
"condition": "minecraft:block_state_property", "condition": "minecraft:block_state_property",
"block": "biomesoplenty:tall_wheat", "block": "biomesoplenty:barley",
"properties": { "properties": {
"half": "lower" "half": "lower"
} }