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) { public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) {
if (be.getDrillstep() < 1) { if (be instanceof DrillBlockDownEntity) {
be.setDrillstep(MAXDRILLSTEP); DrillBlockDownEntity dbde = (DrillBlockDownEntity) be;
if (dbde.getDrillstep() < 1) {
dbde.setDrillstep(MAXDRILLSTEP);
drill(pos, pos.down(), world); drill(pos, pos.down(), world);
} else { } else {
be.doDrillstep(); dbde.doDrillstep();
}
} }
} }

View File

@ -12,15 +12,27 @@ import net.minecraft.world.World;
*/ */
public class DrillBlockEastEntity extends BlockEntity { public class DrillBlockEastEntity extends BlockEntity {
private static final Integer MAXDRILLSTEP = 24; private static final Integer MAXDRILLSTEP = 24;
private Integer drillstep;
public DrillBlockEastEntity(BlockPos pos, BlockState state) { public DrillBlockEastEntity(BlockPos pos, BlockState state) {
super(QuickieFabricBlockEntity.DRILL_EAST, pos, state); super(QuickieFabricBlockEntity.DRILL_EAST, pos, state);
} }
public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) {
if (be.getDrillstep() < 1) { if (be instanceof DrillBlockEastEntity) {
be.setDrillstep(MAXDRILLSTEP); DrillBlockEastEntity dbwe = (DrillBlockEastEntity) be;
if (dbwe.getDrillstep() < 1) {
dbwe.setDrillstep(MAXDRILLSTEP);
DrillBlockDownEntity.drill(pos, pos.east().down(), world); 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 { public class DrillBlockNorthEntity extends BlockEntity {
private static final Integer MAXDRILLSTEP = 24; private static final Integer MAXDRILLSTEP = 24;
private Integer drillstep;
public DrillBlockNorthEntity(BlockPos pos, BlockState state) { public DrillBlockNorthEntity(BlockPos pos, BlockState state) {
super(QuickieFabricBlockEntity.DRILL_NORTH, pos, state); super(QuickieFabricBlockEntity.DRILL_NORTH, pos, state);
} }
public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) {
if (be.getDrillstep() < 1) { if (be instanceof DrillBlockNorthEntity) {
be.setDrillstep(MAXDRILLSTEP); DrillBlockNorthEntity dbwe = (DrillBlockNorthEntity) be;
if (dbwe.getDrillstep() < 1) {
dbwe.setDrillstep(MAXDRILLSTEP);
DrillBlockDownEntity.drill(pos, pos.north().down(), world); 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 { public class DrillBlockSouthEntity extends BlockEntity {
private static final Integer MAXDRILLSTEP = 24; private static final Integer MAXDRILLSTEP = 24;
private Integer drillstep;
public DrillBlockSouthEntity(BlockPos pos, BlockState state) { public DrillBlockSouthEntity(BlockPos pos, BlockState state) {
super(QuickieFabricBlockEntity.DRILL_SOUTH, pos, state); super(QuickieFabricBlockEntity.DRILL_SOUTH, pos, state);
} }
public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) {
if (be.getDrillstep() < 1) { if (be instanceof DrillBlockSouthEntity) {
be.setDrillstep(MAXDRILLSTEP); DrillBlockSouthEntity dbwe = (DrillBlockSouthEntity) be;
if (dbwe.getDrillstep() < 1) {
dbwe.setDrillstep(MAXDRILLSTEP);
DrillBlockDownEntity.drill(pos, pos.south().down(), world); 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 { public class DrillBlockWestEntity extends BlockEntity {
private static final Integer MAXDRILLSTEP = 24; private static final Integer MAXDRILLSTEP = 24;
private Integer drillstep;
public DrillBlockWestEntity(BlockPos pos, BlockState state) { public DrillBlockWestEntity(BlockPos pos, BlockState state) {
super(QuickieFabricBlockEntity.DRILL_WEST, pos, state); super(QuickieFabricBlockEntity.DRILL_WEST, pos, state);
} }
public static void tick(World world, BlockPos pos, BlockState state, DrillBlockDownEntity be) { public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) {
if (be.getDrillstep() < 1) { if (be instanceof DrillBlockWestEntity) {
be.setDrillstep(MAXDRILLSTEP); DrillBlockWestEntity dbwe = (DrillBlockWestEntity) be;
if (dbwe.getDrillstep() < 1) {
dbwe.setDrillstep(MAXDRILLSTEP);
DrillBlockDownEntity.drill(pos, pos.west().down(), world); 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 de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockDownEntity;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Block;
import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.FallingBlock; import net.minecraft.block.FallingBlock;
import net.minecraft.block.Material; import net.minecraft.block.Material;
@ -41,10 +41,12 @@ public class BlockDrillDown extends FallingBlock implements BlockEntityProvider
} }
@Override @Override
public <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, public BlockRenderType getRenderType(BlockState state) {
BlockEntityType<T> type) { return BlockRenderType.MODEL;
return null; }
// return DrillBlockDownEntity::tick;
// see https://fabricmc.net/wiki/tutorial:blockentity for tutorial, but seems not to work @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 de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockEastEntity;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.FallingBlock; import net.minecraft.block.FallingBlock;
import net.minecraft.block.Material; import net.minecraft.block.Material;
import net.minecraft.block.entity.BlockEntity; 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.item.ItemStack;
import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.loot.context.LootContext.Builder;
import net.minecraft.util.math.BlockPos; 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)); list.add(new ItemStack(QuickieBlocks.DRILL_EAST));
return list; 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 de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockNorthEntity;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.FallingBlock; import net.minecraft.block.FallingBlock;
import net.minecraft.block.Material; import net.minecraft.block.Material;
import net.minecraft.block.entity.BlockEntity; 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.item.ItemStack;
import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.loot.context.LootContext.Builder;
import net.minecraft.util.math.BlockPos; 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)); list.add(new ItemStack(QuickieBlocks.DRILL_NORTH));
return list; 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 de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockSouthEntity;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.FallingBlock; import net.minecraft.block.FallingBlock;
import net.minecraft.block.Material; import net.minecraft.block.Material;
import net.minecraft.block.entity.BlockEntity; 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.item.ItemStack;
import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.loot.context.LootContext.Builder;
import net.minecraft.util.math.BlockPos; 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)); list.add(new ItemStack(QuickieBlocks.DRILL_SOUTH));
return list; 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 de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockWestEntity;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.FallingBlock; import net.minecraft.block.FallingBlock;
import net.minecraft.block.Material; import net.minecraft.block.Material;
import net.minecraft.block.entity.BlockEntity; 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.item.ItemStack;
import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.loot.context.LootContext.Builder;
import net.minecraft.util.math.BlockPos; 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)); list.add(new ItemStack(QuickieBlocks.DRILL_WEST));
return list; 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.LogManager;
import org.apache.logging.log4j.Logger; 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.EmptyLavaHoarderBlockEntity;
import de.jottyfan.minecraft.quickiefabric.blockentity.ItemHoarderBlockEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.ItemHoarderBlockEntity;
import de.jottyfan.minecraft.quickiefabric.blockentity.MonsterHoarderBlockEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.MonsterHoarderBlockEntity;
@ -176,16 +181,16 @@ public class RegistryManager {
QuickieFabricBlockEntity.EMPTYLAVAHOARDER = (BlockEntityType<EmptyLavaHoarderBlockEntity>) registerBlockEntity( QuickieFabricBlockEntity.EMPTYLAVAHOARDER = (BlockEntityType<EmptyLavaHoarderBlockEntity>) registerBlockEntity(
"emptylavahoarderblockentity", EmptyLavaHoarderBlockEntity::new, QuickieBlocks.EMPTYLAVAHOARDER, "emptylavahoarderblockentity", EmptyLavaHoarderBlockEntity::new, QuickieBlocks.EMPTYLAVAHOARDER,
QuickieBlocks.LAVAHOARDER); QuickieBlocks.LAVAHOARDER);
// QuickieFabricBlockEntity.DRILL_DOWN = (BlockEntityType<DrillBlockDownEntity>) registerBlockEntity("drillblockdownentity", QuickieFabricBlockEntity.DRILL_DOWN = (BlockEntityType<DrillBlockDownEntity>) registerBlockEntity("drillblockdownentity",
// DrillBlockDownEntity::new, QuickieBlocks.DRILL_DOWN); DrillBlockDownEntity::new, QuickieBlocks.DRILL_DOWN);
// QuickieFabricBlockEntity.DRILL_EAST = (BlockEntityType<DrillBlockEastEntity>) registerBlockEntity("drillblockeastentity", QuickieFabricBlockEntity.DRILL_EAST = (BlockEntityType<DrillBlockEastEntity>) registerBlockEntity("drillblockeastentity",
// DrillBlockEastEntity::new, QuickieBlocks.DRILL_EAST); DrillBlockEastEntity::new, QuickieBlocks.DRILL_EAST);
// QuickieFabricBlockEntity.DRILL_SOUTH = (BlockEntityType<DrillBlockSouthEntity>) registerBlockEntity("drillblocksouthentity", QuickieFabricBlockEntity.DRILL_SOUTH = (BlockEntityType<DrillBlockSouthEntity>) registerBlockEntity("drillblocksouthentity",
// DrillBlockSouthEntity::new, QuickieBlocks.DRILL_SOUTH); DrillBlockSouthEntity::new, QuickieBlocks.DRILL_SOUTH);
// QuickieFabricBlockEntity.DRILL_WEST = (BlockEntityType<DrillBlockWestEntity>) registerBlockEntity("drillblockwestentity", QuickieFabricBlockEntity.DRILL_WEST = (BlockEntityType<DrillBlockWestEntity>) registerBlockEntity("drillblockwestentity",
// DrillBlockWestEntity::new, QuickieBlocks.DRILL_WEST); DrillBlockWestEntity::new, QuickieBlocks.DRILL_WEST);
// QuickieFabricBlockEntity.DRILL_NORTH = (BlockEntityType<DrillBlockNorthEntity>) registerBlockEntity("drillblocknorthentity", QuickieFabricBlockEntity.DRILL_NORTH = (BlockEntityType<DrillBlockNorthEntity>) registerBlockEntity("drillblocknorthentity",
// DrillBlockNorthEntity::new, QuickieBlocks.DRILL_NORTH); DrillBlockNorthEntity::new, QuickieBlocks.DRILL_NORTH);
} }
public static final void registerBlocks() { public static final void registerBlocks() {