Calculate painting offsets in 1.19->1.18.2 - #1313
Conversation
1cd9088 to
106c1df
Compare
|
I believe this needs to check for the new type ids, too |
106c1df to
a11e00f
Compare
|
Yeah that's right, I checked with the Kong painting whose id was changed in 1.19, and it is using the 1.19 ids. I also realised that painting doesn't map properly to 1.8, it gets changed to something else somewhere in the chain, despite it also being a 1.8 painting. I'll try to figure that out next |
|
Okay so, it turns out the 1.19 painting IDs weren't mapped at all, I chose some with the same size based on similarity (see https://minecraft.wiki/w/Painting#Unused_paintings), and fixed the Kong mapping. I also fixed an oversight in the 1.13 name remapping, now if that function gets an unknown ID it correctly returns the Kebab name. In 1.8 for example, the name has to match exactly so that would always appear as a random painting, changing every time. |
|
While I'm here, I found another issue with the 'Albanian' ( Basically, the painting works fine when placed, but as soon as the entity is retracked, it's not spawned in older clients. Running Paper 26.2. The issue here is that Though it's weird that it just doesn't spawn on older clients instead of using another variant, |
In 1.19, paintings are no longer referred to in the protocol using their entity coordinates, the block coordinates are used instead. This PR calculates the entity coordinates exactly, replacing the old approximations.
This is required for ViaVersion/ViaRewind#724, which fixes an issue with paintings in 1.8.
For the hardcoded dimensions map, was I right to only use the 1.18 paintings? I couldn't tell whether the paintings were already mapped, because 1.19 added some too. I have the sizes for the 1.19 paintings too if needed.
References: