Tinkers Construct

Tinkers Construct

160M Downloads

Bolt Core tip material unreplaceable when playing on servers

sam-kirby opened this issue ยท 6 comments

commented

Issue description:
When a player attempts to replace the bolt core of a set of bolts, the tip material does not properly update when playing on a server. This issue does not exist in single player.

As an example, if I create bolts using a core with an iron tip and wooden shaft and then attempt to upgrade the core using manyullyn tipped bone (both materials changed due to #3581), the preview in the tool forge will show the correct upgrade but on removing the bolts I will have iron tipped bone bolts.

If crashed, link to crash report (use a site such as pastebin):

Versions:

  • Minecraft: 1.12.2
  • Forge: 14.23.5.2854
  • Mantle: 1.3.3.55
  • Tinkers Construct: 2.13.0.183

Can it be reproduced with just Tinkers Construct? If not, list the other mods required to reproduce the issue.
No other mods required

Originally reported DarkPacks/SevTech-Ages#4098

commented

Closing as 1.16 received a beta making 1.12 end of support. The line linked above shows the fix if anyone ever picks up 1.12 again.

commented

I bet it's a copy&paste error :D

commented

I can reproduce this in the Dungeons Dragons & Space Shuttles modpack on a server.
Tinkers Construct 1.12.2-2.13.0.183 as well.
In my case it was a bolt with a Steel-Treated Wood bolt core that I wanted to change to a Supremium-Dragon Bone bolt core.
Behaviour exactly as OP described: the preview in the tool forge is correct but once I took it out, only the shaft was changed, the tip was still steel...

commented

This is because bolt cores are way overly complex, as a single tool part has two materials. Leads to way too many edge cases. If we release another 1.12 build this might be worth looking into, but as it stands our efforts are focused on 1.15 (where we plan to ditch that whole double material toolpart thing)

commented

I looked into it, it appears the cause of the issue is that RangedEvents is only subscribed to the event bus on the client. Removing this stipulation resolves the issue.

https://github.com/SlimeKnights/TinkersConstruct/blob/1.12/src/main/java/slimeknights/tconstruct/tools/ranged/RangedEvents.java#L18

commented

Why is that only on the client? That is incredibly odd. If we make another 1.12 release, I will make sure this is in.