FMLCommonHandler.instance().bus().register(new PlayerJoin());
那是我用来注册的总线。
@SubscribeEvent
public void onPlayerJoinServer(PlayerLoggedInEvent event) {
event.player.addChatMessage(new ChatComponentText("test"));
return;
}
那是我的事。当我加入单人游戏世界时,它会向我发送“测试”消息,但当我加入多人服务器时却不会。 (如Mineplex),请让我知道为什么会这样,谢谢!
最佳答案
该事件在logical server side上触发。
如果您的mod在物理服务器上不存在(即Mineplex尚未安装),则不会触发。
稍加挖掘(list I found不是最新的,但可能足以消除此类事件,几乎永远不会将其重命名),我发现FMLNetworkEvent.ClientConnectedToServerEvent
会在客户端将要连接到任何服务器时在客户端上触发。
但是,不太可能通知您其他播放器已连接到同一服务器(虽然可能需要区分EntityJoinWorldEvent
的实例,但EntityPlayerMP
可能起作用)。