1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Safely handle block deletion (#13315)

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
This commit is contained in:
DS 2023-03-24 12:34:44 +01:00 committed by GitHub
parent f3b198e490
commit ed632f3854
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 74 additions and 5 deletions

View file

@ -81,11 +81,24 @@ public:
return NODECONTAINER_ID_MAPBLOCK;
}*/
Map * getParent()
Map *getParent()
{
return m_parent;
}
// Any server-modding code can "delete" arbitrary blocks (i.e. with
// core.delete_area), which makes them orphan. Avoid using orphan blocks for
// anything.
bool isOrphan() const
{
return !m_parent;
}
void makeOrphan()
{
m_parent = nullptr;
}
void reallocate()
{
for (u32 i = 0; i < nodecount; i++)