some steps forward

This commit is contained in:
Jörg Henke 2021-07-23 10:20:10 +02:00
parent da4404e8d0
commit 292c0746c1
2 changed files with 30 additions and 11 deletions

View File

@ -7,9 +7,12 @@ import de.jottyfan.minecraft.quickiefabric.blockentity.MonsterHoarderBlockEntity
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.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.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.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.loot.context.LootContext.Builder; import net.minecraft.loot.context.LootContext.Builder;
@ -28,12 +31,22 @@ public class BlockMonsterhoarder extends Block implements BlockEntityProvider {
public BlockMonsterhoarder() { public BlockMonsterhoarder() {
super(FabricBlockSettings.of(Material.WOOD).hardness(2.5f).luminance(20)); super(FabricBlockSettings.of(Material.WOOD).hardness(2.5f).luminance(20));
} }
@Override @Override
public BlockEntity createBlockEntity(BlockPos pos, BlockState blockState) { public BlockEntity createBlockEntity(BlockPos pos, BlockState blockState) {
return new MonsterHoarderBlockEntity(pos, blockState); return new MonsterHoarderBlockEntity(pos, blockState);
} }
@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 checkType(type, QuickieBlocks.MONSTERHOARDER, (world1, pos, state1, be) -> MonsterHoarderBlockEntity.tick(world1, pos, state1, be));
}
@Override @Override
public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) { public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) {
List<ItemStack> list = new ArrayList<>(); List<ItemStack> list = new ArrayList<>();

View File

@ -6,6 +6,8 @@ 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.MonsterHoarderBlockEntity;
import de.jottyfan.minecraft.quickiefabric.blockentity.QuickieFabricBlockEntity;
import de.jottyfan.minecraft.quickiefabric.blocks.QuickieBlocks; import de.jottyfan.minecraft.quickiefabric.blocks.QuickieBlocks;
import de.jottyfan.minecraft.quickiefabric.container.BackpackScreenHandler; import de.jottyfan.minecraft.quickiefabric.container.BackpackScreenHandler;
import de.jottyfan.minecraft.quickiefabric.event.BreakBlockCallback; import de.jottyfan.minecraft.quickiefabric.event.BreakBlockCallback;
@ -15,11 +17,15 @@ import de.jottyfan.minecraft.quickiefabric.tools.QuickieTools;
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder; import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder;
import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback; import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
import net.fabricmc.fabric.api.registry.FuelRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry;
import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry; import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.ComposterBlock; import net.minecraft.block.ComposterBlock;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.block.entity.BlockEntityType.Builder;
import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemGroup;
@ -151,21 +157,21 @@ public class RegistryManager {
Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, name), item); Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, name), item);
} }
// public static final <T extends BlockEntity> BlockEntityType<? extends T> registerBlockEntity(String name, public static final <T extends BlockEntity> BlockEntityType<? extends T> registerBlockEntity(String name,
// BlockEntityType<? extends T> supplier, Block... blocks) { FabricBlockEntityTypeBuilder.Factory<? extends T> supplier, Block... blocks) {
// String fullname = new StringBuilder().append(QUICKIEFABRIC).append(":").append(name).toString(); String fullname = new StringBuilder().append(QUICKIEFABRIC).append(":").append(name).toString();
// Builder<? extends T> builder = BlockEntityType.Builder.create(supplier, blocks); Builder<? extends T> builder = FabricBlockEntityTypeBuilder.create(supplier, blocks);
// BlockEntityType<? extends T> blockEntityType = builder.build(null); BlockEntityType<? extends T> blockEntityType = builder.build(null);
// return Registry.register(Registry.BLOCK_ENTITY_TYPE, fullname, blockEntityType); return Registry.register(Registry.BLOCK_ENTITY_TYPE, fullname, blockEntityType);
// } }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static final void registerBlockEntities() { public static final void registerBlockEntities() {
// LOGGER.debug("registering quickiefabric block entities"); LOGGER.debug("registering quickiefabric block entities");
// QuickieFabricBlockEntity.ITEMHOARDER = (BlockEntityType<ItemHoarderBlockEntity>) registerBlockEntity( // QuickieFabricBlockEntity.ITEMHOARDER = (BlockEntityType<ItemHoarderBlockEntity>) registerBlockEntity(
// "itemhoarderblockentity", ItemHoarderBlockEntity::new, QuickieBlocks.ITEMHOARDER); // "itemhoarderblockentity", ItemHoarderBlockEntity::new, QuickieBlocks.ITEMHOARDER);
// QuickieFabricBlockEntity.MONSTERHOARDER = (BlockEntityType<MonsterHoarderBlockEntity>) registerBlockEntity( QuickieFabricBlockEntity.MONSTERHOARDER = (BlockEntityType<MonsterHoarderBlockEntity>) registerBlockEntity(
// "monsterhoarderblockentity", MonsterHoarderBlockEntity::new, QuickieBlocks.MONSTERHOARDER); "monsterhoarderblockentity", MonsterHoarderBlockEntity::new, QuickieBlocks.MONSTERHOARDER);
// QuickieFabricBlockEntity.EMPTYLAVAHOARDER = (BlockEntityType<EmptyLavaHoarderBlockEntity>) registerBlockEntity( // QuickieFabricBlockEntity.EMPTYLAVAHOARDER = (BlockEntityType<EmptyLavaHoarderBlockEntity>) registerBlockEntity(
// "emptylavahoarderblockentity", EmptyLavaHoarderBlockEntity::new, QuickieBlocks.EMPTYLAVAHOARDER, // "emptylavahoarderblockentity", EmptyLavaHoarderBlockEntity::new, QuickieBlocks.EMPTYLAVAHOARDER,
// QuickieBlocks.LAVAHOARDER); // QuickieBlocks.LAVAHOARDER);