我正在尝试在MinecraftForge中获取MinecraftServer实例。

这是我一直在尝试的代码:

MinecraftServer minecraftServer = MinecraftServer.getServer();
if(minecraftServer == null){
     System.out.println("null!!!")
}


当我运行mod时,以下是响应:

[p.a.c.a:pr:92]: null!!!!


我也尝试过使用FMLCommonHandler,而我使用的代码是:

MinecraftServer minecraftServer = FMLCommandHandler.instance().getMinecraftServerInstance();
if(minecraftServer == null){
     System.out.println("null!!!");
}


并且,响应与当前代码相同。

[p.a.c.a:pr:92]: null!!!!


最后,尝试了FMLServerHandler,我使用的代码是:

MinecraftServer minecraftServer = FMLServerHandler.instance().getServer();
if(minecraftServer == null){
    System.out.println("null!!!")
}


答复还为:

[p.a.c.a:pr:92]: null!!!!

最佳答案

弄清楚了!制作一个FakePlayer,然后从播放器中获取minecraft服务器实例,而不会弄乱数据包。

我使用的代码:

WorldServer worldServer = DimensionManager.getWorld(0); // default world
GameProfile gameProfile = new GameProfile(UUID.randomUUID(), "FakePlayer");
FakePlayer fakePlayer = new FakePlayer(worldServer, gameProfile);
MinecraftServer minecraftServer = fakePlayer.mcServer;

关于java - MinecraftServer.getServer返回null MinecraftForge,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33558981/

10-11 07:07