Track can-dig check: also notify user when digging is not allowed

master
orwell96 2021-03-12 17:30:50 +01:00
parent 0c7beca20e
commit 2dcf60dec6
2 changed files with 11 additions and 1 deletions

View File

@ -66,6 +66,7 @@ Subway Passenger Wagon=U-Bahn-Waggon
The wagon's inventory is not empty!=Das Inventar dieses Waggons ist nicht leer!
This track can not be changed!=Diese Schiene kann nicht geändert werden!
This track can not be rotated!=Diese Schiene kann nicht gedreht werden!
This track can not be removed!=Diese Schiene kann nicht entfernt werden!
Position is occupied by a train.=Ein Zug steht an dieser Position.
There's a Track Circuit Break here.=Hier ist eine Gleisabschnittsgrenze (TCB).
There's a Signal Influence Point here.=Hier ist ein Signal-Beeinflussungspunkt.

View File

@ -442,6 +442,15 @@ Depending on the number of connections:
- conn3 <> conn4
]]
-- Notify the user if digging the rail is not allowed
local function can_dig_callback(pos, player)
local ok, reason = advtrains.can_dig_or_modify_track(pos)
if not ok and player then
minetest.chat_send_player(player:get_player_name(), attrans("This track can not be removed!") .. " " .. reason)
end
return ok
end
function advtrains.register_tracks(tracktype, def, preset)
advtrains.trackplacer.register_tracktype(def.nodename_prefix, preset.tpdefault)
if preset.regtp then
@ -478,7 +487,7 @@ function advtrains.register_tracks(tracktype, def, preset)
not_blocking_trains=1,
},
can_dig = advtrains.can_dig_or_modify_track,
can_dig = can_dig_callback,
after_dig_node=function(pos)
advtrains.ndb.update(pos)
end,