corrected drill block down entity

This commit is contained in:
Jörg Henke 2021-07-31 22:42:31 +02:00
parent fdc304eb28
commit 4a6bdaba24
11 changed files with 153 additions and 39 deletions

View File

@ -41,12 +41,15 @@ public class DrillBlockDownEntity extends BlockEntity {
}
}
public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) {
if (be.getDrillstep() < 1) {
be.setDrillstep(MAXDRILLSTEP);
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 {
be.doDrillstep();
dbde.doDrillstep();
}
}
}

View File

@ -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);
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;
}
}

View File

@ -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);
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;
}
}

View File

@ -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);
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;
}
}

View File

@ -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);
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;
}
}

View File

@ -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 <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state,
BlockEntityType<T> 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 <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, BlockEntityType<T> type){
return (world1, pos, state1, be) -> DrillBlockDownEntity.tick(world1, pos, state1, be);
}
}

View File

@ -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 <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, BlockEntityType<T> type){
return (world1, pos, state1, be) -> DrillBlockEastEntity.tick(world1, pos, state1, be);
}
}

View File

@ -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 <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, BlockEntityType<T> type){
return (world1, pos, state1, be) -> DrillBlockNorthEntity.tick(world1, pos, state1, be);
}
}

View File

@ -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 <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, BlockEntityType<T> type){
return (world1, pos, state1, be) -> DrillBlockSouthEntity.tick(world1, pos, state1, be);
}
}

View File

@ -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 <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, BlockEntityType<T> type){
return (world1, pos, state1, be) -> DrillBlockWestEntity.tick(world1, pos, state1, be);
}
}

View File

@ -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<EmptyLavaHoarderBlockEntity>) registerBlockEntity(
"emptylavahoarderblockentity", EmptyLavaHoarderBlockEntity::new, QuickieBlocks.EMPTYLAVAHOARDER,
QuickieBlocks.LAVAHOARDER);
// QuickieFabricBlockEntity.DRILL_DOWN = (BlockEntityType<DrillBlockDownEntity>) registerBlockEntity("drillblockdownentity",
// DrillBlockDownEntity::new, QuickieBlocks.DRILL_DOWN);
// QuickieFabricBlockEntity.DRILL_EAST = (BlockEntityType<DrillBlockEastEntity>) registerBlockEntity("drillblockeastentity",
// DrillBlockEastEntity::new, QuickieBlocks.DRILL_EAST);
// QuickieFabricBlockEntity.DRILL_SOUTH = (BlockEntityType<DrillBlockSouthEntity>) registerBlockEntity("drillblocksouthentity",
// DrillBlockSouthEntity::new, QuickieBlocks.DRILL_SOUTH);
// QuickieFabricBlockEntity.DRILL_WEST = (BlockEntityType<DrillBlockWestEntity>) registerBlockEntity("drillblockwestentity",
// DrillBlockWestEntity::new, QuickieBlocks.DRILL_WEST);
// QuickieFabricBlockEntity.DRILL_NORTH = (BlockEntityType<DrillBlockNorthEntity>) registerBlockEntity("drillblocknorthentity",
// DrillBlockNorthEntity::new, QuickieBlocks.DRILL_NORTH);
QuickieFabricBlockEntity.DRILL_DOWN = (BlockEntityType<DrillBlockDownEntity>) registerBlockEntity("drillblockdownentity",
DrillBlockDownEntity::new, QuickieBlocks.DRILL_DOWN);
QuickieFabricBlockEntity.DRILL_EAST = (BlockEntityType<DrillBlockEastEntity>) registerBlockEntity("drillblockeastentity",
DrillBlockEastEntity::new, QuickieBlocks.DRILL_EAST);
QuickieFabricBlockEntity.DRILL_SOUTH = (BlockEntityType<DrillBlockSouthEntity>) registerBlockEntity("drillblocksouthentity",
DrillBlockSouthEntity::new, QuickieBlocks.DRILL_SOUTH);
QuickieFabricBlockEntity.DRILL_WEST = (BlockEntityType<DrillBlockWestEntity>) registerBlockEntity("drillblockwestentity",
DrillBlockWestEntity::new, QuickieBlocks.DRILL_WEST);
QuickieFabricBlockEntity.DRILL_NORTH = (BlockEntityType<DrillBlockNorthEntity>) registerBlockEntity("drillblocknorthentity",
DrillBlockNorthEntity::new, QuickieBlocks.DRILL_NORTH);
}
public static final void registerBlocks() {