aboutsummaryrefslogtreecommitdiff
path: root/advtrains_luaautomation/pcnaming.lua
diff options
context:
space:
mode:
authorSingularis <singularis@volny.cz>2022-07-05 06:48:19 +0200
committerorwell <orwell@bleipb.de>2025-05-27 20:22:01 +0200
commitec223d6f3d5d1a7e1257c468d169a0353ec0963e (patch)
tree683c7a10e32e077b37ece37004442e8c66ebb7f8 /advtrains_luaautomation/pcnaming.lua
parent744aee2cdd319bc19e83cc9efb52a07ae6adbb06 (diff)
downloadadvtrains-ec223d6f3d5d1a7e1257c468d169a0353ec0963e.tar.gz
advtrains-ec223d6f3d5d1a7e1257c468d169a0353ec0963e.tar.bz2
advtrains-ec223d6f3d5d1a7e1257c468d169a0353ec0963e.zip
[advtrains]
- odebrán mód advtrains_luaautomation - lokalizace - zastaralá funkce getpos() nahrazena za get_pos()
Diffstat (limited to 'advtrains_luaautomation/pcnaming.lua')
-rw-r--r--advtrains_luaautomation/pcnaming.lua81
1 files changed, 0 insertions, 81 deletions
diff --git a/advtrains_luaautomation/pcnaming.lua b/advtrains_luaautomation/pcnaming.lua
deleted file mode 100644
index 71f4d9a..0000000
--- a/advtrains_luaautomation/pcnaming.lua
+++ /dev/null
@@ -1,81 +0,0 @@
---pcnaming.lua
---a.k.a Passive component naming
---Allows to assign names to passive components, so they can be called like:
---setstate("iamasignal", "green")
-atlatc.pcnaming={name_map={}}
-function atlatc.pcnaming.load(stuff)
- if type(stuff)=="table" then
- atlatc.pcnaming.name_map=stuff
- end
-end
-function atlatc.pcnaming.save()
- return atlatc.pcnaming.name_map
-end
-
-function atlatc.pcnaming.resolve_pos(pos, func_name)
- if type(pos)=="string" then
- local e = atlatc.pcnaming.name_map[pos]
- if e then return e end
- elseif type(pos)=="table" and pos.x and pos.y and pos.z then
- return pos
- end
- error("Invalid position supplied to " .. (func_name or "???")..": " .. dump(pos))
-end
-
-minetest.register_craftitem("advtrains_luaautomation:pcnaming",{
- description = attrans("Passive Component Naming Tool\n\nRight-click to name a passive component."),
- groups = {cracky=1}, -- key=name, value=rating; rating=1..3.
- inventory_image = "atlatc_pcnaming.png",
- wield_image = "atlatc_pcnaming.png",
- stack_max = 1,
- on_place = function(itemstack, placer, pointed_thing)
- local pname = placer:get_player_name()
- if not pname then
- return
- end
- if not minetest.check_player_privs(pname, {atlatc=true}) then
- minetest.chat_send_player(pname, "Missing privilege: atlatc")
- return
- end
- if pointed_thing.type=="node" then
- local pos=pointed_thing.under
- if advtrains.is_protected(pos, pname) then
- minetest.record_protection_violation(pos, pname)
- return
- end
- local node = advtrains.ndb.get_node(pos)
- local ndef = minetest.registered_nodes[node.name]
- if node.name and (
- minetest.get_item_group(node.name, "advtrains_signal")>0 --is IL signal
- or advtrains.is_passive(pos) -- is passive component
- or (ndef and ndef.luaautomation) -- is active component
- ) then
- --look if this one already has a name
- local pn=""
- for name, npos in pairs(atlatc.pcnaming.name_map) do
- if vector.equals(npos, pos) then
- pn=name
- end
- end
- minetest.show_formspec(pname, "atlatc_naming_"..minetest.pos_to_string(pos), "field[pn;Set name of component (empty to clear);"..minetest.formspec_escape(pn).."]")
- end
- end
- end,
-})
-minetest.register_on_player_receive_fields(function(player, formname, fields)
- local pts=string.match(formname, "^atlatc_naming_(.+)")
- if pts then
- local pos=minetest.string_to_pos(pts)
- if fields.pn then
- --first remove all occurences
- for name, npos in pairs(atlatc.pcnaming.name_map) do
- if vector.equals(npos, pos) then
- atlatc.pcnaming.name_map[name]=nil
- end
- end
- if fields.pn~="" then
- atlatc.pcnaming.name_map[fields.pn]=pos
- end
- end
- end
-end)