Renamed Dried Sand to Dried Salt, tweaks to the Wasteland biome

This commit is contained in:
Forstride 2020-02-08 08:53:41 -05:00
parent d834a5c637
commit 6f0d4fd3da
21 changed files with 45 additions and 42 deletions

View File

@ -29,7 +29,7 @@ public class BOPBlocks
public static Block mud_brick_stairs;
public static Block mud_brick_wall;
public static Block dried_sand;
public static Block dried_salt;
public static Block ash_block;
public static Block flesh;

View File

@ -34,7 +34,7 @@ public class GlowstoneGrottoBiome extends NetherBiomeBOP
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.GLOWSTONE_BLOB.configured(IFeatureConfig.NONE).decorated(Placement.LIGHT_GEM_CHANCE.configured(new FrequencyConfig(50))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.GLOWSTONE_BLOB.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_RANGE.configured(new CountRangeConfig(50, 0, 0, 128))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPBiomeFeatures.GLOWSTONE_SPIKES.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(9))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPBiomeFeatures.GLOWSTONE_SPIKES.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(10))));
//Base Decorations
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(Blocks.BROWN_MUSHROOM.defaultBlockState())).decorated(Placement.CHANCE_RANGE.configured(new ChanceRangeConfig(0.25F, 0, 0, 128))));

View File

@ -39,11 +39,11 @@ public class UndergardenBiome extends NetherBiomeBOP
//Vegetation
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPBiomeFeatures.HELLBARK_TREE.configured(DefaultBiomeFeatures.NORMAL_TREE_CONFIG).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(35))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPBiomeFeatures.BRAMBLE.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(40))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.burning_blossom.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(5))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(30))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPBiomeFeatures.BRAMBLE.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(45))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.burning_blossom.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(7))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(35))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.dead_grass.defaultBlockState())).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(40))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPBiomeFeatures.NETHER_VINES.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(100))));
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPBiomeFeatures.NETHER_VINES.configured(IFeatureConfig.NONE).decorated(Placement.COUNT_HEIGHTMAP_DOUBLE.configured(new FrequencyConfig(125))));
//Base Decorations
this.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(Blocks.BROWN_MUSHROOM.defaultBlockState())).decorated(Placement.CHANCE_RANGE.configured(new ChanceRangeConfig(0.5F, 0, 0, 128))));

View File

@ -35,7 +35,7 @@ public class BayouBiome extends BiomeBOP
{
public BayouBiome()
{
super((new Biome.Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS)).precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.SWAMP).depth(-0.315F).scale(-0.05F).temperature(0.95F).downfall(0.9F).waterColor(0x62AF6E).waterFogColor(0x0C2116).parent((String)null));
super((new Biome.Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS)).precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.SWAMP).depth(-0.315F).scale(-0.05F).temperature(0.95F).downfall(0.9F).waterColor(0x62AF84).waterFogColor(0x0C211C).parent((String)null));
// Structures
this.addStructureStart(Feature.SWAMP_HUT.configured(IFeatureConfig.NONE));

View File

@ -82,7 +82,7 @@ public class DeadForestBiome extends BiomeBOP
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
this.addWeight(BOPClimates.DRY_BOREAL, 1);
this.addWeight(BOPClimates.DRY_BOREAL, 2);
this.setBeachBiome(BOPBiomes.gravel_beach);
}

View File

@ -37,7 +37,7 @@ public class WastelandBiome extends BiomeBOP
{
public WastelandBiome()
{
super((new Biome.Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, BOPBiomeFeatures.DRIED_SAND_GRAVEL_SURFACE)).precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.DESERT).depth(0.0F).scale(-0.05F).temperature(2.0F).downfall(0.0F).waterColor(0x433721).waterFogColor(0x0C0C03).parent((String)null));
super((new Biome.Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, BOPBiomeFeatures.DRIED_SALT_SURFACE)).precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.DESERT).depth(-0.05F).scale(-0.05F).temperature(2.0F).downfall(0.0F).waterColor(0x433721).waterFogColor(0x0C0C03).parent((String)null));
// Structures
this.addStructureStart(Feature.MINESHAFT.configured(new MineshaftConfig(0.004D, MineshaftStructure.Type.NORMAL)));
@ -67,17 +67,12 @@ public class WastelandBiome extends BiomeBOP
DefaultBiomeFeatures.addSurfaceFreezing(this);
// Entities
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SPIDER, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE, 95, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE_VILLAGER, 5, 1, 1));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SKELETON, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.CREEPER, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
this.addWeight(BOPClimates.WASTELAND, 500);
this.setBeachBiome(Biomes.DESERT);
this.setBeachBiome((Biome)null);
this.setRiverBiome((Biome)null);
}

