Minecraft Forge 1.8 - ServerProxy 不适用于单人游戏

Minecraft Forge 1.8 - ServerProxy not working on SinglePlayer

我正在 Forge 1.8 中编写 mod,我正在使用 SidedProxy 系统。我添加了一些items/blocks用于测试,但我的mod主要需要在things/write的服务器端控制逻辑并在保存时读取一些数据。 据我了解,在我的世界游戏中,总是有一个服务器,在单人游戏中是内部服务器。但是,当 运行 来自 eclipse 时,ServerProxy 永远不会运行,因为我看不到 print 语句的输出,并且块处理程序没有注册。

明确地说,我目前有一个事件处理程序可以检测块中断和放置事件。它在 commonProxy 或 clientProxy 上工作。但是,我需要它在逻辑方面,无论是在专用服务器还是内部服务器上,都应该在 ServerProxy 中。

我了解到在 Forge 中,internal/integrated 服务器被算作 Side.ClientSidedProxy 将使用 ClientProxy。因此,为了创建基于逻辑的事件,您可以在事件处理程序中使用 if(!event.world.isRemote) 来检查它是否是 运行 代码的服务器。

Answer on MinecraftForge Forums