[mesecons_doors] Improve code quality and fix Voxelgarden support #671
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The main code quality improvement here is the functionalization of code: now trapdoors are also overriden using their own function, and both
meseconify_door
andmeseconify_trapdoor
are now ran inside for loops with local lists of base node names. In the future, this could help refactor this mod entirely to not list doors manually but parse through the doors.registered_* variables, ensuring that every door works.As a nice bonus, Voxelgarden support is fixed, and potentially so is support for other games with exotic implementations of the doors mod. No longer are we assuming that the existence of
doors.get
means that all the trapdoors exist too; now, if the meseconify function doesn't find their definition, it just returns without crashing.P.S. And yes, I'm the current Voxelgarden maintainer.