View File

@ -14,9 +14,9 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
import net.minecraftforge.common.PlantType;
public class DriedSandBlock extends Block
public class DriedSaltBlock extends Block
{
public DriedSandBlock(Block.Properties properties)
public DriedSaltBlock(Block.Properties properties)
{
super(properties);
}

View File

@ -89,7 +89,7 @@ public class FoliageBlockBOP extends BushBlock implements IPlantable
}
if (this == BOPBlocks.desert_grass || this == BOPBlocks.dead_grass)
{
return ground == BOPBlocks.dried_sand || ground == Blocks.GRAVEL || ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.white_sand || ground == Blocks.NETHERRACK || super.canSurvive(state, worldIn, pos);
return ground == BOPBlocks.dried_salt || ground == Blocks.GRAVEL || ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.white_sand || ground == Blocks.NETHERRACK || super.canSurvive(state, worldIn, pos);
}
return super.canSurvive(state, worldIn, pos);

View File

@ -77,7 +77,7 @@ public class BOPBiomeFeatures
//Sparse Trees
public static final Feature<BaseTreeFeatureConfig> SPARSE_OAK_TREE = new BigTreeFeature.Builder().maxHeight(10).foliageHeight(2).create();
public static final Feature<BaseTreeFeatureConfig> DYING_TREE = new BigTreeFeature.Builder().log(BOPBlocks.dead_log.defaultBlockState()).leaves(BOPBlocks.dead_leaves.defaultBlockState()).maxHeight(10).foliageHeight(2).create();
public static final Feature<BaseTreeFeatureConfig> DYING_TREE_WASTELAND = new BigTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.dried_sand).log(BOPBlocks.dead_log.defaultBlockState()).leaves(BOPBlocks.dead_leaves.defaultBlockState()).maxHeight(10).foliageHeight(1).create();
public static final Feature<BaseTreeFeatureConfig> DYING_TREE_WASTELAND = new BigTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.dried_salt).log(BOPBlocks.dead_log.defaultBlockState()).leaves(BOPBlocks.dead_leaves.defaultBlockState()).maxHeight(10).foliageHeight(1).create();
public static final Feature<BaseTreeFeatureConfig> DYING_TREE_VOLCANO = new BigTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRAVEL).log(BOPBlocks.dead_log.defaultBlockState()).leaves(BOPBlocks.dead_leaves.defaultBlockState()).maxHeight(10).foliageHeight(2).create();
//Bushes/Twiglets
@ -109,7 +109,7 @@ public class BOPBiomeFeatures
public static final Feature<BaseTreeFeatureConfig> MAHOGANY_TREE = new MahoganyTreeFeature.Builder().create();
public static final Feature<BaseTreeFeatureConfig> PALM_TREE = new PalmTreeFeature.Builder().create();
public static final Feature<BaseTreeFeatureConfig> DEAD_TREE = new TrunkTreeFeature.Builder().log(BOPBlocks.dead_log.defaultBlockState()).leaves(Blocks.AIR.defaultBlockState()).create();
public static final Feature<BaseTreeFeatureConfig> DEAD_TREE_WASTELAND = new TrunkTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.dried_sand).log(BOPBlocks.dead_log.defaultBlockState()).leaves(Blocks.AIR.defaultBlockState()).create();
public static final Feature<BaseTreeFeatureConfig> DEAD_TREE_WASTELAND = new TrunkTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.dried_salt).log(BOPBlocks.dead_log.defaultBlockState()).leaves(Blocks.AIR.defaultBlockState()).create();
public static final Feature<BaseTreeFeatureConfig> DEAD_TREE_VOLCANO = new TrunkTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRAVEL).log(BOPBlocks.dead_log.defaultBlockState()).leaves(Blocks.AIR.defaultBlockState()).create();
/////////////////////////////////////////////////////////////////////////////////
@ -179,7 +179,7 @@ public class BOPBiomeFeatures
public static final SurfaceBuilderConfig RED_SAND_SURFACE = new SurfaceBuilderConfig(Blocks.RED_SAND.defaultBlockState(), Blocks.RED_SAND.defaultBlockState(), Blocks.RED_SAND.defaultBlockState());
public static final SurfaceBuilderConfig SNOW_SNOW_GRAVEL_SURFACE = new SurfaceBuilderConfig(Blocks.SNOW_BLOCK.defaultBlockState(), Blocks.SNOW_BLOCK.defaultBlockState(), Blocks.GRAVEL.defaultBlockState());
public static final SurfaceBuilderConfig WHITE_SAND_SURFACE = new SurfaceBuilderConfig(BOPBlocks.white_sand.defaultBlockState(), BOPBlocks.white_sand.defaultBlockState(), BOPBlocks.white_sand.defaultBlockState());
public static final SurfaceBuilderConfig DRIED_SAND_GRAVEL_SURFACE = new SurfaceBuilderConfig(BOPBlocks.dried_sand.defaultBlockState(), BOPBlocks.dried_sand.defaultBlockState(), BOPBlocks.dried_sand.defaultBlockState());
public static final SurfaceBuilderConfig DRIED_SALT_SURFACE = new SurfaceBuilderConfig(BOPBlocks.dried_salt.defaultBlockState(), BOPBlocks.dried_salt.defaultBlockState(), BOPBlocks.dried_salt.defaultBlockState());
//Vanilla Biomes Features
public static final FlowersFeature VIOLET_FEATURE = new VioletFeature();

