Add legacy support for updating node meta
parent
f447635651
commit
5a1c085384
|
@ -1,4 +1,5 @@
|
|||
local water_level = tonumber(minetest.get_mapgen_setting("water_level"))
|
||||
local S = minetest.get_translator("rp_default")
|
||||
|
||||
--
|
||||
-- Functions/ABMs
|
||||
|
@ -127,6 +128,43 @@ minetest.register_lbm(
|
|||
}
|
||||
)
|
||||
|
||||
-- Update nodes after the rename orgy after 1.5.3
|
||||
minetest.register_lbm(
|
||||
{
|
||||
label = "Update signs",
|
||||
name = "rp_default:update_signs",
|
||||
nodenames = {"rp_default:sign"},
|
||||
action = function(pos, node)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local text = meta:get_string("text")
|
||||
meta:set_string("infotext", S('"@1"', text))
|
||||
end
|
||||
}
|
||||
)
|
||||
minetest.register_lbm(
|
||||
{
|
||||
label = "Update bookshelves",
|
||||
name = "rp_default:update_bookshelves",
|
||||
nodenames = {"rp_default:bookshelf"},
|
||||
action = function(pos, node)
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
def.on_construct(pos)
|
||||
end
|
||||
}
|
||||
)
|
||||
minetest.register_lbm(
|
||||
{
|
||||
label = "Update chests",
|
||||
name = "rp_default:update_chests",
|
||||
nodenames = {"rp_default:chest"},
|
||||
action = function(pos, node)
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
def.on_construct(pos)
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
-- Vertical plants
|
||||
|
||||
function default.dig_up(pos, node, digger)
|
||||
|
|
|
@ -400,6 +400,19 @@ achievements.register_achievement(
|
|||
dignode = "rp_jewels:jewel_ore",
|
||||
})
|
||||
|
||||
-- Update node after the rename orgy after 1.5.3
|
||||
minetest.register_lbm(
|
||||
{
|
||||
label = "Update jeweler's workbench",
|
||||
name = "rp_jewels:update_bench",
|
||||
nodenames = {"rp_jewels:bench"},
|
||||
action = function(pos, node)
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
def.on_construct(pos)
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
-- The tool jewel definitions
|
||||
|
||||
dofile(minetest.get_modpath("rp_jewels").."/jewels.lua")
|
||||
|
|
|
@ -5,6 +5,13 @@
|
|||
--
|
||||
|
||||
local S = minetest.get_translator("rp_locks")
|
||||
local N = function(s) return s end
|
||||
|
||||
local INFOTEXT_PUBLIC = N("Locked Chest")
|
||||
local INFOTEXT_OWNED = N("Locked Chest (Owned by @1)")
|
||||
local INFOTEXT_CRACKED_PUBLIC = N("Locked Chest (cracked open)")
|
||||
local INFOTEXT_CRACKED_OWNED = N("Locked Chest (cracked open) (Owned by @1)")
|
||||
local INFOTEXT_NAMED_OWNED = N("@1 (Owned by @2)")
|
||||
|
||||
locks = {}
|
||||
|
||||
|
@ -91,9 +98,9 @@ minetest.register_tool(
|
|||
|
||||
local owner = meta:get_string("lock_owner")
|
||||
if owner == "" then
|
||||
meta:set_string("infotext", S("Locked Chest (cracked open)"))
|
||||
meta:set_string("infotext", S(INFOTEXT_CRACKED_PUBLIC))
|
||||
else
|
||||
meta:set_string("infotext", S("Locked Chest (cracked open) (Owned by @1)", owner))
|
||||
meta:set_string("infotext", S(INFOTEXT_CRACKED_OWNED, owner))
|
||||
end
|
||||
|
||||
-- TODO: Add graphical effect to show success
|
||||
|
@ -153,10 +160,10 @@ local put_lock = function(itemstack, putter, pointed_thing)
|
|||
minetest.swap_node(pos, node)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if name ~= "" then
|
||||
meta:set_string("infotext", S("Locked Chest (Owned by @1)", name))
|
||||
meta:set_string("infotext", S(INFOTEXT_OWNED, name))
|
||||
meta:set_string("lock_owner", name)
|
||||
else
|
||||
meta:set_string("infotext", S("Locked Chest"))
|
||||
meta:set_string("infotext", S(INFOTEXT_PUBLIC))
|
||||
end
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
itemstack:take_item()
|
||||
|
@ -199,7 +206,7 @@ minetest.register_node(
|
|||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_int("lock_cracked", 0)
|
||||
meta:set_string("infotext", S("Locked Chest"))
|
||||
meta:set_string("infotext", S(INFOTEXT_PUBLIC))
|
||||
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8 * 4)
|
||||
|
@ -208,7 +215,7 @@ minetest.register_node(
|
|||
local name = player:get_player_name()
|
||||
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("infotext", S("Locked Chest (Owned by @1)", name))
|
||||
meta:set_string("infotext", S(INFOTEXT_OWNED, name))
|
||||
meta:set_string("lock_owner", name)
|
||||
end,
|
||||
on_rightclick = function(pos, node, player)
|
||||
|
@ -238,9 +245,9 @@ minetest.register_node(
|
|||
meta:set_int("lock_cracked", 0)
|
||||
local owner = meta:get_string("lock_owner")
|
||||
if owner == "" then
|
||||
meta:set_string("infotext", S("Locked Chest"))
|
||||
meta:set_string("infotext", INFOTEXT_PUBLIC)
|
||||
else
|
||||
meta:set_string("infotext", S("Locked Chest (Owned by @1)", owner))
|
||||
meta:set_string("infotext", S(INFOTEXT_OWNED, owner))
|
||||
end
|
||||
end,
|
||||
allow_metadata_inventory_move = function(pos, from_l, from_i, to_l, to_i, cnt, player)
|
||||
|
@ -288,10 +295,10 @@ minetest.register_node(
|
|||
local meta = minetest.get_meta(pos)
|
||||
|
||||
if text == "" then
|
||||
meta:set_string("infotext", S("Locked Chest (Owned by @1)",
|
||||
meta:set_string("infotext", S(INFOTEXT_OWNED,
|
||||
meta:get_string("lock_owner")))
|
||||
else
|
||||
meta:set_string("infotext", S("@1 (Owned by @2)",
|
||||
meta:set_string("infotext", S(INFOTEXT_NAMED_OWNED,
|
||||
text, meta:get_string("lock_owner")))
|
||||
end
|
||||
end,
|
||||
|
@ -346,6 +353,33 @@ achievements.register_achievement(
|
|||
times = 1,
|
||||
})
|
||||
|
||||
-- Update node after the rename orgy after 1.5.3
|
||||
minetest.register_lbm(
|
||||
{
|
||||
label = "Update locked chests",
|
||||
name = "rp_locks:update_locked_chests",
|
||||
nodenames = {"rp_locks:chest"},
|
||||
action = function(pos, node)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = meta:get_string("lock_owner")
|
||||
local cracked = meta:get_int("lock_cracked") == 1
|
||||
if cracked then
|
||||
if owner ~= "" then
|
||||
meta:set_string("infotext", S(INFOTEXT_CRACKED_OWNED, owner))
|
||||
else
|
||||
meta:set_string("infotext", S(INFOTEXT_CRACKED_PUBLIC))
|
||||
end
|
||||
else
|
||||
if owner ~= "" then
|
||||
meta:set_string("infotext", S(INFOTEXT_OWNED, owner))
|
||||
else
|
||||
meta:set_string("infotext", S(INFOTEXT_PUBLIC))
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
)
|
||||
|
||||
minetest.register_alias("locks:chest", "rp_locks:chest")
|
||||
minetest.register_alias("locks:lock", "rp_locks:lock")
|
||||
minetest.register_alias("locks:pick", "rp_locks:pick")
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
--
|
||||
local S = minetest.get_translator("rp_music")
|
||||
|
||||
local INFOTEXT_ON = S("Music Player (on)")
|
||||
local INFOTEXT_OFF = S("Music Player (off)")
|
||||
local INFOTEXT_DISABLED = S("Music Player (disabled by server)")
|
||||
|
||||
music = {}
|
||||
|
||||
music.tracks = {
|
||||
|
@ -23,7 +27,7 @@ if minetest.settings:get_bool("music_enable") then
|
|||
local dp = minetest.hash_node_position(pos)
|
||||
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("infotext", S("Music Player (off)"))
|
||||
meta:set_string("infotext", INFOTEXT_OFF)
|
||||
meta:set_int("music_player_enabled", 0)
|
||||
|
||||
if music.players[dp] ~= nil then
|
||||
|
@ -36,7 +40,7 @@ if minetest.settings:get_bool("music_enable") then
|
|||
local dp = minetest.hash_node_position(pos)
|
||||
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("infotext", S("Music Player (on)"))
|
||||
meta:set_string("infotext", INFOTEXT_ON)
|
||||
meta:set_int("music_player_enabled", 1)
|
||||
|
||||
-- Get track or set random track if not set
|
||||
|
@ -201,7 +205,7 @@ else
|
|||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
|
||||
meta:set_string("infotext", S("Music Player (disabled by server)"))
|
||||
meta:set_string("infotext", INFOTEXT_DISABLED)
|
||||
end,
|
||||
|
||||
groups = {oddly_breakable_by_hand = 3, attached_node = 1}
|
||||
|
@ -217,6 +221,28 @@ crafting.register_craft(
|
|||
}
|
||||
})
|
||||
|
||||
-- Update nodes after the rename orgy after 1.5.3
|
||||
minetest.register_lbm(
|
||||
{
|
||||
label = "Update music players",
|
||||
name = "rp_music:update_music_players",
|
||||
nodenames = {"rp_music:player"},
|
||||
action = function(pos, node)
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
if minetest.settings:get_bool("music_enable") then
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta:get_int("music_player_enabled") == 1 then
|
||||
meta:set_string("infotext", INFOTEXT_ON)
|
||||
else
|
||||
meta:set_string("infotext", INFOTEXT_OFF)
|
||||
end
|
||||
else
|
||||
meta:set_string("infotext", INFOTEXT_DISABLED)
|
||||
end
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
minetest.register_alias("music:player", "rp_music:player")
|
||||
|
||||
default.log("mod:rp_music", "loaded")
|
||||
|
|
Loading…
Reference in New Issue