如何在 Forge 中获取 MinecraftServer 实例?

How to get an instance of MinecraftServer in Forge?

我试图在发生异常时用代码关闭服务器。从 ServerStarting 事件中获取实例是没有用的。

如果您有可用的 MinecraftServer 参数,请使用它。如果你有一个对象,其方法是 returns MinecraftServer(例如 World#getMinecraftServer),请使用它。

如果一切都失败了,你可以使用FMLCommonHandler#getMinecraftServerInstance

找出 "how can I get a reference to this?" 的一个好方法是使用您的 IDE:右键单击 class 名称 -> 参考 -> 在工作区中查找所有内容。搜索结果应该 return 一些命中。您可能不得不多次执行此操作,但在这种情况下 World#getMinecraftServer 会弹出,您会立即知道如果您有一个 World 对象(并且在服务器上),您可以从中获取服务器对象那。