From 1ee1747790aca0d2f849a2a4ba06c1cea188d349 Mon Sep 17 00:00:00 2001 From: Forstride Date: Sat, 25 Nov 2023 18:42:08 -0500 Subject: [PATCH] Added Tiny Cactus plants to the Dryland --- .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 7 +- .../biomesoplenty/worldgen/biome/dryland.json | 5 +- .../configured_feature/patch_tiny_cactus.json | 30 +++++++++ .../placed_feature/patch_dead_bush_4.json | 19 ++++++ .../placed_feature/patch_tiny_cactus.json | 19 ++++++ .../biomesoplenty/api/block/BOPBlocks.java | 11 ++-- .../common/biome/BOPOverworldBiomes.java | 3 +- .../common/block/TinyCactusBlock.java | 61 ++++++++++++++++++ .../feature/BOPVegetationFeatures.java | 2 + .../placement/BOPVegetationPlacements.java | 6 ++ .../java/biomesoplenty/init/ModBlocks.java | 19 ++++-- .../biomesoplenty/init/ModVanillaCompat.java | 15 +++-- .../blockstates/potted_tiny_cactus.json | 8 +++ .../blockstates/tiny_cactus.json | 8 +++ .../assets/biomesoplenty/lang/en_us.json | 2 + .../models/block/potted_tiny_cactus.json | 6 ++ .../models/block/potted_tiny_cactus_alt.json | 6 ++ .../models/block/tiny_cactus.json | 6 ++ .../models/block/tiny_cactus_alt.json | 6 ++ .../models/item/potted_tiny_cactus.json | 6 ++ .../models/item/tiny_cactus.json | 6 ++ .../textures/block/tiny_cactus.png | Bin 0 -> 297 bytes .../textures/block/tiny_cactus_alt.png | Bin 0 -> 274 bytes .../misc/green_dye_from_tiny_cactus.json | 33 ++++++++++ .../blocks/potted_tiny_cactus.json | 33 ++++++++++ .../loot_tables/blocks/tiny_cactus.json | 19 ++++++ .../recipes/green_dye_from_tiny_cactus.json | 10 +++ .../minecraft/tags/blocks/flower_pots.json | 1 + 28 files changed, 325 insertions(+), 22 deletions(-) create mode 100644 src/generated/resources/data/biomesoplenty/worldgen/configured_feature/patch_tiny_cactus.json create mode 100644 src/generated/resources/data/biomesoplenty/worldgen/placed_feature/patch_dead_bush_4.json create mode 100644 src/generated/resources/data/biomesoplenty/worldgen/placed_feature/patch_tiny_cactus.json create mode 100644 src/main/java/biomesoplenty/common/block/TinyCactusBlock.java create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/potted_tiny_cactus.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/tiny_cactus.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus_alt.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/tiny_cactus.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/tiny_cactus_alt.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/potted_tiny_cactus.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/tiny_cactus.json create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus_alt.png create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/misc/green_dye_from_tiny_cactus.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_tiny_cactus.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/tiny_cactus.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/green_dye_from_tiny_cactus.json diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index d686de6ca7..a8871af31d 100644 --- a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,4 +1,4 @@ -// 1.20.2 2023-11-25T11:30:54.2446196 Registries +// 1.20.2 2023-11-25T18:01:14.6899088 Registries a09ddf53150a7fcf8767a311dd5cf040fa2e9221 data/biomesoplenty/damage_type/bramble.json 2d0eab2cc85c4c6397fdc41dd0cedefbc4a7a150 data/biomesoplenty/damage_type/fumarole.json b8dc803c8b669f1676bca4cf741dd201cf95119e data/biomesoplenty/worldgen/biome/aspen_forest.json @@ -11,7 +11,7 @@ db0c1c6cd86c593a9d97a250a93f78eb31cb964e data/biomesoplenty/worldgen/biome/bog.j d0c0bdd9fc7b09e7d046e35faea8cc6d752b468a data/biomesoplenty/worldgen/biome/crag.json 032745c9ff2f59203c72937ae4b6b55533c30f8a data/biomesoplenty/worldgen/biome/crystalline_chasm.json 7067ae923ecc770697b97b158b0ac76bf5952240 data/biomesoplenty/worldgen/biome/dead_forest.json -c581c07e33de4936e39840a296da3a527c58420a data/biomesoplenty/worldgen/biome/dryland.json +506de7d82a9bf0a7caea3390590dc9d1fa2028b0 data/biomesoplenty/worldgen/biome/dryland.json d4a9226ceaef3cf4eed45892e027c1eabf9fcd72 data/biomesoplenty/worldgen/biome/dune_beach.json a89d541384f1a879bb82d9c984d98c512474d27c data/biomesoplenty/worldgen/biome/erupting_inferno.json d662a9e04a7840345595d343cc34426393c04699 data/biomesoplenty/worldgen/biome/field.json @@ -213,6 +213,7 @@ d264cc02cac93f5db4252b51762df378cb341dad data/biomesoplenty/worldgen/configured_ e044cfc0126d8f2a16bf8190eb8eaa72fdb07722 data/biomesoplenty/worldgen/configured_feature/patch_sea_oats.json 490897b03b2cb822737519650a9abe093070f922 data/biomesoplenty/worldgen/configured_feature/patch_sprouts.json 0d39dbb81db06fd02dfdc7e545eafdc9fe92fe58 data/biomesoplenty/worldgen/configured_feature/patch_tall_lavender.json +b4914601d389d8d28f9e785dcb5781f0742087a2 data/biomesoplenty/worldgen/configured_feature/patch_tiny_cactus.json eb73d3141aa51f279ed8394438edf5fb43556c05 data/biomesoplenty/worldgen/configured_feature/patch_tundra_shrubs.json 8609b9965bb226b2d8b43ca84ce725e4683eb451 data/biomesoplenty/worldgen/configured_feature/patch_watergrass.json 0fc07b26877a36180b4ce739ddd856be6b859f63 data/biomesoplenty/worldgen/configured_feature/patch_waterlily_flower.json @@ -455,6 +456,7 @@ dc3aa99f587149f76743186243b6defee913d4dc data/biomesoplenty/worldgen/placed_feat 1c5835f9ef5e72aba46b70fe0808467fa66a385f data/biomesoplenty/worldgen/placed_feature/patch_cattail_normal.json 12fd1b5d1e53d275ebf5780f4cb710ce3ace8cdc data/biomesoplenty/worldgen/placed_feature/patch_clover_extra.json b34c90496f014548d1e698a5f5684b79f4249bb1 data/biomesoplenty/worldgen/placed_feature/patch_clover_normal.json +ec6f74eda45f1d6224ca1e8f5901e8bbb55084e9 data/biomesoplenty/worldgen/placed_feature/patch_dead_bush_4.json 9d6e56d1b74730d22fb329160ef41d54c47cca60 data/biomesoplenty/worldgen/placed_feature/patch_dead_grass.json 852d8745512fcfab2ebb61e188928ff685a0e612 data/biomesoplenty/worldgen/placed_feature/patch_desert_grass.json d80bfea708236bb7dc5145c8ec265d198d5a88d7 data/biomesoplenty/worldgen/placed_feature/patch_desert_grass_extra.json @@ -491,6 +493,7 @@ f82df4d3ed193a30a50e0ac76ccba37646b7b097 data/biomesoplenty/worldgen/placed_feat ccdf6e0b92bfd77a96bbeb97dfb010019b2e7f27 data/biomesoplenty/worldgen/placed_feature/patch_tall_grass_64.json 17f77d10841284365212850c4605addf7005a003 data/biomesoplenty/worldgen/placed_feature/patch_tall_lavender.json 0b157d4a63f1567fc9d387f61ef9f83892c2ef38 data/biomesoplenty/worldgen/placed_feature/patch_tall_lavender_forest.json +05021e92262d0c74f02c2048a593d0dda1deb1d1 data/biomesoplenty/worldgen/placed_feature/patch_tiny_cactus.json d19125aab165d60c5099b3911538fa2f43456aa8 data/biomesoplenty/worldgen/placed_feature/patch_tundra_shrubs.json 613348827906c850e2cf2e4e9c5fb89091b13b59 data/biomesoplenty/worldgen/placed_feature/patch_watergrass_10.json 211196b14a3238c05b4b36e9bbdb983bc5f67a68 data/biomesoplenty/worldgen/placed_feature/patch_watergrass_250.json diff --git a/src/generated/resources/data/biomesoplenty/worldgen/biome/dryland.json b/src/generated/resources/data/biomesoplenty/worldgen/biome/dryland.json index 6fa3b9a017..df9bdf9de3 100644 --- a/src/generated/resources/data/biomesoplenty/worldgen/biome/dryland.json +++ b/src/generated/resources/data/biomesoplenty/worldgen/biome/dryland.json @@ -77,10 +77,11 @@ ], [ "minecraft:glow_lichen", - "minecraft:patch_dead_bush_2", "biomesoplenty:trees_dryland", "biomesoplenty:patch_bush_1", - "biomesoplenty:patch_grass_6" + "biomesoplenty:patch_grass_6", + "biomesoplenty:patch_dead_bush_4", + "biomesoplenty:patch_tiny_cactus" ], [ "minecraft:freeze_top_layer" diff --git a/src/generated/resources/data/biomesoplenty/worldgen/configured_feature/patch_tiny_cactus.json b/src/generated/resources/data/biomesoplenty/worldgen/configured_feature/patch_tiny_cactus.json new file mode 100644 index 0000000000..fb9549c694 --- /dev/null +++ b/src/generated/resources/data/biomesoplenty/worldgen/configured_feature/patch_tiny_cactus.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "biomesoplenty:tiny_cactus" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 96, + "xz_spread": 7, + "y_spread": 3 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/biomesoplenty/worldgen/placed_feature/patch_dead_bush_4.json b/src/generated/resources/data/biomesoplenty/worldgen/placed_feature/patch_dead_bush_4.json new file mode 100644 index 0000000000..267fdafc70 --- /dev/null +++ b/src/generated/resources/data/biomesoplenty/worldgen/placed_feature/patch_dead_bush_4.json @@ -0,0 +1,19 @@ +{ + "feature": "minecraft:patch_dead_bush", + "placement": [ + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/biomesoplenty/worldgen/placed_feature/patch_tiny_cactus.json b/src/generated/resources/data/biomesoplenty/worldgen/placed_feature/patch_tiny_cactus.json new file mode 100644 index 0000000000..15d3eb3726 --- /dev/null +++ b/src/generated/resources/data/biomesoplenty/worldgen/placed_feature/patch_tiny_cactus.json @@ -0,0 +1,19 @@ +{ + "feature": "biomesoplenty:patch_tiny_cactus", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "MOTION_BLOCKING" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/block/BOPBlocks.java b/src/main/java/biomesoplenty/api/block/BOPBlocks.java index 77c7064ba3..b7404ad6a5 100644 --- a/src/main/java/biomesoplenty/api/block/BOPBlocks.java +++ b/src/main/java/biomesoplenty/api/block/BOPBlocks.java @@ -360,6 +360,11 @@ public class BOPBlocks public static RegistryObject CLOVER; public static RegistryObject HUGE_CLOVER_PETAL; public static RegistryObject HUGE_LILY_PAD; + + public static RegistryObject RED_MAPLE_LEAF_PILE; + public static RegistryObject ORANGE_MAPLE_LEAF_PILE; + public static RegistryObject YELLOW_MAPLE_LEAF_PILE; + public static RegistryObject DUNE_GRASS; public static RegistryObject DESERT_GRASS; public static RegistryObject DEAD_GRASS; @@ -371,10 +376,7 @@ public class BOPBlocks public static RegistryObject REED; public static RegistryObject WATERGRASS; - public static RegistryObject RED_MAPLE_LEAF_PILE; - public static RegistryObject ORANGE_MAPLE_LEAF_PILE; - public static RegistryObject YELLOW_MAPLE_LEAF_PILE; - + public static RegistryObject TINY_CACTUS; public static RegistryObject BRAMBLE; public static RegistryObject BRAMBLE_LEAVES; @@ -409,6 +411,7 @@ public class BOPBlocks public static RegistryObject POTTED_WILTED_LILY; public static RegistryObject POTTED_BURNING_BLOSSOM; public static RegistryObject POTTED_SPROUT; + public static RegistryObject POTTED_TINY_CACTUS; public static RegistryObject POTTED_TOADSTOOL; public static RegistryObject POTTED_GLOWSHROOM; } diff --git a/src/main/java/biomesoplenty/common/biome/BOPOverworldBiomes.java b/src/main/java/biomesoplenty/common/biome/BOPOverworldBiomes.java index 8625d40747..cd6d3b8603 100644 --- a/src/main/java/biomesoplenty/common/biome/BOPOverworldBiomes.java +++ b/src/main/java/biomesoplenty/common/biome/BOPOverworldBiomes.java @@ -345,10 +345,11 @@ public static Biome dryland(HolderGetter placedFeatureGetter, Hol BiomeDefaultFeatures.addDefaultOres(biomeBuilder); // Vegetation - addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, VegetationPlacements.PATCH_DEAD_BUSH_2); addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, BOPVegetationPlacements.TREES_DRYLAND); addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, BOPVegetationPlacements.PATCH_BUSH_1); addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, BOPVegetationPlacements.PATCH_GRASS_6); + addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, BOPVegetationPlacements.PATCH_DEAD_BUSH_4); + addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, BOPVegetationPlacements.PATCH_TINY_CACTUS); return biomeWithColorOverrides(false, 0.85F, 0.05F, 4159204, 329011, 12638463, 0xE5DFA9, 0xDAE0B3, 0x9E9DFF, spawnBuilder, biomeBuilder, DESERT_MUSIC); } diff --git a/src/main/java/biomesoplenty/common/block/TinyCactusBlock.java b/src/main/java/biomesoplenty/common/block/TinyCactusBlock.java new file mode 100644 index 0000000000..f7002e2e2e --- /dev/null +++ b/src/main/java/biomesoplenty/common/block/TinyCactusBlock.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.common.block; + +import net.minecraft.core.BlockPos; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.BushBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.pathfinder.PathComputationType; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.minecraftforge.common.IPlantable; + +public class TinyCactusBlock extends BushBlock implements IPlantable +{ + protected static final VoxelShape NORMAL = Block.box(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D); + + public TinyCactusBlock(Properties properties) + { + super(properties); + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext selectionContext) + { + return NORMAL; + } + + @Override + public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) + { + BlockState groundState = worldIn.getBlockState(pos.below()); + + return groundState.is(BlockTags.DIRT) || groundState.is(BlockTags.SAND); + } + + @Override + public void entityInside(BlockState p_51148_, Level p_51149_, BlockPos p_51150_, Entity p_51151_) + { + p_51151_.hurt(p_51149_.damageSources().cactus(), 1.0F); + } + + @Override + public boolean isPathfindable(BlockState p_51143_, BlockGetter p_51144_, BlockPos p_51145_, PathComputationType p_51146_) + { + return false; + } + +// @Override +// public PlantType getPlantType(BlockGetter world, BlockPos pos) +// { +// return PlantType.PLAINS; +// } +} diff --git a/src/main/java/biomesoplenty/common/worldgen/feature/BOPVegetationFeatures.java b/src/main/java/biomesoplenty/common/worldgen/feature/BOPVegetationFeatures.java index d36fb3159a..7909299517 100644 --- a/src/main/java/biomesoplenty/common/worldgen/feature/BOPVegetationFeatures.java +++ b/src/main/java/biomesoplenty/common/worldgen/feature/BOPVegetationFeatures.java @@ -72,6 +72,7 @@ public class BOPVegetationFeatures public static final ResourceKey> PATCH_SEA_OATS = createKey("patch_sea_oats"); public static final ResourceKey> PATCH_SPROUTS = createKey("patch_sprouts"); public static final ResourceKey> PATCH_TALL_LAVENDER = createKey("patch_tall_lavender"); + public static final ResourceKey> PATCH_TINY_CACTUS = createKey("patch_tiny_cactus"); public static final ResourceKey> PATCH_TUNDRA_SHRUBS = createKey("patch_tundra_shrubs"); public static final ResourceKey> PATCH_WATERGRASS = createKey("patch_watergrass"); public static final ResourceKey> PATCH_WATERLILY_FLOWER = createKey("patch_waterlily_flower"); @@ -254,6 +255,7 @@ public static void bootstrap(BootstapContext> context) register(context, BOPVegetationFeatures.PATCH_SEA_OATS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SEA_OATS.get())))); register(context, BOPVegetationFeatures.PATCH_SPROUTS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SPROUT.get())))); register(context, BOPVegetationFeatures.PATCH_TALL_LAVENDER, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TALL_LAVENDER.get())))); + register(context, BOPVegetationFeatures.PATCH_TINY_CACTUS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TINY_CACTUS.get())))); register(context, BOPVegetationFeatures.PATCH_TUNDRA_SHRUBS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TUNDRA_SHRUB.get())))); register(context, BOPVegetationFeatures.PATCH_WATERGRASS, Feature.RANDOM_PATCH, waterPatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WATERGRASS.get())))); register(context, BOPVegetationFeatures.PATCH_WATERLILY_FLOWER, Feature.RANDOM_PATCH, new RandomPatchConfiguration(10, 7, 3, PlacementUtils.onlyWhenEmpty(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WATERLILY.get()))))); diff --git a/src/main/java/biomesoplenty/common/worldgen/placement/BOPVegetationPlacements.java b/src/main/java/biomesoplenty/common/worldgen/placement/BOPVegetationPlacements.java index c304ca9a96..784b8425e9 100644 --- a/src/main/java/biomesoplenty/common/worldgen/placement/BOPVegetationPlacements.java +++ b/src/main/java/biomesoplenty/common/worldgen/placement/BOPVegetationPlacements.java @@ -45,6 +45,7 @@ public class BOPVegetationPlacements public static final ResourceKey PATCH_BUSH_10 = createKey("patch_bush_10"); public static final ResourceKey PATCH_CATTAIL_NORMAL = createKey("patch_cattail_normal"); public static final ResourceKey PATCH_CATTAIL_EXTRA = createKey("patch_cattail_extra"); + public static final ResourceKey PATCH_DEAD_BUSH_4 = createKey("patch_dead_bush_4"); public static final ResourceKey PATCH_DEAD_GRASS = createKey("patch_dead_grass"); public static final ResourceKey PATCH_DESERT_GRASS = createKey("patch_desert_grass"); public static final ResourceKey PATCH_DESERT_GRASS_EXTRA = createKey("patch_desert_grass_extra"); @@ -73,6 +74,7 @@ public class BOPVegetationPlacements public static final ResourceKey PATCH_TALL_GRASS_250 = createKey("patch_tall_grass_250"); public static final ResourceKey PATCH_TALL_LAVENDER = createKey("patch_tall_lavender"); public static final ResourceKey PATCH_TALL_LAVENDER_FOREST = createKey("patch_tall_lavender_forest"); + public static final ResourceKey PATCH_TINY_CACTUS = createKey("patch_tiny_cactus"); public static final ResourceKey PATCH_TUNDRA_SHRUBS = createKey("patch_tundra_shrubs"); public static final ResourceKey RAINFOREST_CLIFFS_VINES = createKey("rainforest_cliffs_vines"); public static final ResourceKey SMALL_BROWN_MUSHROOM = createKey("small_brown_mushroom"); @@ -205,6 +207,7 @@ public static void bootstrap(BootstapContext context) final Holder> PATCH_BLUE_HYDRANGEA = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_BLUE_HYDRANGEA); final Holder> PATCH_BUSH = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_BUSH); final Holder> PATCH_CATTAIL = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_CATTAIL); + final Holder> PATCH_DEAD_BUSH = configuredFeatureGetter.getOrThrow(VegetationFeatures.PATCH_DEAD_BUSH); final Holder> PATCH_DEAD_GRASS = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_DEAD_GRASS); final Holder> PATCH_DESERT_GRASS = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_DESERT_GRASS); final Holder> PATCH_DUNE_GRASS = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_DUNE_GRASS); @@ -216,6 +219,7 @@ public static void bootstrap(BootstapContext context) final Holder> PATCH_SPROUTS = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_SPROUTS); final Holder> PATCH_TALL_GRASS = configuredFeatureGetter.getOrThrow(VegetationFeatures.PATCH_TALL_GRASS); final Holder> PATCH_TALL_LAVENDER = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_TALL_LAVENDER); + final Holder> PATCH_TINY_CACTUS = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_TINY_CACTUS); final Holder> PATCH_TUNDRA_SHRUBS = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.PATCH_TUNDRA_SHRUBS); final Holder> RAINFOREST_CLIFFS_VINES = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.RAINFOREST_CLIFFS_VINES); final Holder> SMALL_BROWN_MUSHROOM = configuredFeatureGetter.getOrThrow(BOPVegetationFeatures.SMALL_BROWN_MUSHROOM); @@ -335,6 +339,7 @@ public static void bootstrap(BootstapContext context) register(context, BOPVegetationPlacements.PATCH_BUSH_10, PATCH_BUSH, VegetationPlacements.worldSurfaceSquaredWithCount(8)); register(context, BOPVegetationPlacements.PATCH_CATTAIL_NORMAL, PATCH_CATTAIL, VegetationPlacements.worldSurfaceSquaredWithCount(2)); register(context, BOPVegetationPlacements.PATCH_CATTAIL_EXTRA, PATCH_CATTAIL, VegetationPlacements.worldSurfaceSquaredWithCount(5)); + register(context, BOPVegetationPlacements.PATCH_DEAD_BUSH_4, PATCH_DEAD_BUSH, VegetationPlacements.worldSurfaceSquaredWithCount(4)); register(context, BOPVegetationPlacements.PATCH_DEAD_GRASS, PATCH_DEAD_GRASS, List.of(RarityFilter.onAverageOnceEvery(2), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome())); register(context, BOPVegetationPlacements.PATCH_DESERT_GRASS, PATCH_DESERT_GRASS, VegetationPlacements.worldSurfaceSquaredWithCount(1)); register(context, BOPVegetationPlacements.PATCH_DESERT_GRASS_EXTRA, PATCH_DESERT_GRASS, VegetationPlacements.worldSurfaceSquaredWithCount(3)); @@ -363,6 +368,7 @@ public static void bootstrap(BootstapContext context) register(context, BOPVegetationPlacements.PATCH_TALL_GRASS_250, PATCH_TALL_GRASS, RarityFilter.onAverageOnceEvery(1), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome()); register(context, BOPVegetationPlacements.PATCH_TALL_LAVENDER, PATCH_TALL_LAVENDER, List.of(RarityFilter.onAverageOnceEvery(1), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome())); register(context, BOPVegetationPlacements.PATCH_TALL_LAVENDER_FOREST, PATCH_TALL_LAVENDER, List.of(RarityFilter.onAverageOnceEvery(3), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome())); + register(context, BOPVegetationPlacements.PATCH_TINY_CACTUS, PATCH_TINY_CACTUS, List.of(RarityFilter.onAverageOnceEvery(2), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome())); register(context, BOPVegetationPlacements.PATCH_TUNDRA_SHRUBS, PATCH_TUNDRA_SHRUBS, VegetationPlacements.worldSurfaceSquaredWithCount(3)); register(context, BOPVegetationPlacements.RAINFOREST_CLIFFS_VINES, RAINFOREST_CLIFFS_VINES, VegetationPlacements.worldSurfaceSquaredWithCount(10)); register(context, BOPVegetationPlacements.SMALL_BROWN_MUSHROOM, SMALL_BROWN_MUSHROOM, List.of(RarityFilter.onAverageOnceEvery(2), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome())); diff --git a/src/main/java/biomesoplenty/init/ModBlocks.java b/src/main/java/biomesoplenty/init/ModBlocks.java index 3dc1f63e7e..789a835266 100644 --- a/src/main/java/biomesoplenty/init/ModBlocks.java +++ b/src/main/java/biomesoplenty/init/ModBlocks.java @@ -431,6 +431,11 @@ public static void registerBlocks() CLOVER = registerBlock(() -> new CloverBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().sound(SoundType.PINK_PETALS).pushReaction(PushReaction.DESTROY)), "clover"); HUGE_CLOVER_PETAL = registerBlock(() -> new HugeCloverPetalBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).ignitedByLava().instabreak().sound(SoundType.PINK_PETALS)), "huge_clover_petal"); HUGE_LILY_PAD = registerBlock(() -> new HugeLilyPadBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.LILY_PAD).noOcclusion()), () -> new PlaceOnWaterBlockItem(HUGE_LILY_PAD.get(), new Item.Properties()), "huge_lily_pad"); + + RED_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_RED).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "red_maple_leaf_pile"); + ORANGE_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "orange_maple_leaf_pile"); + YELLOW_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_YELLOW).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "yellow_maple_leaf_pile"); + DUNE_GRASS = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "dune_grass"); DESERT_GRASS = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "desert_grass"); DEAD_GRASS = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.WOOD).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "dead_grass"); @@ -441,9 +446,8 @@ public static void registerBlocks() CATTAIL = registerBlock(() -> new DoubleWatersidePlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIRT).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "cattail"); REED = registerBlock(() -> new DoubleWaterPlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIRT).replaceable().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "reed"); WATERGRASS = registerBlock(() -> new DoubleWaterPlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).replaceable().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "watergrass"); - RED_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_RED).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "red_maple_leaf_pile"); - ORANGE_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "orange_maple_leaf_pile"); - YELLOW_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_YELLOW).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "yellow_maple_leaf_pile"); + + TINY_CACTUS = registerBlock(() -> new TinyCactusBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).noCollission().instabreak().sound(SoundType.WOOL).offsetType(BlockBehaviour.OffsetType.XZ)), "tiny_cactus"); BRAMBLE = registerBlock(() -> new BrambleBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.NETHER).strength(0.4F).sound(SoundType.WOOD)), "bramble"); BRAMBLE_LEAVES = registerBlock(() -> new BrambleLeavesBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).instabreak().sound(SoundType.GRASS)), "bramble_leaves"); @@ -477,6 +481,7 @@ public static void registerBlocks() POTTED_WILTED_LILY = registerBlock(() -> new FlowerPotBlock(WILTED_LILY.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_wilted_lily"); POTTED_BURNING_BLOSSOM = registerBlock(() -> new FlowerPotBlock(BURNING_BLOSSOM.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 7)), "potted_burning_blossom"); POTTED_SPROUT = registerBlock(() -> new FlowerPotBlock(SPROUT.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_sprout"); + POTTED_TINY_CACTUS = registerBlock(() -> new FlowerPotBlock(TINY_CACTUS.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_tiny_cactus"); POTTED_TOADSTOOL = registerBlock(() -> new FlowerPotBlock(TOADSTOOL.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_toadstool"); POTTED_GLOWSHROOM = registerBlock(() -> new FlowerPotBlock(GLOWSHROOM.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 6).emissiveRendering((state, world, pos) -> true)), "potted_glowshroom"); } @@ -576,6 +581,9 @@ public static void setRenderTypes() ItemBlockRenderTypes.setRenderLayer(CLOVER.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(HUGE_CLOVER_PETAL.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(HUGE_LILY_PAD.get(), cutoutRenderType); + ItemBlockRenderTypes.setRenderLayer(RED_MAPLE_LEAF_PILE.get(), cutoutRenderType); + ItemBlockRenderTypes.setRenderLayer(ORANGE_MAPLE_LEAF_PILE.get(), cutoutRenderType); + ItemBlockRenderTypes.setRenderLayer(YELLOW_MAPLE_LEAF_PILE.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(DUNE_GRASS.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(DESERT_GRASS.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(DEAD_GRASS.get(), cutoutRenderType); @@ -586,9 +594,7 @@ public static void setRenderTypes() ItemBlockRenderTypes.setRenderLayer(REED.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(WATERGRASS.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(DEAD_BRANCH.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(RED_MAPLE_LEAF_PILE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(ORANGE_MAPLE_LEAF_PILE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(YELLOW_MAPLE_LEAF_PILE.get(), cutoutRenderType); + ItemBlockRenderTypes.setRenderLayer(TINY_CACTUS.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(BRAMBLE.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(BRAMBLE_LEAVES.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(TOADSTOOL.get(), cutoutRenderType); @@ -662,6 +668,7 @@ public static void setRenderTypes() ItemBlockRenderTypes.setRenderLayer(POTTED_WILTED_LILY.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(POTTED_BURNING_BLOSSOM.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(POTTED_SPROUT.get(), cutoutRenderType); + ItemBlockRenderTypes.setRenderLayer(POTTED_TINY_CACTUS.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(POTTED_TOADSTOOL.get(), cutoutRenderType); ItemBlockRenderTypes.setRenderLayer(POTTED_GLOWSHROOM.get(), cutoutRenderType); } diff --git a/src/main/java/biomesoplenty/init/ModVanillaCompat.java b/src/main/java/biomesoplenty/init/ModVanillaCompat.java index ac1baa3c8a..9f82f63bb6 100644 --- a/src/main/java/biomesoplenty/init/ModVanillaCompat.java +++ b/src/main/java/biomesoplenty/init/ModVanillaCompat.java @@ -187,14 +187,14 @@ public ItemStack execute(BlockSource p_123561_, ItemStack p_123562_) { registerFlammable(BOPBlocks.HIGH_GRASS_PLANT.get(), 60, 100); registerFlammable(BOPBlocks.CLOVER.get(), 60, 100); registerFlammable(BOPBlocks.HUGE_CLOVER_PETAL.get(), 60, 100); + registerFlammable(BOPBlocks.RED_MAPLE_LEAF_PILE.get(), 30, 60); + registerFlammable(BOPBlocks.ORANGE_MAPLE_LEAF_PILE.get(), 30, 60); + registerFlammable(BOPBlocks.YELLOW_MAPLE_LEAF_PILE.get(), 30, 60); registerFlammable(BOPBlocks.DUNE_GRASS.get(), 60, 100); registerFlammable(BOPBlocks.DESERT_GRASS.get(), 60, 100); registerFlammable(BOPBlocks.DEAD_GRASS.get(), 60, 100); registerFlammable(BOPBlocks.TUNDRA_SHRUB.get(), 60, 100); registerFlammable(BOPBlocks.DEAD_BRANCH.get(), 60, 100); - registerFlammable(BOPBlocks.RED_MAPLE_LEAF_PILE.get(), 30, 60); - registerFlammable(BOPBlocks.ORANGE_MAPLE_LEAF_PILE.get(), 30, 60); - registerFlammable(BOPBlocks.YELLOW_MAPLE_LEAF_PILE.get(), 30, 60); registerFlammable(BOPBlocks.BARLEY.get(), 60, 100); //Log Stripping @@ -296,20 +296,21 @@ public ItemStack execute(BlockSource p_123561_, ItemStack p_123562_) { registerCompostable(0.5F, BOPBlocks.HIGH_GRASS_PLANT.get()); registerCompostable(0.5F, BOPBlocks.CLOVER.get()); registerCompostable(0.5F, BOPBlocks.HUGE_CLOVER_PETAL.get()); + + registerCompostable(0.3F, BOPBlocks.RED_MAPLE_LEAF_PILE.get()); + registerCompostable(0.3F, BOPBlocks.ORANGE_MAPLE_LEAF_PILE.get()); + registerCompostable(0.3F, BOPBlocks.YELLOW_MAPLE_LEAF_PILE.get()); + registerCompostable(0.5F, BOPBlocks.DUNE_GRASS.get()); registerCompostable(0.5F, BOPBlocks.DESERT_GRASS.get()); registerCompostable(0.5F, BOPBlocks.DEAD_GRASS.get()); registerCompostable(0.5F, BOPBlocks.TUNDRA_SHRUB.get()); - registerCompostable(0.5F, BOPBlocks.CATTAIL.get()); registerCompostable(0.5F, BOPBlocks.BARLEY.get()); registerCompostable(0.5F, BOPBlocks.REED.get()); registerCompostable(0.5F, BOPBlocks.WATERGRASS.get()); registerCompostable(0.3F, BOPBlocks.DEAD_BRANCH.get()); - registerCompostable(0.3F, BOPBlocks.RED_MAPLE_LEAF_PILE.get()); - registerCompostable(0.3F, BOPBlocks.ORANGE_MAPLE_LEAF_PILE.get()); - registerCompostable(0.3F, BOPBlocks.YELLOW_MAPLE_LEAF_PILE.get()); registerCompostable(0.3F, BOPBlocks.BRAMBLE.get()); registerCompostable(0.3F, BOPBlocks.BRAMBLE_LEAVES.get()); diff --git a/src/main/resources/assets/biomesoplenty/blockstates/potted_tiny_cactus.json b/src/main/resources/assets/biomesoplenty/blockstates/potted_tiny_cactus.json new file mode 100644 index 0000000000..6bd01d278b --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/potted_tiny_cactus.json @@ -0,0 +1,8 @@ +{ + "variants": { + "": [ + { "model": "biomesoplenty:block/potted_tiny_cactus" }, + { "model": "biomesoplenty:block/potted_tiny_cactus_alt" } + ] + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/tiny_cactus.json b/src/main/resources/assets/biomesoplenty/blockstates/tiny_cactus.json new file mode 100644 index 0000000000..6dbda980da --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/tiny_cactus.json @@ -0,0 +1,8 @@ +{ + "variants": { + "": [ + { "model": "biomesoplenty:block/tiny_cactus" }, + { "model": "biomesoplenty:block/tiny_cactus_alt" } + ] + } +} diff --git a/src/main/resources/assets/biomesoplenty/lang/en_us.json b/src/main/resources/assets/biomesoplenty/lang/en_us.json index 975b856d96..7062bbde59 100644 --- a/src/main/resources/assets/biomesoplenty/lang/en_us.json +++ b/src/main/resources/assets/biomesoplenty/lang/en_us.json @@ -357,6 +357,7 @@ "block.biomesoplenty.potted_red_maple_sapling": "Potted Red Maple Sapling", "block.biomesoplenty.potted_rose": "Potted Rose", "block.biomesoplenty.potted_sprout": "Potted Sprout", + "block.biomesoplenty.potted_tiny_cactus": "Potted Tiny Cactus", "block.biomesoplenty.potted_toadstool": "Potted Toadstool", "block.biomesoplenty.potted_umbran_sapling": "Potted Umbran Sapling", "block.biomesoplenty.potted_violet": "Potted Violet", @@ -437,6 +438,7 @@ "block.biomesoplenty.tall_lavender": "Tall Lavender", "block.biomesoplenty.thermal_calcite": "Thermal Calcite", "block.biomesoplenty.thermal_calcite_vent": "Thermal Calcite Vent", + "block.biomesoplenty.tiny_cactus": "Tiny Cactus", "block.biomesoplenty.toadstool": "Toadstool", "block.biomesoplenty.toadstool_block": "Toadstool Block", "block.biomesoplenty.tundra_shrub": "Tundra Shrub", diff --git a/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus.json b/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus.json new file mode 100644 index 0000000000..49f4db8bef --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "biomesoplenty:block/tiny_cactus" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus_alt.json b/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus_alt.json new file mode 100644 index 0000000000..bc1998d9a6 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus_alt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "biomesoplenty:block/tiny_cactus_alt" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus.json b/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus.json new file mode 100644 index 0000000000..7e0dfe2cb7 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "biomesoplenty:block/tiny_cactus" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus_alt.json b/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus_alt.json new file mode 100644 index 0000000000..c7216ee880 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus_alt.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "biomesoplenty:block/tiny_cactus_alt" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/potted_tiny_cactus.json b/src/main/resources/assets/biomesoplenty/models/item/potted_tiny_cactus.json new file mode 100644 index 0000000000..037d3d6602 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/potted_tiny_cactus.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "minecraft:item/flower_pot" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/tiny_cactus.json b/src/main/resources/assets/biomesoplenty/models/item/tiny_cactus.json new file mode 100644 index 0000000000..6077dc9081 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/tiny_cactus.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "biomesoplenty:block/tiny_cactus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus.png b/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus.png new file mode 100644 index 0000000000000000000000000000000000000000..34f3aacfd9fa14704d8f1d26ead90b6912de9bd9 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|-o+2&IFtySL!=q#U|8NS%G|s0G|-o-D_tqoKPGWrydljP*SYl)M(n*YXg*gzS4gIkm4u_@(cbC0Sxz= z_eKK6I14-?iy0XB_Jc5^1#7ShP%z)q#W6%9xVF!c&&80#Ni^_%{bR@1Sz`NhgDL|r z{CZ#0u=?I}-h|c6jIZ)E6J#}ITkJ2)W8LK;)1kCU$kK%&Gl5g=uGoev3JH(3pKw2k zHW%`lvE`oeUDcEo%kTIGD#iXts*P^4tFks(Vwzm?o&R+ptMG)ojDkR`89ZJ6T-G@y GGywo>zFU(3 literal 0 HcmV?d00001 diff --git a/src/main/resources/data/biomesoplenty/advancements/recipes/misc/green_dye_from_tiny_cactus.json b/src/main/resources/data/biomesoplenty/advancements/recipes/misc/green_dye_from_tiny_cactus.json new file mode 100644 index 0000000000..04f5bd373a --- /dev/null +++ b/src/main/resources/data/biomesoplenty/advancements/recipes/misc/green_dye_from_tiny_cactus.json @@ -0,0 +1,33 @@ +{ + "rewards": { + "recipes": [ + "biomesoplenty:green_dye_from_tiny_cactus" + ] + }, + "criteria": { + "has_tiny_cactus": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "biomesoplenty:tiny_cactus" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "biomesoplenty:green_dye_from_tiny_cactus" + } + } + }, + "requirements": [ + [ + "has_tiny_cactus", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_tiny_cactus.json b/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_tiny_cactus.json new file mode 100644 index 0000000000..35033cc202 --- /dev/null +++ b/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_tiny_cactus.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:tiny_cactus" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/loot_tables/blocks/tiny_cactus.json b/src/main/resources/data/biomesoplenty/loot_tables/blocks/tiny_cactus.json new file mode 100644 index 0000000000..961212e3d8 --- /dev/null +++ b/src/main/resources/data/biomesoplenty/loot_tables/blocks/tiny_cactus.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "biomesoplenty:tiny_cactus" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/recipes/green_dye_from_tiny_cactus.json b/src/main/resources/data/biomesoplenty/recipes/green_dye_from_tiny_cactus.json new file mode 100644 index 0000000000..1f87ef9270 --- /dev/null +++ b/src/main/resources/data/biomesoplenty/recipes/green_dye_from_tiny_cactus.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 1.0, + "ingredient": { + "item": "biomesoplenty:tiny_cactus" + }, + "result": "minecraft:green_dye" +} \ 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 93a495bb65..495252814b 100644 --- a/src/main/resources/data/minecraft/tags/blocks/flower_pots.json +++ b/src/main/resources/data/minecraft/tags/blocks/flower_pots.json @@ -30,6 +30,7 @@ "biomesoplenty:potted_wilted_lily", "biomesoplenty:potted_burning_blossom", "biomesoplenty:potted_sprout", + "biomesoplenty:potted_tiny_cactus", "biomesoplenty:potted_toadstool", "biomesoplenty:potted_glowshroom" ]