summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..77ce155
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,19 @@
+minetest.register_chatcommand("mapfix", {
+ params = "<size>",
+ description = "Recalculate the flowing liquids of a chunk",
+ func = function(name, param)
+ local pos = minetest.get_player_by_name(name):getpos()
+ local size = tonumber(param) or 40
+ if size > 50 and not minetest.check_player_privs(name, {server=true}) then
+ return false, "You need the server privilege to exceed the radius of 50 blocks"
+ end
+ local minp, maxp = {x = math.floor(pos.x - size), y = math.floor(pos.y - size), z = math.floor(pos.z - size)}, {x = math.ceil(pos.x + size), y = math.ceil(pos.y + size), z = math.ceil(pos.z + size)}
+ local vm = minetest.get_voxel_manip()
+ vm:read_from_map(minp, maxp)
+ vm:calc_lighting()
+ vm:update_liquids()
+ vm:write_to_map()
+ vm:update_map()
+ return true, "Done."
+ end,
+})