Add files via upload

master
AiTechEye 2022-07-07 18:16:28 +02:00 committed by GitHub
parent a8775e0f66
commit fe13be636b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 73 additions and 1 deletions

View File

@ -91,4 +91,76 @@ player_style.register_button({
minetest.chat_send_player(name, "Teleported to home")
end
end
})
})
minetest.register_chatcommand("setnodes", {
params = "<node> <pos1> <pos2>",
description = "Set nodes in area (max size: 50) eg: default:stone,x y z, x y z",
privs = {server=true},
func = function(name, param)
local s = param:gsub(", ",","):gsub(" "," "):split(",")
if #s < 3 then
return false, "To less params, do eg: default:stone, x y z, x y z"
end
local node = s[1]:gsub(" ","")
local a = minetest.string_to_pos("("..s[2]:gsub(" ",",")..")")
local b = minetest.string_to_pos("("..s[3]:gsub(" ",",")..")")
if not a then
return false, "position 1 is invalid"
elseif not b then
return false, "position 2 is invalid"
elseif not minetest.registered_nodes[node] then
return false, node.. " is not a registered node"
elseif vector.distance(a,b) > 50 then
return false, "area is too big ("..vector.distance(a,b).." > max 50)"
end
a = vector.round(a)
b = vector.round(b)
if a.x > b.x then
b.x,a.x = a.x,b.x
end
if a.y > b.y then
b.y,a.y = a.y,b.y
end
if a.z > b.z then
b.z,a.z = a.z,b.z
end
local p = {}
for x=a.x,b.x do
for z=a.z,b.z do
for y=a.y,b.y do
table.insert(p,vector.new(x,y,z))
end
end
end
minetest.bulk_set_node(p,{name=node})
end
})
minetest.register_chatcommand("setnode", {
params = "<node> <pos2>",
description = "Set a node (max size: 50) eg: default:stone,x y z",
privs = {server=true},
func = function(name, param)
local s = param:gsub(", ",","):gsub(" "," "):split(",")
if #s < 2 then
return false, "To less params, do eg: default:stone, x y z"
end
local node = s[1]:gsub(" ","")
local a = minetest.string_to_pos("("..s[2]:gsub(" ",",")..")")
if not a then
return false, "position is invalid"
elseif not minetest.registered_nodes[node] then
return false, node.. " is not a registered node"
end
minetest.set_node(a,{name=node})
end
})
--/setnodes default:stone, 10 28520 10,0 28503 0
--/setnode default:dirt, 3 28532 -1