Add files via upload
parent
a8775e0f66
commit
fe13be636b
|
@ -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
|
Loading…
Reference in New Issue