无法检测玩家何时加入世界

Cant detect when a player joins a world

所以我试图让这个 mod 给你 2 个苹果(用于测试目的)但我似乎无法让它工作:/(没有错误 mod 没有输出任何东西) 这是我的代码 (1.8.9 Forge BTW):

    @SubscribeEvent
public static void init(FMLInitializationEvent event)
{
    MinecraftForge.EVENT_BUS.register(EventHandler.class);
}
@SubscribeEvent
public void onPlayerJoin(PlayerLoggedInEvent event)
{
    event.player.inventory.addItemStackToInventory(new ItemStack(Items.apple, 2));
    event.player.addChatMessage(new ChatComponentText("test"));
    return;
}

出于某种原因,Minecraft 使用了两个不同的事件系统。 init 应该是 @EventHandler,而不是 @SubscribeEventonPlayerJoin 虽然是正确的。 (如果您还没有,请添加 import net.minecraftforge.fml.common.Mod.EventHandler;。)

此外,如果 onPlayerJoin 在您的 MainGuts class 中,那么您需要执行 MinecraftForge.EVENT_BUS.register(MainGuts.class);MinecraftForge.EVENT_BUS.register(this); (都尝试;我忘记了这在 1.8.9 中一直是正确的),而不是 MinecraftForge.EVENT_BUS.register(EventHandler.class);.