1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-15 18:57:08 +00:00

DevTest: Formspec tests, children getter, better lighttool (#10918)

This commit is contained in:
Wuzzy 2021-03-16 17:37:24 +00:00 committed by GitHub
parent 88f514ad7a
commit 9113538142
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 253 additions and 32 deletions

View file

@ -1,22 +1,37 @@
local S = minetest.get_translator("testtools")
minetest.register_tool("testtools:lighttool", {
description = S("Light tool"),
inventory_image = "testtools_lighttool.png",
groups = { testtool = 1, disable_repair = 1 },
on_use = function(itemstack, user, pointed_thing)
local pos = pointed_thing.above
local function get_func(is_place)
return function(itemstack, user, pointed_thing)
local pos
if is_place then
pos = pointed_thing.under
else
pos = pointed_thing.above
end
if pointed_thing.type ~= "node" or not pos then
return
end
local node = minetest.get_node(pos)
local pstr = minetest.pos_to_string(pos)
local time = minetest.get_timeofday()
local sunlight = minetest.get_natural_light(pos)
local artificial = minetest.get_artificial_light(node.param1)
local message = ("param1 0x%02x | time %.5f | sunlight %d | artificial %d")
:format(node.param1, time, sunlight, artificial)
local message = ("pos=%s | param1=0x%02x | " ..
"sunlight=%d | artificial=%d | timeofday=%.5f" )
:format(pstr, node.param1, sunlight, artificial, time)
minetest.chat_send_player(user:get_player_name(), message)
end
end
minetest.register_tool("testtools:lighttool", {
description = S("Light Tool") .. "\n" ..
S("Show light values of node") .. "\n" ..
S("Punch: Light of node above touched node") .. "\n" ..
S("Place: Light of touched node itself"),
inventory_image = "testtools_lighttool.png",
groups = { testtool = 1, disable_repair = 1 },
on_use = get_func(false),
on_place = get_func(true),
})