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"; // 我们的大型箱子中不同部分的公共id 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().group(ItemGroup.MISC))); //The parameter of build at the very end is always null, do not worry about it // 1.17 之前 BOX_BLOCK_ENTITY = Registry.register(Registries.BLOCK_ENTITY_TYPE, BOX, BlockEntityType.Builder.create(BoxBlockEntity::new, BOX_BLOCK).build(null)); // 在 1.17 使用 FabricBlockEntityTypeBuilder 而不是 BlockEntityType.Builder BOX_BLOCK_ENTITY = Registry.register(Registries.BLOCK_ENTITY_TYPE, BOX, FabricBlockEntityTypeBuilder.create(BoxBlockEntity::new, BOX_BLOCK).build(null)); } @Override public void onInitialize() { } }