From 49f86136787e01a85833a77e5c330d7b7ea2c969 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Mon, 9 Sep 2019 18:18:32 +0200 Subject: [PATCH] Screw those tools - Added special tools - Remove special tools (until forge has proper harvest events) - Added loot tables for all blocks --- .../java/com/simibubi/create/AllBlocks.java | 6 +- .../java/com/simibubi/create/AllItems.java | 28 ++--- .../foundation/item/AbstractToolItem.java | 116 ++++++++++++++++++ .../create/foundation/item/AllToolTypes.java | 7 ++ .../create/foundation/utility/ItemHelper.java | 23 ++++ .../contraptions/generators/MotorBlock.java | 4 +- .../generators/WaterWheelTileEntity.java | 6 + .../receivers/CrushingWheelTileEntity.java | 6 + .../receivers/TurntableBlock.java | 4 +- .../contraptions/relays/ShaftTileEntity.java | 7 ++ .../curiosities/tools/AllToolTiers.java | 67 ++++++++++ .../curiosities/tools/BlazingToolItem.java | 107 ++++++++++++++++ .../curiosities/tools/RoseQuartzToolItem.java | 22 ++++ .../tools/ShadowSteelToolItem.java | 38 ++++++ .../modules/logistics/InWorldProcessing.java | 11 +- .../create/models/item/blazing_axe.json | 2 +- .../create/models/item/blazing_pickaxe.json | 2 +- .../create/models/item/blazing_shovel.json | 2 +- .../create/models/item/blazing_sword.json | 2 +- .../create/models/item/rose_quartz_axe.json | 2 +- .../models/item/rose_quartz_pickaxe.json | 2 +- .../models/item/rose_quartz_shovel.json | 2 +- .../create/models/item/rose_quartz_sword.json | 2 +- .../models/item/shadow_steel_mattock.json | 2 +- .../models/item/shadow_steel_pickaxe.json | 2 +- .../models/item/shadow_steel_sword.json | 2 +- .../loot_tables/blocks/andesite_bricks.json | 20 +++ .../data/create/loot_tables/blocks/belt.json | 19 +++ .../loot_tables/blocks/belt_funnel.json | 19 +++ .../create/loot_tables/blocks/clutch.json | 19 +++ .../create/loot_tables/blocks/cocoa_log.json | 19 +++ .../create/loot_tables/blocks/cogwheel.json | 19 +++ .../create/loot_tables/blocks/contact.json | 19 +++ .../loot_tables/blocks/crushing_wheel.json | 19 +++ .../loot_tables/blocks/diorite_bricks.json | 20 +++ .../create/loot_tables/blocks/dolomite.json | 19 +++ .../loot_tables/blocks/dolomite_bricks.json | 19 +++ .../loot_tables/blocks/dolomite_pillar.json | 19 +++ .../loot_tables/blocks/dolomite_slab.json | 32 +++++ .../loot_tables/blocks/dolomite_stairs.json | 20 +++ .../loot_tables/blocks/dolomite_wall.json | 19 +++ .../data/create/loot_tables/blocks/drill.json | 19 +++ .../loot_tables/blocks/encased_belt.json | 19 +++ .../loot_tables/blocks/encased_fan.json | 19 +++ .../loot_tables/blocks/encased_shaft.json | 19 +++ .../loot_tables/blocks/entity_detector.json | 19 +++ .../create/loot_tables/blocks/extractor.json | 19 +++ .../create/loot_tables/blocks/flexcrate.json | 19 +++ .../create/loot_tables/blocks/gabbro.json | 20 +++ .../loot_tables/blocks/gabbro_bricks.json | 20 +++ .../blocks/gabbro_bricks_stairs.json | 20 +++ .../blocks/gabbro_bricks_wall.json | 20 +++ .../loot_tables/blocks/gabbro_slab.json | 32 +++++ .../loot_tables/blocks/gabbro_stairs.json | 20 +++ .../loot_tables/blocks/gabbro_wall.json | 20 +++ .../create/loot_tables/blocks/gearbox.json | 19 +++ .../create/loot_tables/blocks/gearshift.json | 19 +++ .../loot_tables/blocks/granite_bricks.json | 20 +++ .../create/loot_tables/blocks/harvester.json | 19 +++ .../loot_tables/blocks/indented_gabbro.json | 20 +++ .../blocks/indented_gabbro_slab.json | 32 +++++ .../loot_tables/blocks/large_cogwheel.json | 19 +++ .../create/loot_tables/blocks/limestone.json | 20 +++ .../loot_tables/blocks/limestone_bricks.json | 20 +++ .../blocks/limestone_bricks_slab.json | 32 +++++ .../blocks/limestone_bricks_stairs.json | 20 +++ .../blocks/limestone_bricks_wall.json | 20 +++ .../loot_tables/blocks/limestone_pillar.json | 20 +++ .../loot_tables/blocks/limestone_slab.json | 32 +++++ .../loot_tables/blocks/limestone_stairs.json | 20 +++ .../loot_tables/blocks/limestone_wall.json | 20 +++ .../loot_tables/blocks/linked_extractor.json | 19 +++ .../blocks/mechanical_bearing.json | 19 +++ .../loot_tables/blocks/mechanical_piston.json | 19 +++ .../blocks/mossy_gabbro_bricks.json | 20 +++ .../data/create/loot_tables/blocks/motor.json | 19 +++ .../blocks/paved_gabbro_bricks.json | 20 +++ .../blocks/paved_gabbro_bricks_slab.json | 32 +++++ .../loot_tables/blocks/piston_pole.json | 19 +++ .../loot_tables/blocks/polished_dolomite.json | 19 +++ .../loot_tables/blocks/polished_gabbro.json | 20 +++ .../blocks/polished_limestone.json | 20 +++ .../blocks/polished_limestone_slab.json | 32 +++++ .../blocks/polished_weathered_limestone.json | 20 +++ .../polished_weathered_limestone_slab.json | 32 +++++ .../loot_tables/blocks/pulse_repeater.json | 19 +++ .../loot_tables/blocks/redstone_bridge.json | 19 +++ .../loot_tables/blocks/rotation_chassis.json | 19 +++ .../data/create/loot_tables/blocks/shaft.json | 19 +++ .../blocks/slightly_mossy_gabbro_bricks.json | 20 +++ .../blocks/sticky_mechanical_piston.json | 19 +++ .../loot_tables/blocks/stockswitch.json | 19 +++ .../blocks/translation_chassis.json | 19 +++ .../create/loot_tables/blocks/turntable.json | 19 +++ .../loot_tables/blocks/water_wheel.json | 19 +++ .../blocks/weathered_limestone.json | 19 +++ .../blocks/weathered_limestone_bricks.json | 19 +++ .../weathered_limestone_bricks_slab.json | 32 +++++ .../weathered_limestone_bricks_stairs.json | 20 +++ .../weathered_limestone_bricks_wall.json | 19 +++ .../blocks/weathered_limestone_pillar.json | 19 +++ .../blocks/weathered_limestone_slab.json | 32 +++++ .../blocks/weathered_limestone_stairs.json | 20 +++ .../blocks/weathered_limestone_wall.json | 20 +++ 104 files changed, 2079 insertions(+), 34 deletions(-) create mode 100644 src/main/java/com/simibubi/create/foundation/item/AbstractToolItem.java create mode 100644 src/main/java/com/simibubi/create/foundation/item/AllToolTypes.java create mode 100644 src/main/java/com/simibubi/create/foundation/utility/ItemHelper.java create mode 100644 src/main/java/com/simibubi/create/modules/curiosities/tools/AllToolTiers.java create mode 100644 src/main/java/com/simibubi/create/modules/curiosities/tools/BlazingToolItem.java create mode 100644 src/main/java/com/simibubi/create/modules/curiosities/tools/RoseQuartzToolItem.java create mode 100644 src/main/java/com/simibubi/create/modules/curiosities/tools/ShadowSteelToolItem.java create mode 100644 src/main/resources/data/create/loot_tables/blocks/andesite_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/belt.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/belt_funnel.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/clutch.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/cocoa_log.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/cogwheel.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/contact.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/crushing_wheel.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/diorite_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/dolomite.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/dolomite_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/dolomite_pillar.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/dolomite_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/dolomite_stairs.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/dolomite_wall.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/drill.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/encased_belt.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/encased_fan.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/encased_shaft.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/entity_detector.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/extractor.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/flexcrate.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gabbro.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gabbro_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gabbro_bricks_stairs.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gabbro_bricks_wall.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gabbro_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gabbro_stairs.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gabbro_wall.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gearbox.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/gearshift.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/granite_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/harvester.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/indented_gabbro.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/indented_gabbro_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/large_cogwheel.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone_bricks_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone_bricks_stairs.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone_bricks_wall.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone_pillar.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone_stairs.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/limestone_wall.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/linked_extractor.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/mechanical_bearing.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/mechanical_piston.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/mossy_gabbro_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/motor.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/paved_gabbro_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/paved_gabbro_bricks_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/piston_pole.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/polished_dolomite.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/polished_gabbro.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/polished_limestone.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/polished_limestone_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/polished_weathered_limestone.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/polished_weathered_limestone_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/pulse_repeater.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/redstone_bridge.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/rotation_chassis.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/shaft.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/slightly_mossy_gabbro_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/sticky_mechanical_piston.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/stockswitch.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/translation_chassis.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/turntable.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/water_wheel.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_stairs.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_wall.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone_pillar.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone_slab.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone_stairs.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/weathered_limestone_wall.json diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 999d1519f..ae168ecd0 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -130,7 +130,7 @@ public enum AllBlocks { DIORITE_BRICKS(new Block(Properties.from(Blocks.DIORITE))), GRANITE_BRICKS(new Block(Properties.from(Blocks.GRANITE))), - GABBRO(new Block(Properties.from(Blocks.ANDESITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL), + GABBRO(new Block(Properties.from(Blocks.GRANITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL), POLISHED_GABBRO(new Block(Properties.from(GABBRO.block))), GABBRO_BRICKS(new Block(Properties.from(GABBRO.block)), ComesWith.STAIRS, ComesWith.WALL), PAVED_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block)), ComesWith.SLAB), @@ -138,12 +138,12 @@ public enum AllBlocks { SLIGHTLY_MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))), MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))), - LIMESTONE(new Block(Properties.from(Blocks.GRANITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL), + LIMESTONE(new Block(Properties.from(Blocks.SANDSTONE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL), LIMESTONE_BRICKS(new Block(Properties.from(LIMESTONE.block)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL), POLISHED_LIMESTONE(new Block(Properties.from(LIMESTONE.block)), ComesWith.SLAB), LIMESTONE_PILLAR(new RotatedPillarBlock(Properties.from(LIMESTONE.block))), - WEATHERED_LIMESTONE(new Block(Properties.from(Blocks.SANDSTONE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL), + WEATHERED_LIMESTONE(new Block(Properties.from(Blocks.ANDESITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL), POLISHED_WEATHERED_LIMESTONE(new Block(Properties.from(WEATHERED_LIMESTONE.block)), ComesWith.SLAB), WEATHERED_LIMESTONE_BRICKS(new Block(Properties.from(WEATHERED_LIMESTONE.block)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL), diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index 14a800020..1691d580a 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -46,21 +46,21 @@ public enum AllItems { ROSE_QUARTZ(new Item(standardProperties())), REFINED_ROSE_QUARTZ(new Item(standardProperties())), CHROMATIC_COMPOUND_CUBE(new ChromaticCompoundCubeItem(standardProperties().rarity(Rarity.UNCOMMON))), - REFINED_RADIANCE_CUBE(new Item(standardProperties())), + REFINED_RADIANCE_CUBE(new Item(standardProperties().rarity(Rarity.RARE))), - BLAZING_PICKAXE(new Item(standardProperties())), - BLAZING_SHOVEL(new Item(standardProperties())), - BLAZING_AXE(new Item(standardProperties())), - BLAZING_SWORD(new Item(standardProperties())), - - SHADOW_STEEL_PICKAXE(new Item(standardProperties())), - SHADOW_STEEL_MATTOCK(new Item(standardProperties())), - SHADOW_STEEL_SWORD(new Item(standardProperties())), - - ROSE_QUARTZ_PICKAXE(new Item(standardProperties())), - ROSE_QUARTZ_SHOVEL(new Item(standardProperties())), - ROSE_QUARTZ_AXE(new Item(standardProperties())), - ROSE_QUARTZ_SWORD(new Item(standardProperties())), +// BLAZING_PICKAXE(new BlazingToolItem(1, -2.8F, standardProperties(), PICKAXE)), +// BLAZING_SHOVEL(new BlazingToolItem(1.5F, -3.0F, standardProperties(), SHOVEL)), +// BLAZING_AXE(new BlazingToolItem(5.0F, -3.0F, standardProperties(), AXE)), +// BLAZING_SWORD(new BlazingToolItem(3, -2.4F, standardProperties(), SWORD)), +// +// ROSE_QUARTZ_PICKAXE(new RoseQuartzToolItem(1, -2.8F, standardProperties(), PICKAXE)), +// ROSE_QUARTZ_SHOVEL(new RoseQuartzToolItem(1.5F, -3.0F, standardProperties(), SHOVEL)), +// ROSE_QUARTZ_AXE(new RoseQuartzToolItem(5.0F, -3.0F, standardProperties(), AXE)), +// ROSE_QUARTZ_SWORD(new RoseQuartzToolItem(3, -2.4F, standardProperties(), SWORD)), +// +// SHADOW_STEEL_PICKAXE(new ShadowSteelToolItem(2.5F, -2.0F, standardProperties(), PICKAXE)), +// SHADOW_STEEL_MATTOCK(new ShadowSteelToolItem(2.5F, -1.5F, standardProperties(), SHOVEL, AXE, HOE)), +// SHADOW_STEEL_SWORD(new ShadowSteelToolItem(3, -2.0F, standardProperties(), SWORD)), TREE_FERTILIZER(new TreeFertilizerItem(standardProperties())), diff --git a/src/main/java/com/simibubi/create/foundation/item/AbstractToolItem.java b/src/main/java/com/simibubi/create/foundation/item/AbstractToolItem.java new file mode 100644 index 000000000..441c75be6 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/item/AbstractToolItem.java @@ -0,0 +1,116 @@ +package com.simibubi.create.foundation.item; + +import static com.simibubi.create.foundation.item.AllToolTypes.AXE; +import static com.simibubi.create.foundation.item.AllToolTypes.HOE; +import static com.simibubi.create.foundation.item.AllToolTypes.PICKAXE; +import static com.simibubi.create.foundation.item.AllToolTypes.SHOVEL; +import static com.simibubi.create.foundation.item.AllToolTypes.SWORD; + +import java.util.Collections; +import java.util.List; + +import com.simibubi.create.foundation.utility.ITooltip; +import com.simibubi.create.foundation.utility.TooltipHolder; + +import net.minecraft.block.BlockState; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.IItemTier; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemUseContext; +import net.minecraft.item.Items; +import net.minecraft.item.ToolItem; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.world.IWorld; +import net.minecraft.world.World; +import net.minecraftforge.common.ToolType; +import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; + +@EventBusSubscriber +public abstract class AbstractToolItem extends ToolItem implements ITooltip { + + protected TooltipHolder info; + protected AllToolTypes[] toolTypes; + + public AbstractToolItem(float attackDamageIn, float attackSpeedIn, IItemTier tier, Properties builder, + AllToolTypes... types) { + super(attackDamageIn, attackSpeedIn, tier, Collections.emptySet(), setToolTypes(builder, tier, types)); + info = new TooltipHolder(this); + toolTypes = types; + } + + private static Properties setToolTypes(Properties builder, IItemTier tier, AllToolTypes... types) { + for (AllToolTypes type : types) { + if (type == PICKAXE) + builder.addToolType(ToolType.PICKAXE, tier.getHarvestLevel()); + if (type == SHOVEL) + builder.addToolType(ToolType.SHOVEL, tier.getHarvestLevel()); + if (type == AXE) + builder.addToolType(ToolType.AXE, tier.getHarvestLevel()); + } + return builder; + } + + protected boolean hasType(AllToolTypes typeIn) { + for (AllToolTypes type : toolTypes) + if (type == typeIn) + return true; + return false; + } + + @Override + public void addInformation(ItemStack stack, World worldIn, List tooltip, ITooltipFlag flagIn) { + info.addInformation(tooltip); + super.addInformation(stack, worldIn, tooltip, flagIn); + } + + @Override + public ActionResultType onItemUse(ItemUseContext context) { + if (hasType(HOE) && !context.isPlacerSneaking()) + return Items.WOODEN_HOE.onItemUse(context); + if (hasType(SHOVEL)) + return Items.WOODEN_SHOVEL.onItemUse(context); + return super.onItemUse(context); + } + + @Override + public boolean canHarvestBlock(ItemStack stack, BlockState state) { + return super.canHarvestBlock(stack, state) + || hasType(SWORD) && Items.WOODEN_SWORD.canHarvestBlock(stack, state); + } + + @Override + public boolean canPlayerBreakBlockWhileHolding(BlockState state, World worldIn, BlockPos pos, PlayerEntity player) { + return hasType(SWORD) && !player.isCreative(); + } + + @Override + public float getDestroySpeed(ItemStack stack, BlockState state) { + if (hasType(SWORD)) + return Items.WOODEN_SWORD.getDestroySpeed(stack, state); + return super.getDestroySpeed(stack, state); + } + + @SubscribeEvent + public static void onHarvestDrops(HarvestDropsEvent event) { + PlayerEntity harvester = event.getHarvester(); + if (harvester == null) + return; + + ItemStack tool = harvester.getHeldItemMainhand(); + if (tool.isEmpty() || !(tool.getItem() instanceof AbstractToolItem)) + return; + + if (event.getDrops() != null) + ((AbstractToolItem) tool.getItem()).modifyDrops(event.getDrops(), event.getWorld(), event.getPos(), tool, + event.getState()); + } + + public void modifyDrops(final List drops, IWorld world, BlockPos pos, ItemStack tool, BlockState state) { + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/item/AllToolTypes.java b/src/main/java/com/simibubi/create/foundation/item/AllToolTypes.java new file mode 100644 index 000000000..b5d1c83b3 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/item/AllToolTypes.java @@ -0,0 +1,7 @@ +package com.simibubi.create.foundation.item; + +public enum AllToolTypes { + + SWORD, SHOVEL, PICKAXE, AXE, HOE, SHEARS + +} diff --git a/src/main/java/com/simibubi/create/foundation/utility/ItemHelper.java b/src/main/java/com/simibubi/create/foundation/utility/ItemHelper.java new file mode 100644 index 000000000..79557ac17 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/utility/ItemHelper.java @@ -0,0 +1,23 @@ +package com.simibubi.create.foundation.utility; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.item.ItemStack; + +public class ItemHelper { + + public static List multipliedOutput(ItemStack in, ItemStack out) { + List stacks = new ArrayList<>(); + ItemStack result = out.copy(); + result.setCount(in.getCount() * out.getCount()); + + while (result.getCount() > result.getMaxStackSize()) { + stacks.add(result.split(result.getMaxStackSize())); + } + + stacks.add(result); + return stacks; + } + +} diff --git a/src/main/java/com/simibubi/create/modules/contraptions/generators/MotorBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/generators/MotorBlock.java index f7b84f4a5..268545e23 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/generators/MotorBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/generators/MotorBlock.java @@ -6,7 +6,7 @@ import com.simibubi.create.foundation.utility.ItemDescription; import com.simibubi.create.modules.contraptions.base.HorizontalKineticBlock; import net.minecraft.block.BlockState; -import net.minecraft.block.material.Material; +import net.minecraft.block.Blocks; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; @@ -27,7 +27,7 @@ public class MotorBlock extends HorizontalKineticBlock private static final Vec3d valuePos = new Vec3d(15 / 16f, 5 / 16f, 5 / 16f); public MotorBlock() { - super(Properties.create(Material.IRON)); + super(Properties.from(Blocks.IRON_BLOCK)); } @Override diff --git a/src/main/java/com/simibubi/create/modules/contraptions/generators/WaterWheelTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/generators/WaterWheelTileEntity.java index bad72d061..f6c2e152b 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/generators/WaterWheelTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/generators/WaterWheelTileEntity.java @@ -9,6 +9,7 @@ import com.simibubi.create.modules.contraptions.base.KineticTileEntity; import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.Direction; +import net.minecraft.util.math.AxisAlignedBB; public class WaterWheelTileEntity extends KineticTileEntity { @@ -31,6 +32,11 @@ public class WaterWheelTileEntity extends KineticTileEntity { setFlow(d, compound.getCompound("Flows").getInt(d.getName())); } } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return new AxisAlignedBB(pos).grow(1); + } @Override public CompoundNBT write(CompoundNBT compound) { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/receivers/CrushingWheelTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/receivers/CrushingWheelTileEntity.java index 07dfd7bbc..4f6da7e60 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/receivers/CrushingWheelTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/receivers/CrushingWheelTileEntity.java @@ -4,6 +4,7 @@ import com.simibubi.create.AllTileEntities; import com.simibubi.create.modules.contraptions.base.KineticTileEntity; import net.minecraft.util.Direction; +import net.minecraft.util.math.AxisAlignedBB; public class CrushingWheelTileEntity extends KineticTileEntity { @@ -18,5 +19,10 @@ public class CrushingWheelTileEntity extends KineticTileEntity { ((CrushingWheelBlock) getBlockState().getBlock()).updateControllers(getBlockState(), getWorld(), getPos(), d); } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return new AxisAlignedBB(pos).grow(1); + } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/receivers/TurntableBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/receivers/TurntableBlock.java index efd688432..418dd4701 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/receivers/TurntableBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/receivers/TurntableBlock.java @@ -7,7 +7,7 @@ import com.simibubi.create.modules.contraptions.base.KineticTileEntity; import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.block.material.Material; +import net.minecraft.block.Blocks; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; @@ -29,7 +29,7 @@ public class TurntableBlock extends KineticBlock { Block.makeCuboidShape(5.0D, 0.0D, 5.0D, 11.0D, 6.0D, 11.0D)); public TurntableBlock() { - super(Properties.create(Material.ROCK)); + super(Properties.from(Blocks.STRIPPED_SPRUCE_LOG)); } @Override diff --git a/src/main/java/com/simibubi/create/modules/contraptions/relays/ShaftTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/relays/ShaftTileEntity.java index 41c9bb78d..421a4c78e 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/relays/ShaftTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/relays/ShaftTileEntity.java @@ -3,10 +3,17 @@ package com.simibubi.create.modules.contraptions.relays; import com.simibubi.create.AllTileEntities; import com.simibubi.create.modules.contraptions.base.KineticTileEntity; +import net.minecraft.util.math.AxisAlignedBB; + public class ShaftTileEntity extends KineticTileEntity { public ShaftTileEntity() { super(AllTileEntities.SHAFT.type); } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return new AxisAlignedBB(pos).grow(1); + } } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/AllToolTiers.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/AllToolTiers.java new file mode 100644 index 000000000..34c7eb605 --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/AllToolTiers.java @@ -0,0 +1,67 @@ +package com.simibubi.create.modules.curiosities.tools; + +import java.util.function.Supplier; + +import com.simibubi.create.AllItems; + +import net.minecraft.item.IItemTier; +import net.minecraft.item.crafting.Ingredient; +import net.minecraft.util.LazyLoadBase; + +public enum AllToolTiers implements IItemTier { + + BLAZING(3, 750, 10.0F, 2.5F, 16, () -> { + return Ingredient.fromItems(AllItems.BLAZE_BRASS_CUBE.item); + }), + + ROSE_QUARTZ(3, 1644, 7.0F, 2.0F, 24, () -> { + return Ingredient.fromItems(AllItems.REFINED_ROSE_QUARTZ.item); + }), + + SHADOW_STEEL(4, 2303, 16.0F, 3.5F, 10, () -> { + return Ingredient.fromItems(AllItems.SHADOW_STEEL_CUBE.item); + }), + + ; + + private final int harvestLevel; + private final int maxUses; + private final float efficiency; + private final float attackDamage; + private final int enchantability; + private final LazyLoadBase repairMaterial; + + private AllToolTiers(int harvestLevelIn, int maxUsesIn, float efficiencyIn, float attackDamageIn, + int enchantabilityIn, Supplier repairMaterialIn) { + this.harvestLevel = harvestLevelIn; + this.maxUses = maxUsesIn; + this.efficiency = efficiencyIn; + this.attackDamage = attackDamageIn; + this.enchantability = enchantabilityIn; + this.repairMaterial = new LazyLoadBase<>(repairMaterialIn); + } + + public int getMaxUses() { + return this.maxUses; + } + + public float getEfficiency() { + return this.efficiency; + } + + public float getAttackDamage() { + return this.attackDamage; + } + + public int getHarvestLevel() { + return this.harvestLevel; + } + + public int getEnchantability() { + return this.enchantability; + } + + public Ingredient getRepairMaterial() { + return this.repairMaterial.getValue(); + } +} diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/BlazingToolItem.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/BlazingToolItem.java new file mode 100644 index 000000000..f152d9048 --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/BlazingToolItem.java @@ -0,0 +1,107 @@ +package com.simibubi.create.modules.curiosities.tools; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Optional; + +import com.simibubi.create.foundation.item.AbstractToolItem; +import com.simibubi.create.foundation.item.AllToolTypes; +import com.simibubi.create.foundation.utility.ItemDescription; +import com.simibubi.create.foundation.utility.ItemDescription.Palette; +import com.simibubi.create.foundation.utility.ItemHelper; +import com.simibubi.create.foundation.utility.VecHelper; + +import net.minecraft.block.BlockState; +import net.minecraft.entity.LivingEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipe; +import net.minecraft.item.crafting.IRecipeType; +import net.minecraft.item.crafting.RecipeManager; +import net.minecraft.particles.ParticleTypes; +import net.minecraft.tileentity.FurnaceTileEntity; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.SoundEvents; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.IWorld; +import net.minecraft.world.World; +import net.minecraft.world.dimension.DimensionType; + +public class BlazingToolItem extends AbstractToolItem { + + static FurnaceTileEntity helperFurnace = new FurnaceTileEntity(); + + public BlazingToolItem(float attackDamageIn, float attackSpeedIn, Properties builder, AllToolTypes... types) { + super(attackDamageIn, attackSpeedIn, AllToolTiers.BLAZING, builder, types); + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, BlockState state, BlockPos pos, + LivingEntity entityLiving) { + return shouldTakeDamage(worldIn, stack) ? super.onBlockDestroyed(stack, worldIn, state, pos, entityLiving) + : true; + } + + @Override + public int getBurnTime(ItemStack itemStack) { + return itemStack.getMaxDamage() - itemStack.getDamage() + 1; + } + + @Override + public boolean hitEntity(ItemStack stack, LivingEntity target, LivingEntity attacker) { + target.setFire(2); + return shouldTakeDamage(attacker.world, stack) ? super.hitEntity(stack, target, attacker) : true; + } + + protected boolean shouldTakeDamage(World world, ItemStack stack) { + return world.getDimension().getType() != DimensionType.THE_NETHER; + } + + @Override + public void modifyDrops(List drops, IWorld world, BlockPos pos, ItemStack tool, BlockState state) { + super.modifyDrops(drops, world, pos, tool, state); + World worldIn = world.getWorld(); + helperFurnace.setWorld(worldIn); + RecipeManager recipeManager = worldIn.getRecipeManager(); + + List smeltedStacks = new ArrayList<>(); + Iterator dropper = drops.iterator(); + while (dropper.hasNext()) { + ItemStack stack = dropper.next(); + helperFurnace.setInventorySlotContents(0, stack); + Optional smeltingRecipe = recipeManager.getRecipe(IRecipeType.SMELTING, helperFurnace, + worldIn); + if (!smeltingRecipe.isPresent()) + continue; + + dropper.remove(); + ItemStack out = smeltingRecipe.get().getRecipeOutput().copy(); + smeltedStacks.addAll(ItemHelper.multipliedOutput(stack, out)); + } + + if (world.isRemote() && !smeltedStacks.isEmpty()) { + for (int i = 0; i < 10; i++) { + Vec3d flamePos = VecHelper.offsetRandomly(VecHelper.getCenterOf(pos), world.getRandom(), .45f); + Vec3d smokePos = VecHelper.offsetRandomly(VecHelper.getCenterOf(pos), world.getRandom(), .45f); + world.addParticle(ParticleTypes.FLAME, flamePos.getX(), flamePos.getY(), flamePos.getZ(), 0, .1f, 0); + world.addParticle(ParticleTypes.SMOKE, smokePos.getX(), smokePos.getY(), smokePos.getZ(), 0, .1f, 0); + } + world.playSound(null, pos, SoundEvents.ENTITY_GENERIC_EXTINGUISH_FIRE, SoundCategory.BLOCKS, .5f, .1f); + } + + drops.addAll(smeltedStacks); + } + + @Override + public ItemDescription getDescription() { + Palette color = Palette.Purple; + return new ItemDescription(color).withSummary("A tool forged from fiery Blaze Brass.") + .withBehaviour("When in Nether", "Using the tool will not affect durability.") + .withBehaviour("Outside of Nether, When [Forge#5828] Fixed", + TextFormatting.STRIKETHROUGH + "Tool smelts drops of broken blocks") + .createTabs(); + } + +} diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/RoseQuartzToolItem.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/RoseQuartzToolItem.java new file mode 100644 index 000000000..444144788 --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/RoseQuartzToolItem.java @@ -0,0 +1,22 @@ +package com.simibubi.create.modules.curiosities.tools; + +import com.simibubi.create.foundation.item.AbstractToolItem; +import com.simibubi.create.foundation.item.AllToolTypes; +import com.simibubi.create.foundation.utility.ItemDescription; +import com.simibubi.create.foundation.utility.ItemDescription.Palette; + +public class RoseQuartzToolItem extends AbstractToolItem { + + public RoseQuartzToolItem(float attackDamageIn, float attackSpeedIn, Properties builder, AllToolTypes... types) { + super(attackDamageIn, attackSpeedIn, AllToolTiers.ROSE_QUARTZ, builder, types); + } + + @Override + public ItemDescription getDescription() { + Palette color = Palette.Purple; + return new ItemDescription(color).withSummary( + "A Tool of finest craftmansship with sturdy materials and detailed decoration. The extended handle allows, at a slight cost of speed, for a " + + h("greater reach distance", color) + "."); + } + +} diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/ShadowSteelToolItem.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/ShadowSteelToolItem.java new file mode 100644 index 000000000..7a7ba5f11 --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/ShadowSteelToolItem.java @@ -0,0 +1,38 @@ +package com.simibubi.create.modules.curiosities.tools; + +import java.util.List; + +import com.simibubi.create.foundation.item.AbstractToolItem; +import com.simibubi.create.foundation.item.AllToolTypes; +import com.simibubi.create.foundation.utility.ItemDescription; +import com.simibubi.create.foundation.utility.ItemDescription.Palette; + +import net.minecraft.block.BlockState; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.IWorld; + +public class ShadowSteelToolItem extends AbstractToolItem { + + public ShadowSteelToolItem(float attackDamageIn, float attackSpeedIn, Properties builder, + AllToolTypes... types) { + super(attackDamageIn, attackSpeedIn, AllToolTiers.SHADOW_STEEL, builder, types); + } + + @Override + public ItemDescription getDescription() { + Palette color = Palette.Purple; + return new ItemDescription(color) + .withSummary("The fast moving shadow material allows for quick riddance of blocks and entities.") + .withBehaviour("When [Forge#5828] Fixed", + TextFormatting.STRIKETHROUGH + "Broken blocks do not drop any items.") + .createTabs(); + } + + @Override + public void modifyDrops(List drops, IWorld world, BlockPos pos, ItemStack tool, BlockState state) { + drops.clear(); + } + +} diff --git a/src/main/java/com/simibubi/create/modules/logistics/InWorldProcessing.java b/src/main/java/com/simibubi/create/modules/logistics/InWorldProcessing.java index b7bd0a2a1..a52b53619 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/InWorldProcessing.java +++ b/src/main/java/com/simibubi/create/modules/logistics/InWorldProcessing.java @@ -1,7 +1,10 @@ package com.simibubi.create.modules.logistics; +import java.util.List; import java.util.Optional; +import com.simibubi.create.foundation.utility.ItemHelper; + import net.minecraft.entity.item.ItemEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -108,8 +111,12 @@ public class InWorldProcessing { public void applyRecipeOn(ItemEntity entity, IRecipe recipe) { ItemStack out = recipe.getRecipeOutput().copy(); - out.setCount(entity.getItem().getCount()); - entity.setItem(out); + List stacks = ItemHelper.multipliedOutput(entity.getItem(), out); + if (stacks.isEmpty()) + return; + entity.setItem(stacks.remove(0)); + for (ItemStack additional : stacks) + entity.world.addEntity(new ItemEntity(entity.world, entity.posX, entity.posY, entity.posZ, additional)); } } diff --git a/src/main/resources/assets/create/models/item/blazing_axe.json b/src/main/resources/assets/create/models/item/blazing_axe.json index e33314dd9..f2753b186 100644 --- a/src/main/resources/assets/create/models/item/blazing_axe.json +++ b/src/main/resources/assets/create/models/item/blazing_axe.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/blazing_axe" } diff --git a/src/main/resources/assets/create/models/item/blazing_pickaxe.json b/src/main/resources/assets/create/models/item/blazing_pickaxe.json index 7d9a2e5dd..d2f77a6f2 100644 --- a/src/main/resources/assets/create/models/item/blazing_pickaxe.json +++ b/src/main/resources/assets/create/models/item/blazing_pickaxe.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/blazing_pickaxe" } diff --git a/src/main/resources/assets/create/models/item/blazing_shovel.json b/src/main/resources/assets/create/models/item/blazing_shovel.json index 64201988a..74a0e7764 100644 --- a/src/main/resources/assets/create/models/item/blazing_shovel.json +++ b/src/main/resources/assets/create/models/item/blazing_shovel.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/blazing_shovel" } diff --git a/src/main/resources/assets/create/models/item/blazing_sword.json b/src/main/resources/assets/create/models/item/blazing_sword.json index d8e475088..a9f09f5bc 100644 --- a/src/main/resources/assets/create/models/item/blazing_sword.json +++ b/src/main/resources/assets/create/models/item/blazing_sword.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/blazing_sword" } diff --git a/src/main/resources/assets/create/models/item/rose_quartz_axe.json b/src/main/resources/assets/create/models/item/rose_quartz_axe.json index a57974c1f..82a26fba6 100644 --- a/src/main/resources/assets/create/models/item/rose_quartz_axe.json +++ b/src/main/resources/assets/create/models/item/rose_quartz_axe.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/rose_quartz_axe" } diff --git a/src/main/resources/assets/create/models/item/rose_quartz_pickaxe.json b/src/main/resources/assets/create/models/item/rose_quartz_pickaxe.json index b6bacd80e..d93c0dc1f 100644 --- a/src/main/resources/assets/create/models/item/rose_quartz_pickaxe.json +++ b/src/main/resources/assets/create/models/item/rose_quartz_pickaxe.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/rose_quartz_pickaxe" } diff --git a/src/main/resources/assets/create/models/item/rose_quartz_shovel.json b/src/main/resources/assets/create/models/item/rose_quartz_shovel.json index a553c8a07..cc04346f0 100644 --- a/src/main/resources/assets/create/models/item/rose_quartz_shovel.json +++ b/src/main/resources/assets/create/models/item/rose_quartz_shovel.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/rose_quartz_shovel" } diff --git a/src/main/resources/assets/create/models/item/rose_quartz_sword.json b/src/main/resources/assets/create/models/item/rose_quartz_sword.json index b630500ab..ef5739dd6 100644 --- a/src/main/resources/assets/create/models/item/rose_quartz_sword.json +++ b/src/main/resources/assets/create/models/item/rose_quartz_sword.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/rose_quartz_sword" } diff --git a/src/main/resources/assets/create/models/item/shadow_steel_mattock.json b/src/main/resources/assets/create/models/item/shadow_steel_mattock.json index 208f58b8c..ae9c61d63 100644 --- a/src/main/resources/assets/create/models/item/shadow_steel_mattock.json +++ b/src/main/resources/assets/create/models/item/shadow_steel_mattock.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/shadow_steel_mattock" } diff --git a/src/main/resources/assets/create/models/item/shadow_steel_pickaxe.json b/src/main/resources/assets/create/models/item/shadow_steel_pickaxe.json index e43a556d2..0deaa8d20 100644 --- a/src/main/resources/assets/create/models/item/shadow_steel_pickaxe.json +++ b/src/main/resources/assets/create/models/item/shadow_steel_pickaxe.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/shadow_steel_pickaxe" } diff --git a/src/main/resources/assets/create/models/item/shadow_steel_sword.json b/src/main/resources/assets/create/models/item/shadow_steel_sword.json index c30f569c8..d963d6302 100644 --- a/src/main/resources/assets/create/models/item/shadow_steel_sword.json +++ b/src/main/resources/assets/create/models/item/shadow_steel_sword.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "create:item/shadow_steel_sword" } diff --git a/src/main/resources/data/create/loot_tables/blocks/andesite_bricks.json b/src/main/resources/data/create/loot_tables/blocks/andesite_bricks.json new file mode 100644 index 000000000..4cc351487 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/andesite_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:andesite_bricks", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:andesite_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/belt.json b/src/main/resources/data/create/loot_tables/blocks/belt.json new file mode 100644 index 000000000..5ea424f73 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/belt.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:belt_connector" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/belt_funnel.json b/src/main/resources/data/create/loot_tables/blocks/belt_funnel.json new file mode 100644 index 000000000..2015decf2 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/belt_funnel.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:belt_funnel" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/clutch.json b/src/main/resources/data/create/loot_tables/blocks/clutch.json new file mode 100644 index 000000000..bc36ef4dd --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/clutch.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:clutch" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/cocoa_log.json b/src/main/resources/data/create/loot_tables/blocks/cocoa_log.json new file mode 100644 index 000000000..a4fabe35f --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/cocoa_log.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:cocoa_log" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/cogwheel.json b/src/main/resources/data/create/loot_tables/blocks/cogwheel.json new file mode 100644 index 000000000..00da9ff2a --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/cogwheel.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/contact.json b/src/main/resources/data/create/loot_tables/blocks/contact.json new file mode 100644 index 000000000..ad689eee1 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/contact.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:contact" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/crushing_wheel.json b/src/main/resources/data/create/loot_tables/blocks/crushing_wheel.json new file mode 100644 index 000000000..93171df60 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/crushing_wheel.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:crushing_wheel" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/diorite_bricks.json b/src/main/resources/data/create/loot_tables/blocks/diorite_bricks.json new file mode 100644 index 000000000..f302b41aa --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/diorite_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:diorite_bricks", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:diorite_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/dolomite.json b/src/main/resources/data/create/loot_tables/blocks/dolomite.json new file mode 100644 index 000000000..d97bb3322 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/dolomite.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:dolomite" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/dolomite_bricks.json b/src/main/resources/data/create/loot_tables/blocks/dolomite_bricks.json new file mode 100644 index 000000000..f9a96e243 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/dolomite_bricks.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:dolomite_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/dolomite_pillar.json b/src/main/resources/data/create/loot_tables/blocks/dolomite_pillar.json new file mode 100644 index 000000000..ca2a7995b --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/dolomite_pillar.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:dolomite_pillar" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/dolomite_slab.json b/src/main/resources/data/create/loot_tables/blocks/dolomite_slab.json new file mode 100644 index 000000000..f7eb5ebe8 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/dolomite_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:dolomite_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:dolomite_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/dolomite_stairs.json b/src/main/resources/data/create/loot_tables/blocks/dolomite_stairs.json new file mode 100644 index 000000000..ab0e86430 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/dolomite_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:dolomite_stairs", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:dolomite_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/dolomite_wall.json b/src/main/resources/data/create/loot_tables/blocks/dolomite_wall.json new file mode 100644 index 000000000..65de9a4a2 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/dolomite_wall.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:dolomite_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/drill.json b/src/main/resources/data/create/loot_tables/blocks/drill.json new file mode 100644 index 000000000..985b1c174 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/drill.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:drill" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/encased_belt.json b/src/main/resources/data/create/loot_tables/blocks/encased_belt.json new file mode 100644 index 000000000..26d0c6e14 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/encased_belt.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:encased_belt" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/encased_fan.json b/src/main/resources/data/create/loot_tables/blocks/encased_fan.json new file mode 100644 index 000000000..558f1f037 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/encased_fan.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:encased_fan" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/encased_shaft.json b/src/main/resources/data/create/loot_tables/blocks/encased_shaft.json new file mode 100644 index 000000000..46c9ae96a --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/encased_shaft.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:encased_shaft" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/entity_detector.json b/src/main/resources/data/create/loot_tables/blocks/entity_detector.json new file mode 100644 index 000000000..ba7d1826c --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/entity_detector.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:entity_detector" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/extractor.json b/src/main/resources/data/create/loot_tables/blocks/extractor.json new file mode 100644 index 000000000..3a44e834b --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/extractor.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:extractor" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/flexcrate.json b/src/main/resources/data/create/loot_tables/blocks/flexcrate.json new file mode 100644 index 000000000..5ec74ffcf --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/flexcrate.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:flexcrate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gabbro.json b/src/main/resources/data/create/loot_tables/blocks/gabbro.json new file mode 100644 index 000000000..84c505052 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gabbro.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:gabbro", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:gabbro" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks.json b/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks.json new file mode 100644 index 000000000..6397c5af9 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:gabbro_bricks", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:gabbro_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks_stairs.json b/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks_stairs.json new file mode 100644 index 000000000..66636c7f5 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:gabbro_bricks_stairs", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:gabbro_bricks_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks_wall.json b/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks_wall.json new file mode 100644 index 000000000..0da55fdd5 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gabbro_bricks_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:gabbro_bricks_wall", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:gabbro_bricks_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gabbro_slab.json b/src/main/resources/data/create/loot_tables/blocks/gabbro_slab.json new file mode 100644 index 000000000..2c797af99 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gabbro_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:gabbro_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:gabbro_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gabbro_stairs.json b/src/main/resources/data/create/loot_tables/blocks/gabbro_stairs.json new file mode 100644 index 000000000..137ae137b --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gabbro_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:gabbro_stairs", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:gabbro_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gabbro_wall.json b/src/main/resources/data/create/loot_tables/blocks/gabbro_wall.json new file mode 100644 index 000000000..6c3a64bce --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gabbro_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:gabbro_wall", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:gabbro_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gearbox.json b/src/main/resources/data/create/loot_tables/blocks/gearbox.json new file mode 100644 index 000000000..3884c372a --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gearbox.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:gearbox" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/gearshift.json b/src/main/resources/data/create/loot_tables/blocks/gearshift.json new file mode 100644 index 000000000..59f07a7aa --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/gearshift.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:gearshift" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/granite_bricks.json b/src/main/resources/data/create/loot_tables/blocks/granite_bricks.json new file mode 100644 index 000000000..a703d3efa --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/granite_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:granite_bricks", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:granite_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/harvester.json b/src/main/resources/data/create/loot_tables/blocks/harvester.json new file mode 100644 index 000000000..28cde5728 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/harvester.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:harvester" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/indented_gabbro.json b/src/main/resources/data/create/loot_tables/blocks/indented_gabbro.json new file mode 100644 index 000000000..81df6a655 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/indented_gabbro.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:indented_gabbro", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:indented_gabbro" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/indented_gabbro_slab.json b/src/main/resources/data/create/loot_tables/blocks/indented_gabbro_slab.json new file mode 100644 index 000000000..792e0ac72 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/indented_gabbro_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:indented_gabbro_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:indented_gabbro_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/large_cogwheel.json b/src/main/resources/data/create/loot_tables/blocks/large_cogwheel.json new file mode 100644 index 000000000..83d695ba1 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/large_cogwheel.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:large_cogwheel" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone.json b/src/main/resources/data/create/loot_tables/blocks/limestone.json new file mode 100644 index 000000000..85dd22ac4 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:limestone", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:limestone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone_bricks.json b/src/main/resources/data/create/loot_tables/blocks/limestone_bricks.json new file mode 100644 index 000000000..62bc8da2d --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:limestone_bricks", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:limestone_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_slab.json b/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_slab.json new file mode 100644 index 000000000..85a6b61d8 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:limestone_bricks_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:limestone_bricks_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_stairs.json b/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_stairs.json new file mode 100644 index 000000000..762b05bce --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:limestone_bricks_stairs", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:limestone_bricks_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_wall.json b/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_wall.json new file mode 100644 index 000000000..d16daf757 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone_bricks_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:limestone_bricks_wall", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:limestone_bricks_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone_pillar.json b/src/main/resources/data/create/loot_tables/blocks/limestone_pillar.json new file mode 100644 index 000000000..8aef58ff5 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone_pillar.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:limestone_pillar", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:limestone_pillar" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone_slab.json b/src/main/resources/data/create/loot_tables/blocks/limestone_slab.json new file mode 100644 index 000000000..b27dcecd0 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:limestone_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:limestone_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone_stairs.json b/src/main/resources/data/create/loot_tables/blocks/limestone_stairs.json new file mode 100644 index 000000000..5405dc8c1 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:limestone_stairs", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:limestone_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/limestone_wall.json b/src/main/resources/data/create/loot_tables/blocks/limestone_wall.json new file mode 100644 index 000000000..a7efe2a5c --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/limestone_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:limestone_wall", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:limestone_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/linked_extractor.json b/src/main/resources/data/create/loot_tables/blocks/linked_extractor.json new file mode 100644 index 000000000..3faa7e519 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/linked_extractor.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:linked_extractor" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/mechanical_bearing.json b/src/main/resources/data/create/loot_tables/blocks/mechanical_bearing.json new file mode 100644 index 000000000..3bd9ad7ae --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/mechanical_bearing.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:mechanical_bearing" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/mechanical_piston.json b/src/main/resources/data/create/loot_tables/blocks/mechanical_piston.json new file mode 100644 index 000000000..fb9bfa100 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/mechanical_piston.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:mechanical_piston" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/mossy_gabbro_bricks.json b/src/main/resources/data/create/loot_tables/blocks/mossy_gabbro_bricks.json new file mode 100644 index 000000000..c13389530 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/mossy_gabbro_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:mossy_gabbro_bricks", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:mossy_gabbro_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/motor.json b/src/main/resources/data/create/loot_tables/blocks/motor.json new file mode 100644 index 000000000..b5f519106 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/motor.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:motor" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/paved_gabbro_bricks.json b/src/main/resources/data/create/loot_tables/blocks/paved_gabbro_bricks.json new file mode 100644 index 000000000..b754eb726 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/paved_gabbro_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:paved_gabbro_bricks", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:paved_gabbro_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/paved_gabbro_bricks_slab.json b/src/main/resources/data/create/loot_tables/blocks/paved_gabbro_bricks_slab.json new file mode 100644 index 000000000..9e9b9f3ac --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/paved_gabbro_bricks_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:paved_gabbro_bricks_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:paved_gabbro_bricks_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/piston_pole.json b/src/main/resources/data/create/loot_tables/blocks/piston_pole.json new file mode 100644 index 000000000..aca93ffb0 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/piston_pole.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:piston_pole" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/polished_dolomite.json b/src/main/resources/data/create/loot_tables/blocks/polished_dolomite.json new file mode 100644 index 000000000..f53102b46 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/polished_dolomite.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:polished_dolomite" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/polished_gabbro.json b/src/main/resources/data/create/loot_tables/blocks/polished_gabbro.json new file mode 100644 index 000000000..374bc24a7 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/polished_gabbro.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:polished_gabbro", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:polished_gabbro" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/polished_limestone.json b/src/main/resources/data/create/loot_tables/blocks/polished_limestone.json new file mode 100644 index 000000000..4486c0192 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/polished_limestone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:polished_limestone", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:polished_limestone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/polished_limestone_slab.json b/src/main/resources/data/create/loot_tables/blocks/polished_limestone_slab.json new file mode 100644 index 000000000..ced385ee6 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/polished_limestone_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:polished_limestone_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:polished_limestone_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/polished_weathered_limestone.json b/src/main/resources/data/create/loot_tables/blocks/polished_weathered_limestone.json new file mode 100644 index 000000000..c9dbf5cb1 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/polished_weathered_limestone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:polished_weathered_limestone", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:polished_weathered_limestone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/polished_weathered_limestone_slab.json b/src/main/resources/data/create/loot_tables/blocks/polished_weathered_limestone_slab.json new file mode 100644 index 000000000..bb102c0eb --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/polished_weathered_limestone_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:polished_weathered_limestone_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:polished_weathered_limestone_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/pulse_repeater.json b/src/main/resources/data/create/loot_tables/blocks/pulse_repeater.json new file mode 100644 index 000000000..190da8581 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/pulse_repeater.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:pulse_repeater" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/redstone_bridge.json b/src/main/resources/data/create/loot_tables/blocks/redstone_bridge.json new file mode 100644 index 000000000..74b60e308 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/redstone_bridge.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:redstone_bridge" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/rotation_chassis.json b/src/main/resources/data/create/loot_tables/blocks/rotation_chassis.json new file mode 100644 index 000000000..fef56e10e --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/rotation_chassis.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:rotation_chassis" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/shaft.json b/src/main/resources/data/create/loot_tables/blocks/shaft.json new file mode 100644 index 000000000..84f976dfb --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/shaft.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/slightly_mossy_gabbro_bricks.json b/src/main/resources/data/create/loot_tables/blocks/slightly_mossy_gabbro_bricks.json new file mode 100644 index 000000000..a0d0308b9 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/slightly_mossy_gabbro_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:slightly_mossy_gabbro_bricks", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:slightly_mossy_gabbro_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/sticky_mechanical_piston.json b/src/main/resources/data/create/loot_tables/blocks/sticky_mechanical_piston.json new file mode 100644 index 000000000..e45b30313 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/sticky_mechanical_piston.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:sticky_mechanical_piston" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/stockswitch.json b/src/main/resources/data/create/loot_tables/blocks/stockswitch.json new file mode 100644 index 000000000..d0ac2042a --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/stockswitch.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:stockswitch" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/translation_chassis.json b/src/main/resources/data/create/loot_tables/blocks/translation_chassis.json new file mode 100644 index 000000000..ab5328d59 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/translation_chassis.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:translation_chassis" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/turntable.json b/src/main/resources/data/create/loot_tables/blocks/turntable.json new file mode 100644 index 000000000..49d21d9a6 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/turntable.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:turntable" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/water_wheel.json b/src/main/resources/data/create/loot_tables/blocks/water_wheel.json new file mode 100644 index 000000000..3002fb270 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/water_wheel.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:water_wheel" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone.json new file mode 100644 index 000000000..9a11fe4be --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:weathered_limestone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks.json new file mode 100644 index 000000000..4c24c5131 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:weathered_limestone_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_slab.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_slab.json new file mode 100644 index 000000000..425fca698 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:weathered_limestone_bricks_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:weathered_limestone_bricks_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_stairs.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_stairs.json new file mode 100644 index 000000000..10c7f286b --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:weathered_limestone_bricks_stairs", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:weathered_limestone_bricks_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_wall.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_wall.json new file mode 100644 index 000000000..e80d0da9c --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_bricks_wall.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:weathered_limestone_bricks_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_pillar.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_pillar.json new file mode 100644 index 000000000..051edf20c --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_pillar.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:weathered_limestone_pillar" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_slab.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_slab.json new file mode 100644 index 000000000..0b5dacc1e --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "create:weathered_limestone_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "create:weathered_limestone_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_stairs.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_stairs.json new file mode 100644 index 000000000..a12050240 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:weathered_limestone_stairs", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:weathered_limestone_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_wall.json b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_wall.json new file mode 100644 index 000000000..b5feffff6 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/weathered_limestone_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "create:weathered_limestone_wall", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:weathered_limestone_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file