mirror of
https://github.com/DramaticShape/DramaticShapeVoxelMod.git
synced 2026-08-12 09:20:51 +02:00
8b73cbd54d
Cut, the tree regrowth on re-entry and the card-key door stamps all write the block layer directly without emitting world.block_replaced, so meshes derived from that layer went stale unannounced. An earlier cut of this work made the engine announce each one -- the wrong place: it edits the game for one mod's benefit, and every future path that writes a block has to remember to do the same. They all funnel through one choke point, so wrap Map:setBlock from the mod instead. Map is a plain metatable shared by every instance, so this covers paths written after this mod too. The write is read back rather than trusted: setBlock ignores an out-of-bounds write, and a stamp that rewrites a block with the value it already held is not an edit and must not throw the mesh away. src/world/OverworldController.lua is reverted to stock.