Java 为什么不是';我的街区出现了| Minecraft Forge 1.12.1

Java 为什么不是';我的街区出现了| Minecraft Forge 1.12.1,java,minecraft,minecraft-forge,Java,Minecraft,Minecraft Forge,我已经使用以下代码注册了块(或者至少,我想我注册了): @SubscribeEvent public void onRegistryRegisterBlock(RegistryEvent.Register<Block> event) { event.getRegistry().register(MyMainModClass.creepyFace01); } @SubscribeEvent public void onRegistryRegisterItem(Registry

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

@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);
}
下面是Block类:

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);
}

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

如果您使用
@Mod.EventBusSubscriber
注册事件处理程序类,则处理程序方法(
onRegistryRegisterBlock
onRegistryRegisterItem
)需要是静态的,否则将不会调用它们。

如果您使用
@Mod.EventBusSubscriber
注册事件处理程序类,则处理程序方法(
onRegistryRegisterBlock
onRegistryRegisterItem
)需要是静态的,否则将不会调用它们。

事件侦听器位于何处?你把它们登记好了吗?编辑:还有,你说的“不出现”是什么意思,它根本不在游戏中吗?它缺少纹理吗?你能不能在创意标签上看不到它?再次编辑:有没有什么地方可以看到整个类,比如github之类的?在没有看到全部内容的情况下,我们缺少了很多上下文…事件处理程序都是注册的,因为我的代码中有@Mod.EventBusSubscriber(前面提到过)。它根本不在游戏中,这个mod是私有的(暂时,直到我完成),这意味着我不能在GitHub ATM中共享代码事件侦听器在哪里?你把它们登记好了吗?编辑:还有,你说的“不出现”是什么意思,它根本不在游戏中吗?它缺少纹理吗?你能不能在创意标签上看不到它?再次编辑:有没有什么地方可以看到整个类,比如github之类的?在没有看到全部内容的情况下,我们缺少了很多上下文…事件处理程序都是注册的,因为我的代码中有@Mod.EventBusSubscriber(前面提到过)。它根本不在游戏中,这个mod是一个私有的(暂时的,直到我完成),这意味着我不能在GitHub atm中共享代码…如果你没有,你需要用事件总线注册你的事件处理程序类的一个新实例。。。这就解释了为什么我一直在使用的所有命令mod都不起作用。如果你没有,你需要在事件总线上注册一个事件处理程序类的新实例。。。这就解释了为什么我一直在使用的所有命令mod都不起作用。我会试试这个
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);
}