Removed End biome stuff
This commit is contained in:
parent
d6ae490f4b
commit
e99690d60f
210 changed files with 82 additions and 2172 deletions
|
@ -81,7 +81,4 @@ public class BOPBiomes
|
|||
public static Optional<Biome> glowstone_grotto = Optional.empty();
|
||||
public static Optional<Biome> undergarden = Optional.empty();
|
||||
public static Optional<Biome> visceral_heap = Optional.empty();
|
||||
|
||||
public static Optional<Biome> dead_reef = Optional.empty();
|
||||
public static Optional<Biome> ethereal_forest = Optional.empty();
|
||||
}
|
||||
|
|
|
@ -1,28 +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;
|
||||
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class EndBiomeBOP extends BiomeBOP
|
||||
{
|
||||
protected Map<BOPClimates, Integer> weightMap = new HashMap<BOPClimates, Integer>();
|
||||
public boolean canSpawnInBiome;
|
||||
public int beachBiomeId = -1;
|
||||
public int riverBiomeId = -1;
|
||||
|
||||
public EndBiomeBOP(Biome.Builder builder)
|
||||
{
|
||||
super(builder);
|
||||
this.canSpawnInBiome = false;
|
||||
}
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
package biomesoplenty.common.biome.end;
|
||||
|
||||
import biomesoplenty.common.biome.EndBiomeBOP;
|
||||
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
|
||||
import net.minecraft.block.AbstractCoralPlantBlock;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.entity.EntityClassification;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.biome.DefaultBiomeFeatures;
|
||||
import net.minecraft.world.dimension.EndDimension;
|
||||
import net.minecraft.world.gen.GenerationStage;
|
||||
import net.minecraft.world.gen.feature.BushConfig;
|
||||
import net.minecraft.world.gen.feature.EndGatewayConfig;
|
||||
import net.minecraft.world.gen.feature.Feature;
|
||||
import net.minecraft.world.gen.feature.IFeatureConfig;
|
||||
import net.minecraft.world.gen.placement.FrequencyConfig;
|
||||
import net.minecraft.world.gen.placement.IPlacementConfig;
|
||||
import net.minecraft.world.gen.placement.Placement;
|
||||
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
|
||||
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
|
||||
|
||||
public class DeadReefBiome extends EndBiomeBOP
|
||||
{
|
||||
public DeadReefBiome()
|
||||
{
|
||||
super((new Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder<>(SurfaceBuilder.DEFAULT, SurfaceBuilder.END_STONE_CONFIG)).precipitation(RainType.NONE).category(Category.THEEND).depth(0.1F).scale(0.2F).temperature(0.5F).downfall(0.5F).waterColor(4159204).waterFogColor(329011).parent((String)null));
|
||||
|
||||
this.addStructure(Feature.END_CITY, IFeatureConfig.NO_FEATURE_CONFIG);
|
||||
this.addFeature(GenerationStage.Decoration.SURFACE_STRUCTURES, createDecoratedFeature(Feature.END_GATEWAY, EndGatewayConfig.func_214702_a(EndDimension.SPAWN, true), Placement.END_GATEWAY, IPlacementConfig.NO_PLACEMENT_CONFIG));
|
||||
DefaultBiomeFeatures.func_225489_aq(this);
|
||||
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.DEAD_CORAL_SPIKES, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.DEAD_CORAL_SPLATTER, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(200)));
|
||||
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_BRAIN_CORAL.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_BUBBLE_CORAL.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_FIRE_CORAL.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_HORN_CORAL.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_TUBE_CORAL.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_BRAIN_CORAL_FAN.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_BUBBLE_CORAL_FAN.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_FIRE_CORAL_FAN.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_HORN_CORAL_FAN.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.DEAD_TUBE_CORAL_FAN.getDefaultState().with(AbstractCoralPlantBlock.WATERLOGGED, false)), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(75)));
|
||||
|
||||
this.addSpawn(EntityClassification.MONSTER, new SpawnListEntry(EntityType.ENDERMAN, 10, 4, 4));
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
package biomesoplenty.common.biome.end;
|
||||
|
||||
import biomesoplenty.common.biome.EndBiomeBOP;
|
||||
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
|
||||
import net.minecraft.entity.EntityClassification;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.world.biome.DefaultBiomeFeatures;
|
||||
import net.minecraft.world.dimension.EndDimension;
|
||||
import net.minecraft.world.gen.GenerationStage;
|
||||
import net.minecraft.world.gen.feature.EndGatewayConfig;
|
||||
import net.minecraft.world.gen.feature.Feature;
|
||||
import net.minecraft.world.gen.feature.IFeatureConfig;
|
||||
import net.minecraft.world.gen.placement.FrequencyConfig;
|
||||
import net.minecraft.world.gen.placement.IPlacementConfig;
|
||||
import net.minecraft.world.gen.placement.Placement;
|
||||
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
|
||||
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
|
||||
|
||||
public class EtherealForestBiome extends EndBiomeBOP
|
||||
{
|
||||
public EtherealForestBiome()
|
||||
{
|
||||
super((new Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder<>(SurfaceBuilder.DEFAULT, SurfaceBuilder.END_STONE_CONFIG)).precipitation(RainType.NONE).category(Category.THEEND).depth(0.1F).scale(0.2F).temperature(0.5F).downfall(0.5F).waterColor(4159204).waterFogColor(329011).parent((String)null));
|
||||
|
||||
this.addStructure(Feature.END_CITY, IFeatureConfig.NO_FEATURE_CONFIG);
|
||||
this.addFeature(GenerationStage.Decoration.SURFACE_STRUCTURES, createDecoratedFeature(Feature.END_GATEWAY, EndGatewayConfig.func_214702_a(EndDimension.SPAWN, true), Placement.END_GATEWAY, IPlacementConfig.NO_PLACEMENT_CONFIG));
|
||||
DefaultBiomeFeatures.func_225489_aq(this);
|
||||
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.ETHEREAL_TREE, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.ETHEREAL_BUSH, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
|
||||
this.addSpawn(EntityClassification.MONSTER, new SpawnListEntry(EntityType.ENDERMAN, 10, 4, 4));
|
||||
}
|
||||
}
|
|
@ -56,7 +56,7 @@ public class BogBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.SPRUCE_TWIGLET_TREE, BOPBiomeFeatures.MAPLE_TWIGLET_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.4F, 0.6F}, BOPBiomeFeatures.TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.SPRUCE_TWIGLET_TREE, BOPBiomeFeatures.MAPLE_TWIGLET_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.4F, 0.6F}, BOPBiomeFeatures.TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.SWEET_BERRY_BUSH_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(50)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(35)));
|
||||
|
|
|
@ -54,7 +54,7 @@ public class BorealForestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{Feature.FANCY_TREE, Feature.NORMAL_TREE, BOPBiomeFeatures.YELLOW_POPLAR_TREE, BOPBiomeFeatures.YELLOW_AUTUMN_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.075F, 0.15F, 0.3F, 0.15F}, BOPBiomeFeatures.TALL_SPRUCE_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(Feature.FANCY_TREE, Feature.NORMAL_TREE, BOPBiomeFeatures.YELLOW_POPLAR_TREE, BOPBiomeFeatures.YELLOW_AUTUMN_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.075F, 0.15F, 0.3F, 0.15F}, BOPBiomeFeatures.TALL_SPRUCE_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.SWEET_BERRY_BUSH_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
|
|
|
@ -60,7 +60,7 @@ public class BrushlandBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.TWIGLET_TREE, BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.SPARSE_OAK_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.4F, 0.1F, 0.2F}, BOPBiomeFeatures.ACACIA_TWIGLET_SMALL, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(3, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.TWIGLET_TREE, BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.SPARSE_OAK_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.4F, 0.1F, 0.2F}, BOPBiomeFeatures.ACACIA_TWIGLET_SMALL, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(3, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(12)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.DEAD_BUSH, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(7)));
|
||||
|
|
|
@ -49,7 +49,7 @@ public class ChaparralBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.TWIGLET_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(12, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.TWIGLET_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(12, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.CHAPARRAL_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(17)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(6)));
|
||||
|
|
|
@ -51,7 +51,7 @@ public class CherryBlossomGroveBiome extends BiomeBOP
|
|||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.PEONY.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.LILAC.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.WHITE_CHERRY_TREE, BOPBiomeFeatures.PINK_CHERRY_TREE, BOPBiomeFeatures.BIG_WHITE_CHERRY_TREE, BOPBiomeFeatures.FLOWERING_OAK_TREE, BOPBiomeFeatures.FLOWERING_BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.2F, 0.3F, 0.15F, 0.3F}, BOPBiomeFeatures.BIG_PINK_CHERRY_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.WHITE_CHERRY_TREE, BOPBiomeFeatures.PINK_CHERRY_TREE, BOPBiomeFeatures.BIG_WHITE_CHERRY_TREE, BOPBiomeFeatures.FLOWERING_OAK_TREE, BOPBiomeFeatures.FLOWERING_BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.2F, 0.3F, 0.15F, 0.3F}, BOPBiomeFeatures.BIG_PINK_CHERRY_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.CHERRY_BLOSSOM_GROVE_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(11)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.SHORT_BAMBOO, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
|
|
|
@ -14,6 +14,7 @@ import biomesoplenty.common.biome.BiomeBOP;
|
|||
import biomesoplenty.common.world.biome.BiomeFeatureHelper;
|
||||
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
|
||||
import biomesoplenty.common.world.gen.feature.FernGrassFeature;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.entity.EntityClassification;
|
||||
import net.minecraft.entity.EntityType;
|
||||
|
@ -23,7 +24,6 @@ import net.minecraft.world.gen.GenerationStage;
|
|||
import net.minecraft.world.gen.feature.*;
|
||||
import net.minecraft.world.gen.feature.structure.MineshaftConfig;
|
||||
import net.minecraft.world.gen.feature.structure.MineshaftStructure;
|
||||
import net.minecraft.world.gen.feature.structure.PillagerOutpostConfig;
|
||||
import net.minecraft.world.gen.feature.structure.VillageConfig;
|
||||
import net.minecraft.world.gen.placement.*;
|
||||
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
|
||||
|
@ -56,7 +56,8 @@ public class ConiferousForestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.FIR_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.33333334F}, BOPBiomeFeatures.FIR_TREE_LARGE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.FIR_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.33333334F)), BOPBiomeFeatures.FIR_TREE_LARGE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG)), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.1F, 1)));
|
||||
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.CONIFEROUS_FOREST_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.SWEET_BERRY_BUSH_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1)));
|
||||
|
|
|
@ -56,7 +56,7 @@ public class DeadForestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.DEAD_TREE, BOPBiomeFeatures.TALL_SPRUCE_TREE, BOPBiomeFeatures.SMALL_DEAD_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F, 0.1F, 0.3F, 0.3F}, Feature.NORMAL_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(2, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.DEAD_TREE, BOPBiomeFeatures.TALL_SPRUCE_TREE, BOPBiomeFeatures.SMALL_DEAD_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F, 0.1F, 0.3F, 0.3F}, Feature.NORMAL_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(2, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.PUMPKIN_CONFIG, Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(32)));
|
||||
|
||||
|
|
|
@ -10,8 +10,10 @@ package biomesoplenty.common.biome.overworld;
|
|||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.common.biome.BiomeBOP;
|
||||
import biomesoplenty.common.world.biome.BiomeFeatureHelper;
|
||||
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
|
||||
import biomesoplenty.common.world.gen.feature.StandardGrassFeature;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.entity.EntityClassification;
|
||||
import net.minecraft.entity.EntityType;
|
||||
|
@ -48,7 +50,8 @@ public class FloodplainBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.SPARSE_OAK_TREE, Feature.FANCY_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.SPARSE_OAK_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.3F), Feature.FANCY_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F)), BOPBiomeFeatures.BUSH.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG)), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.3F, 1)));
|
||||
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(25)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.watergrass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(250)));
|
||||
|
|
|
@ -54,7 +54,7 @@ public class FlowerMeadowBiome extends BiomeBOP
|
|||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.LILAC.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(2)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.ROSE_BUSH.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(2)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.SUNFLOWER.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.TALL_SPRUCE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(2, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.TALL_SPRUCE_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(2, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.FLOWER_MEADOW_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(150)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(30)));
|
||||
|
|
|
@ -54,7 +54,7 @@ public class GroveBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.SPARSE_OAK_TREE, BOPBiomeFeatures.DARK_OAK_POPLAR, BOPBiomeFeatures.SPRUCE_POPLAR, BOPBiomeFeatures.FLOWERING_BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.05F, 0.2F, 0.4F, 0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(3, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.SPARSE_OAK_TREE, BOPBiomeFeatures.DARK_OAK_POPLAR, BOPBiomeFeatures.SPRUCE_POPLAR, BOPBiomeFeatures.FLOWERING_BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.05F, 0.2F, 0.4F, 0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(3, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.EXTENDED_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(6)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.PEONY.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
|
|
|
@ -52,7 +52,7 @@ public class LavenderFieldBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.FLOWERING_OAK_TREE, BOPBiomeFeatures.BIG_FLOWERING_OAK_TREE, BOPBiomeFeatures.BIG_JACARANDA_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F, 0.1F, 0.1F}, BOPBiomeFeatures.JACARANDA_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.FLOWERING_OAK_TREE, BOPBiomeFeatures.BIG_FLOWERING_OAK_TREE, BOPBiomeFeatures.BIG_JACARANDA_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F, 0.1F, 0.1F}, BOPBiomeFeatures.JACARANDA_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(12)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.LAVENDER_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(500)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.SUGAR_CANE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
|
|
|
@ -47,7 +47,7 @@ public class LushGrasslandBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.SMALL_JUNGLE_TREE, Feature.NORMAL_TREE, BOPBiomeFeatures.PALM_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.2F, 0.05F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.9F, 0.6F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.SMALL_JUNGLE_TREE, Feature.NORMAL_TREE, BOPBiomeFeatures.PALM_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.2F, 0.05F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.9F, 0.6F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.LUSH_GRASSLAND_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(6)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.watergrass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(6)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(15)));
|
||||
|
|
|
@ -56,7 +56,7 @@ public class MapleWoodsBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.TALL_SPRUCE_TREE, BOPBiomeFeatures.BIG_MAPLE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F, 0.05F}, BOPBiomeFeatures.MAPLE_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(20, 0.15F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.TALL_SPRUCE_TREE, BOPBiomeFeatures.BIG_MAPLE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F, 0.05F}, BOPBiomeFeatures.MAPLE_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(20, 0.15F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(7)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.SWEET_BERRY_BUSH_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.SNOWY_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(4)));
|
||||
|
|
|
@ -14,6 +14,7 @@ import biomesoplenty.common.biome.BiomeBOP;
|
|||
import biomesoplenty.common.world.biome.BiomeFeatureHelper;
|
||||
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
|
||||
import biomesoplenty.common.world.gen.feature.StandardGrassFeature;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.entity.EntityClassification;
|
||||
import net.minecraft.entity.EntityType;
|
||||
|
@ -24,7 +25,6 @@ import net.minecraft.world.gen.GenerationStage;
|
|||
import net.minecraft.world.gen.feature.*;
|
||||
import net.minecraft.world.gen.feature.structure.MineshaftConfig;
|
||||
import net.minecraft.world.gen.feature.structure.MineshaftStructure;
|
||||
import net.minecraft.world.gen.feature.structure.PillagerOutpostConfig;
|
||||
import net.minecraft.world.gen.feature.structure.VillageConfig;
|
||||
import net.minecraft.world.gen.placement.AtSurfaceWithExtraConfig;
|
||||
import net.minecraft.world.gen.placement.ChanceConfig;
|
||||
|
@ -59,10 +59,11 @@ public class MeadowBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.TALL_SPRUCE_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.25F)), BOPBiomeFeatures.BUSH.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG)), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(6, 0.1F, 1)));
|
||||
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.LILAC.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.ROSE_BUSH.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.SUNFLOWER.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.TALL_SPRUCE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.25F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(6, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.MEADOW_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(6)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
|
|
|
@ -56,7 +56,7 @@ public class MireBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.DARK_OAK_TWIGLET_TREE, BOPBiomeFeatures.TALL_TWIGLET_TREE, BOPBiomeFeatures.DEAD_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.8F, 0.4F, 0.1F}, BOPBiomeFeatures.DYING_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(2, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DARK_OAK_TWIGLET_TREE, BOPBiomeFeatures.TALL_TWIGLET_TREE, BOPBiomeFeatures.DEAD_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.8F, 0.4F, 0.1F}, BOPBiomeFeatures.DYING_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(2, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.HUGE_BROWN_MUSHROOM, new BigMushroomFeatureConfig(false), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(17)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(15)));
|
||||
|
|
|
@ -55,7 +55,7 @@ public class MysticGroveBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.GIANT_TREE, BOPBiomeFeatures.TALL_SWAMP_TREE, BOPBiomeFeatures.BIG_FLOWERING_OAK_TREE, BOPBiomeFeatures.JACARANDA_TREE, BOPBiomeFeatures.BIG_MAGIC_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.025F, 0.1F, 0.2F, 0.3F, 0.3F}, BOPBiomeFeatures.MAGIC_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.GIANT_TREE, BOPBiomeFeatures.TALL_SWAMP_TREE, BOPBiomeFeatures.BIG_FLOWERING_OAK_TREE, BOPBiomeFeatures.JACARANDA_TREE, BOPBiomeFeatures.BIG_MAGIC_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.025F, 0.1F, 0.2F, 0.3F, 0.3F}, BOPBiomeFeatures.MAGIC_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.MYSTIC_GROVE_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(18)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.HUGE_RED_MUSHROOM, new BigMushroomFeatureConfig(false), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.blue_hydrangea.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(4)));
|
||||
|
|
|
@ -48,7 +48,7 @@ public class OasisBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.PALM_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F}, BOPBiomeFeatures.OASIS_JUNGLE_TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.PALM_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.3F}, BOPBiomeFeatures.OASIS_JUNGLE_TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.dune_grass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(20)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.desert_grass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.SUGAR_CANE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(12)));
|
||||
|
|
|
@ -52,7 +52,7 @@ public class OminousWoodsBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.DEAD_TREE, BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.WILLOW_TREE, BOPBiomeFeatures.TALL_UMBRAN_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.05F, 0.15F, 0.15F, 0.7F}, BOPBiomeFeatures.UMBRAN_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(7, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DEAD_TREE, BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.WILLOW_TREE, BOPBiomeFeatures.TALL_UMBRAN_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.05F, 0.15F, 0.15F, 0.7F}, BOPBiomeFeatures.UMBRAN_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(7, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.OMINOUS_WOODS_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4)));
|
||||
|
|
|
@ -51,7 +51,7 @@ public class OrchardBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.BIG_FLOWERING_OAK_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.FLOWERING_OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(2, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.BIG_FLOWERING_OAK_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.FLOWERING_OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(2, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.EXTENDED_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(15)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
|
|
|
@ -49,7 +49,7 @@ public class OriginHillsBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.BIG_ORIGIN_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.ORIGIN_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(3, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.BIG_ORIGIN_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.ORIGIN_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(3, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.ORIGIN_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.SUGAR_CANE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(15)));
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ public class OutbackBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.ACACIA_BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.ACACIA_TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.5F, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.ACACIA_BUSH.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.ACACIA_TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.5F, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.DEAD_BUSH, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.CACTUS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(25)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.desert_grass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
|
|
|
@ -50,7 +50,7 @@ public class OvergrownCliffsBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.JUNGLE_TWIGLET_TREE, BOPBiomeFeatures.MAHOGANY_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.01F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(18, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.JUNGLE_TWIGLET_TREE, BOPBiomeFeatures.MAHOGANY_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.01F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(18, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.JUNGLE_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(5)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.watergrass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(50)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(15)));
|
||||
|
|
|
@ -54,7 +54,7 @@ public class PrairieBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{Feature.FANCY_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.SPARSE_OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.85F, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(Feature.FANCY_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.SPARSE_OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.85F, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(15)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.goldenrod.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.CONIFEROUS_FOREST_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(2)));
|
||||
|
|
|
@ -53,7 +53,7 @@ public class PumpkinPatchBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F}, BOPBiomeFeatures.TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.BUSH.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.2F}, BOPBiomeFeatures.TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(6)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4)));
|
||||
|
|
|
@ -55,7 +55,7 @@ public class RainforestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{Feature.BIRCH_TREE, Feature.FANCY_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.4F}, BOPBiomeFeatures.FLOWERING_OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(12, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(Feature.BIRCH_TREE, Feature.FANCY_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.4F}, BOPBiomeFeatures.FLOWERING_OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(12, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.RAINFOREST_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(15)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.blue_hydrangea.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
|
|
|
@ -48,7 +48,7 @@ public class RedwoodForestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.REDWOOD_TREE, BOPBiomeFeatures.REDWOOD_TREE_MEDIUM, BOPBiomeFeatures.REDWOOD_TREE_LARGE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.3F, 0.5F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(18, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.REDWOOD_TREE, BOPBiomeFeatures.REDWOOD_TREE_MEDIUM, BOPBiomeFeatures.REDWOOD_TREE_LARGE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.3F, 0.5F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(18, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(12)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8)));
|
||||
|
|
|
@ -47,7 +47,7 @@ public class RedwoodForestEdgeBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.REDWOOD_TREE, BOPBiomeFeatures.REDWOOD_TREE_MEDIUM}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.REDWOOD_TREE, BOPBiomeFeatures.REDWOOD_TREE_MEDIUM}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.1F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(12)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8)));
|
||||
|
|
|
@ -53,7 +53,7 @@ public class ScrublandBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.SPRUCE_TWIGLET_TREE, BOPBiomeFeatures.TALL_TWIGLET_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.1F}, BOPBiomeFeatures.ACACIA_TWIGLET, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.SPRUCE_TWIGLET_TREE, BOPBiomeFeatures.TALL_TWIGLET_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.1F}, BOPBiomeFeatures.ACACIA_TWIGLET, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.5F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.SCRUB, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(25)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.TALL_GRASS.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(7)));
|
||||
|
|
|
@ -55,7 +55,7 @@ public class SeasonalForestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{Feature.FANCY_TREE, BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.MAPLE_TREE, BOPBiomeFeatures.YELLOW_AUTUMN_TREE, BOPBiomeFeatures.BIG_MAPLE_TREE, BOPBiomeFeatures.BIG_YELLOW_AUTUMN_TREE, BOPBiomeFeatures.BIG_ORANGE_AUTUMN_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.05F, 0.1F, 0.2F, 0.3F, 0.1F, 0.1F, 0.1F}, BOPBiomeFeatures.ORANGE_AUTUMN_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(Feature.FANCY_TREE, BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.MAPLE_TREE, BOPBiomeFeatures.YELLOW_AUTUMN_TREE, BOPBiomeFeatures.BIG_MAPLE_TREE, BOPBiomeFeatures.BIG_YELLOW_AUTUMN_TREE, BOPBiomeFeatures.BIG_ORANGE_AUTUMN_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.05F, 0.1F, 0.2F, 0.3F, 0.1F, 0.1F, 0.1F}, BOPBiomeFeatures.ORANGE_AUTUMN_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.DEFAULT_FLOWER, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(3)));
|
||||
|
|
|
@ -53,7 +53,7 @@ public class ShieldBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F}, BOPBiomeFeatures.TALL_SPRUCE_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(6, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.BUSH.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.3F}, BOPBiomeFeatures.TALL_SPRUCE_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(6, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.DEFAULT_FLOWER, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
|
|
|
@ -54,7 +54,7 @@ public class SilkgladeBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{Feature.SWAMP_TREE, BOPBiomeFeatures.BIRCH_POPLAR, BOPBiomeFeatures.COBWEB_BUSH, BOPBiomeFeatures.SMALL_DEAD_TREE, BOPBiomeFeatures.SILK_TREE, BOPBiomeFeatures.FULL_COBWEB_BUSH, BOPBiomeFeatures.FULL_SILK_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.05F, 0.15F, 0.2F, 0.5F, 0.2F, 0.05F, 0.05F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(Feature.SWAMP_TREE, BOPBiomeFeatures.BIRCH_POPLAR, BOPBiomeFeatures.COBWEB_BUSH, BOPBiomeFeatures.SMALL_DEAD_TREE, BOPBiomeFeatures.SILK_TREE, BOPBiomeFeatures.FULL_COBWEB_BUSH, BOPBiomeFeatures.FULL_SILK_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.05F, 0.15F, 0.2F, 0.5F, 0.2F, 0.05F, 0.05F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.4F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8)));
|
||||
|
|
|
@ -49,7 +49,7 @@ public class SnowyConiferousForestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.FIR_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.33333334F}, BOPBiomeFeatures.FIR_TREE_LARGE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(4, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.FIR_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.33333334F}, BOPBiomeFeatures.FIR_TREE_LARGE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(4, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.SNOWY_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(2)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(3)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.SWEET_BERRY_BUSH_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1)));
|
||||
|
|
|
@ -59,7 +59,7 @@ public class SnowyForestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.DYING_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F}, Feature.NORMAL_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(3, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DYING_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.2F}, Feature.NORMAL_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(3, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.SNOWY_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, DefaultBiomeFeatures.PUMPKIN_CONFIG, Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(32)));
|
||||
|
|
|
@ -53,7 +53,7 @@ public class TemperateRainforestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.TALL_SWAMP_TREE, Feature.FANCY_TREE, BOPBiomeFeatures.SEQUOIA_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.15F, 0.1F, 0.5F}, BOPBiomeFeatures.SEQUOIA_TREE_LARGE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(8, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.TALL_SWAMP_TREE, Feature.FANCY_TREE, BOPBiomeFeatures.SEQUOIA_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.15F, 0.1F, 0.5F}, BOPBiomeFeatures.SEQUOIA_TREE_LARGE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(8, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.LARGE_FERN.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(15)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
|
|
|
@ -52,7 +52,7 @@ public class TemperateRainforestHillsBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.SEQUOIA_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.5F}, BOPBiomeFeatures.SEQUOIA_TREE_LARGE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.SEQUOIA_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.5F}, BOPBiomeFeatures.SEQUOIA_TREE_LARGE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(10, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(Blocks.LARGE_FERN.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(15)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(7)));
|
||||
|
|
|
@ -52,7 +52,7 @@ public class TropicalRainforestBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{Feature.JUNGLE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.MAHOGANY_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(12, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(Feature.JUNGLE_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.MAHOGANY_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(12, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.JUNGLE_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(6)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.watergrass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new FernGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(15)));
|
||||
|
|
|
@ -53,7 +53,7 @@ public class TropicsBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.JUNGLE_TWIGLET_TREE, BOPBiomeFeatures.FLOWERING_BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.1F}, BOPBiomeFeatures.PALM_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(11, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.JUNGLE_TWIGLET_TREE, BOPBiomeFeatures.FLOWERING_BUSH}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.3F, 0.1F}, BOPBiomeFeatures.PALM_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(11, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.TROPICS_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(15)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(12)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.SHORT_BAMBOO, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
|
||||
|
|
|
@ -62,7 +62,7 @@ public class TundraBiome extends BiomeBOP
|
|||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, createDecoratedFeature(Feature.FOREST_ROCK, new BlockBlobConfig(Blocks.COBBLESTONE.getDefaultState(), 0), Placement.FOREST_ROCK, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.SCATTERED_ROCKS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.DEAD_TWIGLET_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.MAPLE_TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DEAD_TWIGLET_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.MAPLE_TWIGLET_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.3F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(4)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDoubleWater(BOPBlocks.reed.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(4)));
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ public class VolcanoEdgeBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.DYING_TREE_VOLCANO}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F}, BOPBiomeFeatures.DEAD_TREE_VOLCANO, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DYING_TREE_VOLCANO.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.1F}, BOPBiomeFeatures.DEAD_TREE_VOLCANO, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.2F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.dead_grass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(2)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(2)));
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public class WastelandBiome extends BiomeBOP
|
|||
////////////////////////////////////////////////////////////
|
||||
|
||||
// Vegetation
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.DEAD_TREE_WASTELAND}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.2F}, BOPBiomeFeatures.DYING_TREE_WASTELAND, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.75F, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.DEAD_TREE_WASTELAND.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.2F}, BOPBiomeFeatures.DYING_TREE_WASTELAND, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig((int)0.75F, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.WASTELAND_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(new WastelandGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(2)));
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ public class WetlandBiome extends BiomeBOP
|
|||
|
||||
// Vegetation
|
||||
// Trees
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.TALL_SPRUCE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.5F}, BOPBiomeFeatures.WILLOW_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.1F, 1)));
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.TALL_SPRUCE_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).weighted(0.5F}, BOPBiomeFeatures.WILLOW_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(5, 0.1F, 1)));
|
||||
|
||||
// Flowers and Foliage
|
||||
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createDecoratedFeature(BOPBiomeFeatures.WETLAND_FLOWERS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
|
|
|
@ -102,10 +102,6 @@ public class SaplingBlockBOP extends SaplingBlock implements IGrowable
|
|||
{
|
||||
return ground == Blocks.NETHERRACK || super.isValidPosition(state, worldIn, pos);
|
||||
}
|
||||
if (this == BOPBlocks.ethereal_sapling)
|
||||
{
|
||||
return ground == Blocks.END_STONE || super.isValidPosition(state, worldIn, pos);
|
||||
}
|
||||
|
||||
return super.isValidPosition(state, worldIn, pos);
|
||||
}
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
package biomesoplenty.common.block.trees;
|
||||
|
||||
import biomesoplenty.common.world.gen.feature.BOPBiomeFeatures;
|
||||
import net.minecraft.block.trees.Tree;
|
||||
import net.minecraft.world.gen.feature.AbstractTreeFeature;
|
||||
import net.minecraft.world.gen.feature.NoFeatureConfig;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.Random;
|
||||
|
||||
public class EtherealTree extends Tree
|
||||
{
|
||||
@Nullable
|
||||
@Override
|
||||
protected AbstractTreeFeature<NoFeatureConfig> getTreeFeature(Random random)
|
||||
{
|
||||
return BOPBiomeFeatures.ETHEREAL_TREE;
|
||||
}
|
||||
}
|
|
@ -170,8 +170,6 @@ public class BoatEntityBOP extends BoatEntity {
|
|||
return BOPItems.umbran_boat;
|
||||
case HELLBARK:
|
||||
return BOPItems.hellbark_boat;
|
||||
case ETHEREAL:
|
||||
return BOPItems.ethereal_boat;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -782,8 +780,7 @@ public class BoatEntityBOP extends BoatEntity {
|
|||
DEAD(BOPBlocks.dead_planks, "dead"),
|
||||
MAGIC(BOPBlocks.magic_planks, "magic"),
|
||||
UMBRAN(BOPBlocks.umbran_planks, "umbran"),
|
||||
HELLBARK(BOPBlocks.hellbark_planks, "hellbark"),
|
||||
ETHEREAL(BOPBlocks.ethereal_planks, "ethereal");
|
||||
HELLBARK(BOPBlocks.hellbark_planks, "hellbark");
|
||||
|
||||
private final String name;
|
||||
private final Block block;
|
||||
|
|
|
@ -10,7 +10,7 @@ import net.minecraftforge.api.distmarker.OnlyIn;
|
|||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public class BoatRendererBOP extends EntityRenderer<BoatEntityBOP> {
|
||||
private static final ResourceLocation[] BOAT_TEXTURES = new ResourceLocation[]{new ResourceLocation("biomesoplenty:textures/entity/boat/fir.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/redwood.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/cherry.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/mahogany.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/jacaranda.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/palm.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/willow.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/dead.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/magic.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/umbran.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/hellbark.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/ethereal.png")};
|
||||
private static final ResourceLocation[] BOAT_TEXTURES = new ResourceLocation[]{new ResourceLocation("biomesoplenty:textures/entity/boat/fir.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/redwood.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/cherry.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/mahogany.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/jacaranda.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/palm.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/willow.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/dead.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/magic.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/umbran.png"), new ResourceLocation("biomesoplenty:textures/entity/boat/hellbark.png")};
|
||||
protected final BoatModelBOP field_76998_a = new BoatModelBOP();
|
||||
|
||||
public BoatRendererBOP(EntityRendererManager renderManagerIn) {
|
||||
|
|
|
@ -1,175 +0,0 @@
|
|||
package biomesoplenty.common.world;
|
||||
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import com.google.common.collect.Sets;
|
||||
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
|
||||
import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.util.SharedSeedRandom;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.ChunkPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.biome.Biomes;
|
||||
import net.minecraft.world.biome.provider.BiomeProvider;
|
||||
import net.minecraft.world.biome.provider.EndBiomeProviderSettings;
|
||||
import net.minecraft.world.gen.SimplexNoiseGenerator;
|
||||
import net.minecraft.world.gen.feature.structure.Structure;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
public class BOPEndBiomeProvider extends BiomeProvider {
|
||||
private final SimplexNoiseGenerator generator;
|
||||
private final SharedSeedRandom random;
|
||||
private final Biome[] field_205009_d = new Biome[]{Biomes.THE_END, Biomes.END_HIGHLANDS, Biomes.END_MIDLANDS, Biomes.SMALL_END_ISLANDS, Biomes.END_BARRENS, BOPBiomes.dead_reef.get(), BOPBiomes.ethereal_forest.get()};
|
||||
|
||||
public BOPEndBiomeProvider(EndBiomeProviderSettings p_i48970_1_) {
|
||||
this.random = new SharedSeedRandom(p_i48970_1_.getSeed());
|
||||
this.random.skip(17292);
|
||||
this.generator = new SimplexNoiseGenerator(this.random);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Biome getBiome(int p_201545_1_, int p_201545_2_)
|
||||
{
|
||||
int lvt_3_1_ = p_201545_1_ >> 4;
|
||||
int lvt_4_1_ = p_201545_2_ >> 4;
|
||||
if ((long)lvt_3_1_ * (long)lvt_3_1_ + (long)lvt_4_1_ * (long)lvt_4_1_ <= 4096L)
|
||||
{
|
||||
return Biomes.THE_END;
|
||||
}
|
||||
else
|
||||
{
|
||||
float lvt_5_1_ = this.func_222365_c(lvt_3_1_ * 2 + 1, lvt_4_1_ * 2 + 1);
|
||||
if (lvt_5_1_ > 40.0F)
|
||||
{
|
||||
//return Biomes.END_HIGHLANDS;
|
||||
return BOPBiomes.ethereal_forest.get();
|
||||
}
|
||||
else if (lvt_5_1_ >= 0.0F)
|
||||
{
|
||||
return Biomes.END_MIDLANDS;
|
||||
}
|
||||
else
|
||||
{
|
||||
return lvt_5_1_ < -20.0F ? Biomes.SMALL_END_ISLANDS : Biomes.END_BARRENS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Biome[] getBiomes(int p_201537_1_, int p_201537_2_, int p_201537_3_, int p_201537_4_, boolean p_201537_5_) {
|
||||
Biome[] lvt_6_1_ = new Biome[p_201537_3_ * p_201537_4_];
|
||||
Long2ObjectMap<Biome> lvt_7_1_ = new Long2ObjectOpenHashMap();
|
||||
|
||||
for(int lvt_8_1_ = 0; lvt_8_1_ < p_201537_3_; ++lvt_8_1_) {
|
||||
for(int lvt_9_1_ = 0; lvt_9_1_ < p_201537_4_; ++lvt_9_1_) {
|
||||
int lvt_10_1_ = lvt_8_1_ + p_201537_1_;
|
||||
int lvt_11_1_ = lvt_9_1_ + p_201537_2_;
|
||||
long lvt_12_1_ = ChunkPos.asLong(lvt_10_1_, lvt_11_1_);
|
||||
Biome lvt_14_1_ = lvt_7_1_.get(lvt_12_1_);
|
||||
if (lvt_14_1_ == null) {
|
||||
lvt_14_1_ = this.getBiome(lvt_10_1_, lvt_11_1_);
|
||||
lvt_7_1_.put(lvt_12_1_, lvt_14_1_);
|
||||
}
|
||||
|
||||
lvt_6_1_[lvt_8_1_ + lvt_9_1_ * p_201537_3_] = lvt_14_1_;
|
||||
}
|
||||
}
|
||||
|
||||
return lvt_6_1_;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Biome> getBiomesInSquare(int centerX, int centerZ, int sideLength) {
|
||||
int i = centerX - sideLength >> 2;
|
||||
int j = centerZ - sideLength >> 2;
|
||||
int k = centerX + sideLength >> 2;
|
||||
int l = centerZ + sideLength >> 2;
|
||||
int i1 = k - i + 1;
|
||||
int j1 = l - j + 1;
|
||||
return Sets.newHashSet(this.getBiomeBlock(i, j, i1, j1));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public BlockPos findBiomePosition(int x, int z, int range, List<Biome> biomes, Random random) {
|
||||
int i = x - range >> 2;
|
||||
int j = z - range >> 2;
|
||||
int k = x + range >> 2;
|
||||
int l = z + range >> 2;
|
||||
int i1 = k - i + 1;
|
||||
int j1 = l - j + 1;
|
||||
Biome[] abiome = this.getBiomeBlock(i, j, i1, j1);
|
||||
BlockPos blockpos = null;
|
||||
int k1 = 0;
|
||||
|
||||
for(int l1 = 0; l1 < i1 * j1; ++l1) {
|
||||
int i2 = i + l1 % i1 << 2;
|
||||
int j2 = j + l1 / i1 << 2;
|
||||
if (biomes.contains(abiome[l1])) {
|
||||
if (blockpos == null || random.nextInt(k1 + 1) == 0) {
|
||||
blockpos = new BlockPos(i2, 0, j2);
|
||||
}
|
||||
|
||||
++k1;
|
||||
}
|
||||
}
|
||||
|
||||
return blockpos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float func_222365_c(int p_222365_1_, int p_222365_2_) {
|
||||
int lvt_3_1_ = p_222365_1_ / 2;
|
||||
int lvt_4_1_ = p_222365_2_ / 2;
|
||||
int lvt_5_1_ = p_222365_1_ % 2;
|
||||
int lvt_6_1_ = p_222365_2_ % 2;
|
||||
float lvt_7_1_ = 100.0F - MathHelper.sqrt((float)(p_222365_1_ * p_222365_1_ + p_222365_2_ * p_222365_2_)) * 8.0F;
|
||||
lvt_7_1_ = MathHelper.clamp(lvt_7_1_, -100.0F, 80.0F);
|
||||
|
||||
for(int lvt_8_1_ = -12; lvt_8_1_ <= 12; ++lvt_8_1_) {
|
||||
for(int lvt_9_1_ = -12; lvt_9_1_ <= 12; ++lvt_9_1_) {
|
||||
long lvt_10_1_ = (long)(lvt_3_1_ + lvt_8_1_);
|
||||
long lvt_12_1_ = (long)(lvt_4_1_ + lvt_9_1_);
|
||||
if (lvt_10_1_ * lvt_10_1_ + lvt_12_1_ * lvt_12_1_ > 4096L && this.generator.getValue((double)lvt_10_1_, (double)lvt_12_1_) < -0.8999999761581421D) {
|
||||
float lvt_14_1_ = (MathHelper.abs((float)lvt_10_1_) * 3439.0F + MathHelper.abs((float)lvt_12_1_) * 147.0F) % 13.0F + 9.0F;
|
||||
float lvt_15_1_ = (float)(lvt_5_1_ - lvt_8_1_ * 2);
|
||||
float lvt_16_1_ = (float)(lvt_6_1_ - lvt_9_1_ * 2);
|
||||
float lvt_17_1_ = 100.0F - MathHelper.sqrt(lvt_15_1_ * lvt_15_1_ + lvt_16_1_ * lvt_16_1_) * lvt_14_1_;
|
||||
lvt_17_1_ = MathHelper.clamp(lvt_17_1_, -100.0F, 80.0F);
|
||||
lvt_7_1_ = Math.max(lvt_7_1_, lvt_17_1_);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return lvt_7_1_;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasStructure(Structure<?> structureIn) {
|
||||
return this.hasStructureCache.computeIfAbsent(structureIn, (p_205008_1_) -> {
|
||||
for(Biome biome : this.field_205009_d) {
|
||||
if (biome.hasStructure(p_205008_1_)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<BlockState> getSurfaceBlocks() {
|
||||
if (this.topBlocksCache.isEmpty()) {
|
||||
for(Biome biome : this.field_205009_d) {
|
||||
this.topBlocksCache.add(biome.getSurfaceBuilderConfig().getTop());
|
||||
}
|
||||
}
|
||||
|
||||
return this.topBlocksCache;
|
||||
}
|
||||
}
|
|
@ -46,18 +46,6 @@ public class WorldTypeBOP extends WorldType
|
|||
|
||||
return ChunkGeneratorType.CAVES.create(world, new NetherBiomeProvider(biomeProviderSettings), nethergensettings);
|
||||
}
|
||||
/*else if (world.getDimension().getType() == DimensionType.THE_END)
|
||||
{
|
||||
BlockPos SPAWN = new BlockPos(100, 50, 0);
|
||||
|
||||
EndGenerationSettings endgenerationsettings = ChunkGeneratorType.FLOATING_ISLANDS.createSettings();
|
||||
EndBiomeProviderSettings endBiomeProviderSettings = new EndBiomeProviderSettings();
|
||||
endBiomeProviderSettings.setSeed(world.getSeed());
|
||||
endgenerationsettings.setDefaultBlock(Blocks.END_STONE.getDefaultState());
|
||||
endgenerationsettings.setDefaultFluid(Blocks.AIR.getDefaultState());
|
||||
endgenerationsettings.setSpawnPos(SPAWN);
|
||||
return ChunkGeneratorType.FLOATING_ISLANDS.create(world, new BOPEndBiomeProvider(endBiomeProviderSettings), endgenerationsettings);
|
||||
}*/
|
||||
else
|
||||
{
|
||||
return super.createChunkGenerator(world);
|
||||
|
|
|
@ -49,7 +49,6 @@ public class BOPBiomeFeatures
|
|||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> BIG_MAGIC_TREE = new BigTreeFeature.Builder().log(BOPBlocks.magic_log.getDefaultState()).leaves(BOPBlocks.magic_leaves.getDefaultState()).create();
|
||||
|
||||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> GIANT_TREE = new BigTreeFeature.Builder().log(Blocks.DARK_OAK_LOG.getDefaultState()).leaves(Blocks.DARK_OAK_LEAVES.getDefaultState().with(LeavesBlock.PERSISTENT, true)).minHeight(15).maxHeight(20).trunkWidth(4).create();
|
||||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> ETHEREAL_TREE = new BigTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.END_STONE || world.getBlockState(pos).canSustainPlant(world, pos, Direction.UP, (SaplingBlock)Blocks.OAK_SAPLING)).log(BOPBlocks.ethereal_log.getDefaultState()).leaves(BOPBlocks.ethereal_leaves.getDefaultState()).foliageHeight(2).create();
|
||||
|
||||
//Conifer Trees
|
||||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> TALL_SPRUCE_TREE = new TaigaTreeFeature.Builder().log(Blocks.SPRUCE_LOG.getDefaultState()).leaves(Blocks.SPRUCE_LEAVES.getDefaultState()).maxHeight(13).create();
|
||||
|
@ -87,7 +86,6 @@ public class BOPBiomeFeatures
|
|||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> COBWEB_BUSH = new BushTreeFeature.Builder().altLeaves(Blocks.COBWEB.getDefaultState()).create();
|
||||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> FULL_COBWEB_BUSH = new BushTreeFeature.Builder().leaves(Blocks.COBWEB.getDefaultState()).create();
|
||||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> HELLBARK_TREE = new BushTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.NETHERRACK || world.getBlockState(pos).canSustainPlant(world, pos, Direction.UP, (SaplingBlock)Blocks.OAK_SAPLING)).log(BOPBlocks.hellbark_log.getDefaultState()).leaves(BOPBlocks.hellbark_leaves.getDefaultState()).create();
|
||||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> ETHEREAL_BUSH = new BushTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.END_STONE || world.getBlockState(pos).canSustainPlant(world, pos, Direction.UP, (SaplingBlock)Blocks.OAK_SAPLING)).log(BOPBlocks.ethereal_log.getDefaultState()).leaves(BOPBlocks.ethereal_leaves.getDefaultState()).create();
|
||||
|
||||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> TWIGLET_TREE = new TwigletTreeFeature.Builder().minHeight(1).maxHeight(2).create();
|
||||
public static final AbstractTreeFeature<BaseTreeFeatureConfig> TALL_TWIGLET_TREE = new TwigletTreeFeature.Builder().minHeight(2).maxHeight(4).create();
|
||||
|
@ -122,8 +120,6 @@ public class BOPBiomeFeatures
|
|||
public static final Feature<NoFeatureConfig> SCRUB = new ScrubFeature(NoFeatureConfig::deserialize);
|
||||
public static final Feature<NoFeatureConfig> HEATH = new HeathFeature(NoFeatureConfig::deserialize);
|
||||
public static final Feature<NoFeatureConfig> SCATTERED_ROCKS = new ScatteredRocksFeature(NoFeatureConfig::deserialize);
|
||||
public static final Feature<NoFeatureConfig> DEAD_CORAL_SPLATTER = new DeadCoralSplatterFeature(NoFeatureConfig::deserialize);
|
||||
public static final Feature<NoFeatureConfig> DEAD_CORAL_SPIKES = new DeadCoralSpikesFeature(NoFeatureConfig::deserialize);
|
||||
public static final Feature<NoFeatureConfig> NETHER_VINES = new NetherVinesFeature(NoFeatureConfig::deserialize);
|
||||
public static final Feature<NoFeatureConfig> FLESH_SPLATTER = new FleshSplatterFeature(NoFeatureConfig::deserialize);
|
||||
public static final Feature<NoFeatureConfig> BONE_SPINE = new BoneSpineFeature(NoFeatureConfig::deserialize);
|
||||
|
|
|
@ -1,102 +0,0 @@
|
|||
package biomesoplenty.common.world.gen.feature;
|
||||
|
||||
import biomesoplenty.common.util.block.IBlockPosQuery;
|
||||
import com.mojang.datafixers.Dynamic;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.world.IWorld;
|
||||
import net.minecraft.world.gen.ChunkGenerator;
|
||||
import net.minecraft.world.gen.GenerationSettings;
|
||||
import net.minecraft.world.gen.feature.Feature;
|
||||
import net.minecraft.world.gen.feature.NoFeatureConfig;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class DeadCoralSpikesFeature extends Feature<NoFeatureConfig>
|
||||
{
|
||||
protected IBlockPosQuery placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.END_STONE;
|
||||
protected IBlockPosQuery replace = (world, pos) -> world.getBlockState(pos).canBeReplacedByLeaves(world, pos);
|
||||
int minRadius = 2;
|
||||
int maxRadius = 5;
|
||||
int minHeight = 3;
|
||||
int maxHeight = 17;
|
||||
|
||||
public DeadCoralSpikesFeature(Function<Dynamic<?>, ? extends NoFeatureConfig> deserializer)
|
||||
{
|
||||
super(deserializer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean place(IWorld world, ChunkGenerator<? extends GenerationSettings> p_212245_2_, Random rand, BlockPos startPos, NoFeatureConfig p_212245_5_)
|
||||
{
|
||||
int randRadius = this.minRadius + rand.nextInt(this.maxRadius - this.minRadius);
|
||||
int height = this.minHeight + rand.nextInt(this.maxHeight - this.minHeight);
|
||||
|
||||
while (startPos.getY() > 1 && this.replace.matches(world, startPos)) {startPos = startPos.down();}
|
||||
|
||||
for (int x = 0; x <= randRadius - 1; x++)
|
||||
{
|
||||
for (int z = 0; z <= randRadius - 1; z++)
|
||||
{
|
||||
if (!this.placeOn.matches(world, startPos.add(x, 0, z)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BlockPos pos = startPos.up();
|
||||
|
||||
// Select coral type
|
||||
BlockState block;
|
||||
int randCoral = rand.nextInt(5);
|
||||
|
||||
switch (randCoral)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
block = Blocks.DEAD_BRAIN_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
|
||||
case 1:
|
||||
block = Blocks.DEAD_BUBBLE_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
block = Blocks.DEAD_FIRE_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
|
||||
case 3:
|
||||
block = Blocks.DEAD_HORN_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
|
||||
case 4:
|
||||
block = Blocks.DEAD_TUBE_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
}
|
||||
|
||||
// Generate
|
||||
for (int y = 0; y < height - 1; y++)
|
||||
{
|
||||
int radius = (randRadius * (height - y) / height) + 1;
|
||||
int radiusStart = MathHelper.ceil(0.25D - radius / 2.0D);
|
||||
int radiusEnd = MathHelper.floor(0.25D + radius / 2.0D);
|
||||
|
||||
for (int x = radiusStart; x <= radiusEnd; x++)
|
||||
{
|
||||
for (int z = radiusStart; z <= radiusEnd; z++)
|
||||
{
|
||||
if (this.replace.matches(world, pos.add(x, y, z)))
|
||||
{
|
||||
this.setBlockState(world, pos.add(x, y, z), block);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -1,68 +0,0 @@
|
|||
package biomesoplenty.common.world.gen.feature;
|
||||
|
||||
import com.mojang.datafixers.Dynamic;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IWorld;
|
||||
import net.minecraft.world.gen.ChunkGenerator;
|
||||
import net.minecraft.world.gen.GenerationSettings;
|
||||
import net.minecraft.world.gen.feature.Feature;
|
||||
import net.minecraft.world.gen.feature.NoFeatureConfig;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class DeadCoralSplatterFeature extends Feature<NoFeatureConfig>
|
||||
{
|
||||
public DeadCoralSplatterFeature(Function<Dynamic<?>, ? extends NoFeatureConfig> deserializer)
|
||||
{
|
||||
super(deserializer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean place(IWorld p_212245_1_, ChunkGenerator<? extends GenerationSettings> p_212245_2_, Random p_212245_3_, BlockPos p_212245_4_, NoFeatureConfig p_212245_5_)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
for(int j = 0; j < 64; ++j)
|
||||
{
|
||||
BlockPos blockpos = p_212245_4_.add(p_212245_3_.nextInt(8) - p_212245_3_.nextInt(8), p_212245_3_.nextInt(4) - p_212245_3_.nextInt(4), p_212245_3_.nextInt(8) - p_212245_3_.nextInt(8));
|
||||
if (p_212245_1_.getBlockState(blockpos).isAir(p_212245_1_, p_212245_4_) && p_212245_1_.getBlockState(blockpos.down()).getBlock() == Blocks.END_STONE)
|
||||
{
|
||||
BlockState state;
|
||||
int rand = p_212245_3_.nextInt(5);
|
||||
|
||||
switch (rand)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
state = Blocks.DEAD_BRAIN_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
|
||||
case 1:
|
||||
state = Blocks.DEAD_BUBBLE_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
state = Blocks.DEAD_FIRE_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
|
||||
case 3:
|
||||
state = Blocks.DEAD_HORN_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
|
||||
case 4:
|
||||
state = Blocks.DEAD_TUBE_CORAL_BLOCK.getDefaultState();
|
||||
break;
|
||||
}
|
||||
|
||||
p_212245_1_.setBlockState(blockpos.down(), state, 2);
|
||||
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
return i > 0;
|
||||
}
|
||||
}
|
|
@ -9,8 +9,6 @@ package biomesoplenty.init;
|
|||
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.common.biome.BiomeBOP;
|
||||
import biomesoplenty.common.biome.end.DeadReefBiome;
|
||||
import biomesoplenty.common.biome.end.EtherealForestBiome;
|
||||
import biomesoplenty.common.biome.nether.*;
|
||||
import biomesoplenty.common.biome.overworld.*;
|
||||
import biomesoplenty.common.world.WorldTypeBOP;
|
||||
|
@ -124,10 +122,6 @@ public class ModBiomes
|
|||
undergarden = registerBiome(new UndergardenBiome(), "undergarden");
|
||||
visceral_heap = registerBiome(new VisceralHeapBiome(), "visceral_heap");
|
||||
|
||||
//End Biomes
|
||||
dead_reef = registerBiome(new DeadReefBiome(), "dead_reef");
|
||||
ethereal_forest = registerBiome(new EtherealForestBiome(), "ethereal_forest");
|
||||
|
||||
//Sub/Island Biomes (Note: Rarity supports two decimal places)
|
||||
registerSubBiome(Biomes.DESERT, oasis, 0.1F, 100);
|
||||
registerSubBiome(brushland, xeric_shrubland, 1.0F, 100);
|
||||
|
@ -224,10 +218,6 @@ public class ModBiomes
|
|||
registerBiomeToDictionary(glowstone_grotto, Type.NETHER, Type.HOT);
|
||||
registerBiomeToDictionary(undergarden, Type.NETHER, Type.HOT);
|
||||
registerBiomeToDictionary(visceral_heap, Type.NETHER, Type.HOT);
|
||||
|
||||
//End Biomes
|
||||
registerBiomeToDictionary(dead_reef, Type.END);
|
||||
registerBiomeToDictionary(ethereal_forest, Type.END);
|
||||
}
|
||||
|
||||
private static void registerBiomeToDictionary(Optional<Biome> biome, Type...types)
|
||||
|
|
|
@ -243,22 +243,6 @@ public class ModBlocks
|
|||
hellbark_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "hellbark_trapdoor");
|
||||
hellbark_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, hellbark_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "hellbark_pressure_plate");
|
||||
hellbark_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "hellbark_button");
|
||||
|
||||
ethereal_sapling = registerBlock(new SaplingBlockBOP(new EtherealTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "ethereal_sapling");
|
||||
ethereal_leaves = registerBlock(new LeavesBlock(Block.Properties.create(Material.LEAVES, MaterialColor.CYAN).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "ethereal_leaves");
|
||||
ethereal_log = registerBlock(new LogBlock(MaterialColor.QUARTZ, Block.Properties.create(Material.WOOD, MaterialColor.QUARTZ).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "ethereal_log");
|
||||
ethereal_wood = registerBlock(new RotatedPillarBlock(Block.Properties.create(Material.WOOD, MaterialColor.QUARTZ).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "ethereal_wood");
|
||||
stripped_ethereal_log = registerBlock(new LogBlock(MaterialColor.QUARTZ, Block.Properties.create(Material.WOOD, MaterialColor.QUARTZ).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_ethereal_log");
|
||||
stripped_ethereal_wood = registerBlock(new RotatedPillarBlock(Block.Properties.create(Material.WOOD, MaterialColor.QUARTZ).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_ethereal_wood");
|
||||
ethereal_planks = registerBlock(new Block(Block.Properties.create(Material.WOOD, MaterialColor.QUARTZ).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_planks");
|
||||
ethereal_stairs = registerBlock(new StairsBlock(ethereal_planks.getDefaultState(), Block.Properties.from(ethereal_planks)), "ethereal_stairs");
|
||||
ethereal_slab = registerBlock(new SlabBlock(Block.Properties.create(Material.WOOD, MaterialColor.QUARTZ).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_slab");
|
||||
ethereal_fence = registerBlock(new FenceBlock(Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_fence");
|
||||
ethereal_fence_gate = registerBlock(new FenceGateBlock(Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_fence_gate");
|
||||
ethereal_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "ethereal_door");
|
||||
ethereal_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.QUARTZ).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "ethereal_trapdoor");
|
||||
ethereal_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "ethereal_pressure_plate");
|
||||
ethereal_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "ethereal_button");
|
||||
|
||||
//Flowers
|
||||
rose = registerBlock(new FlowerBlockBOP(Effects.SPEED, 7, Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "rose");
|
||||
|
|
|
@ -37,7 +37,7 @@ public class ModVanillaCompat
|
|||
addFeature(Biomes.WOODED_HILLS, GenerationStage.Decoration.VEGETAL_DECORATION, BiomeBOP.createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(4)));
|
||||
addFeature(Biomes.WOODED_HILLS, GenerationStage.Decoration.VEGETAL_DECORATION, BiomeBOP.createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.blue_hydrangea.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
|
||||
addFeature(Biomes.FLOWER_FOREST, GenerationStage.Decoration.VEGETAL_DECORATION, BiomeBOP.createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(new Feature[]{BOPBiomeFeatures.BIG_FLOWERING_OAK_TREE, BOPBiomeFeatures.JACARANDA_TREE, BOPBiomeFeatures.BIG_JACARANDA_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.4F, 0.2F, 0.1F}, BOPBiomeFeatures.FLOWERING_OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.5F, 1)));
|
||||
addFeature(Biomes.FLOWER_FOREST, GenerationStage.Decoration.VEGETAL_DECORATION, BiomeBOP.createDecoratedFeature(Feature.RANDOM_SELECTOR, new MultipleRandomFeatureConfig(ImmutableList.of(BOPBiomeFeatures.BIG_FLOWERING_OAK_TREE, BOPBiomeFeatures.JACARANDA_TREE, BOPBiomeFeatures.BIG_JACARANDA_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.4F, 0.2F, 0.1F}, BOPBiomeFeatures.FLOWERING_OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), Placement.COUNT_EXTRA_HEIGHTMAP, new AtSurfaceWithExtraConfig(1, 0.5F, 1)));
|
||||
addFeature(Biomes.FLOWER_FOREST, GenerationStage.Decoration.VEGETAL_DECORATION, BiomeBOP.createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.blue_hydrangea.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(3)));
|
||||
addFeature(Biomes.FLOWER_FOREST, GenerationStage.Decoration.VEGETAL_DECORATION, BiomeBOP.createDecoratedFeature(Feature.RANDOM_PATCH, BiomeFeatureHelper.createClusterConfigurationDouble(BOPBlocks.goldenrod.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(1)));
|
||||
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"face=floor,facing=east,powered=false": { "model": "biomesoplenty:block/ethereal_button", "y": 90 },
|
||||
"face=floor,facing=west,powered=false": { "model": "biomesoplenty:block/ethereal_button", "y": 270 },
|
||||
"face=floor,facing=south,powered=false": { "model": "biomesoplenty:block/ethereal_button", "y": 180 },
|
||||
"face=floor,facing=north,powered=false": { "model": "biomesoplenty:block/ethereal_button" },
|
||||
"face=wall,facing=east,powered=false": { "model": "biomesoplenty:block/ethereal_button", "uvlock": true, "x": 90, "y": 90 },
|
||||
"face=wall,facing=west,powered=false": { "model": "biomesoplenty:block/ethereal_button", "uvlock": true, "x": 90, "y": 270 },
|
||||
"face=wall,facing=south,powered=false": { "model": "biomesoplenty:block/ethereal_button", "uvlock": true, "x": 90, "y": 180 },
|
||||
"face=wall,facing=north,powered=false": { "model": "biomesoplenty:block/ethereal_button", "uvlock": true, "x": 90 },
|
||||
"face=ceiling,facing=east,powered=false": { "model": "biomesoplenty:block/ethereal_button", "x": 180, "y": 270 },
|
||||
"face=ceiling,facing=west,powered=false": { "model": "biomesoplenty:block/ethereal_button", "x": 180, "y": 90 },
|
||||
"face=ceiling,facing=south,powered=false": { "model": "biomesoplenty:block/ethereal_button", "x": 180 },
|
||||
"face=ceiling,facing=north,powered=false": { "model": "biomesoplenty:block/ethereal_button", "x": 180, "y": 180 },
|
||||
"face=floor,facing=east,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "y": 90 },
|
||||
"face=floor,facing=west,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "y": 270 },
|
||||
"face=floor,facing=south,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "y": 180 },
|
||||
"face=floor,facing=north,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed" },
|
||||
"face=wall,facing=east,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "uvlock": true, "x": 90, "y": 90 },
|
||||
"face=wall,facing=west,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "uvlock": true, "x": 90, "y": 270 },
|
||||
"face=wall,facing=south,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "uvlock": true, "x": 90, "y": 180 },
|
||||
"face=wall,facing=north,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "uvlock": true, "x": 90 },
|
||||
"face=ceiling,facing=east,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "x": 180, "y": 270 },
|
||||
"face=ceiling,facing=west,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "x": 180, "y": 90 },
|
||||
"face=ceiling,facing=south,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "x": 180 },
|
||||
"face=ceiling,facing=north,powered=true": { "model": "biomesoplenty:block/ethereal_button_pressed", "x": 180, "y": 180 }
|
||||
}
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:block/ethereal_door_bottom" },
|
||||
"facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:block/ethereal_door_bottom", "y": 90 },
|
||||
"facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:block/ethereal_door_bottom", "y": 180 },
|
||||
"facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:block/ethereal_door_bottom", "y": 270 },
|
||||
"facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:block/ethereal_door_bottom_hinge" },
|
||||
"facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:block/ethereal_door_bottom_hinge", "y": 90 },
|
||||
"facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:block/ethereal_door_bottom_hinge", "y": 180 },
|
||||
"facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:block/ethereal_door_bottom_hinge", "y": 270 },
|
||||
"facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:block/ethereal_door_bottom_hinge", "y": 90 },
|
||||
"facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:block/ethereal_door_bottom_hinge", "y": 180 },
|
||||
"facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:block/ethereal_door_bottom_hinge", "y": 270 },
|
||||
"facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:block/ethereal_door_bottom_hinge" },
|
||||
"facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:block/ethereal_door_bottom", "y": 270 },
|
||||
"facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:block/ethereal_door_bottom" },
|
||||
"facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:block/ethereal_door_bottom", "y": 90 },
|
||||
"facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:block/ethereal_door_bottom", "y": 180 },
|
||||
"facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:block/ethereal_door_top" },
|
||||
"facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:block/ethereal_door_top", "y": 90 },
|
||||
"facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:block/ethereal_door_top", "y": 180 },
|
||||
"facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:block/ethereal_door_top", "y": 270 },
|
||||
"facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:block/ethereal_door_top_hinge" },
|
||||
"facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:block/ethereal_door_top_hinge", "y": 90 },
|
||||
"facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:block/ethereal_door_top_hinge", "y": 180 },
|
||||
"facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:block/ethereal_door_top_hinge", "y": 270 },
|
||||
"facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:block/ethereal_door_top_hinge", "y": 90 },
|
||||
"facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:block/ethereal_door_top_hinge", "y": 180 },
|
||||
"facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:block/ethereal_door_top_hinge", "y": 270 },
|
||||
"facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:block/ethereal_door_top_hinge" },
|
||||
"facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:block/ethereal_door_top", "y": 270 },
|
||||
"facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:block/ethereal_door_top" },
|
||||
"facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:block/ethereal_door_top", "y": 90 },
|
||||
"facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:block/ethereal_door_top", "y": 180 }
|
||||
}
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"multipart": [
|
||||
{ "apply": { "model": "biomesoplenty:block/ethereal_fence_post" }},
|
||||
{ "when": { "north": "true" },
|
||||
"apply": { "model": "biomesoplenty:block/ethereal_fence_side", "uvlock": true }
|
||||
},
|
||||
{ "when": { "east": "true" },
|
||||
"apply": { "model": "biomesoplenty:block/ethereal_fence_side", "y": 90, "uvlock": true }
|
||||
},
|
||||
{ "when": { "south": "true" },
|
||||
"apply": { "model": "biomesoplenty:block/ethereal_fence_side", "y": 180, "uvlock": true }
|
||||
},
|
||||
{ "when": { "west": "true" },
|
||||
"apply": { "model": "biomesoplenty:block/ethereal_fence_side", "y": 270, "uvlock": true }
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south,in_wall=false,open=false": { "model": "biomesoplenty:block/ethereal_fence_gate", "uvlock": true },
|
||||
"facing=west,in_wall=false,open=false": { "model": "biomesoplenty:block/ethereal_fence_gate", "uvlock": true, "y": 90 },
|
||||
"facing=north,in_wall=false,open=false": { "model": "biomesoplenty:block/ethereal_fence_gate", "uvlock": true, "y": 180 },
|
||||
"facing=east,in_wall=false,open=false": { "model": "biomesoplenty:block/ethereal_fence_gate", "uvlock": true, "y": 270 },
|
||||
"facing=south,in_wall=false,open=true": { "model": "biomesoplenty:block/ethereal_fence_gate_open", "uvlock": true },
|
||||
"facing=west,in_wall=false,open=true": { "model": "biomesoplenty:block/ethereal_fence_gate_open", "uvlock": true, "y": 90 },
|
||||
"facing=north,in_wall=false,open=true": { "model": "biomesoplenty:block/ethereal_fence_gate_open", "uvlock": true, "y": 180 },
|
||||
"facing=east,in_wall=false,open=true": { "model": "biomesoplenty:block/ethereal_fence_gate_open", "uvlock": true, "y": 270 },
|
||||
"facing=south,in_wall=true,open=false": { "model": "biomesoplenty:block/ethereal_fence_gate_wall", "uvlock": true },
|
||||
"facing=west,in_wall=true,open=false": { "model": "biomesoplenty:block/ethereal_fence_gate_wall", "uvlock": true, "y": 90 },
|
||||
"facing=north,in_wall=true,open=false": { "model": "biomesoplenty:block/ethereal_fence_gate_wall", "uvlock": true, "y": 180 },
|
||||
"facing=east,in_wall=true,open=false": { "model": "biomesoplenty:block/ethereal_fence_gate_wall", "uvlock": true, "y": 270 },
|
||||
"facing=south,in_wall=true,open=true": { "model": "biomesoplenty:block/ethereal_fence_gate_wall_open", "uvlock": true },
|
||||
"facing=west,in_wall=true,open=true": { "model": "biomesoplenty:block/ethereal_fence_gate_wall_open", "uvlock": true, "y": 90 },
|
||||
"facing=north,in_wall=true,open=true": { "model": "biomesoplenty:block/ethereal_fence_gate_wall_open", "uvlock": true, "y": 180 },
|
||||
"facing=east,in_wall=true,open=true": { "model": "biomesoplenty:block/ethereal_fence_gate_wall_open", "uvlock": true, "y": 270 }
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "biomesoplenty:block/ethereal_leaves" }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=y": { "model": "biomesoplenty:block/ethereal_log" },
|
||||
"axis=z": { "model": "biomesoplenty:block/ethereal_log", "x": 90 },
|
||||
"axis=x": { "model": "biomesoplenty:block/ethereal_log", "x": 90, "y": 90 }
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "biomesoplenty:block/ethereal_planks" }
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"powered=false": { "model": "biomesoplenty:block/ethereal_pressure_plate" },
|
||||
"powered=true": { "model": "biomesoplenty:block/ethereal_pressure_plate_down" }
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "biomesoplenty:block/ethereal_sapling" }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"type=bottom": { "model": "biomesoplenty:block/ethereal_slab" },
|
||||
"type=top": { "model": "biomesoplenty:block/ethereal_slab_top" },
|
||||
"type=double": { "model": "biomesoplenty:block/ethereal_planks" }
|
||||
}
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:block/ethereal_stairs" },
|
||||
"facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:block/ethereal_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:block/ethereal_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:block/ethereal_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/ethereal_stairs_outer" },
|
||||
"facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/ethereal_stairs_outer", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/ethereal_stairs_outer", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/ethereal_stairs_outer", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/ethereal_stairs_outer", "y": 270, "uvlock": true },
|
||||
"facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/ethereal_stairs_outer", "y": 90, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/ethereal_stairs_outer" },
|
||||
"facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/ethereal_stairs_outer", "y": 180, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/ethereal_stairs_inner" },
|
||||
"facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/ethereal_stairs_inner", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/ethereal_stairs_inner", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/ethereal_stairs_inner", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/ethereal_stairs_inner", "y": 270, "uvlock": true },
|
||||
"facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/ethereal_stairs_inner", "y": 90, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/ethereal_stairs_inner" },
|
||||
"facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/ethereal_stairs_inner", "y": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=straight": { "model": "biomesoplenty:block/ethereal_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=straight": { "model": "biomesoplenty:block/ethereal_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=straight": { "model": "biomesoplenty:block/ethereal_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=straight": { "model": "biomesoplenty:block/ethereal_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:block/ethereal_stairs_outer", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:block/ethereal_stairs_outer", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:block/ethereal_stairs_outer", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:block/ethereal_stairs_outer", "x": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:block/ethereal_stairs_outer", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:block/ethereal_stairs_outer", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:block/ethereal_stairs_outer", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:block/ethereal_stairs_outer", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:block/ethereal_stairs_inner", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:block/ethereal_stairs_inner", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:block/ethereal_stairs_inner", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:block/ethereal_stairs_inner", "x": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:block/ethereal_stairs_inner", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:block/ethereal_stairs_inner", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:block/ethereal_stairs_inner", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:block/ethereal_stairs_inner", "x": 180, "y": 270, "uvlock": true }
|
||||
}
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=north,half=bottom,open=false": { "model": "biomesoplenty:block/ethereal_trapdoor_bottom" },
|
||||
"facing=south,half=bottom,open=false": { "model": "biomesoplenty:block/ethereal_trapdoor_bottom", "y": 180 },
|
||||
"facing=east,half=bottom,open=false": { "model": "biomesoplenty:block/ethereal_trapdoor_bottom", "y": 90 },
|
||||
"facing=west,half=bottom,open=false": { "model": "biomesoplenty:block/ethereal_trapdoor_bottom", "y": 270 },
|
||||
"facing=north,half=top,open=false": { "model": "biomesoplenty:block/ethereal_trapdoor_top" },
|
||||
"facing=south,half=top,open=false": { "model": "biomesoplenty:block/ethereal_trapdoor_top", "y": 180 },
|
||||
"facing=east,half=top,open=false": { "model": "biomesoplenty:block/ethereal_trapdoor_top", "y": 90 },
|
||||
"facing=west,half=top,open=false": { "model": "biomesoplenty:block/ethereal_trapdoor_top", "y": 270 },
|
||||
"facing=north,half=bottom,open=true": { "model": "biomesoplenty:block/ethereal_trapdoor_open" },
|
||||
"facing=south,half=bottom,open=true": { "model": "biomesoplenty:block/ethereal_trapdoor_open", "y": 180 },
|
||||
"facing=east,half=bottom,open=true": { "model": "biomesoplenty:block/ethereal_trapdoor_open", "y": 90 },
|
||||
"facing=west,half=bottom,open=true": { "model": "biomesoplenty:block/ethereal_trapdoor_open", "y": 270 },
|
||||
"facing=north,half=top,open=true": { "model": "biomesoplenty:block/ethereal_trapdoor_open", "x": 180, "y": 180 },
|
||||
"facing=south,half=top,open=true": { "model": "biomesoplenty:block/ethereal_trapdoor_open", "x": 180, "y": 0 },
|
||||
"facing=east,half=top,open=true": { "model": "biomesoplenty:block/ethereal_trapdoor_open", "x": 180, "y": 270 },
|
||||
"facing=west,half=top,open=true": { "model": "biomesoplenty:block/ethereal_trapdoor_open", "x": 180, "y": 90 }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=y": { "model": "biomesoplenty:block/ethereal_wood" },
|
||||
"axis=z": { "model": "biomesoplenty:block/ethereal_wood", "x": 90 },
|
||||
"axis=x": { "model": "biomesoplenty:block/ethereal_wood", "x": 90, "y": 90 }
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "biomesoplenty:block/potted_ethereal_sapling" }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=y": { "model": "biomesoplenty:block/stripped_ethereal_log" },
|
||||
"axis=z": { "model": "biomesoplenty:block/stripped_ethereal_log", "x": 90 },
|
||||
"axis=x": { "model": "biomesoplenty:block/stripped_ethereal_log", "x": 90, "y": 90 }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=y": { "model": "biomesoplenty:block/stripped_ethereal_wood" },
|
||||
"axis=z": { "model": "biomesoplenty:block/stripped_ethereal_wood", "x": 90 },
|
||||
"axis=x": { "model": "biomesoplenty:block/stripped_ethereal_wood", "x": 90, "y": 90 }
|
||||
}
|
||||
}
|
|
@ -19,8 +19,6 @@
|
|||
"biome.biomesoplenty.cold_desert": "Cold Desert",
|
||||
"biome.biomesoplenty.coniferous_forest": "Coniferous Forest",
|
||||
"biome.biomesoplenty.dead_forest": "Dead Forest",
|
||||
"biome.biomesoplenty.dead_reef": "Dead Reef",
|
||||
"biome.biomesoplenty.ethereal_forest": "Ethereal Forest",
|
||||
"biome.biomesoplenty.fir_clearing": "Fir Clearing",
|
||||
"biome.biomesoplenty.floodplain": "Floodplain",
|
||||
"biome.biomesoplenty.flower_meadow": "Flower Meadow",
|
||||
|
@ -80,7 +78,6 @@
|
|||
"item.biomesoplenty.bop_icon": "BOP Icon",
|
||||
"item.biomesoplenty.cherry_boat": "Cherry Boat",
|
||||
"item.biomesoplenty.dead_boat": "Dead Boat",
|
||||
"item.biomesoplenty.ethereal_boat": "Ethereal Boat",
|
||||
"item.biomesoplenty.fir_boat": "Fir Boat",
|
||||
"item.biomesoplenty.hellbark_boat": "Hellbark Boat",
|
||||
"item.biomesoplenty.jacaranda_boat": "Jacaranda Boat",
|
||||
|
@ -137,21 +134,6 @@
|
|||
"block.biomesoplenty.desert_grass": "Desert Grass",
|
||||
"block.biomesoplenty.dried_sand": "Dried Sand",
|
||||
"block.biomesoplenty.dune_grass": "Dune Grass",
|
||||
"block.biomesoplenty.ethereal_button": "Ethereal Button",
|
||||
"block.biomesoplenty.ethereal_door": "Ethereal Door",
|
||||
"block.biomesoplenty.ethereal_fence": "Ethereal Fence",
|
||||
"block.biomesoplenty.ethereal_fence_gate": "Ethereal Fence Gate",
|
||||
"block.biomesoplenty.ethereal_leaves": "Ethereal Leaves",
|
||||
"block.biomesoplenty.ethereal_log": "Ethereal Log",
|
||||
"block.biomesoplenty.ethereal_planks": "Ethereal Planks",
|
||||
"block.biomesoplenty.ethereal_pressure_plate": "Ethereal Pressure Plate",
|
||||
"block.biomesoplenty.ethereal_sapling": "Ethereal Sapling",
|
||||
"block.biomesoplenty.ethereal_sign": "Ethereal Sign",
|
||||
"block.biomesoplenty.ethereal_slab": "Ethereal Slab",
|
||||
"block.biomesoplenty.ethereal_stairs": "Ethereal Stairs",
|
||||
"block.biomesoplenty.ethereal_trapdoor": "Ethereal Trapdoor",
|
||||
"block.biomesoplenty.ethereal_wall_sign": "Ethereal Wall Sign",
|
||||
"block.biomesoplenty.ethereal_wood": "Ethereal Wood",
|
||||
"block.biomesoplenty.fir_button": "Fir Button",
|
||||
"block.biomesoplenty.fir_door": "Fir Door",
|
||||
"block.biomesoplenty.fir_fence": "Fir Fence",
|
||||
|
@ -268,7 +250,6 @@
|
|||
"block.biomesoplenty.pink_hibiscus": "Pink Hibiscus",
|
||||
"block.biomesoplenty.potted_burning_blossom": "Potted Burning Blossom",
|
||||
"block.biomesoplenty.potted_dead_sapling": "Potted Dead Sapling",
|
||||
"block.biomesoplenty.potted_ethereal_sapling": "Potted Ethereal Sapling",
|
||||
"block.biomesoplenty.potted_fir_sapling": "Potted Fir Sapling",
|
||||
"block.biomesoplenty.potted_flowering_oak_sapling": "Potted Flowering Oak Sapling",
|
||||
"block.biomesoplenty.potted_glowflower": "Potted Glowflower",
|
||||
|
@ -322,8 +303,6 @@
|
|||
"block.biomesoplenty.stripped_cherry_wood": "Stripped Cherry Wood",
|
||||
"block.biomesoplenty.stripped_dead_log": "Stripped Dead Log",
|
||||
"block.biomesoplenty.stripped_dead_wood": "Stripped Dead Wood",
|
||||
"block.biomesoplenty.stripped_ethereal_log": "Stripped Ethereal Log",
|
||||
"block.biomesoplenty.stripped_ethereal_wood": "Stripped Ethereal Wood",
|
||||
"block.biomesoplenty.stripped_fir_log": "Stripped Fir Log",
|
||||
"block.biomesoplenty.stripped_fir_wood": "Stripped Fir Wood",
|
||||
"block.biomesoplenty.stripped_hellbark_log": "Stripped Hellbark Log",
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/button",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/button_inventory",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/button_pressed",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"parent": "block/door_bottom",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_door_bottom",
|
||||
"top": "biomesoplenty:block/ethereal_door_top"
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"parent": "block/door_bottom_rh",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_door_bottom",
|
||||
"top": "biomesoplenty:block/ethereal_door_top"
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"parent": "block/door_top",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_door_bottom",
|
||||
"top": "biomesoplenty:block/ethereal_door_top"
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"parent": "block/door_top_rh",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_door_bottom",
|
||||
"top": "biomesoplenty:block/ethereal_door_top"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/template_fence_gate",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/template_fence_gate_open",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/template_fence_gate_wall",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/template_fence_gate_wall_open",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/fence_inventory",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/fence_post",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/fence_side",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/leaves",
|
||||
"textures": {
|
||||
"all": "biomesoplenty:block/ethereal_leaves"
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"parent": "block/cube_column",
|
||||
"textures": {
|
||||
"end": "biomesoplenty:block/ethereal_log_top",
|
||||
"side": "biomesoplenty:block/ethereal_log"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/pressure_plate_up",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/pressure_plate_down",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/cross",
|
||||
"textures": {
|
||||
"cross": "biomesoplenty:block/ethereal_sapling"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "block/slab",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_planks",
|
||||
"top": "biomesoplenty:block/ethereal_planks",
|
||||
"side": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "block/slab_top",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_planks",
|
||||
"top": "biomesoplenty:block/ethereal_planks",
|
||||
"side": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "block/stairs",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_planks",
|
||||
"top": "biomesoplenty:block/ethereal_planks",
|
||||
"side": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "block/inner_stairs",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_planks",
|
||||
"top": "biomesoplenty:block/ethereal_planks",
|
||||
"side": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "block/outer_stairs",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:block/ethereal_planks",
|
||||
"top": "biomesoplenty:block/ethereal_planks",
|
||||
"side": "biomesoplenty:block/ethereal_planks"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/template_orientable_trapdoor_bottom",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:block/ethereal_trapdoor"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue