无法检测玩家何时加入世界
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
,而不是 @SubscribeEvent
。 onPlayerJoin
虽然是正确的。 (如果您还没有,请添加 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);
.
所以我试图让这个 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
,而不是 @SubscribeEvent
。 onPlayerJoin
虽然是正确的。 (如果您还没有,请添加 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);
.