Removed short grass, tweaked biomes, fixed tree generation block replacement

This commit is contained in:
Forstride 2019-05-21 21:30:35 -04:00
parent 9e8c34618f
commit fbe6213f7e
29 changed files with 17 additions and 184 deletions

View File

@ -248,7 +248,6 @@ public class BOPBlocks
public static Block willow_vine;
public static Block short_grass;
public static Block bush;
public static Block barley;
public static Block dune_grass;

View File

@ -80,7 +80,7 @@ public class DeadForestBiome extends BiomeBOP
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.GRAVEL, 6, 2, Lists.newArrayList(Blocks.DIRT, Blocks.GRASS_BLOCK)), TOP_SOLID, new FrequencyConfig(1)));
// Vegetation
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.DYING_TREE, BOPBiomeFeatures.DEAD_TREE, BOPBiomeFeatures.TALL_SPRUCE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.4F, 0.1F, 0.2F}, BOPBiomeFeatures.OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(2, 0.4F, 1)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(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.5F, 0.1F, 0.3F, 0.4F}, BOPBiomeFeatures.OAK_TREE, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(2, 0.5F, 1)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(new StandardGrassFeature(), IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(3)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE_WITH_CHANCE, new ChanceConfig(32)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.LIQUIDS, new LiquidsConfig(Fluids.WATER), HEIGHT_BIASED_RANGE, new CountRangeConfig(50, 8, 8, 256)));
@ -109,12 +109,12 @@ public class DeadForestBiome extends BiomeBOP
@OnlyIn(Dist.CLIENT)
public int getGrassColor(BlockPos pos)
{
return 0xBCA165;
return 0xBAAD64;
}
@OnlyIn(Dist.CLIENT)
public int getFoliageColor(BlockPos pos)
{
return 0xBCA165;
return 0xB7B763;
}
}

View File

@ -83,7 +83,7 @@ public class GroveBiome extends BiomeBOP
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.GRAVEL, 6, 2, Lists.newArrayList(Blocks.DIRT, Blocks.GRASS_BLOCK)), TOP_SOLID, new FrequencyConfig(1)));
// Vegetation
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.SPARSE_OAK_TREE, BOPBiomeFeatures.BIRCH_POPLAR, BOPBiomeFeatures.OAK_POPLAR}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.2F, 0.4F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(2, 0.5F, 1)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.SPARSE_OAK_TREE, BOPBiomeFeatures.DARK_OAK_POPLAR, BOPBiomeFeatures.OAK_POPLAR}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG, IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.1F, 0.2F, 0.4F}, BOPBiomeFeatures.BUSH, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(2, 0.5F, 1)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(new StandardGrassFeature(), IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(3)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFlowerFeature(BOPBiomeFeatures.EXTENDED_FLOWERS, SURFACE_PLUS_32, new FrequencyConfig(4)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.DOUBLE_PLANT, new DoublePlantConfig(Blocks.LILAC.getDefaultState()), SURFACE_PLUS_32, new FrequencyConfig(1)));

View File

@ -110,13 +110,13 @@ public class SilkgladeBiome extends BiomeBOP
@OnlyIn(Dist.CLIENT)
public int getGrassColor(BlockPos pos) {
double d0 = INFO_NOISE.getValue((double)pos.getX() * 0.0225D, (double)pos.getZ() * 0.0225D);
return d0 < -0.1D ? 0x8D8E77 : 0x84935F;
return d0 < -0.1D ? 0xB2B39F : 0x939F76;
}
@OnlyIn(Dist.CLIENT)
public int getFoliageColor(BlockPos pos)
{
double d0 = INFO_NOISE.getValue((double)pos.getX() * 0.0225D, (double)pos.getZ() * 0.0225D);
return d0 < -0.1D ? 0xB8BB9D : 0xACC27F;
return d0 < -0.1D ? 0xDEE1C6 : 0xBCCD98;
}
}

View File

