diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..74054c6 --- /dev/null +++ b/depends.txt @@ -0,0 +1 @@ +worldedit diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..2622af9 --- /dev/null +++ b/init.lua @@ -0,0 +1,42 @@ +local timer = 0 + +local function load(pos) + local filename = minetest.get_worldpath().."/blocks/"..math.floor(pos.x/16).."."..math.floor(pos.y/16).."."..math.floor(pos.z/16)..".we" + local pos1 = {x = math.floor(pos.x/16)*16, y = math.floor(pos.y/16)*16, z = math.floor(pos.z/16)*16} + local pos2 = vector.add(pos1, {x=15, y=15, z=15}) + local file, err + file, err = io.open(filename, "rb") + if err then + return + end + worldedit.set(pos1, pos2, "air") + local content = file:read("*a") + file:close() + os.remove(filename) + worldedit.deserialize(pos1, content) +end + +minetest.register_globalstep(function(dtime) + timer = timer + dtime + if timer < 5 then return end + timer = 0 + + for _,player in ipairs(minetest.get_connected_players()) do + local pos = player:getpos() + + load(pos) + load({x=pos.x-16, y=pos.y, z=pos.z}) + load({x=pos.x, y=pos.y-16, z=pos.z}) + load({x=pos.x, y=pos.y, z=pos.z-16}) + load({x=pos.x+16, y=pos.y, z=pos.z}) + load({x=pos.x, y=pos.y+16, z=pos.z}) + load({x=pos.x, y=pos.y, z=pos.z+16}) + end +end) + +minetest.register_tool("mcimport:test", { + description = "Test", + on_use = function(itemstack, user, pointed_thing) + print(dump(minetest.get_node(pointed_thing.under))) + end, +})