java - MinecraftServer.getServer 返回 null MinecraftForge

标签 java null minecraft minecraft-forge

我正在尝试在 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/

相关文章:

java - 为扩展 JsonRequest<JSONObject> 的类创建构造函数

java - 奇怪的图形错误 : a copy of component A is painted on component B. 帮助! ( java )

string - 如何在 Bash case 语句中测试空字符串?

java - Bukkit:从配置文件获取数据返回 null

java - Jersey Web 应用程序动态注册资源

使用RequestDispatcher时Java最终没有被调用

ios - 使用有效的 UIImage 设置 UIImageView.image 在 swift 中创建 "nil"错误

c# - 在重写 Equals 中进行空检查之前转换为对象

java - Perl Pipe 不重定向 Java 进程输出

python - 如何用 Python 将数据包发送到远程 Minecraft Classic 服务器?