diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockDownEntity.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockDownEntity.java index 072e1f9..5ea5b1b 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockDownEntity.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockDownEntity.java @@ -41,15 +41,18 @@ public class DrillBlockDownEntity extends BlockEntity { } } - public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { - if (be.getDrillstep() < 1) { - be.setDrillstep(MAXDRILLSTEP); - drill(pos, pos.down(), world); - } else { - be.doDrillstep(); + public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) { + if (be instanceof DrillBlockDownEntity) { + DrillBlockDownEntity dbde = (DrillBlockDownEntity) be; + if (dbde.getDrillstep() < 1) { + dbde.setDrillstep(MAXDRILLSTEP); + drill(pos, pos.down(), world); + } else { + dbde.doDrillstep(); + } } } - + public void doDrillstep() { setDrillstep(getDrillstep() - 1); } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockEastEntity.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockEastEntity.java index b4e16ca..14a8e28 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockEastEntity.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockEastEntity.java @@ -12,15 +12,27 @@ import net.minecraft.world.World; */ public class DrillBlockEastEntity extends BlockEntity { private static final Integer MAXDRILLSTEP = 24; + private Integer drillstep; public DrillBlockEastEntity(BlockPos pos, BlockState state) { super(QuickieFabricBlockEntity.DRILL_EAST, pos, state); } - public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { - if (be.getDrillstep() < 1) { - be.setDrillstep(MAXDRILLSTEP); - DrillBlockDownEntity.drill(pos, pos.east().down(), world); + public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) { + if (be instanceof DrillBlockEastEntity) { + DrillBlockEastEntity dbwe = (DrillBlockEastEntity) be; + if (dbwe.getDrillstep() < 1) { + dbwe.setDrillstep(MAXDRILLSTEP); + DrillBlockDownEntity.drill(pos, pos.east().down(), world); + } } } + + public Integer getDrillstep() { + return drillstep == null ? MAXDRILLSTEP : drillstep; + } + + public void setDrillstep(Integer drillstep) { + this.drillstep = drillstep; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockNorthEntity.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockNorthEntity.java index 76c7b52..52b68ce 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockNorthEntity.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockNorthEntity.java @@ -12,15 +12,27 @@ import net.minecraft.world.World; */ public class DrillBlockNorthEntity extends BlockEntity { private static final Integer MAXDRILLSTEP = 24; + private Integer drillstep; public DrillBlockNorthEntity(BlockPos pos, BlockState state) { super(QuickieFabricBlockEntity.DRILL_NORTH, pos, state); } - public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { - if (be.getDrillstep() < 1) { - be.setDrillstep(MAXDRILLSTEP); - DrillBlockDownEntity.drill(pos, pos.north().down(), world); + public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) { + if (be instanceof DrillBlockNorthEntity) { + DrillBlockNorthEntity dbwe = (DrillBlockNorthEntity) be; + if (dbwe.getDrillstep() < 1) { + dbwe.setDrillstep(MAXDRILLSTEP); + DrillBlockDownEntity.drill(pos, pos.north().down(), world); + } } } + + public Integer getDrillstep() { + return drillstep == null ? MAXDRILLSTEP : drillstep; + } + + public void setDrillstep(Integer drillstep) { + this.drillstep = drillstep; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockSouthEntity.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockSouthEntity.java index e4d66c4..57c1ac3 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockSouthEntity.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockSouthEntity.java @@ -12,15 +12,27 @@ import net.minecraft.world.World; */ public class DrillBlockSouthEntity extends BlockEntity { private static final Integer MAXDRILLSTEP = 24; + private Integer drillstep; public DrillBlockSouthEntity(BlockPos pos, BlockState state) { super(QuickieFabricBlockEntity.DRILL_SOUTH, pos, state); } - public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { - if (be.getDrillstep() < 1) { - be.setDrillstep(MAXDRILLSTEP); - DrillBlockDownEntity.drill(pos, pos.south().down(), world); + public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) { + if (be instanceof DrillBlockSouthEntity) { + DrillBlockSouthEntity dbwe = (DrillBlockSouthEntity) be; + if (dbwe.getDrillstep() < 1) { + dbwe.setDrillstep(MAXDRILLSTEP); + DrillBlockDownEntity.drill(pos, pos.south().down(), world); + } } } + + public Integer getDrillstep() { + return drillstep == null ? MAXDRILLSTEP : drillstep; + } + + public void setDrillstep(Integer drillstep) { + this.drillstep = drillstep; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockWestEntity.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockWestEntity.java index 85200ae..9593f3a 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockWestEntity.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/DrillBlockWestEntity.java @@ -13,15 +13,27 @@ import net.minecraft.world.World; public class DrillBlockWestEntity extends BlockEntity { private static final Integer MAXDRILLSTEP = 24; + private Integer drillstep; public DrillBlockWestEntity(BlockPos pos, BlockState state) { super(QuickieFabricBlockEntity.DRILL_WEST, pos, state); } - public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { - if (be.getDrillstep() < 1) { - be.setDrillstep(MAXDRILLSTEP); - DrillBlockDownEntity.drill(pos, pos.west().down(), world); + public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) { + if (be instanceof DrillBlockWestEntity) { + DrillBlockWestEntity dbwe = (DrillBlockWestEntity) be; + if (dbwe.getDrillstep() < 1) { + dbwe.setDrillstep(MAXDRILLSTEP); + DrillBlockDownEntity.drill(pos, pos.west().down(), world); + } } } + + public Integer getDrillstep() { + return drillstep == null ? MAXDRILLSTEP : drillstep; + } + + public void setDrillstep(Integer drillstep) { + this.drillstep = drillstep; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillDown.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillDown.java index aa02acc..e8bb736 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillDown.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillDown.java @@ -5,8 +5,8 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockDownEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import net.minecraft.block.Block; import net.minecraft.block.BlockEntityProvider; +import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.block.FallingBlock; import net.minecraft.block.Material; @@ -41,10 +41,12 @@ public class BlockDrillDown extends FallingBlock implements BlockEntityProvider } @Override - public BlockEntityTicker getTicker(World world, BlockState state, - BlockEntityType type) { - return null; - // return DrillBlockDownEntity::tick; - // see https://fabricmc.net/wiki/tutorial:blockentity for tutorial, but seems not to work + public BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.MODEL; + } + + @Override + public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ + return (world1, pos, state1, be) -> DrillBlockDownEntity.tick(world1, pos, state1, be); } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillEast.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillEast.java index 6f9a508..c457670 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillEast.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillEast.java @@ -6,13 +6,17 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockEastEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; +import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.block.FallingBlock; import net.minecraft.block.Material; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityTicker; +import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; /** * @@ -36,4 +40,14 @@ public class BlockDrillEast extends FallingBlock implements BlockEntityProvider list.add(new ItemStack(QuickieBlocks.DRILL_EAST)); return list; } + + @Override + public BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.MODEL; + } + + @Override + public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ + return (world1, pos, state1, be) -> DrillBlockEastEntity.tick(world1, pos, state1, be); + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillNorth.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillNorth.java index be77d57..98b4946 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillNorth.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillNorth.java @@ -6,13 +6,17 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockNorthEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; +import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.block.FallingBlock; import net.minecraft.block.Material; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityTicker; +import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; /** * @@ -36,4 +40,14 @@ public class BlockDrillNorth extends FallingBlock implements BlockEntityProvider list.add(new ItemStack(QuickieBlocks.DRILL_NORTH)); return list; } + + @Override + public BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.MODEL; + } + + @Override + public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ + return (world1, pos, state1, be) -> DrillBlockNorthEntity.tick(world1, pos, state1, be); + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillSouth.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillSouth.java index 00882f9..48f32a3 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillSouth.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillSouth.java @@ -6,13 +6,17 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockSouthEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; +import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.block.FallingBlock; import net.minecraft.block.Material; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityTicker; +import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; /** * @@ -36,4 +40,14 @@ public class BlockDrillSouth extends FallingBlock implements BlockEntityProvider list.add(new ItemStack(QuickieBlocks.DRILL_SOUTH)); return list; } + + @Override + public BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.MODEL; + } + + @Override + public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ + return (world1, pos, state1, be) -> DrillBlockSouthEntity.tick(world1, pos, state1, be); + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillWest.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillWest.java index 5999da3..36a873d 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillWest.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillWest.java @@ -6,13 +6,17 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockWestEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; +import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.block.FallingBlock; import net.minecraft.block.Material; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityTicker; +import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; /** * @@ -36,4 +40,14 @@ public class BlockDrillWest extends FallingBlock implements BlockEntityProvider list.add(new ItemStack(QuickieBlocks.DRILL_WEST)); return list; } + + @Override + public BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.MODEL; + } + + @Override + public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ + return (world1, pos, state1, be) -> DrillBlockWestEntity.tick(world1, pos, state1, be); + } } 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 5c82c1e..4366f3e 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java @@ -6,6 +6,11 @@ import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockDownEntity; +import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockEastEntity; +import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockNorthEntity; +import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockSouthEntity; +import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockWestEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.EmptyLavaHoarderBlockEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.ItemHoarderBlockEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.MonsterHoarderBlockEntity; @@ -176,16 +181,16 @@ public class RegistryManager { QuickieFabricBlockEntity.EMPTYLAVAHOARDER = (BlockEntityType) registerBlockEntity( "emptylavahoarderblockentity", EmptyLavaHoarderBlockEntity::new, QuickieBlocks.EMPTYLAVAHOARDER, QuickieBlocks.LAVAHOARDER); -// QuickieFabricBlockEntity.DRILL_DOWN = (BlockEntityType) registerBlockEntity("drillblockdownentity", -// DrillBlockDownEntity::new, QuickieBlocks.DRILL_DOWN); -// QuickieFabricBlockEntity.DRILL_EAST = (BlockEntityType) registerBlockEntity("drillblockeastentity", -// DrillBlockEastEntity::new, QuickieBlocks.DRILL_EAST); -// QuickieFabricBlockEntity.DRILL_SOUTH = (BlockEntityType) registerBlockEntity("drillblocksouthentity", -// DrillBlockSouthEntity::new, QuickieBlocks.DRILL_SOUTH); -// QuickieFabricBlockEntity.DRILL_WEST = (BlockEntityType) registerBlockEntity("drillblockwestentity", -// DrillBlockWestEntity::new, QuickieBlocks.DRILL_WEST); -// QuickieFabricBlockEntity.DRILL_NORTH = (BlockEntityType) registerBlockEntity("drillblocknorthentity", -// DrillBlockNorthEntity::new, QuickieBlocks.DRILL_NORTH); + QuickieFabricBlockEntity.DRILL_DOWN = (BlockEntityType) registerBlockEntity("drillblockdownentity", + DrillBlockDownEntity::new, QuickieBlocks.DRILL_DOWN); + QuickieFabricBlockEntity.DRILL_EAST = (BlockEntityType) registerBlockEntity("drillblockeastentity", + DrillBlockEastEntity::new, QuickieBlocks.DRILL_EAST); + QuickieFabricBlockEntity.DRILL_SOUTH = (BlockEntityType) registerBlockEntity("drillblocksouthentity", + DrillBlockSouthEntity::new, QuickieBlocks.DRILL_SOUTH); + QuickieFabricBlockEntity.DRILL_WEST = (BlockEntityType) registerBlockEntity("drillblockwestentity", + DrillBlockWestEntity::new, QuickieBlocks.DRILL_WEST); + QuickieFabricBlockEntity.DRILL_NORTH = (BlockEntityType) registerBlockEntity("drillblocknorthentity", + DrillBlockNorthEntity::new, QuickieBlocks.DRILL_NORTH); } public static final void registerBlocks() {