diff options
author | Y. Wang <yw05@forksworld.de> | 2023-01-06 18:23:15 +0100 |
---|---|---|
committer | Y. Wang <yw05@forksworld.de> | 2023-03-23 20:06:02 +0100 |
commit | d443d8e07af89665a6bb3d87af91f43f08a6c47e (patch) | |
tree | ccb18a6ba184ec5b08835ed2762e680a1cb44f01 /advtrains_interlocking/distant_ui.lua | |
parent | 2d072cdc67ec3018eaba36b7c79c2b19e574a94d (diff) | |
download | advtrains-d443d8e07af89665a6bb3d87af91f43f08a6c47e.tar.gz advtrains-d443d8e07af89665a6bb3d87af91f43f08a6c47e.tar.bz2 advtrains-d443d8e07af89665a6bb3d87af91f43f08a6c47e.zip |
Distant signaling: avoid signal signs
Diffstat (limited to 'advtrains_interlocking/distant_ui.lua')
-rw-r--r-- | advtrains_interlocking/distant_ui.lua | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/advtrains_interlocking/distant_ui.lua b/advtrains_interlocking/distant_ui.lua index 0907684..bb66dc4 100644 --- a/advtrains_interlocking/distant_ui.lua +++ b/advtrains_interlocking/distant_ui.lua @@ -56,6 +56,10 @@ local function init_signal_assignment(pname, pos) minetest.chat_send_player(pname, attrans("This operation is not allowed without the @1 privilege.", "interlocking")) return end + if not D.appropriate_signal(pos) then + minetest.chat_send_player(pname, attrans("Incompatible signal.")) + return + end signal_pos[pname] = pos minetest.chat_send_player(pname, attrans("Please punch the signal to use as the main signal.")) end @@ -66,6 +70,10 @@ local function init_distant_assignment(pname, pos) minetest.send_chat_player(pname, attrans("This operation is now allowed without the @1 privilege.", "interlocking")) return end + if not D.appropriate_signal(pos) then + minetest.chat_send_player(pname, attrans("Incompatible signal.")) + return + end distant_pos[pname] = pos minetest.chat_send_player(pname, attrans("Please punch the signal to use as the distant signal.")) end @@ -87,7 +95,7 @@ minetest.register_on_punchnode(function(pos, node, player, pointed_thing) signal_pos[pname] = nil distant_pos[pname] = nil local is_signal = minetest.get_item_group(node.name, "advtrains_signal") >= 2 - if not is_signal then + if not (is_signal and D.appropriate_signal(pos)) then minetest.chat_send_player(pname, attrans("Incompatible signal.")) return end |