View File

@ -73,9 +73,6 @@ public enum BOPBiomeEdgeLayer implements ICastleTransformer
// line BOP volcano with BOP volcano edge
if (this.replaceBiomeEdge(outBiomeId, northBiomeId, eastBiomeId, southBiomeId, westBiomeId, biomeId, BOPBiomes.volcano, BOPBiomes.volcano_edge)) { return outBiomeId[0]; }
// line BOP wasteland with vanilla desert
if (this.replaceBiomeEdge(outBiomeId, northBiomeId, eastBiomeId, southBiomeId, westBiomeId, biomeId, BOPBiomes.wasteland, DESERT)) { return outBiomeId[0]; }
// line mountains with mountain edges
if (this.replaceBiomeEdgeIfNecessary(outBiomeId, northBiomeId, eastBiomeId, southBiomeId, westBiomeId, biomeId, MOUNTAINS, MOUNTAIN_EDGE)) { return outBiomeId[0]; }

View File

@ -7,9 +7,12 @@
******************************************************************************/
package biomesoplenty.common.world.layer;
import biomesoplenty.api.biome.BOPBiomes;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.common.world.BOPLayerUtil;
import biomesoplenty.common.world.layer.traits.IAreaTransformer3;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.Biomes;
import net.minecraft.world.gen.INoiseRandom;
import net.minecraft.world.gen.area.IArea;
import net.minecraft.world.gen.layer.traits.IDimOffset0Transformer;
@ -48,7 +51,6 @@ public enum BOPMixOceansLayer implements IAreaTransformer3, IDimOffset0Transform
case SUBTROPICAL:
case MEDITERRANEAN:
case SAVANNA:
case WASTELAND:
oceanId = BOPLayerUtil.LUKEWARM_OCEAN;
break;
@ -57,6 +59,10 @@ public enum BOPMixOceansLayer implements IAreaTransformer3, IDimOffset0Transform
oceanId = BOPLayerUtil.WARM_OCEAN;
break;
case WASTELAND:
oceanId = Registry.BIOME.getId(BOPBiomes.wasteland.get());
break;
default:
oceanId = BOPLayerUtil.OCEAN;
break;
@ -110,6 +116,11 @@ public enum BOPMixOceansLayer implements IAreaTransformer3, IDimOffset0Transform
{
return BOPLayerUtil.DEEP_FROZEN_OCEAN;
}
if (oceanId == Registry.BIOME.getId(BOPBiomes.wasteland.get()))
{
return Registry.BIOME.getId(BOPBiomes.wasteland.get());
}
}
return oceanId;

View File

