mirror of
https://github.com/minetest-mods/3d_armor.git
synced 2025-07-01 15:50:41 +02:00
From the start my prior PR was aiming at compatibility with legacy clients and servers. If you scan the MT forum you will become aware that there seem to be quite many MT 0.4 servers around which are actively used by many players. However, the best solution may be this example of a new piece of improved code, if I understand the MT Lua code correctly. ``` -- print to log after mod was loaded successfully local load_message = "[MOD] XXX loaded" if minetest.log then minetest.log("info", load_message) -- aims at state of the art MT software else print (load_message) -- aims at legacy MT software used in the field end ``` Hope this helps.
47 lines
1.4 KiB
Lua
47 lines
1.4 KiB
Lua
-- support for i18n
|
|
local S = minetest.get_translator(minetest.get_current_modname())
|
|
local F = minetest.formspec_escape
|
|
|
|
if not minetest.global_exists("inventory_plus") then
|
|
minetest.log("warning", S("3d_armor_ip: Mod loaded but unused."))
|
|
return
|
|
end
|
|
|
|
armor.formspec = "size[8,8.5]button[6,0;2,0.5;main;"..F(S("Back")).."]"..armor.formspec
|
|
armor:register_on_update(function(player)
|
|
local name = player:get_player_name()
|
|
local formspec = armor:get_armor_formspec(name, true)
|
|
local page = player:get_inventory_formspec()
|
|
if page:find("detached:"..name.."_armor") then
|
|
inventory_plus.set_inventory_formspec(player, formspec)
|
|
end
|
|
end)
|
|
|
|
if minetest.get_modpath("crafting") then
|
|
inventory_plus.get_formspec = function(player, page)
|
|
end
|
|
end
|
|
|
|
minetest.register_on_joinplayer(function(player)
|
|
inventory_plus.register_button(player,"armor", S("Armor"))
|
|
end)
|
|
|
|
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|
if fields.armor then
|
|
local name = armor:get_valid_player(player, "[on_player_receive_fields]")
|
|
if not name then
|
|
return
|
|
end
|
|
local formspec = armor:get_armor_formspec(name, true)
|
|
inventory_plus.set_inventory_formspec(player, formspec)
|
|
end
|
|
end)
|
|
|
|
-- print to log after mod was loaded successfully
|
|
local load_message = "[MOD] 3D Armor IP loaded"
|
|
if minetest.log then
|
|
minetest.log("info", load_message) -- aims at state of the art MT software
|
|
else
|
|
print (load_message) -- aims at legacy MT software used in the field
|
|
end
|