Re-added Bayou
This commit is contained in:
parent
66216018e0
commit
91cf57c696
9 changed files with 41 additions and 138 deletions
|
@ -15,6 +15,7 @@ public class BOPBiomes
|
|||
{
|
||||
public static Optional<Biome> alps = Optional.empty();
|
||||
public static Optional<Biome> alps_foothills = Optional.empty();
|
||||
public static Optional<Biome> bayou = Optional.empty();
|
||||
public static Optional<Biome> bog = Optional.empty();
|
||||
public static Optional<Biome> bog_mire = Optional.empty();
|
||||
public static Optional<Biome> boreal_forest = Optional.empty();
|
||||
|
@ -24,7 +25,6 @@ public class BOPBiomes
|
|||
public static Optional<Biome> cold_desert = Optional.empty();
|
||||
public static Optional<Biome> coniferous_forest = Optional.empty();
|
||||
public static Optional<Biome> dead_forest = Optional.empty();
|
||||
public static Optional<Biome> dead_plains = Optional.empty();
|
||||
public static Optional<Biome> floodplains = Optional.empty();
|
||||
public static Optional<Biome> flower_meadow = Optional.empty();
|
||||
public static Optional<Biome> grassland = Optional.empty();
|
||||
|
@ -58,7 +58,6 @@ public class BOPBiomes
|
|||
public static Optional<Biome> snowy_forest = Optional.empty();
|
||||
public static Optional<Biome> steppe = Optional.empty();
|
||||
public static Optional<Biome> temperate_rainforest = Optional.empty();
|
||||
public static Optional<Biome> thicket = Optional.empty();
|
||||
public static Optional<Biome> tropical_rainforest = Optional.empty();
|
||||
public static Optional<Biome> tropics = Optional.empty();
|
||||
public static Optional<Biome> tundra = Optional.empty();
|
||||
|
|
|
@ -82,11 +82,11 @@ public enum BOPClimates
|
|||
BOPClimates.TUNDRA.addBiome(10, Biomes.SNOWY_TAIGA).addBiome(7, Biomes.MOUNTAINS);
|
||||
BOPClimates.WET_BOREAL.addBiome(10, Biomes.TAIGA);
|
||||
BOPClimates.DRY_BOREAL.addBiome(5, Biomes.GIANT_TREE_TAIGA);
|
||||
BOPClimates.WET_TEMPERATE.addBiome(5, Biomes.DARK_FOREST);
|
||||
BOPClimates.WET_TEMPERATE.addBiome(5, Biomes.DARK_FOREST).addBiome(7, Biomes.SWAMP);
|
||||
BOPClimates.DRY_TEMPERATE.addBiome(7, Biomes.BIRCH_FOREST);
|
||||
BOPClimates.COOL_TEMPERATE.addBiome(10, Biomes.FOREST);
|
||||
BOPClimates.WARM_TEMPERATE.addBiome(10, Biomes.PLAINS);
|
||||
BOPClimates.SUBTROPICAL.addBiome(10, Biomes.SWAMP);
|
||||
BOPClimates.SUBTROPICAL.addBiome(1, Biomes.LUKEWARM_OCEAN);
|
||||
BOPClimates.TROPICAL.addBiome(15, Biomes.JUNGLE);
|
||||
BOPClimates.MEDITERRANEAN.addBiome(1, Biomes.PLAINS);
|
||||
BOPClimates.SAVANNA.addBiome(10, Biomes.SAVANNA);
|
||||
|
|
|
@ -9,9 +9,11 @@ package biomesoplenty.common.biome.overworld;
|
|||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.common.biome.BiomeBOP;
|
||||
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
|
||||
import biomesoplenty.common.world.gen.feature.StandardGrassFeature;
|
||||
import biomesoplenty.common.world.gen.feature.FernGrassFeature;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.init.Blocks;
|
||||
|
@ -19,6 +21,8 @@ import net.minecraft.init.Fluids;
|
|||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.gen.GenerationStage;
|
||||
import net.minecraft.world.gen.feature.BushConfig;
|
||||
import net.minecraft.world.gen.feature.DoublePlantConfig;
|
||||
import net.minecraft.world.gen.feature.Feature;
|
||||
import net.minecraft.world.gen.feature.IFeatureConfig;
|
||||
import net.minecraft.world.gen.feature.LakesConfig;
|
||||
|
@ -26,10 +30,12 @@ import net.minecraft.world.gen.feature.LiquidsConfig;
|
|||
import net.minecraft.world.gen.feature.MinableConfig;
|
||||
import net.minecraft.world.gen.feature.ProbabilityConfig;
|
||||
import net.minecraft.world.gen.feature.RandomDefaultFeatureListConfig;
|
||||
import net.minecraft.world.gen.feature.SeaGrassConfig;
|
||||
import net.minecraft.world.gen.feature.SphereReplaceConfig;
|
||||
import net.minecraft.world.gen.feature.structure.MineshaftConfig;
|
||||
import net.minecraft.world.gen.feature.structure.MineshaftStructure;
|
||||
import net.minecraft.world.gen.feature.structure.StrongholdConfig;
|
||||
import net.minecraft.world.gen.feature.structure.SwampHutConfig;
|
||||
import net.minecraft.world.gen.placement.AtSurfaceWithExtraConfig;
|
||||
import net.minecraft.world.gen.placement.ChanceConfig;
|
||||
import net.minecraft.world.gen.placement.CountRangeConfig;
|
||||
|
@ -42,13 +48,14 @@ import net.minecraft.world.gen.surfacebuilders.CompositeSurfaceBuilder;
|
|||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
public class DeadPlainsBiome extends BiomeBOP
|
||||
public class BayouBiome extends BiomeBOP
|
||||
{
|
||||
public DeadPlainsBiome()
|
||||
public BayouBiome()
|
||||
{
|
||||
super((new Biome.BiomeBuilder()).surfaceBuilder(new CompositeSurfaceBuilder(DEFAULT_SURFACE_BUILDER, GRASS_DIRT_GRAVEL_SURFACE)).precipitation(Biome.RainType.RAIN).category(Biome.Category.PLAINS).depth(0.0F).scale(0.0F).temperature(0.3F).downfall(0.3F).waterColor(4159204).waterFogColor(329011).parent((String)null));
|
||||
super((new Biome.BiomeBuilder()).surfaceBuilder(new CompositeSurfaceBuilder(DEFAULT_SURFACE_BUILDER, GRASS_DIRT_GRAVEL_SURFACE)).precipitation(Biome.RainType.RAIN).category(Biome.Category.SWAMP).depth(-0.2F).scale(0.05F).temperature(0.95F).downfall(0.9F).waterColor(0x62AF6E).waterFogColor(0x0C2116).parent((String)null));
|
||||
|
||||
// Mineshafts and Strongholds
|
||||
this.addStructure(Feature.SWAMP_HUT, new SwampHutConfig());
|
||||
this.addStructure(Feature.MINESHAFT, new MineshaftConfig(0.004D, MineshaftStructure.Type.NORMAL));
|
||||
this.addStructure(Feature.STRONGHOLD, new StrongholdConfig());
|
||||
|
||||
|
@ -58,11 +65,13 @@ public class DeadPlainsBiome extends BiomeBOP
|
|||
this.addStructureFeatures();
|
||||
|
||||
// Lakes
|
||||
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, createCompositeFeature(Feature.LAKES, new LakesConfig(Blocks.WATER), LAKE_WATER, new LakeChanceConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, createCompositeFeature(Feature.LAKES, new LakesConfig(Blocks.WATER), LAKE_WATER, new LakeChanceConfig(2)));
|
||||
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, createCompositeFeature(Feature.LAKES, new LakesConfig(Blocks.LAVA), LAVA_LAKE, new LakeChanceConfig(80)));
|
||||
|
||||
// Underground
|
||||
|
||||
// Dungeons
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_STRUCTURES, createCompositeFeature(Feature.DUNGEONS, IFeatureConfig.NO_FEATURE_CONFIG, DUNGEON_ROOM, new DungeonRoomConfig(8)));
|
||||
|
||||
// Ores
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.DIRT.getDefaultState(), 33), COUNT_RANGE, new CountRangeConfig(10, 0, 0, 256)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.GRAVEL.getDefaultState(), 33), COUNT_RANGE, new CountRangeConfig(8, 0, 0, 256)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.GRANITE.getDefaultState(), 33), COUNT_RANGE, new CountRangeConfig(10, 0, 0, 80)));
|
||||
|
@ -74,16 +83,21 @@ public class DeadPlainsBiome extends BiomeBOP
|
|||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.REDSTONE_ORE.getDefaultState(), 8), COUNT_RANGE, new CountRangeConfig(8, 0, 0, 16)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.DIAMOND_ORE.getDefaultState(), 8), COUNT_RANGE, new CountRangeConfig(1, 0, 0, 16)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.LAPIS_ORE.getDefaultState(), 7), DEPTH_AVERAGE, new DepthAverageConfig(1, 16, 16)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.SAND, 7, 2, Lists.newArrayList(Blocks.DIRT, Blocks.GRASS_BLOCK)), TOP_SOLID, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.CLAY, 4, 1, Lists.newArrayList(Blocks.DIRT, Blocks.CLAY)), TOP_SOLID, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.GRAVEL, 6, 2, Lists.newArrayList(Blocks.DIRT, Blocks.GRASS_BLOCK)), TOP_SOLID, new FrequencyConfig(1)));
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.DYING_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F}, BOPBiomeFeatures.OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig((int)0.95, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(new StandardGrassFeature(), IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(5)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE_WITH_CHANCE, new ChanceConfig(32)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.SPARSE_OAK_TREE, BOPBiomeFeatures.TALL_WILLOW_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.3F}, Feature.SWAMP_TREE, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(20, 0.7F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(new FernGrassFeature(), IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(12)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.DOUBLE_PLANT, new DoublePlantConfig(Blocks.TALL_GRASS.getDefaultState()), SURFACE_PLUS_32, new FrequencyConfig(6)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.DOUBLE_PLANT, new DoublePlantConfig(Blocks.LARGE_FERN.getDefaultState()), SURFACE_PLUS_32, new FrequencyConfig(12)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM), TWICE_SURFACE_WITH_CHANCE, new ChanceConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM), TWICE_SURFACE_WITH_CHANCE, new ChanceConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.WATERLILY, IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(50)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.REED, IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.LIQUIDS, new LiquidsConfig(Fluids.WATER), HEIGHT_BIASED_RANGE, new CountRangeConfig(50, 8, 8, 256)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.LIQUIDS, new LiquidsConfig(Fluids.LAVA), HEIGHT_VERY_BIASED_RANGE, new CountRangeConfig(20, 8, 16, 256)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.SEA_GRASS, new SeaGrassConfig(64, 0.6D), TOP_SOLID_ONCE, IPlacementConfig.NO_PLACEMENT_CONFIG));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, createCompositeFeature(Feature.FOSSILS, IFeatureConfig.NO_FEATURE_CONFIG, WITH_CHANCE, new ChanceConfig(64)));
|
||||
this.addFeature(GenerationStage.Decoration.TOP_LAYER_MODIFICATION, createCompositeFeature(Feature.ICE_AND_SNOW, IFeatureConfig.NO_FEATURE_CONFIG, PASSTHROUGH, IPlacementConfig.NO_PLACEMENT_CONFIG));
|
||||
|
||||
// Entity spawning
|
||||
|
@ -91,7 +105,6 @@ public class DeadPlainsBiome extends BiomeBOP
|
|||
this.addSpawn(EnumCreatureType.CREATURE, new Biome.SpawnListEntry(EntityType.PIG, 10, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.CREATURE, new Biome.SpawnListEntry(EntityType.CHICKEN, 10, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.CREATURE, new Biome.SpawnListEntry(EntityType.COW, 8, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.WATER_CREATURE, new Biome.SpawnListEntry(EntityType.SQUID, 10, 1, 2));
|
||||
this.addSpawn(EnumCreatureType.AMBIENT, new Biome.SpawnListEntry(EntityType.BAT, 10, 8, 8));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SPIDER, 100, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE, 95, 4, 4));
|
||||
|
@ -101,17 +114,20 @@ public class DeadPlainsBiome extends BiomeBOP
|
|||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 100, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 1, 1, 1));
|
||||
|
||||
this.addWeight(BOPClimates.SUBTROPICAL, 10);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public int getGrassColor(BlockPos pos)
|
||||
{
|
||||
return 0xBCA165;
|
||||
return 0x6FAA50;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public int getFoliageColor(BlockPos pos)
|
||||
{
|
||||
return 0xBCA165;
|
||||
return 0x8BDB67;
|
||||
}
|
||||
}
|
|
@ -108,12 +108,12 @@ public class BogMireBiome extends BiomeBOP
|
|||
@OnlyIn(Dist.CLIENT)
|
||||
public int getGrassColor(BlockPos pos)
|
||||
{
|
||||
return 0x68584A;
|
||||
return 0x5E5C3E;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public int getFoliageColor(BlockPos pos)
|
||||
{
|
||||
return 0x938060;
|
||||
return 0x776F4F;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ public class ChaparralBiome extends BiomeBOP
|
|||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.GRAVEL, 6, 2, Lists.newArrayList(Blocks.DIRT, Blocks.GRASS_BLOCK)), TOP_SOLID, new FrequencyConfig(1)));
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.TWIGLET_TREE, BOPBiomeFeatures.DEAD_TWIGLET_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.5F, 0.25F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(12, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.TWIGLET_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.5F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(12, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFlowerFeature(Feature.DEFAULT_FLOWERS, SURFACE_PLUS_32, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(new StandardGrassFeature(), IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.BUSH, new BushConfig(BOPBlocks.bush), TWICE_SURFACE, new FrequencyConfig(6)));
|
||||
|
|
|
@ -1,105 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* 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 com.google.common.collect.Lists;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.common.biome.BiomeBOP;
|
||||
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
|
||||
import biomesoplenty.common.world.gen.feature.StandardGrassFeature;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Fluids;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.gen.GenerationStage;
|
||||
import net.minecraft.world.gen.feature.BushConfig;
|
||||
import net.minecraft.world.gen.feature.Feature;
|
||||
import net.minecraft.world.gen.feature.IFeatureConfig;
|
||||
import net.minecraft.world.gen.feature.LakesConfig;
|
||||
import net.minecraft.world.gen.feature.LiquidsConfig;
|
||||
import net.minecraft.world.gen.feature.MinableConfig;
|
||||
import net.minecraft.world.gen.feature.ProbabilityConfig;
|
||||
import net.minecraft.world.gen.feature.RandomDefaultFeatureListConfig;
|
||||
import net.minecraft.world.gen.feature.SphereReplaceConfig;
|
||||
import net.minecraft.world.gen.feature.structure.MineshaftConfig;
|
||||
import net.minecraft.world.gen.feature.structure.MineshaftStructure;
|
||||
import net.minecraft.world.gen.feature.structure.StrongholdConfig;
|
||||
import net.minecraft.world.gen.feature.structure.VillageConfig;
|
||||
import net.minecraft.world.gen.feature.structure.VillagePieces;
|
||||
import net.minecraft.world.gen.placement.AtSurfaceWithExtraConfig;
|
||||
import net.minecraft.world.gen.placement.CountRangeConfig;
|
||||
import net.minecraft.world.gen.placement.DepthAverageConfig;
|
||||
import net.minecraft.world.gen.placement.DungeonRoomConfig;
|
||||
import net.minecraft.world.gen.placement.FrequencyConfig;
|
||||
import net.minecraft.world.gen.placement.IPlacementConfig;
|
||||
import net.minecraft.world.gen.placement.LakeChanceConfig;
|
||||
import net.minecraft.world.gen.surfacebuilders.CompositeSurfaceBuilder;
|
||||
|
||||
public class ThicketBiome extends BiomeBOP
|
||||
{
|
||||
public ThicketBiome()
|
||||
{
|
||||
super((new Biome.BiomeBuilder()).surfaceBuilder(new CompositeSurfaceBuilder(DEFAULT_SURFACE_BUILDER, GRASS_DIRT_GRAVEL_SURFACE)).precipitation(Biome.RainType.RAIN).category(Biome.Category.PLAINS).depth(0.1F).scale(0.1F).temperature(0.65F).downfall(0.3F).waterColor(4159204).waterFogColor(329011).parent((String)null));
|
||||
|
||||
// Mineshafts and Strongholds
|
||||
this.addStructure(Feature.MINESHAFT, new MineshaftConfig(0.004D, MineshaftStructure.Type.NORMAL));
|
||||
this.addStructure(Feature.STRONGHOLD, new StrongholdConfig());
|
||||
|
||||
this.addCarver(GenerationStage.Carving.AIR, createWorldCarverWrapper(CAVE_WORLD_CARVER, new ProbabilityConfig(0.14285715F)));
|
||||
this.addCarver(GenerationStage.Carving.AIR, createWorldCarverWrapper(CANYON_WORLD_CARVER, new ProbabilityConfig(0.02F)));
|
||||
|
||||
this.addStructureFeatures();
|
||||
|
||||
// Lakes
|
||||
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, createCompositeFeature(Feature.LAKES, new LakesConfig(Blocks.WATER), LAKE_WATER, new LakeChanceConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, createCompositeFeature(Feature.LAKES, new LakesConfig(Blocks.LAVA), LAVA_LAKE, new LakeChanceConfig(80)));
|
||||
|
||||
// Underground
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_STRUCTURES, createCompositeFeature(Feature.DUNGEONS, IFeatureConfig.NO_FEATURE_CONFIG, DUNGEON_ROOM, new DungeonRoomConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.DIRT.getDefaultState(), 33), COUNT_RANGE, new CountRangeConfig(10, 0, 0, 256)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.GRAVEL.getDefaultState(), 33), COUNT_RANGE, new CountRangeConfig(8, 0, 0, 256)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.GRANITE.getDefaultState(), 33), COUNT_RANGE, new CountRangeConfig(10, 0, 0, 80)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.DIORITE.getDefaultState(), 33), COUNT_RANGE, new CountRangeConfig(10, 0, 0, 80)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.ANDESITE.getDefaultState(), 33), COUNT_RANGE, new CountRangeConfig(10, 0, 0, 80)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.COAL_ORE.getDefaultState(), 17), COUNT_RANGE, new CountRangeConfig(20, 0, 0, 128)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.IRON_ORE.getDefaultState(), 9), COUNT_RANGE, new CountRangeConfig(20, 0, 0, 64)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.GOLD_ORE.getDefaultState(), 9), COUNT_RANGE, new CountRangeConfig(2, 0, 0, 32)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.REDSTONE_ORE.getDefaultState(), 8), COUNT_RANGE, new CountRangeConfig(8, 0, 0, 16)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.DIAMOND_ORE.getDefaultState(), 8), COUNT_RANGE, new CountRangeConfig(1, 0, 0, 16)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, Blocks.LAPIS_ORE.getDefaultState(), 7), DEPTH_AVERAGE, new DepthAverageConfig(1, 16, 16)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.SAND, 7, 2, Lists.newArrayList(Blocks.DIRT, Blocks.GRASS_BLOCK)), TOP_SOLID, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.CLAY, 4, 1, Lists.newArrayList(Blocks.DIRT, Blocks.CLAY)), TOP_SOLID, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.GRAVEL, 6, 2, Lists.newArrayList(Blocks.DIRT, Blocks.GRASS_BLOCK)), TOP_SOLID, new FrequencyConfig(1)));
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.SPARSE_OAK_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.15F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(10, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(new StandardGrassFeature(), IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(BOPBiomeFeatures.BRAMBLE, IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.BUSH, new BushConfig(BOPBlocks.bush), TWICE_SURFACE, new FrequencyConfig(7)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.LIQUIDS, new LiquidsConfig(Fluids.WATER), HEIGHT_BIASED_RANGE, new CountRangeConfig(50, 8, 8, 256)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.LIQUIDS, new LiquidsConfig(Fluids.LAVA), HEIGHT_VERY_BIASED_RANGE, new CountRangeConfig(20, 8, 16, 256)));
|
||||
this.addFeature(GenerationStage.Decoration.TOP_LAYER_MODIFICATION, createCompositeFeature(Feature.ICE_AND_SNOW, IFeatureConfig.NO_FEATURE_CONFIG, PASSTHROUGH, IPlacementConfig.NO_PLACEMENT_CONFIG));
|
||||
|
||||
// Entity spawning
|
||||
this.addSpawn(EnumCreatureType.WATER_CREATURE, new Biome.SpawnListEntry(EntityType.SQUID, 10, 1, 2));
|
||||
this.addSpawn(EnumCreatureType.AMBIENT, new Biome.SpawnListEntry(EntityType.BAT, 10, 8, 8));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SPIDER, 100, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE, 95, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE_VILLAGER, 5, 1, 1));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SKELETON, 100, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.CREEPER, 100, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 100, 4, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4));
|
||||
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
|
||||
|
||||
this.addWeight(BOPClimates.DRY_TEMPERATE, 3);
|
||||
}
|
||||
}
|
|
@ -72,6 +72,7 @@ public class BOPBiomeFeatures
|
|||
public static final AbstractTreeFeature<NoFeatureConfig> ALPS_SPRUCE_TREE = new TaigaTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.STONE).log(Blocks.SPRUCE_LOG.getDefaultState()).leaves(Blocks.SPRUCE_LEAVES.getDefaultState()).maxHeight(13).create();
|
||||
public static final AbstractTreeFeature<NoFeatureConfig> SWAMP_TREE = new BasicTreeFeature.Builder().vine(Blocks.VINE.getDefaultState()).minHeight(8).maxHeight(12).maxLeavesRadius(2).leavesOffset(0).create();
|
||||
public static final AbstractTreeFeature<NoFeatureConfig> WILLOW_TREE = new BasicTreeFeature.Builder().log(BOPBlocks.willow_log.getDefaultState()).leaves(BOPBlocks.willow_leaves.getDefaultState()).vine(BOPBlocks.willow_vine.getDefaultState()).minHeight(8).maxHeight(12).maxLeavesRadius(2).leavesOffset(0).create();
|
||||
public static final AbstractTreeFeature<NoFeatureConfig> TALL_WILLOW_TREE = new BasicTreeFeature.Builder().log(BOPBlocks.willow_log.getDefaultState()).leaves(BOPBlocks.willow_leaves.getDefaultState()).vine(BOPBlocks.willow_vine.getDefaultState()).minHeight(10).maxHeight(16).maxLeavesRadius(2).leavesOffset(0).create();
|
||||
public static final AbstractTreeFeature<NoFeatureConfig> BUSH = new BushTreeFeature.Builder().maxHeight(2).create();
|
||||
public static final AbstractTreeFeature<NoFeatureConfig> PALM_TREE = new PalmTreeFeature.Builder().create();
|
||||
public static final AbstractTreeFeature<NoFeatureConfig> OASIS_PALM_TREE = new PalmTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.SAND).create();
|
||||
|
|
|
@ -13,11 +13,11 @@ import biomesoplenty.api.enums.BOPClimates;
|
|||
import biomesoplenty.common.biome.BiomeBOP;
|
||||
import biomesoplenty.common.biome.overworld.AlpsBiome;
|
||||
import biomesoplenty.common.biome.overworld.AlpsFoothillsBiome;
|
||||
import biomesoplenty.common.biome.overworld.BayouBiome;
|
||||
import biomesoplenty.common.biome.overworld.CherryBlossomGroveBiome;
|
||||
import biomesoplenty.common.biome.overworld.ColdDesertBiome;
|
||||
import biomesoplenty.common.biome.overworld.ConiferousForestBiome;
|
||||
import biomesoplenty.common.biome.overworld.DeadForestBiome;
|
||||
import biomesoplenty.common.biome.overworld.DeadPlainsBiome;
|
||||
import biomesoplenty.common.biome.overworld.FloodplainsBiome;
|
||||
import biomesoplenty.common.biome.overworld.FlowerMeadowBiome;
|
||||
import biomesoplenty.common.biome.overworld.BogBiome;
|
||||
|
@ -56,7 +56,6 @@ import biomesoplenty.common.biome.overworld.SnowyConiferousForestBiome;
|
|||
import biomesoplenty.common.biome.overworld.SnowyForestBiome;
|
||||
import biomesoplenty.common.biome.overworld.SteppeBiome;
|
||||
import biomesoplenty.common.biome.overworld.TemperateRainforestBiome;
|
||||
import biomesoplenty.common.biome.overworld.ThicketBiome;
|
||||
import biomesoplenty.common.biome.overworld.TropicalRainforestBiome;
|
||||
import biomesoplenty.common.biome.overworld.TropicsBiome;
|
||||
import biomesoplenty.common.biome.overworld.TundraBiome;
|
||||
|
@ -94,6 +93,7 @@ public class ModBiomes
|
|||
{
|
||||
alps = registerBiome(new AlpsBiome(), "alps");
|
||||
alps_foothills = registerBiome(new AlpsFoothillsBiome(), "alps_foothills");
|
||||
bayou = registerBiome(new BayouBiome(), "bayou");
|
||||
bog = registerBiome(new BogBiome(), "bog");
|
||||
bog_mire = registerBiome(new BogMireBiome(), "bog_mire");
|
||||
boreal_forest = registerBiome(new BorealForestBiome(), "boreal_forest");
|
||||
|
@ -103,7 +103,6 @@ public class ModBiomes
|
|||
cold_desert = registerBiome(new ColdDesertBiome(), "cold_desert");
|
||||
coniferous_forest = registerBiome(new ConiferousForestBiome(), "coniferous_forest");
|
||||
dead_forest = registerBiome(new DeadForestBiome(), "dead_forest");
|
||||
dead_plains = registerBiome(new DeadPlainsBiome(), "dead_plains");
|
||||
floodplains = registerBiome(new FloodplainsBiome(), "floodplains");
|
||||
flower_meadow = registerBiome(new FlowerMeadowBiome(), "flower_meadow");
|
||||
grassland = registerBiome(new GrasslandBiome(), "grassland");
|
||||
|
@ -137,7 +136,6 @@ public class ModBiomes
|
|||
snowy_forest = registerBiome(new SnowyForestBiome(), "snowy_forest");
|
||||
steppe = registerBiome(new SteppeBiome(), "steppe");
|
||||
temperate_rainforest = registerBiome(new TemperateRainforestBiome(), "temperate_rainforest");
|
||||
thicket = registerBiome(new ThicketBiome(), "thicket");
|
||||
tropical_rainforest = registerBiome(new TropicalRainforestBiome(), "tropical_rainforest");
|
||||
tropics = registerBiome(new TropicsBiome(), "tropics");
|
||||
tundra = registerBiome(new TundraBiome(), "tundra");
|
||||
|
@ -149,9 +147,8 @@ public class ModBiomes
|
|||
|
||||
// Note: Rarity supports two decimal places
|
||||
registerSubBiome(Biomes.DESERT, oasis, 0.25F, 100);
|
||||
registerSubBiome(bog, bog_mire, 0.75F, 100);
|
||||
registerSubBiome(bog, bog_mire, 0.5F, 100);
|
||||
registerSubBiome(brushland, xeric_shrubland, 1.5F, 100);
|
||||
registerSubBiome(dead_forest, dead_plains, 1.0F, 100);
|
||||
registerSubBiome(grove, grove_orchard, 0.75F, 100);
|
||||
registerSubBiome(highland, highland_moor, 1.0F, 100);
|
||||
registerSubBiome(meadow, flower_meadow, 0.75F, 100);
|
||||
|
|
|
@ -32,12 +32,9 @@
|
|||
"biome.biomesoplenty.cold_desert": "Cold Desert",
|
||||
"biome.biomesoplenty.coniferous_forest": "Coniferous Forest",
|
||||
"biome.biomesoplenty.corrupted_sands": "Corrupted Sands",
|
||||
"biome.biomesoplenty.crag": "Crag",
|
||||
"biome.biomesoplenty.dead_forest": "Dead Forest",
|
||||
"biome.biomesoplenty.dead_plains": "Dead Plains",
|
||||
"biome.biomesoplenty.floodplains": "Floodplains",
|
||||
"biome.biomesoplenty.flower_meadow": "Flower Meadow",
|
||||
"biome.biomesoplenty.frosted_tundra": "Frosted Tundra",
|
||||
"biome.biomesoplenty.fungi_forest": "Fungi Forest",
|
||||
"biome.biomesoplenty.grassland": "Grassland",
|
||||
"biome.biomesoplenty.gravel_beach": "Gravel Beach",
|
||||
|
@ -45,7 +42,6 @@
|
|||
"biome.biomesoplenty.grove_orchard": "Grove Orchard",
|
||||
"biome.biomesoplenty.highland": "Highland",
|
||||
"biome.biomesoplenty.highland_moor": "Highland Moor",
|
||||
"biome.biomesoplenty.lake": "Lake",
|
||||
"biome.biomesoplenty.lavender_fields": "Lavender Fields",
|
||||
"biome.biomesoplenty.lush_swamp": "Lush Swamp",
|
||||
"biome.biomesoplenty.mangrove": "Mangrove",
|
||||
|
@ -72,7 +68,6 @@
|
|||
"biome.biomesoplenty.snowy_forest": "Snowy Forest",
|
||||
"biome.biomesoplenty.steppe": "Steppe",
|
||||
"biome.biomesoplenty.temperate_rainforest": "Temperate Rainforest",
|
||||
"biome.biomesoplenty.thicket": "Thicket",
|
||||
"biome.biomesoplenty.tropical_rainforest": "Tropical Rainforest",
|
||||
"biome.biomesoplenty.tropics": "Tropics",
|
||||
"biome.biomesoplenty.tundra": "Tundra",
|
||||
|
|
Loading…
Reference in a new issue