FMLCommonHandler.instance().bus().register(new PlayerJoin());
那是我用来注册它的总线。
@SubscribeEvent
public void onPlayerJoinServer(PlayerLoggedInEvent event) {
event.player.addChatMessage(new ChatComponentText("test"));
return;
}
那是我的 Activity 。当我加入单人游戏世界时,它会向我发送“测试”消息,但当我加入多人游戏服务器时,它不会向我发送“测试”消息。 (如 Mineplex)请告诉我为什么会发生这种情况,谢谢!
最佳答案
该事件在 logical server side 上触发。
如果物理服务器上不存在您的 mod(即 Mineplex 尚未安装它),那么它不会触发。
稍微挖掘一下(list I found不是最新的,但可能足够了,因为这样的事件从未被删除,几乎从未重命名),我发现FMLNetworkEvent.ClientConnectedToServerEvent
在上被触发客户端当该客户端即将连接到任何服务器时。
但是,它不太可能通知您另一个玩家已连接到同一服务器(EntityJoinWorldEvent
可能有效,但您需要区分EntityPlayerMP
)。
关于java - PlayerLoggedInEvent 仅在单人游戏中运行? (MC锻造),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45044084/