I upgraded one of my worlds to 1.20.1, and it looks like Mojang is now testing not just the direct target but is fully resolving the link... while still not resolving relative paths.
This patch PR changes the behavior when placing with relative=False (the CLI default) so that absolute links are fully resolved.
List of Changes
Fully resolves links when placing in absolute mode
Adds notes to the API docs explaining that this will have some (as far as I can tell, unavoidable) consequences when cleaning up stale links
Adds tests covering this new behavior (and some other nuances of the place operation)
A little bit of code simplification (NotADirectoryError is a subclass of OSError! Who knew!)
Tech Debt and Other Concerns
Validation Performed
Added new tests to cover the absolute pathing
Used this version of EnderChest to place my symlinks for a 1.20.1 instance and verified that the save game that refused to load earlier (because the second hop of the link was a relative link) would now load.
[x] I have run mkdocs serve locally and ensured that all API docs and
changes I have made to the static pages are rendering correctly, with all links
working
[x] All tech debt concerns have been resolved, documented as issues, or otherwise
accepted
Summary
I upgraded one of my worlds to 1.20.1, and it looks like Mojang is now testing not just the direct target but is fully resolving the link... while still not resolving relative paths.
This patch PR changes the behavior when placing with
relative=False
(the CLI default) so that absolute links are fully resolved.List of Changes
NotADirectoryError
is a subclass ofOSError
! Who knew!)Tech Debt and Other Concerns
Validation Performed
place
my symlinks for a 1.20.1 instance and verified that the save game that refused to load earlier (because the second hop of the link was a relative link) would now load.PR Type
release
)Checklist:
mkdocs serve
locally and ensured that all API docs and changes I have made to the static pages are rendering correctly, with all links working