Feature: 1.16.x 1.0.0 - Updating block connections for existing BO's
authvin opened this issue ยท 2 comments
In 1.12.2, the following blocks are connected visually on the client side:
- Redstone
- Doors
- Fences (Iron Bars too)
- Panes
- Stairs
- Chests
- (maybe plants?)
In 1.13+, these now have connections set as tags on the server-side. The problem is that the blocks in BO's do not have this new connection data; fences are just fences, not fences with a North and South connection.
Future BO's will be unaffected, but BO's from 1.12 and earlier need to be updated - instead of combing through these manually, we should have a method of updating them automatically. We could either write a little algorithm to loop through all the blocks and figure out which should be updated how, or we could spawn each object in void, run block updates on the affected blocks, and then re-export.
It's unsure if we need a converter for BO4 or just BO3; a BO4 converter could be a lot more complicated than a BO3 converter, which should be able to use mostly pre-existing /otg spawn code.
Randomised branches of BO3 structures may need some manual updating by preset devs.
Potential similar issue for reference: https://github.com/ViaVersion/ViaVersion/issues/856
This is handled by /otg edit. Still to-do for /otg edit's update path:
- Ensure all legacy material mappings are correct
- Make it do BO2's and BO4's as well
- Add a way to update all BO3's in a preset at once
The update can currently be tested either through normal use of /otg edit, or with the use of its -update flag. The update flag will only update, and will expprt a new BO with a prefix "fixed_" added to the name.
This does not handle structures, just single BO's. Connecting pieces between structures need manual updating. RandomBlocks that have connections also need manual updating; there is no way to update those automatically