pandorabox.io
pandorabox.io copied to clipboard
is_ground_content
Many node definitions seem to have not set is_ground_content to false.
This means jumping a ship near mapblocks that haven't been generated yet, can lead to loss of ships or at least parts of it.
Credit to Huhhila for suffering this, tracking down the cause and pointing it out.
I've opened this issue to track the progress of PRs to the various mods that are affected. Also to discuss which we might add to pandorabox_custom because some repos are very slow to accept PRs.
I used this postool branch to make the list
nonGroundContent.txt (680kB)
The above list includes legitimate ground content too, of course.
Adding the flag to all circular saw cuts and cnc nodes will already slim it down drastically. Priority should maybe be given to technic and pipeworks mods.
reference links:
- modding tips minetest.net
- lua_api.md search for "is_ground_content"
- deep dive and related links: https://github.com/minetest/minetest/issues/11125
A more radical (and maybe simpler) alternative to setting that in every mod would be to override this in pandorabox_custom on every registered node (except stone of course)
As a radical interum measure yes.
There are a lot of legitimately is_ground_content nodes like dirt, corium, water, air, ignore, lava, etc., etc.
once technic, pipeworks, circular_saw and mesecons are dealt with, the non-ground-content-list will shrink drascically.
I think it's good for mod-devs to think about this and add it, no rush though.
I've also PRed
- mobs (meatblocks and spawner)
- mobs_animal (egg, honeyblock and beehive)
- mobs_monster (cobweb)
mesecons_extrawires:mese_powered might be one to discuss only changing on pandorabox. It seems to copy the def from default:mese and thus inherits ground contents flag.
If I PR to have the powered variant to not be ground content, the unpowered would still be ground content. IMO it's just better to leave it as is. Unless somebody has a good reason?
Perhaps the default should've been false to not require mass-adjustments of all existing mods.
Well.. now it's too late I guess.
now it's too late I guess.
Isn't really too late to change defaults. These changes are anyway providing backwards compatible fixes that make it work correctly with mods defined minimum compatible minetest version and therefore wouldn't be irrelevant even if defaults would be changed.
Therefore these changes can actually be useful during transition even if defaults would be changed and making these changes should not exactly affect decisions about possible engine update in any way. Also many of these seems to bring few minor formatting improvements too 😄
Changing engine defaults is kind of different thing as it only affects later versions and would basically be just requirement to explicitly state that something is ground content. I think for future it probably would be better that way 👍
Any thoughts on [bedrock]?
In a way it is ground content, on the other hand it is designed to be border-node.
Hasn't stopped players on pandorabox to dig bedrock:bedrock or jump it around.
PRed 10+1's farming: https://codeberg.org/tenplus1/farming/pulls/4
If anybody wants [maptools] nodes not to be considered ground content, this would be a good moment to convince me to work on those too.
FYI, I've also started working on mods that pandorabox isn't using but referencing them to this thread to keep everything under one place.
There are still a few mods that pandorabox uses that I haven't PRed yet: advtrains* is the big one.
PRed 10+1's bakedclay (leaving flowers untouched to stay in sync with MTG default flowers)