diff options
Diffstat (limited to 'debugitems.lua')
-rw-r--r-- | debugitems.lua | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/debugitems.lua b/debugitems.lua new file mode 100644 index 0000000..89399d2 --- /dev/null +++ b/debugitems.lua @@ -0,0 +1,138 @@ + +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. +]] +} +) |