为什么我的块没有出现 |我的世界锻造 1.12.1

Why isn't my Block showing up | Minecraft Forge 1.12.1

我已经使用以下代码注册了 Block(或者至少,我想我注册了):

@SubscribeEvent
public void onRegistryRegisterBlock(RegistryEvent.Register<Block> event) {
    event.getRegistry().register(MyMainModClass.creepyFace01);
}

@SubscribeEvent
public void onRegistryRegisterItem(RegistryEvent.Register<Item> event) {
    event.getRegistry().register(MyMainModClass.itemCreepyFace01);
}

我要注册的块的未本地化名称是 "creepy_face_01"。这是我在主 mod class:

中创建引用的方式
public static Block creepyFace01 = new CreepyFace01();
public static ItemBlock itemCreepyFace01 = new ItemBlock(creepyFace01);

这里是街区 class:

String unlocalizedName = "creepy_face_01";
float hardness = 60f;
float resistance = 4000f;

public CreepyFace01() {
    super(Material.ROCK);
    this.setUnlocalizedName(unlocalizedName);
    this.setRegistryName(MinecraftStoryMod.modID, this.unlocalizedName);
    this.setHardness(hardness);
    this.setResistance(resistance);
    this.setHarvestLevel("axe", 3);
    this.setCreativeTab(CreativeTabs.DECORATIONS);
}

是的,class 扩展了 Block。我想我正确地注册了事件处理程序,因为我在我的代码中包含了@Mod.EventBusSubscriber。我也在使用代理。我正在使用 Minecraft Forge 1.12.1 14.22.0.2469.

如果您使用 @Mod.EventBusSubscriber 注册您的事件处理程序 class,处理程序方法(onRegistryRegisterBlockonRegistryRegisterItem 需要是静态的,否则他们不会被调用。