fix setmetatable for builtin:item enhancement #2286
Closed
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 reason for this fix is the wrong metatables usage that take nil values for some conditions. I had similar issues in my smart_inventory too, reported in https://forum.minetest.net/viewtopic.php?t=19355#p330608 and fixes in minetest-mods/smart_inventory@d2328eb
[outdated, was first "no new table for item_entity enhancement" commit]
But for item_entity there is no reason to create new lua table for builtin item, just enhance the existing one is enough. Therefore this PR removes the new table creation and just enhances the original lua-table. This way no setmetatable and no re-registration needed.
Small additional change is the syntax change to OO-Style for enhanced functions