From f9cbe09d0cef5caf29609d0797286f9195daefa6 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 9 Oct 2021 13:25:13 +0200 Subject: [PATCH] Tweak wrench messages --- mods/doors/api.lua | 37 +++++++++++++++++++++++-------------- mods/doors/register.lua | 6 ++++++ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/mods/doors/api.lua b/mods/doors/api.lua index af6d192..35aee23 100644 --- a/mods/doors/api.lua +++ b/mods/doors/api.lua @@ -306,26 +306,35 @@ local function on_adjust_door( pos, node, player, mode ) if is_door_protected( pos, ndef, player_name ) then return false end - if mode == doors.ADJUST_LOCKING and ndef.is_lockable and locking_mode > 0 then - local mode_defs = { "unlocked", "locked", "shared" } + if mode == doors.ADJUST_LOCKING then + if ndef.is_lockable and locking_mode > 0 then + local mode_defs = { S("unlocked"), S("locked"), S("shared") } - locking_mode = locking_mode % 3 + 1 - minetest.chat_send_player( player_name, "Door locking is set to " .. mode_defs[ locking_mode ] .. "." ) - meta:set_int( "locking_mode", locking_mode ) + locking_mode = locking_mode % 3 + 1 + minetest.chat_send_player(player_name, minetest.colorize("#00FFFF", S("Door locking is set to @1.", mode_defs[locking_mode]))) + meta:set_int( "locking_mode", locking_mode ) - return true + return true + else + minetest.chat_send_player(player_name, minetest.colorize("#FFFF00", S("This door does not provide locking adjustments."))) + return false + end + elseif mode == doors.ADJUST_CLOSING then + if ndef.is_closable and closing_mode > 0 then + local mode_defs = { "manual", "auto-close", "hold-open" } - elseif mode == doors.ADJUST_CLOSING and ndef.is_closable and closing_mode > 0 then - local mode_defs = { "manual", "auto-close", "hold-open" } + closing_mode = closing_mode % 3 + 1 + minetest.chat_send_player(player_name, minetest.colorize("#00FFFF", S("Door closing is set to @1.", mode_defs[closing_mode]))) + meta:set_int( "closing_mode", closing_mode ) - closing_mode = closing_mode % 3 + 1 - minetest.chat_send_player( player_name, "Door closing is set to " .. mode_defs[ closing_mode ] .. "." ) - meta:set_int( "closing_mode", closing_mode ) - - return true + return true + else + minetest.chat_send_player(player_name, minetest.colorize("#FFFF00", S("This door does not provide closing adjustments."))) + return false + end end - minetest.chat_send_player( player_name, "This door does not provide locking and/or closing adjustments." ) + minetest.log("error", "[doors] Invalid mode argument in on_adjust_door! (mode="..tostring(mode)..")") return false end diff --git a/mods/doors/register.lua b/mods/doors/register.lua index 4320bbf..e4b8e71 100644 --- a/mods/doors/register.lua +++ b/mods/doors/register.lua @@ -115,6 +115,9 @@ doors.register_door("doors:door_steel", { sound_open = "doors_steel_door_open", sound_close = "doors_steel_door_close", sunlight_propagates = false, + is_closable = true, + is_lockable = true, + can_center = true, }) minetest.register_craft({ @@ -353,6 +356,9 @@ doors.register_trapdoor("doors:trapdoor_steel", { sound_open = "doors_steel_door_open", sound_close = "doors_steel_door_close", groups = {cracky = 1, level = 2, door = 1}, + is_closable = true, + is_lockable = true, + can_center = true, }) minetest.register_craft({