You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 16, 2024. It is now read-only.
I made a protocol translator (1.20.0 to 1.20.50), a lot of the code I copied from this repo and tedac. It works fine on nukkit or pmmp servers. The issue is The Hive, they use custom blocks in StartGame, persistent block palette in LevelChunk... Sending the original LevelChunks crashes the client, even if there were no chunk changes between these 2 protocols, If I convert the persistent states to runtime ids the client doesn't crash, the only issue is all the blocks are wrong. I think the palette adjust code must be wrong or outdated. By not sending custom blocks in StartGame and not adjusting for them then the conversion is correct for at least the few non custom blocks, but since 99% of the blocks used on Hive are custom, that's not a viable option.
Do you have any advice on how I can properly downgrade those chunks?
The text was updated successfully, but these errors were encountered:
When the server is sending custom blocks with "properties", the convert() function in custom_blocks.go fails to cast []int32 "enum" into []any
But even with that fixed (i guess), runtime ids are still wrong
I know the issue is not my chunk conversion code because this is without sending the client custom blocks nor adjusting for them, as you can see non custom blocks are converted successfully to the old runtime id:
This is by sending the blocks and using your adjust code:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
I made a protocol translator (1.20.0 to 1.20.50), a lot of the code I copied from this repo and tedac. It works fine on nukkit or pmmp servers. The issue is The Hive, they use custom blocks in StartGame, persistent block palette in LevelChunk... Sending the original LevelChunks crashes the client, even if there were no chunk changes between these 2 protocols, If I convert the persistent states to runtime ids the client doesn't crash, the only issue is all the blocks are wrong. I think the palette adjust code must be wrong or outdated. By not sending custom blocks in StartGame and not adjusting for them then the conversion is correct for at least the few non custom blocks, but since 99% of the blocks used on Hive are custom, that's not a viable option.
Do you have any advice on how I can properly downgrade those chunks?
The text was updated successfully, but these errors were encountered: