advtrains/debugitems.lua

139 lines
4.1 KiB
Lua

minetest.register_tool("advtrains:1",
{
description = "1",
groups = {cracky=1}, -- key=name, value=rating; rating=1..3.
inventory_image = "drwho_screwdriver.png",
wield_image = "drwho_screwdriver.png",
stack_max = 1,
range = 7.0,
on_use = function(itemstack, user, pointed_thing)
pos1=pointed_thing.under
end,
})
minetest.register_tool("advtrains:2",
{
description = "2",
groups = {cracky=1}, -- key=name, value=rating; rating=1..3.
inventory_image = "drwho_screwdriver.png",
wield_image = "drwho_screwdriver.png",
stack_max = 1,
range = 7.0,
on_use = function(itemstack, user, pointed_thing)
pos2=pointed_thing.under
end,
})
minetest.register_tool("advtrains:3",
{
description = "3",
groups = {cracky=1}, -- key=name, value=rating; rating=1..3.
inventory_image = "drwho_screwdriver.png",
wield_image = "drwho_screwdriver.png",
stack_max = 1,
range = 7.0,
on_use = function(itemstack, user, pointed_thing)
pos3=pointed_thing.under
end,
})
minetest.register_tool("advtrains:4",
{
description = "4",
groups = {cracky=1}, -- key=name, value=rating; rating=1..3.
inventory_image = "drwho_screwdriver.png",
wield_image = "drwho_screwdriver.png",
stack_max = 1,
range = 7.0,
on_use = function(itemstack, user, pointed_thing)
pos4=pointed_thing.under
end,
})
core.register_chatcommand("mad", {
params="",
description="",
privs={},
func = function(name, param)
return true, advtrains.get_wagon_yaw(pos1, pos2, pos3, pos4, tonumber(param))*360/(2*math.pi)
end,
})
advtrains.firstobject=nil
minetest.register_tool("advtrains:connect",
{
description = "connect wagons tool",
groups = {cracky=1}, -- key=name, value=rating; rating=1..3.
inventory_image = "drwho_screwdriver.png",
wield_image = "drwho_screwdriver.png",
stack_max = 1,
range = 7.0,
on_place = function(itemstack, placer, pointed_thing)
end,
--[[
^ Shall place item and return the leftover itemstack
^ default: minetest.item_place ]]
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type=="object" then
local luaent=pointed_thing.ref:get_luaentity()
if luaent and luaent.is_wagon then
if advtrains.firstobject then
minetest.chat_send_all("connect second object "..luaent.unique_id)
advtrains.connect_wagons(luaent, advtrains.firstobject)
minetest.chat_send_all("done")
advtrains.firstobject=nil
else
advtrains.firstobject=luaent
minetest.chat_send_all("connect first object "..luaent.unique_id)
end
end
end
end,
--[[
^ default: nil
^ Function must return either nil if no item shall be removed from
inventory, or an itemstack to replace the original itemstack.
e.g. itemstack:take_item(); return itemstack
^ Otherwise, the function is free to do what it wants.
^ The default functions handle regular use cases.
]]
})
minetest.register_tool("advtrains:tttool",
{
description = "traintester tool",
groups = {cracky=1}, -- key=name, value=rating; rating=1..3.
inventory_image = "drwho_screwdriver.png",
wield_image = "drwho_screwdriver.png",
stack_max = 1,
range = 7.0,
on_place = function(itemstack, placer, pointed_thing)
end,
--[[
^ Shall place item and return the leftover itemstack
^ default: minetest.item_place ]]
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type=="object" then
local luaent=pointed_thing.ref:get_luaentity()
if luaent and luaent.is_wagon then
minetest.chat_send_all("wagon yaw is "..pointed_thing.ref:getyaw())
minetest.chat_send_all("trains last yaw is set to "..luaent:train().last_front_yaw)
minetest.chat_send_all("end report")
end
else
minetest.chat_send_all(dump(minetest.get_node(pointed_thing.under)))
local c1, c2=advtrains.get_track_connections(minetest.get_node(pointed_thing.under).name, minetest.get_node(pointed_thing.under).param2)
minetest.chat_send_all(c1.." <-> "..c2)
end
end,
--[[
^ default: nil
^ Function must return either nil if no item shall be removed from
inventory, or an itemstack to replace the original itemstack.
e.g. itemstack:take_item(); return itemstack
^ Otherwise, the function is free to do what it wants.
^ The default functions handle regular use cases.
]]
}
)