diff options
author | Maverick2797 <git.maverick2797@gmail.com> | 2024-08-09 19:47:27 +0800 |
---|---|---|
committer | gpcf <gpcf@gpcf.eu> | 2024-08-09 14:15:42 +0200 |
commit | 9d7cec6151c0a9eca2454e9d6c85bc5596c5e946 (patch) | |
tree | 5d3a17c890b049ace321cdf905ebcb34a70e86c6 /advtrains/wagonprop_tool.lua | |
parent | 45e5ad3b378b17be7e0ce314ba964e01792d673d (diff) | |
download | advtrains-9d7cec6151c0a9eca2454e9d6c85bc5596c5e946.tar.gz advtrains-9d7cec6151c0a9eca2454e9d6c85bc5596c5e946.tar.bz2 advtrains-9d7cec6151c0a9eca2454e9d6c85bc5596c5e946.zip |
Add Wagon Properties Tool
Also added the Wagon ID to the Wagon Properties formspec
Diffstat (limited to 'advtrains/wagonprop_tool.lua')
-rw-r--r-- | advtrains/wagonprop_tool.lua | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/advtrains/wagonprop_tool.lua b/advtrains/wagonprop_tool.lua new file mode 100644 index 0000000..2a4a9e2 --- /dev/null +++ b/advtrains/wagonprop_tool.lua @@ -0,0 +1,43 @@ +minetest.register_craftitem("advtrains:wagon_prop_tool",{ --craftitem because it does nothing on its own + description = attrans("Wagon Properties Tool\nPunch a wagon to view and edit the Wagon Properties"), + short_description = attrans("Wagon Properties Tool"), + groups = {}, + inventory_image = "advtrains_wagon_prop_tool.png", + wield_image = "advtrains_wagon_prop_tool.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + local pname = user:get_player_name() + if not pname or pname == "" then + return + end + + --sanity checks in case of clicking the wrong entity/node/nothing + if pointed_thing.type ~= "object" then return end --not an entity + local object = pointed_thing.ref:get_luaentity() + if not object.id then return end --entity doesn't have an id field + + local wagon = advtrains.wagons[object.id] --check if wagon exists in advtrains + if not wagon then --not a wagon + return + end --end sanity checks + + --whitelist protection check + if not advtrains.check_driving_couple_protection(pname,wagon.owner,wagon.whitelist) then + minetest.chat_send_player(pname, attrans("Insufficient privileges to use this!")) + return + end + object:show_wagon_properties(pname) + return itemstack + end, +}) + +if minetest.get_modpath("default") then --register recipe + minetest.register_craft({ + output = "advtrains:wagon_prop_tool", + recipe = { + {"advtrains:dtrack_placer","dye:black","default:paper"}, + {"screwdriver:screwdriver","default:paper","default:paper"}, + {"","","group:wood"}, + } + }) +end
\ No newline at end of file |