forked from Mineclonia/Mineclonia
4b91ae9522
Before this patch, destroying an obsidian Nether portal frame destroyed Nether portal nodes recursively. In Minetest binaries compiled with Lua 5.1 (i.e. without LuaJIT) this would cause a stack overflow when a huge portal (23×23) was destroyed, crashing the server. This patch implements Nether portal destruction using node timers. When a portal node's timer triggers, it starts the timers of adjacent portal nodes with the same orientation and no active timer and deletes itself. Attempts to solve this problem using minetest.after() seemed promising, but rubenwardy pointed out that anything relying on minetest.after() is bound to fail if a server shuts down while portal nodes are destroyed. |
||
---|---|---|
.. | ||
CORE | ||
ENTITIES | ||
ENVIRONMENT | ||
HELP | ||
HUD | ||
ITEMS | ||
MAPGEN | ||
MISC | ||
PLAYER |