@ -87,7 +87,7 @@ public class WetlandBiome extends BiomeBOP
this.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, createCompositeFeature(Feature.SPHERE_REPLACE, new SphereReplaceConfig(Blocks.CLAY, 4, 1, Lists.newArrayList(Blocks.DIRT, Blocks.CLAY)), TOP_SOLID, new FrequencyConfig(1)));
// Vegetation
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.TALL_SPRUCE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.33333334F}, BOPBiomeFeatures.WILLOW_TREE, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(10, 0.1F, 1)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.RANDOM_FEATURE_LIST, new RandomDefaultFeatureListConfig(new Feature[]{BOPBiomeFeatures.TALL_SPRUCE_TREE}, new IFeatureConfig[]{IFeatureConfig.NO_FEATURE_CONFIG}, new float[]{0.33333334F}, BOPBiomeFeatures.WILLOW_TREE, IFeatureConfig.NO_FEATURE_CONFIG), AT_SURFACE_WITH_EXTRA, new AtSurfaceWithExtraConfig(6, 0.1F, 1)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFlowerFeature(BOPBiomeFeatures.WETLAND_FLOWERS, SURFACE_PLUS_32, new FrequencyConfig(3)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(new FernGrassFeature(), IFeatureConfig.NO_FEATURE_CONFIG, TWICE_SURFACE, new FrequencyConfig(8)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, createCompositeFeature(Feature.DOUBLE_PLANT, new DoublePlantConfig(BOPBlocks.tall_cattail.getDefaultState()), SURFACE_PLUS_32, new FrequencyConfig(5)));

View File

@ -44,7 +44,7 @@ public class BlockFoliageBOP extends BlockBush implements IPlantable
{
Block block = state.getBlock();
if (block == BOPBlocks.short_grass || block == BOPBlocks.desert_grass)
if (block == BOPBlocks.desert_grass)
{
return SHORT;
}
@ -90,7 +90,7 @@ public class BlockFoliageBOP extends BlockBush implements IPlantable
{
Block block = state.getBlock();
if (block == BOPBlocks.short_grass || block == BOPBlocks.barley)
if (block == BOPBlocks.barley)
{
if (world.rand.nextInt(8) != 0) return;
ItemStack seed = net.minecraftforge.common.ForgeHooks.getGrassSeed(world.rand, fortune);

View File

@ -72,11 +72,12 @@ public class BOPBiomeFeatures
public static final AbstractTreeFeature<NoFeatureConfig> TALL_TWIGLET_TREE = new TwigletTreeFeature.Builder().minHeight(2).maxHeight(4).create();
public static final AbstractTreeFeature<NoFeatureConfig> OAK_POPLAR = new PoplarTreeFeature.Builder().log(Blocks.OAK_LOG.getDefaultState()).leaves(Blocks.OAK_LEAVES.getDefaultState()).create();
public static final AbstractTreeFeature<NoFeatureConfig> BIRCH_POPLAR = new PoplarTreeFeature.Builder().log(Blocks.BIRCH_LOG.getDefaultState()).leaves(Blocks.BIRCH_LEAVES.getDefaultState()).create();
public static final AbstractTreeFeature<NoFeatureConfig> DARK_OAK_POPLAR = new PoplarTreeFeature.Builder().log(Blocks.DARK_OAK_LOG.getDefaultState()).leaves(Blocks.DARK_OAK_LEAVES.getDefaultState()).create();
public static final AbstractTreeFeature<NoFeatureConfig> MAHOGANY_TREE = new MahoganyTreeFeature.Builder().create();
public static final AbstractTreeFeature<NoFeatureConfig> TALL_SPRUCE_TREE = new TaigaTreeFeature.Builder().log(Blocks.SPRUCE_LOG.getDefaultState()).leaves(Blocks.SPRUCE_LEAVES.getDefaultState()).maxHeight(13).create();
public static final AbstractTreeFeature<NoFeatureConfig> ALPS_SPRUCE_TREE = new TaigaTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.STONE).log(Blocks.SPRUCE_LOG.getDefaultState()).leaves(Blocks.SPRUCE_LEAVES.getDefaultState()).maxHeight(13).create();
public static final AbstractTreeFeature<NoFeatureConfig> SWAMP_TREE = new BasicTreeFeature.Builder().vine(Blocks.VINE.getDefaultState()).minHeight(8).maxHeight(12).maxLeavesRadius(2).leavesOffset(0).create();
public static final AbstractTreeFeature<NoFeatureConfig> WILLOW_TREE = new BasicTreeFeature.Builder().log(BOPBlocks.willow_log.getDefaultState()).leaves(BOPBlocks.willow_leaves.getDefaultState()).vine(BOPBlocks.willow_vine.getDefaultState()).minHeight(8).maxHeight(12).maxLeavesRadius(2).leavesOffset(0).create();
public static final AbstractTreeFeature<NoFeatureConfig> WILLOW_TREE = new BasicTreeFeature.Builder().log(BOPBlocks.willow_log.getDefaultState()).leaves(BOPBlocks.willow_leaves.getDefaultState()).vine(BOPBlocks.willow_vine.getDefaultState()).minHeight(6).maxHeight(10).maxLeavesRadius(2).leavesOffset(0).create();
public static final AbstractTreeFeature<NoFeatureConfig> TALL_WILLOW_TREE = new BasicTreeFeature.Builder().log(BOPBlocks.willow_log.getDefaultState()).leaves(BOPBlocks.willow_leaves.getDefaultState()).vine(BOPBlocks.willow_vine.getDefaultState()).minHeight(10).maxHeight(16).maxLeavesRadius(2).leavesOffset(0).create();
public static final AbstractTreeFeature<NoFeatureConfig> BUSH = new BushTreeFeature.Builder().maxHeight(2).create();
public static final AbstractTreeFeature<NoFeatureConfig> PALM_TREE = new PalmTreeFeature.Builder().create();

View File

@ -24,7 +24,7 @@ public class FernGrassFeature extends Feature<NoFeatureConfig>
{
public IBlockState chooseGrassState(Random rand)
{
return rand.nextInt(3) == 0 ? BOPBlocks.short_grass.getDefaultState() : (rand.nextInt(2) == 0 ? Blocks.FERN.getDefaultState() : Blocks.GRASS.getDefaultState());
return rand.nextInt(3) == 0 ? Blocks.FERN.getDefaultState() : Blocks.GRASS.getDefaultState();
}
@Override

View File

@ -1,54 +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.world.gen.feature;
import java.util.Random;
import biomesoplenty.api.block.BOPBlocks;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.tags.BlockTags;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IWorld;
import net.minecraft.world.gen.IChunkGenSettings;
import net.minecraft.world.gen.IChunkGenerator;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.feature.NoFeatureConfig;
public class ShortGrassFeature extends Feature<NoFeatureConfig>
{
public IBlockState chooseGrassState(Random rand)
{
return BOPBlocks.short_grass.getDefaultState();
}
@Override
public boolean place(IWorld world, IChunkGenerator<? extends IChunkGenSettings> generator, Random rand, BlockPos pos, NoFeatureConfig config)
{
IBlockState iblockstate = this.chooseGrassState(rand);
for (IBlockState iblockstate1 = world.getBlockState(pos); (iblockstate1.isAir(world, pos) || iblockstate1.isIn(BlockTags.LEAVES)) && pos.getY() > 0; iblockstate1 = world.getBlockState(pos))
{
pos = pos.down();
}
int i = 0;
for (int j = 0; j < 128; ++j)
{
BlockPos blockpos = pos.add(rand.nextInt(8) - rand.nextInt(8), rand.nextInt(4) - rand.nextInt(4), rand.nextInt(8) - rand.nextInt(8));
if (world.isAirBlock(blockpos) && iblockstate.isValidPosition(world, blockpos))
{
world.setBlockState(blockpos, iblockstate, 2);
++i;
}
}
return i > 0;
}
}

View File

@ -24,7 +24,7 @@ public class StandardGrassFeature extends Feature<NoFeatureConfig>
{
public IBlockState chooseGrassState(Random rand)
{
return rand.nextInt(3) == 0 ? BOPBlocks.short_grass.getDefaultState() : Blocks.GRASS.getDefaultState();
return Blocks.GRASS.getDefaultState();
}
@Override

View File

@ -58,11 +58,6 @@ public class BasicTreeFeature extends TreeFeatureBase
{
return world.getBlockState(pos).isSolid();
};
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
this.minHeight = 4;
this.maxHeight = 7;
this.updateNeighbours = false;

View File

@ -44,12 +44,6 @@ public class BigTreeFeature extends TreeFeatureBase
this.trunkWidth = 1;
this.foliageHeight = 4;
this.foliageDensity = 1.0F;
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
}
@Override

View File

@ -28,12 +28,6 @@ public class BulbTreeFeature extends TreeFeatureBase
{
this.minHeight = 6;
this.maxHeight = 12;
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
}
@Override

View File

@ -27,12 +27,6 @@ public class BushTreeFeature extends TreeFeatureBase
{
this.minHeight = 2;
this.maxHeight = 4;
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
}
@Override

View File

@ -34,12 +34,6 @@ public class PalmTreeFeature extends TreeFeatureBase
this.maxHeight = 14;
this.log = BOPBlocks.palm_log.getDefaultState();
this.leaves = BOPBlocks.palm_leaves.getDefaultState().with(BlockLeaves.PERSISTENT, true);
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
}
@Override

View File

@ -28,12 +28,6 @@ public class PoplarTreeFeature extends TreeFeatureBase
{
this.minHeight = 9;
this.maxHeight = 17;
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
}
@Override

View File

@ -33,11 +33,6 @@ public class RedwoodTreeFeature extends TreeFeatureBase
{
this.minHeight = 10;
this.maxHeight = 30;
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
this.log = BOPBlocks.redwood_log.getDefaultState();
this.leaves = BOPBlocks.redwood_leaves.getDefaultState();
this.vine = Blocks.VINE.getDefaultState();

View File

@ -32,11 +32,6 @@ public class TaigaTreeFeature extends TreeFeatureBase
{
this.minHeight = 6;
this.maxHeight = 12;
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
this.log = Blocks.SPRUCE_LOG.getDefaultState();
this.leaves = Blocks.SPRUCE_LEAVES.getDefaultState();
this.vine = Blocks.VINE.getDefaultState();

View File

@ -43,7 +43,7 @@ public abstract class TreeFeatureBase extends AbstractTreeFeature<NoFeatureConfi
public BuilderBase()
{
this.placeOn = (world, pos) -> world.getBlockState(pos).canSustainPlant(world, pos, EnumFacing.UP, (BlockSapling)Blocks.OAK_SAPLING);
this.replace = (world, pos) -> world.getBlockState(pos).getMaterial() == Material.AIR;
this.replace = (world, pos) -> world.getBlockState(pos).canBeReplacedByLeaves(world, pos);
this.log = Blocks.OAK_LOG.getDefaultState();
this.leaves = Blocks.OAK_LEAVES.getDefaultState();
this.vine = Blocks.AIR.getDefaultState();

View File

@ -50,12 +50,6 @@ public class TwigletTreeFeature extends TreeFeatureBase
this.maxHeight = 6;
this.leafChanceEven = 0.2F;
this.leafChanceOdd = 0.9F;
this.replace = (world, pos) ->
{
Material mat = world.getBlockState(pos).getMaterial();
return mat == Material.AIR || mat == Material.LEAVES;
};
}
@Override

View File

@ -50,9 +50,9 @@ public class ClientProxy extends CommonProxy
ItemColors itemColors = Minecraft.getInstance().getItemColors();
//Grass Coloring
blockColors.register((state, world, pos, tintIndex) ->
/*blockColors.register((state, world, pos, tintIndex) ->
world != null && pos != null ? BiomeColors.getGrassColor(world, pos) : GrassColors.get(0.5D, 1.0D),
BOPBlocks.short_grass);
BOPBlocks.short_grass);*/
//Foliage Coloring
blockColors.register((state, world, pos, tintIndex) ->
@ -64,7 +64,7 @@ public class ClientProxy extends CommonProxy
itemColors.register((stack, tintIndex) -> {
IBlockState iblockstate = ((ItemBlock)stack.getItem()).getBlock().getDefaultState();
return blockColors.getColor(iblockstate, null, null, tintIndex); },
BOPBlocks.short_grass, BOPBlocks.bush, BOPBlocks.flowering_oak_leaves, BOPBlocks.mahogany_leaves,
BOPBlocks.bush, BOPBlocks.flowering_oak_leaves, BOPBlocks.mahogany_leaves,
BOPBlocks.palm_leaves, BOPBlocks.willow_leaves, BOPBlocks.willow_vine);
}

View File

@ -302,7 +302,6 @@ public class ModBlocks
willow_vine = registerBlock(new BlockVine(Block.Properties.create(Material.VINE).doesNotBlockMovement().needsRandomTick().hardnessAndResistance(0.2F).sound(SoundType.PLANT)), "willow_vine");
short_grass = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.VINE).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "short_grass");
bush = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.VINE).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "bush");
barley = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.VINE, MaterialColor.YELLOW_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "barley");
dune_grass = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.VINE, MaterialColor.LIME_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "dune_grass");

