GregTech icon indicating copy to clipboard operation
GregTech copied to clipboard

[BUG] WorldPipeNet WorldSavedData is not handled correctly

Open warjort opened this issue 4 years ago • 0 comments

Describe the bug The code for saving pipenets in the WorldSavedData assumes it is "multiplexed" by world/dimension. e.g. The pipenets only store chunk and block positions with the actual world coming from the WorldPipeNet.

This assumption is not correct, Minecraft saves all dimensions in one WorldSavedData file for a data id.

Additionally, there are a few places that are trying to access pipenet data on the client world, such as the damage from hot pipes or uninsulated cables. In fact, this is being done twice, once against the server world and once on the client. I don't think it actually causes a real problem in the current code, but this could potentially have the client trying to modify the pipenet data in competition with the server.

Versions Forge: 14.23.5.2854 GTCE: 1.10.9.612 (current from GitHub)

Steps To Reproduce

  1. In the overworld try to fill a wooden fluid pipe with steam
  2. It will burn
  3. Repeat the process in the nether
  4. It won't burn

Expected behavior The reason why it won't burn in the nether is because it is trying to burn a block in the overworld with the same blockpos

I have a fix for these issues, which I will try to submit as a PR once I figure out how GitHub works.

warjort avatar Jan 16 '21 13:01 warjort