diff --git a/src/main/java/biomesoplenty/api/block/BOPBlocks.java b/src/main/java/biomesoplenty/api/block/BOPBlocks.java index c863156e8..b0ec70831 100644 --- a/src/main/java/biomesoplenty/api/block/BOPBlocks.java +++ b/src/main/java/biomesoplenty/api/block/BOPBlocks.java @@ -298,6 +298,7 @@ public class BOPBlocks public static Block potted_glowflower; public static Block potted_wilted_lily; public static Block potted_burning_blossom; + public static Block potted_sprout; public static Block potted_toadstool; public static Block potted_glowshroom; } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BogBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/BogBiome.java index df950b34d..880de8303 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BogBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/BogBiome.java @@ -65,7 +65,7 @@ public class BogBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.bush.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(200))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(15))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(2))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1))); //////////////////////////////////////////////////////////// diff --git a/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java index 7aaed8b39..9e50b1d21 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java @@ -66,7 +66,7 @@ public class ConiferousForestBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.reed.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(6))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(2))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(32))); //////////////////////////////////////////////////////////// diff --git a/src/main/java/biomesoplenty/common/biome/overworld/LushSwampBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/LushSwampBiome.java index 11921f6e2..7fe2f052c 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/LushSwampBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/LushSwampBiome.java @@ -62,7 +62,7 @@ public class LushSwampBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(5))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(2))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.WATERLILY, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(20))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.REED, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(20))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(32))); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/PumpkinPatchBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/PumpkinPatchBiome.java index e3853d32e..eb5046b15 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/PumpkinPatchBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/PumpkinPatchBiome.java @@ -59,7 +59,7 @@ public class PumpkinPatchBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(6))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(2))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(2))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.bush.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.sprout.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(7))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(BOPBiomeFeatures.BIG_PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(2))); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SeasonalForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SeasonalForestBiome.java index e4e870516..c48438237 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/SeasonalForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/SeasonalForestBiome.java @@ -62,7 +62,7 @@ public class SeasonalForestBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(3))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(2))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(3))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(2))); //////////////////////////////////////////////////////////// diff --git a/src/main/java/biomesoplenty/common/biome/overworld/ShieldBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/ShieldBiome.java index c4d6c0ded..cacabfc09 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/ShieldBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/ShieldBiome.java @@ -64,7 +64,7 @@ public class ShieldBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.cattail.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(3))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.SEAGRASS, new SeaGrassConfig(64, 0.6D), Placement.TOP_SOLID_HEIGHTMAP, IPlacementConfig.NO_PLACEMENT_CONFIG)); //////////////////////////////////////////////////////////// diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SilkgladeBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SilkgladeBiome.java index f48b419eb..0e1512896 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/SilkgladeBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/SilkgladeBiome.java @@ -59,7 +59,7 @@ public class SilkgladeBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(8))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(6))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(32))); //////////////////////////////////////////////////////////// diff --git a/src/main/java/biomesoplenty/common/biome/overworld/WetlandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/WetlandBiome.java index 7b34b3966..53df7e327 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/WetlandBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/WetlandBiome.java @@ -69,7 +69,7 @@ public class WetlandBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.DOUBLE_PLANT, new DoublePlantConfig(BOPBlocks.tall_cattail.getDefaultState()), Placement.COUNT_HEIGHTMAP_32, new FrequencyConfig(15))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(6))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(1))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.REED, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(15))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(32))); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/WoodlandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/WoodlandBiome.java index a9f558605..3ec509c0f 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/WoodlandBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/WoodlandBiome.java @@ -65,7 +65,7 @@ public class WoodlandBiome extends BiomeBOP this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(6))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.BROWN_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(4))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(Blocks.RED_MUSHROOM.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(8))); - this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(2))); + this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.toadstool.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(2))); this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.PUMPKIN, IFeatureConfig.NO_FEATURE_CONFIG, Placement.CHANCE_HEIGHTMAP_DOUBLE, new ChanceConfig(32))); //////////////////////////////////////////////////////////// diff --git a/src/main/java/biomesoplenty/common/block/FlowerBlockBOP.java b/src/main/java/biomesoplenty/common/block/FlowerBlockBOP.java index 7e836c57e..2001f8168 100644 --- a/src/main/java/biomesoplenty/common/block/FlowerBlockBOP.java +++ b/src/main/java/biomesoplenty/common/block/FlowerBlockBOP.java @@ -102,11 +102,11 @@ public class FlowerBlockBOP extends FlowerBlock { if (rand.nextInt(8) == 0) { - worldIn.addParticle(ParticleTypes.FLAME, (double)(pos.getX() + 0.5D), (double)(pos.getY() + 0.5D), (double)(pos.getZ() + 0.5D), 0.0D, 0.0D, 0.0D); + worldIn.addParticle(ParticleTypes.FLAME, (double)(pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 4.0D)), (double)(pos.getY() + 0.75D), (double)(pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 4.0D)), 0.0D, 0.0D, 0.0D); } if (rand.nextInt(4) == 0) { - worldIn.addParticle(ParticleTypes.SMOKE, (double)(pos.getX() + 0.5D), (double)(pos.getY() + 0.5D), (double)(pos.getZ() + 0.5D), 0.0D, 0.0D, 0.0D); + worldIn.addParticle(ParticleTypes.SMOKE, (double)(pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 4.0D)), (double)(pos.getY() + 0.75D), (double)(pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 4.0D)), 0.0D, 0.0D, 0.0D); } } } diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/BOPBiomeFeatures.java b/src/main/java/biomesoplenty/common/world/gen/feature/BOPBiomeFeatures.java index 33209ff87..d19720530 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/BOPBiomeFeatures.java +++ b/src/main/java/biomesoplenty/common/world/gen/feature/BOPBiomeFeatures.java @@ -12,6 +12,8 @@ import biomesoplenty.common.world.gen.feature.tree.*; import biomesoplenty.common.world.gen.feature.tree.BigTreeFeature; import net.minecraft.block.Blocks; import net.minecraft.block.LeavesBlock; +import net.minecraft.block.SaplingBlock; +import net.minecraft.util.Direction; import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig; @@ -43,7 +45,7 @@ public class BOPBiomeFeatures public static final AbstractTreeFeature BIG_MAGIC_TREE = new BigTreeFeature.Builder().log(BOPBlocks.magic_log.getDefaultState()).leaves(BOPBlocks.magic_leaves.getDefaultState()).create(); public static final AbstractTreeFeature GIANT_TREE = new BigTreeFeature.Builder().log(Blocks.DARK_OAK_LOG.getDefaultState()).leaves(Blocks.DARK_OAK_LEAVES.getDefaultState().with(LeavesBlock.PERSISTENT, true)).minHeight(25).maxHeight(30).trunkWidth(4).create(); - public static final AbstractTreeFeature ETHEREAL_TREE = new BigTreeFeature.Builder().log(BOPBlocks.ethereal_log.getDefaultState()).leaves(BOPBlocks.ethereal_leaves.getDefaultState()).placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.END_STONE).minHeight(10).maxHeight(20).foliageHeight(1).create(); + public static final AbstractTreeFeature 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()).minHeight(10).maxHeight(20).foliageHeight(1).create(); //Conifer Trees public static final AbstractTreeFeature TALL_SPRUCE_TREE = new TaigaTreeFeature.Builder().log(Blocks.SPRUCE_LOG.getDefaultState()).leaves(Blocks.SPRUCE_LEAVES.getDefaultState()).maxHeight(13).create(); @@ -77,8 +79,8 @@ public class BOPBiomeFeatures public static final AbstractTreeFeature FLOWERING_BUSH = new BushTreeFeature.Builder().altLeaves(BOPBlocks.flowering_oak_leaves.getDefaultState()).maxHeight(2).create(); public static final AbstractTreeFeature COBWEB_BUSH = new BushTreeFeature.Builder().maxHeight(2).altLeaves(Blocks.COBWEB.getDefaultState()).create(); public static final AbstractTreeFeature FULL_COBWEB_BUSH = new BushTreeFeature.Builder().maxHeight(2).leaves(Blocks.COBWEB.getDefaultState()).create(); - public static final AbstractTreeFeature HELLBARK_TREE = new BushTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.NETHERRACK).log(BOPBlocks.hellbark_log.getDefaultState()).leaves(BOPBlocks.hellbark_leaves.getDefaultState()).maxHeight(2).create(); - public static final AbstractTreeFeature ETHEREAL_BUSH = new BushTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.END_STONE).log(BOPBlocks.ethereal_log.getDefaultState()).leaves(BOPBlocks.ethereal_leaves.getDefaultState()).maxHeight(2).create(); + public static final AbstractTreeFeature 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()).maxHeight(2).create(); + public static final AbstractTreeFeature 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()).maxHeight(2).create(); public static final AbstractTreeFeature TWIGLET_TREE = new TwigletTreeFeature.Builder().minHeight(1).maxHeight(2).create(); public static final AbstractTreeFeature TALL_TWIGLET_TREE = new TwigletTreeFeature.Builder().minHeight(2).maxHeight(4).create(); diff --git a/src/main/java/biomesoplenty/core/ClientProxy.java b/src/main/java/biomesoplenty/core/ClientProxy.java index 68cd63049..9aa2ce0eb 100644 --- a/src/main/java/biomesoplenty/core/ClientProxy.java +++ b/src/main/java/biomesoplenty/core/ClientProxy.java @@ -42,7 +42,7 @@ public class ClientProxy extends CommonProxy //Grass Coloring blockColors.register((state, world, pos, tintIndex) -> world != null && pos != null ? BiomeColors.getGrassColor(world, pos) : GrassColors.get(0.5D, 1.0D), - BOPBlocks.sprout, BOPBlocks.watergrass); + BOPBlocks.sprout, BOPBlocks.watergrass, BOPBlocks.potted_sprout); //Foliage Coloring blockColors.register((state, world, pos, tintIndex) -> diff --git a/src/main/java/biomesoplenty/init/ModBlocks.java b/src/main/java/biomesoplenty/init/ModBlocks.java index 539c3fa20..cc43e7406 100644 --- a/src/main/java/biomesoplenty/init/ModBlocks.java +++ b/src/main/java/biomesoplenty/init/ModBlocks.java @@ -326,6 +326,7 @@ public class ModBlocks potted_glowflower = registerBlockNoGroup(new FlowerPotBlock(glowflower, Block.Properties.create(Material.MISCELLANEOUS).zeroHardnessAndResistance().lightValue(9)), "potted_glowflower"); potted_wilted_lily = registerBlockNoGroup(new FlowerPotBlock(wilted_lily, Block.Properties.create(Material.MISCELLANEOUS).zeroHardnessAndResistance()), "potted_wilted_lily"); potted_burning_blossom = registerBlockNoGroup(new FlowerPotBlock(burning_blossom, Block.Properties.create(Material.MISCELLANEOUS).zeroHardnessAndResistance().lightValue(7)), "potted_burning_blossom"); + potted_sprout = registerBlockNoGroup(new FlowerPotBlock(sprout, Block.Properties.create(Material.MISCELLANEOUS).zeroHardnessAndResistance()), "potted_sprout"); potted_toadstool = registerBlockNoGroup(new FlowerPotBlock(toadstool, Block.Properties.create(Material.MISCELLANEOUS).zeroHardnessAndResistance()), "potted_toadstool"); potted_glowshroom = registerBlockNoGroup(new FlowerPotBlock(glowshroom, Block.Properties.create(Material.MISCELLANEOUS).zeroHardnessAndResistance().lightValue(6)), "potted_glowshroom"); } diff --git a/src/main/resources/assets/biomesoplenty/blockstates/potted_sprout.json b/src/main/resources/assets/biomesoplenty/blockstates/potted_sprout.json new file mode 100644 index 000000000..d117bde2c --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/potted_sprout.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "biomesoplenty:block/potted_sprout" } + } +} diff --git a/src/main/resources/assets/biomesoplenty/lang/en_us.json b/src/main/resources/assets/biomesoplenty/lang/en_us.json index cd706604f..7787b1ede 100644 --- a/src/main/resources/assets/biomesoplenty/lang/en_us.json +++ b/src/main/resources/assets/biomesoplenty/lang/en_us.json @@ -297,6 +297,7 @@ "block.biomesoplenty.potted_pink_hibiscus": "Potted Pink Hibiscus", "block.biomesoplenty.potted_redwood_sapling": "Potted Redwood Sapling", "block.biomesoplenty.potted_rose": "Potted Rose", + "block.biomesoplenty.potted_sprout": "Potted Sprout", "block.biomesoplenty.potted_toadstool": "Potted Toadstool", "block.biomesoplenty.potted_umbran_sapling": "Potted Umbran Sapling", "block.biomesoplenty.potted_violet": "Potted Violet", diff --git a/src/main/resources/assets/biomesoplenty/models/block/potted_sprout.json b/src/main/resources/assets/biomesoplenty/models/block/potted_sprout.json new file mode 100644 index 000000000..73109a80d --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/potted_sprout.json @@ -0,0 +1,74 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "minecraft:block/flower_pot", + "flowerpot": "minecraft:block/flower_pot", + "dirt": "minecraft:block/dirt", + "plant": "biomesoplenty:blocks/potted_sprout" + }, + "elements": [ + { "from": [ 5, 0, 5 ], + "to": [ 6, 6, 11 ], + "faces": { + "down": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 5, 5, 6, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 10, 0, 5 ], + "to": [ 11, 6, 11 ], + "faces": { + "down": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 10, 5, 11, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 5, 10, 6, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 10, 10, 11, 16 ], "texture": "#flowerpot" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 5 ], + "to": [ 10, 6, 6 ], + "faces": { + "down": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 10 ], + "to": [ 10, 6, 11 ], + "faces": { + "down": { "uv": [ 6, 5, 10, 6 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 10, 10, 11 ], "texture": "#flowerpot" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#flowerpot" } + } + }, + { "from": [ 6, 0, 6 ], + "to": [ 10, 4, 10 ], + "faces": { + "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#flowerpot", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#dirt" } + } + }, + { "from": [ 2.6, 4, 8 ], + "to": [ 13.4, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant", "tintindex": 0 }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant", "tintindex": 0 } + } + }, + { "from": [ 8, 4, 2.6 ], + "to": [ 8, 16, 13.4 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant", "tintindex": 0 }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#plant", "tintindex": 0 } + } + } + ] +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/potted_toadstool.json b/src/main/resources/assets/biomesoplenty/models/block/potted_toadstool.json index 6210c4d7d..2c8393b72 100644 --- a/src/main/resources/assets/biomesoplenty/models/block/potted_toadstool.json +++ b/src/main/resources/assets/biomesoplenty/models/block/potted_toadstool.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/flower_pot_cross", "textures": { - "plant": "biomesoplenty:blocks/potted_toadstool" + "plant": "biomesoplenty:blocks/toadstool" } } diff --git a/src/main/resources/assets/biomesoplenty/models/item/potted_sprout.json b/src/main/resources/assets/biomesoplenty/models/item/potted_sprout.json new file mode 100644 index 000000000..037d3d660 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/potted_sprout.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "minecraft:item/flower_pot" + } +} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/glowshroom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/glowshroom.png index 4ccb25ec7..4ed8b7c15 100644 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/glowshroom.png and b/src/main/resources/assets/biomesoplenty/textures/blocks/glowshroom.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/potted_glowshroom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/potted_glowshroom.png index 6eb1ad997..31b23c941 100644 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/potted_glowshroom.png and b/src/main/resources/assets/biomesoplenty/textures/blocks/potted_glowshroom.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/potted_sprout.png b/src/main/resources/assets/biomesoplenty/textures/blocks/potted_sprout.png new file mode 100644 index 000000000..e7eeecfcd Binary files /dev/null and b/src/main/resources/assets/biomesoplenty/textures/blocks/potted_sprout.png differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/potted_toadstool.png b/src/main/resources/assets/biomesoplenty/textures/blocks/potted_toadstool.png deleted file mode 100644 index 9baf9ade0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/potted_toadstool.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/toadstool.png b/src/main/resources/assets/biomesoplenty/textures/blocks/toadstool.png index bbf736145..13b8651db 100644 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/toadstool.png and b/src/main/resources/assets/biomesoplenty/textures/blocks/toadstool.png differ diff --git a/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_sprout.json b/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_sprout.json new file mode 100644 index 000000000..fd03af647 --- /dev/null +++ b/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_sprout.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "biomesoplenty:sprout" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/flower_pots.json b/src/main/resources/data/minecraft/tags/blocks/flower_pots.json index 629404d21..31d616ed4 100644 --- a/src/main/resources/data/minecraft/tags/blocks/flower_pots.json +++ b/src/main/resources/data/minecraft/tags/blocks/flower_pots.json @@ -31,6 +31,7 @@ "biomesoplenty:potted_glowflower", "biomesoplenty:potted_wilted_lily", "biomesoplenty:potted_burning_blossom", + "biomesoplenty:potted_sprout", "biomesoplenty:potted_toadstool", "biomesoplenty:potted_glowshroom" ]