2

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!!!!
4

1 に答える 1

3

理解した!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;
于 2015-11-06T08:57:25.173 に答える