Add itemframes and signs tester

This commit is contained in:
cora 2022-11-16 16:51:02 +01:00
parent c7e8f481e0
commit d5b6e26f79
2 changed files with 80 additions and 3 deletions

View File

@ -1,12 +1,26 @@
local length = 50
local function generate_gallery(pos)
local function generate_gallery(pos,place_func)
local i=1
for n,node in pairs(minetest.registered_nodes) do
minetest.set_node(vector.add(pos,vector.new(i % length,math.ceil(i / length),0)),{name=n})
place_func(vector.add(pos,vector.new(i % length,math.ceil(i / length),0)),{name=n})
i = i + 1
end
end
local nodenames={}
local itemnames={}
minetest.register_on_mods_loaded(function()
for n,node in pairs(minetest.registered_nodes) do
if not n:find("meshhand") then
table.insert(nodenames,n)
end
end
for n,node in pairs(minetest.registered_items) do
if not n:find("meshhand") then
table.insert(itemnames,n)
end
end
end)
local function generate_gallery_cube(pos)
local i=1
local j=1
@ -34,7 +48,9 @@ minetest.register_chatcommand("gallery",{
privs={debug=true},
func=function(name,p)
local pl=minetest.get_player_by_name(name)
generate_gallery(vector.add(pl:get_pos(),vector.new(0,0,5)))
generate_gallery(vector.add(pl:get_pos(),vector.new(0,0,5)),function(pos,node)
minetest.set_node(pos,node)
end)
end})
minetest.register_chatcommand("gallerycube",{
@ -44,3 +60,63 @@ minetest.register_chatcommand("gallerycube",{
local pl=minetest.get_player_by_name(name)
generate_gallery_cube(vector.add(pl:get_pos(),vector.new(0,0,5)))
end})
math.randomseed(os.clock())
local a = 10
minetest.register_chatcommand("test_signs",{
description="Generates a wall of signs",
privs={debug=true},
func=function(name,p)
local pl=minetest.get_player_by_name(name)
local pos = pl:get_pos()
if p and tonumber(p) then a = p end
local i=1
for i=1,a do
local fp = vector.add(pos,vector.new(i % length,math.ceil(i / length),0))
minetest.set_node(fp,{name="mcl_signs:standing_sign_warped_hyphae_wood"})
local m = minetest.get_meta(fp)
m:set_string("text","test\n"..fp.x..fp.y..fp.z)
m:set_string("mcl_signs:text_color","#00FF00")
i = i + 1
end
end})
minetest.register_chatcommand("test_iframes",{
description="Generates a wall itemframes",
privs={debug=true},
func=function(name,p)
local pl=minetest.get_player_by_name(name)
local pos = pl:get_pos()
if p and tonumber(p) then a = p end
local i=1
for i=1,a do
local l = 20
local fp = vector.add(pos,vector.new(i % l,math.ceil(i / l),0))
minetest.set_node(fp,{name="mcl_itemframes:item_frame"})
local m = minetest.get_meta(fp)
local inv = m:get_inventory()
local n = itemnames[math.random(#itemnames)]
local nn = minetest.get_node(fp)
inv:set_stack("main",1,ItemStack(n))
m:set_string("roll",math.random(0,7))
--mcl_itemframes.update_item_entity(fp, nn,nn.param2)
i = i + 1
end
end})
minetest.register_chatcommand("iframes_gallery",{
description="Generates a wall of itemframes of all nodes",
privs={debug=true},
func=function(name,p)
local pl=minetest.get_player_by_name(name)
local pos = pl:get_pos()
generate_gallery(vector.add(pl:get_pos(),vector.new(0,0,5)),function(p,node)
minetest.set_node(p,{name="mcl_itemframes:item_frame"})
local m = minetest.get_meta(p)
local inv = m:get_inventory(p)
inv:set_stack("main",1,ItemStack(itemnames[math.random(#itemnames)]))
m:set_string("roll",math.random(0,7))
end)
end})

View File

@ -1 +1,2 @@
name=node_gallery
depends = mcl_structures, mcl_itemframes