View File

@ -1,5 +0,0 @@
{
"variants": {
"": { "model": "biomesoplenty:block/short_grass" }
}
}

View File

@ -275,7 +275,6 @@
"block.biomesoplenty.redwood_wood": "Redwood Wood",
"block.biomesoplenty.redwood_wood_slab": "Redwood Slab",
"block.biomesoplenty.rose": "Rose",
"block.biomesoplenty.short_grass": "Short Grass",
"block.biomesoplenty.smooth_white_sandstone": "Smooth White Sandstone",
"block.biomesoplenty.spectral_fern": "Spectral Fern",
"block.biomesoplenty.stripped_cherry_log": "Stripped Cherry Log",

View File

@ -1,6 +0,0 @@
{
"parent": "block/tinted_cross",
"textures": {
"cross": "biomesoplenty:blocks/short_grass"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:blocks/short_grass"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

View File

@ -1,31 +0,0 @@
{
"rewards": {
"recipes": [
"biomesoplenty:grey_dye_from_deathbloom"
]
},
"criteria": {
"has_flower": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "biomesoplenty:deathbloom"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:grey_dye_from_deathbloom"
}
}
},
"requirements": [
[
"has_flower",
"has_the_recipe"
]
]
}

View File

@ -1,12 +0,0 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "biomesoplenty:deathbloom"
}
],
"result": {
"item": "minecraft:gray_dye",
"count": 2
}
}