FMLCommonHandler.instance().bus().register(new PlayerJoin());
这是我用来注册它的总线。
@SubscribeEvent
public void onPlayerJoinServer(PlayerLoggedInEvent event) {
event.player.addChatMessage(new ChatComponentText("test"));
return;
}
这是我的事。当我加入单人游戏时,它会向我发送"测试"消息,但不是我加入多人游戏服务器时。 (像Mineplex一样)请告诉我为什么会这样,谢谢!
答案 0 :(得分:1)
该事件在 logical server side 上被触发。
如果您的mod在物理服务器上不存在(即Mineplex尚未安装它),则它不会触发。
一点点挖掘(list I found不是最新的,但可能已经足够了,因为这样的事件永远不会被删除,几乎从未重命名)并且我发现FMLNetworkEvent.ClientConnectedToServerEvent
在客户端上被解雇了 当该客户端即将连接到任何服务器时。
但是,不太可能通知您其他播放器已连接到同一服务器(EntityJoinWorldEvent
可能有效,但您需要区分{{1}的实例})。