我正在尝试在 MinecraftForge 中获取 MinecraftServer 实例。
这是我一直在尝试的代码:
MinecraftServer minecraftServer = MinecraftServer.getServer();
if(minecraftServer == null){
System.out.println("null!!!")
}
当我运行该模组时,以下是响应:
[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,然后从玩家那里获取了我的世界服务器实例,而不会弄乱数据包。
我使用的代码:
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/