@ -75,7 +75,6 @@ public class ModBiomes
ghost_forest = registerBiome(new GhostForestBiome(), "ghost_forest");
grassland = registerBiome(new GrasslandBiome(), "grassland");
grove = registerBiome(new GroveBiome(), "grove");
orchard = registerBiome(new OrchardBiome(), "orchard");
highland = registerBiome(new HighlandBiome(), "highland");
highland_moor = registerBiome(new HighlandMoorBiome(), "highland_moor");
lavender_field = registerBiome(new LavenderFieldBiome(), "lavender_field");
@ -88,6 +87,7 @@ public class ModBiomes
mystic_grove = registerBiome(new MysticGroveBiome(), "mystic_grove");
oasis = registerBiome(new OasisBiome(), "oasis");
ominous_woods = registerBiome(new OminousWoodsBiome(), "ominous_woods");
orchard = registerBiome(new OrchardBiome(), "orchard");
origin_hills = registerBiome(new OriginHillsBiome(), "origin_hills");
outback = registerBiome(new OutbackBiome(), "outback");
overgrown_cliffs = registerBiome(new OvergrownCliffsBiome(), "overgrown_cliffs");
@ -295,7 +295,7 @@ public class ModBiomes
registerVillagerType(tundra, IVillagerType.TAIGA);
registerVillagerType(volcano, IVillagerType.PLAINS);
registerVillagerType(volcano_edge, IVillagerType.PLAINS);
registerVillagerType(wasteland, IVillagerType.PLAINS);
registerVillagerType(wasteland, IVillagerType.DESERT);
registerVillagerType(wetland, IVillagerType.SWAMP);
registerVillagerType(white_beach, IVillagerType.JUNGLE);
registerVillagerType(woodland, IVillagerType.PLAINS);

View File

@ -54,7 +54,7 @@ public class ModBlocks
mud_brick_slab = registerBlock(new SlabBlock(Block.Properties.copy(mud_bricks)), "mud_brick_slab");
mud_brick_wall = registerBlock(new WallBlock(Block.Properties.copy(mud_bricks)),"mud_brick_wall");
dried_sand = registerBlock(new DriedSandBlock(Block.Properties.of(Material.DIRT, MaterialColor.WOOD).strength(1.0F).harvestLevel(0).harvestTool(ToolType.PICKAXE).sound(new SoundType(1.0F, 0.5F, SoundEvents.GRAVEL_BREAK, SoundEvents.GRAVEL_STEP, SoundEvents.GRAVEL_PLACE, SoundEvents.GRAVEL_HIT, SoundEvents.GRAVEL_FALL))), "dried_sand");
dried_salt = registerBlock(new DriedSaltBlock(Block.Properties.of(Material.STONE, MaterialColor.WOOD).strength(1.0F).harvestLevel(0).harvestTool(ToolType.PICKAXE).sound(new SoundType(1.0F, 0.5F, SoundEvents.GRAVEL_BREAK, SoundEvents.GRAVEL_STEP, SoundEvents.GRAVEL_PLACE, SoundEvents.GRAVEL_HIT, SoundEvents.GRAVEL_FALL))), "dried_salt");
ash_block = registerBlock(new AshBlock(Block.Properties.of(Material.SAND, MaterialColor.TERRACOTTA_BLACK).strength(0.4F).harvestLevel(0).harvestTool(ToolType.SHOVEL).sound(SoundType.SAND)), "ash_block");
flesh = registerBlock(new FleshBlock(Block.Properties.of(Material.SPONGE, MaterialColor.TERRACOTTA_RED).strength(0.4F).harvestLevel(0).harvestTool(ToolType.AXE).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "flesh");

View File

@ -0,0 +1,10 @@
{
"variants": {
"": [
{ "model": "biomesoplenty:block/dried_salt" },
{ "model": "biomesoplenty:block/dried_salt", "y": 90 },
{ "model": "biomesoplenty:block/dried_salt", "y": 180 },
{ "model": "biomesoplenty:block/dried_salt", "y": 270 }
]
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"": [
{ "model": "biomesoplenty:block/dried_sand" },
{ "model": "biomesoplenty:block/dried_sand", "y": 90 },
{ "model": "biomesoplenty:block/dried_sand", "y": 180 },
{ "model": "biomesoplenty:block/dried_sand", "y": 270 }
]
}
}

View File

@ -135,7 +135,7 @@
"block.biomesoplenty.dead_wall_sign": "Dead Wall Sign",
"block.biomesoplenty.dead_wood": "Dead Wood",
"block.biomesoplenty.desert_grass": "Desert Grass",
"block.biomesoplenty.dried_sand": "Dried Sand",
"block.biomesoplenty.dried_salt": "Dried Salt",
"block.biomesoplenty.dune_grass": "Dune Grass",
"block.biomesoplenty.fir_button": "Fir Button",
"block.biomesoplenty.fir_door": "Fir Door",

View File

@ -1,6 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:block/dried_sand"
"all": "biomesoplenty:block/dried_salt"
}
}

View File

@ -1,5 +1,5 @@
{
"parent": "biomesoplenty:block/dried_sand",
"parent": "biomesoplenty:block/dried_salt",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 B

View File

@ -6,7 +6,7 @@
"entries": [
{
"type": "minecraft:item",
"name": "biomesoplenty:dried_sand"
"name": "biomesoplenty:dried_salt"
}
],
"conditions": [