TerraFirmaCraft

TerraFirmaCraft

2M Downloads

Anvil plans broken in multiplayer after version 3.2.7

zersal opened this issue ยท 4 comments

commented

When using an anvil in multiplayer on the newest version when trying to work an ingot you can open the plan menu and see the available recipes but when you click on one nothing happens, it just closes the menu.
The last version I found to work was 3.2.7.
Singleplayer is not affected.

commented

I just came here, two second this.
Server is running forge-1.20.1-47.3.11. TFC:NG mod version (3.2.10)
What I found out currently works is the following:

  1. Heat Ingot sufficiently
  2. Put it in the anvil (Hammer and flux already in place)
  3. Select a plan (The menu will close and there will be no indication of a plan being selected)
  4. click on one of the green forge options
  5. Take the ingot out of the slot of the anvil and place it in your inventory. (Item needs to detach from mouse cursor)
  6. Put the ingot back into the anvil
  7. Everything shows properly in the anvil menu
  8. Once you click the next forge action the menu breaks again.

If you want to play the 3.2.10 version @zersal
take out the ingot and put it back in after every step. Annoying but playable :)

I would really love to see this bug fixed. Is there anything else I can help the devs with?

commented

Annoying but playable :)

I wouldn't say playable, imagine working copper that gets too cold when you sneeze at it, let alone do that silly little dance

commented

I wouldn't say playable

Yeah I did that silly little dance yesterday with copper because I had no choice but after having forged 4 tools in 30 minutes it broke me. That's why I came here ^^

commented

I Investigated a bit and here are my findings:

  • Since @zersal mentioned that it was still working in 3.2.7 I looked at the diff and could pinpoint the culprit.
  • During the issue #2753 ItemStackCapabilitySync.java and FriendlyByteBufMixin.java were changed to (at least from what I understand) allow itemstack synchronisation with the vanilla protocol allowing people to play on vanilla servers with the mod installed.
  • This leads to Forging.java#getRecipe(Level level) returning null in various cases for example in AnvilBlockEntity.java#148 or AnvilScreen.java#81 under the initially described conditions.

Since I currently do not play on any vanilla server I locally reverted the two files two version 3.2.7 while keeping the rest on 3.2.10. It works and compiles perfectly.

Unfortunatly I have not worked or looked into any minecraft networking protocols and can not fix this properly myself right now. But I hope that with the information provided someone can have a look at this. Maybe ItemStackCapabilitySync sounds quite broad so it might affect other areas as well. I havent progressed the mod far enough to tell.
For further questions I am available at discord: C0d3v