public class ExampleMod implements ModInitializer { public static final Block BOX_BLOCK; public static final BlockItem BOX_BLOCK_ITEM; public static final BlockEntityType BOX_BLOCK_ENTITY; public static final String MOD_ID = "testmod"; // a public identifier for multiple parts of our bigger chest public static final Identifier BOX = new Identifier(MOD_ID, "box_block"); static { BOX_BLOCK = Registry.register(Registries.BLOCK, BOX, new BoxBlock(FabricBlockSettings.copyOf(Blocks.CHEST))); BOX_BLOCK_ITEM = Registry.register(Registries.ITEM, BOX, new BlockItem(BOX_BLOCK, new Item.Settings())); //The parameter of build at the very end is always null, do not worry about it // pre-1.17 BOX_BLOCK_ENTITY = Registry.register(Registry.BLOCK_ENTITY_TYPE, BOX, BlockEntityType.Builder.create(BoxBlockEntity::new, BOX_BLOCK).build(null)); // In 1.17 use FabricBlockEntityTypeBuilder instead of BlockEntityType.Builder BOX_BLOCK_ENTITY = Registry.register(Registry.BLOCK_ENTITY_TYPE, BOX, FabricBlockEntityTypeBuilder.create(BoxBlockEntity::new, BOX_BLOCK).build(null)); } @Override public void onInitialize() { } }