aboutsummaryrefslogtreecommitdiff
path: root/debugitems.lua
diff options
context:
space:
mode:
Diffstat (limited to 'debugitems.lua')
-rw-r--r--debugitems.lua138
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.
+]]
+}
+)