diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockEntity.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockEntity.java index 6fa7092..a53d535 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockEntity.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockEntity.java @@ -1,5 +1,6 @@ package de.jottyfan.minecraft.quickiefabric.blockentity; +import de.jottyfan.minecraft.quickiefabric.blocks.QuickieBlocks; import net.minecraft.block.Blocks; import net.minecraft.block.entity.BlockEntity; import net.minecraft.util.Tickable; @@ -29,7 +30,7 @@ public class DrillBlockEntity extends BlockEntity implements Tickable { if (drillstep < 1) { drillstep = MAXDRILLSTEP; BlockPos down = pos.down(); - if (!world.getBlockState(down).isOf(Blocks.BEDROCK)) { + if (!world.getBlockState(down).isOf(Blocks.BEDROCK) && !world.getBlockState(down).isOf(QuickieBlocks.DRILLSTOP)) { world.breakBlock(down, true); } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillstop.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillstop.java new file mode 100644 index 0000000..49e9f34 --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillstop.java @@ -0,0 +1,30 @@ +package de.jottyfan.minecraft.quickiefabric.blocks; + +import java.util.ArrayList; +import java.util.List; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext.Builder; + +/** + * + * @author jotty + * + */ +public class BlockDrillstop extends Block { + + public BlockDrillstop() { + super(FabricBlockSettings.of(Material.STONE).hardness(2.5f)); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + List list = new ArrayList<>(); + list.add(new ItemStack(QuickieBlocks.DRILLSTOP)); + return list; + } +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java index 75f6ba5..c856216 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java @@ -20,4 +20,5 @@ public class QuickieBlocks { public static final BlockCottonplant COTTONPLANT = new BlockCottonplant(); public static final BlockSulphor BLOCKSULPHOR = new BlockSulphor(); public static final BlockDrill DRILL = new BlockDrill(); + public static final BlockDrillstop DRILLSTOP = new BlockDrillstop(); } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java index c670e5d..2651d35 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java @@ -141,6 +141,7 @@ public class RegistryManager { stacks.add(new ItemStack(QuickieBlocks.KELPSTACK)); stacks.add(new ItemStack(QuickieBlocks.BLOCKSULPHOR)); stacks.add(new ItemStack(QuickieBlocks.DRILL)); + stacks.add(new ItemStack(QuickieBlocks.DRILLSTOP)); }).build(); private static final void registerBlock(Block block, String name) { @@ -191,6 +192,7 @@ public class RegistryManager { registerBlock(QuickieBlocks.COTTONPLANT, "cottonplant"); registerBlock(QuickieBlocks.BLOCKSULPHOR, "blocksulphor"); registerBlock(QuickieBlocks.DRILL, "drill"); + registerBlock(QuickieBlocks.DRILLSTOP, "drillstop"); } public static final void registerItems() { diff --git a/src/main/resources/assets/quickiefabric/blockstates/drillstop.json b/src/main/resources/assets/quickiefabric/blockstates/drillstop.json new file mode 100644 index 0000000..b9e3922 --- /dev/null +++ b/src/main/resources/assets/quickiefabric/blockstates/drillstop.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiefabric:block/drillstop" + } + } +} diff --git a/src/main/resources/assets/quickiefabric/lang/de_de.json b/src/main/resources/assets/quickiefabric/lang/de_de.json index 26f64bc..c1d5512 100644 --- a/src/main/resources/assets/quickiefabric/lang/de_de.json +++ b/src/main/resources/assets/quickiefabric/lang/de_de.json @@ -53,6 +53,7 @@ "block.quickiefabric.cottonplant": "Baumwollpflanze", "block.quickiefabric.blocksulphor": "Schwefelblock", "block.quickiefabric.drill": "Bohrer", + "block.quickiefabric.drillstop": "Bohrerstopper", "container.quickiefabric.backpack": "Rucksack", "msg.buildingplan.start": "beginne Konstruktionsaufnahme bei %s,%s,%s", "msg.buildingplan.end": "beende Konstruktionsaufnahme bei %s,%s,%s", diff --git a/src/main/resources/assets/quickiefabric/lang/en_us.json b/src/main/resources/assets/quickiefabric/lang/en_us.json index 3b33018..bd77dcc 100644 --- a/src/main/resources/assets/quickiefabric/lang/en_us.json +++ b/src/main/resources/assets/quickiefabric/lang/en_us.json @@ -53,6 +53,7 @@ "block.quickiefabric.cottonplant": "cotton plant", "block.quickiefabric.blocksulphor": "block of sulfur", "block.quickiefabric.drill": "drill", + "block.quickiefabric.drillstop": "drill stopper", "container.quickiefabric.backpack": "backpack", "msg.buildingplan.start": "started recording of construction at %s,%s,%s", "msg.buildingplan.end": "finished recording of construction at %s,%s,%s", diff --git a/src/main/resources/assets/quickiefabric/models/block/drillstop.json b/src/main/resources/assets/quickiefabric/models/block/drillstop.json new file mode 100644 index 0000000..8f0680e --- /dev/null +++ b/src/main/resources/assets/quickiefabric/models/block/drillstop.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiefabric:block/drillstop" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiefabric/models/item/drillstop.json b/src/main/resources/assets/quickiefabric/models/item/drillstop.json new file mode 100644 index 0000000..2f0c675 --- /dev/null +++ b/src/main/resources/assets/quickiefabric/models/item/drillstop.json @@ -0,0 +1,10 @@ +{ + "parent": "quickiefabric:block/drillstop", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiefabric/textures/block/drillstop.png b/src/main/resources/assets/quickiefabric/textures/block/drillstop.png new file mode 100644 index 0000000..04779cd Binary files /dev/null and b/src/main/resources/assets/quickiefabric/textures/block/drillstop.png differ diff --git a/src/main/resources/data/quickiefabric/recipes/drillstop.json b/src/main/resources/data/quickiefabric/recipes/drillstop.json new file mode 100644 index 0000000..7e76a15 --- /dev/null +++ b/src/main/resources/data/quickiefabric/recipes/drillstop.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "sss", + "srs", + "sss" + ], + "key": { + "s": { + "item": "quickiefabric:speedpowder" + }, + "r": { + "item": "minecraft:obsidian" + } + }, + "result": { + "item": "quickiefabric:drillstop", + "count": 1 + } +} \ No newline at end of file