mirror of
https://github.com/minetest-mods/3d_armor.git
synced 2025-06-29 23:00:55 +02:00
Compare commits
15 Commits
multiskin
...
version-0.
Author | SHA1 | Date | |
---|---|---|---|
688e21f285 | |||
ea70066d7a | |||
d5896a04e2 | |||
d979815a49 | |||
cca523f193 | |||
ae448c150c | |||
925b39f577 | |||
0454d72c72 | |||
9fa95b2e2c | |||
43c9984d57 | |||
cc26d04345 | |||
38d79b91a1 | |||
db8fb5ebd4 | |||
2150fcea8d | |||
9577fb773e |
@ -68,9 +68,6 @@ armor_fire_protect = false
|
|||||||
-- Enable punch damage effects.
|
-- Enable punch damage effects.
|
||||||
armor_punch_damage = true
|
armor_punch_damage = true
|
||||||
|
|
||||||
-- Enable migration of old armor inventories
|
|
||||||
armor_migrate_old_inventory = true
|
|
||||||
|
|
||||||
API
|
API
|
||||||
---
|
---
|
||||||
|
|
||||||
|
141
3d_armor/api.lua
141
3d_armor/api.lua
@ -1,4 +1,7 @@
|
|||||||
local use_multiskin = minetest.global_exists("multiskin")
|
-- support for i18n
|
||||||
|
local S = armor_i18n.gettext
|
||||||
|
|
||||||
|
local skin_previews = {}
|
||||||
local use_player_monoids = minetest.global_exists("player_monoids")
|
local use_player_monoids = minetest.global_exists("player_monoids")
|
||||||
local use_armor_monoid = minetest.global_exists("armor_monoid")
|
local use_armor_monoid = minetest.global_exists("armor_monoid")
|
||||||
local armor_def = setmetatable({}, {
|
local armor_def = setmetatable({}, {
|
||||||
@ -39,7 +42,7 @@ armor = {
|
|||||||
"list[current_player;main;0,5.85;8,3;8]",
|
"list[current_player;main;0,5.85;8,3;8]",
|
||||||
def = armor_def,
|
def = armor_def,
|
||||||
textures = armor_textures,
|
textures = armor_textures,
|
||||||
default_skin = "character.png",
|
default_skin = "character",
|
||||||
materials = {
|
materials = {
|
||||||
wood = "group:wood",
|
wood = "group:wood",
|
||||||
cactus = "default:cactus",
|
cactus = "default:cactus",
|
||||||
@ -69,8 +72,7 @@ armor = {
|
|||||||
on_damage = {},
|
on_damage = {},
|
||||||
on_destroy = {},
|
on_destroy = {},
|
||||||
},
|
},
|
||||||
migrate_old_inventory = true,
|
version = "0.4.10",
|
||||||
version = "0.4.9",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
armor.config = {
|
armor.config = {
|
||||||
@ -157,45 +159,36 @@ armor.run_callbacks = function(self, callback, player, index, stack)
|
|||||||
end
|
end
|
||||||
|
|
||||||
armor.update_player_visuals = function(self, player)
|
armor.update_player_visuals = function(self, player)
|
||||||
local name = self:get_valid_player(player, "[update_player_visuals]")
|
if not player then
|
||||||
if not name then
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local textures = {
|
local name = player:get_player_name()
|
||||||
"blank.png",
|
if self.textures[name] then
|
||||||
"blank.png",
|
default.player_set_textures(player, {
|
||||||
|
self.textures[name].skin,
|
||||||
self.textures[name].armor,
|
self.textures[name].armor,
|
||||||
self.textures[name].wielditem,
|
self.textures[name].wielditem,
|
||||||
}
|
})
|
||||||
if use_multiskin then
|
|
||||||
multiskin.textures[name] = textures
|
|
||||||
multiskin.update_player_visuals(player)
|
|
||||||
else
|
|
||||||
textures[1] = armor.default_skin
|
|
||||||
default.player_set_textures(player, textures)
|
|
||||||
end
|
end
|
||||||
self:run_callbacks("on_update", player)
|
self:run_callbacks("on_update", player)
|
||||||
end
|
end
|
||||||
|
|
||||||
armor.set_player_armor = function(self, player)
|
armor.set_player_armor = function(self, player)
|
||||||
local name, armor_inv = self:get_valid_player(player, "[set_player_armor]")
|
local name, player_inv = self:get_valid_player(player, "[set_player_armor]")
|
||||||
if not name then
|
if not name then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local state = 0
|
local state = 0
|
||||||
local count = 0
|
local count = 0
|
||||||
local material = {count=1}
|
local material = {count=1}
|
||||||
local preview = "3d_armor_preview.png"
|
local preview = armor:get_preview(name)
|
||||||
local texture = "blank.png"
|
local texture = "3d_armor_trans.png"
|
||||||
local textures = {}
|
local textures = {}
|
||||||
local physics = {}
|
local physics = {}
|
||||||
local attributes = {}
|
local attributes = {}
|
||||||
local levels = {}
|
local levels = {}
|
||||||
local groups = {}
|
local groups = {}
|
||||||
local change = {}
|
local change = {}
|
||||||
if use_multiskin then
|
|
||||||
preview = multiskin.get_preview(player) or preview
|
|
||||||
end
|
|
||||||
for _, phys in pairs(self.physics) do
|
for _, phys in pairs(self.physics) do
|
||||||
physics[phys] = 1
|
physics[phys] = 1
|
||||||
end
|
end
|
||||||
@ -206,7 +199,7 @@ armor.set_player_armor = function(self, player)
|
|||||||
change[group] = 1
|
change[group] = 1
|
||||||
levels[group] = 0
|
levels[group] = 0
|
||||||
end
|
end
|
||||||
local list = armor_inv:get_list("armor")
|
local list = player_inv:get_list("armor")
|
||||||
if type(list) ~= "table" then
|
if type(list) ~= "table" then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -225,7 +218,6 @@ armor.set_player_armor = function(self, player)
|
|||||||
local level = def.groups["armor_"..element]
|
local level = def.groups["armor_"..element]
|
||||||
levels["fleshy"] = levels["fleshy"] + level
|
levels["fleshy"] = levels["fleshy"] + level
|
||||||
end
|
end
|
||||||
break
|
|
||||||
end
|
end
|
||||||
-- DEPRECATED, use armor_groups instead
|
-- DEPRECATED, use armor_groups instead
|
||||||
if def.groups["armor_radiation"] and levels["radiation"] then
|
if def.groups["armor_radiation"] and levels["radiation"] then
|
||||||
@ -304,7 +296,7 @@ armor.set_player_armor = function(self, player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
armor.punch = function(self, player, hitter, time_from_last_punch, tool_capabilities)
|
armor.punch = function(self, player, hitter, time_from_last_punch, tool_capabilities)
|
||||||
local name, armor_inv = self:get_valid_player(player, "[punch]")
|
local name, player_inv = self:get_valid_player(player, "[punch]")
|
||||||
if not name then
|
if not name then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -312,7 +304,7 @@ armor.punch = function(self, player, hitter, time_from_last_punch, tool_capabili
|
|||||||
local count = 0
|
local count = 0
|
||||||
local recip = true
|
local recip = true
|
||||||
local default_groups = {cracky=3, snappy=3, choppy=3, crumbly=3, level=1}
|
local default_groups = {cracky=3, snappy=3, choppy=3, crumbly=3, level=1}
|
||||||
local list = armor_inv:get_list("armor")
|
local list = player_inv:get_list("armor")
|
||||||
for i, stack in pairs(list) do
|
for i, stack in pairs(list) do
|
||||||
if stack:get_count() == 1 then
|
if stack:get_count() == 1 then
|
||||||
local name = stack:get_name()
|
local name = stack:get_name()
|
||||||
@ -389,6 +381,29 @@ armor.damage = function(self, player, index, stack, use)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
armor.get_player_skin = function(self, name)
|
||||||
|
if (self.skin_mod == "skins" or self.skin_mod == "simple_skins") and skins.skins[name] then
|
||||||
|
return skins.skins[name]..".png"
|
||||||
|
elseif self.skin_mod == "u_skins" and u_skins.u_skins[name] then
|
||||||
|
return u_skins.u_skins[name]..".png"
|
||||||
|
elseif self.skin_mod == "wardrobe" and wardrobe.playerSkins and wardrobe.playerSkins[name] then
|
||||||
|
return wardrobe.playerSkins[name]
|
||||||
|
end
|
||||||
|
return armor.default_skin..".png"
|
||||||
|
end
|
||||||
|
|
||||||
|
armor.add_preview = function(self, preview)
|
||||||
|
skin_previews[preview] = true
|
||||||
|
end
|
||||||
|
|
||||||
|
armor.get_preview = function(self, name)
|
||||||
|
local preview = string.gsub(armor:get_player_skin(name), ".png", "_preview.png")
|
||||||
|
if skin_previews[preview] then
|
||||||
|
return preview
|
||||||
|
end
|
||||||
|
return "character_preview.png"
|
||||||
|
end
|
||||||
|
|
||||||
armor.get_armor_formspec = function(self, name, listring)
|
armor.get_armor_formspec = function(self, name, listring)
|
||||||
if armor.def[name].init_time == 0 then
|
if armor.def[name].init_time == 0 then
|
||||||
return "label[0,0;Armor not initialized!]"
|
return "label[0,0;Armor not initialized!]"
|
||||||
@ -404,64 +419,12 @@ armor.get_armor_formspec = function(self, name, listring)
|
|||||||
for _, attr in pairs(self.attributes) do
|
for _, attr in pairs(self.attributes) do
|
||||||
formspec = formspec:gsub("armor_attr_"..attr, armor.def[name][attr])
|
formspec = formspec:gsub("armor_attr_"..attr, armor.def[name][attr])
|
||||||
end
|
end
|
||||||
for group, _ in pairs(self.registered_groups) do
|
for _, group in pairs(self.attributes) do
|
||||||
formspec = formspec:gsub("armor_group_"..group,
|
formspec = formspec:gsub("armor_group_"..group, armor.def[name][group])
|
||||||
armor.def[name].groups[group])
|
|
||||||
end
|
end
|
||||||
return formspec
|
return formspec
|
||||||
end
|
end
|
||||||
|
|
||||||
armor.serialize_inventory_list = function(self, list)
|
|
||||||
local list_table = {}
|
|
||||||
for _, stack in ipairs(list) do
|
|
||||||
table.insert(list_table, stack:to_string())
|
|
||||||
end
|
|
||||||
return minetest.serialize(list_table)
|
|
||||||
end
|
|
||||||
|
|
||||||
armor.deserialize_inventory_list = function(self, list_string)
|
|
||||||
local list_table = minetest.deserialize(list_string)
|
|
||||||
local list = {}
|
|
||||||
for _, stack in ipairs(list_table or {}) do
|
|
||||||
table.insert(list, ItemStack(stack))
|
|
||||||
end
|
|
||||||
return list
|
|
||||||
end
|
|
||||||
|
|
||||||
armor.load_armor_inventory = function(self, player)
|
|
||||||
local msg = "[load_armor_inventory]"
|
|
||||||
local name = player:get_player_name()
|
|
||||||
if not name then
|
|
||||||
minetest.log("warning", S("3d_armor: Player name is nil @1", msg))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local armor_inv = minetest.get_inventory({type="detached", name=name.."_armor"})
|
|
||||||
if not armor_inv then
|
|
||||||
minetest.log("warning", S("3d_armor: Detached armor inventory is nil @1", msg))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local armor_list_string = player:get_attribute("3d_armor_inventory")
|
|
||||||
if armor_list_string then
|
|
||||||
armor_inv:set_list("armor", self:deserialize_inventory_list(armor_list_string))
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
armor.save_armor_inventory = function(self, player)
|
|
||||||
local msg = "[save_armor_inventory]"
|
|
||||||
local name = player:get_player_name()
|
|
||||||
if not name then
|
|
||||||
minetest.log("warning", S("3d_armor: Player name is nil @1", msg))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local armor_inv = minetest.get_inventory({type="detached", name=name.."_armor"})
|
|
||||||
if not armor_inv then
|
|
||||||
minetest.log("warning", S("3d_armor: Detached armor inventory is nil @1", msg))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
player:set_attribute("3d_armor_inventory", self:serialize_inventory_list(armor_inv:get_list("armor")))
|
|
||||||
end
|
|
||||||
|
|
||||||
armor.update_inventory = function(self, player)
|
armor.update_inventory = function(self, player)
|
||||||
-- DEPRECATED: Legacy inventory support
|
-- DEPRECATED: Legacy inventory support
|
||||||
end
|
end
|
||||||
@ -470,32 +433,36 @@ armor.set_inventory_stack = function(self, player, i, stack)
|
|||||||
local msg = "[set_inventory_stack]"
|
local msg = "[set_inventory_stack]"
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
if not name then
|
if not name then
|
||||||
minetest.log("warning", "3d_armor: Player name is nil "..msg)
|
minetest.log("warning", S("3d_armor: Player name is nil @1", msg))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
local player_inv = player:get_inventory()
|
||||||
local armor_inv = minetest.get_inventory({type="detached", name=name.."_armor"})
|
local armor_inv = minetest.get_inventory({type="detached", name=name.."_armor"})
|
||||||
if not armor_inv then
|
if not player_inv then
|
||||||
|
minetest.log("warning", S("3d_armor: Player inventory is nil @1", msg))
|
||||||
|
return
|
||||||
|
elseif not armor_inv then
|
||||||
minetest.log("warning", S("3d_armor: Detached armor inventory is nil @1", msg))
|
minetest.log("warning", S("3d_armor: Detached armor inventory is nil @1", msg))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
player_inv:set_stack("armor", i, stack)
|
||||||
armor_inv:set_stack("armor", i, stack)
|
armor_inv:set_stack("armor", i, stack)
|
||||||
self:save_armor_inventory(player)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
armor.get_valid_player = function(self, player, msg)
|
armor.get_valid_player = function(self, player, msg)
|
||||||
msg = msg or ""
|
msg = msg or ""
|
||||||
if not player then
|
if not player then
|
||||||
minetest.log("warning", "3d_armor: Player reference is nil "..msg)
|
minetest.log("warning", S("3d_armor: Player reference is nil @1", msg))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
if not name then
|
if not name then
|
||||||
minetest.log("warning", "3d_armor: Player name is nil "..msg)
|
minetest.log("warning", S("3d_armor: Player name is nil @1", msg))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local inv = minetest.get_inventory({type="detached", name=name.."_armor"})
|
local inv = player:get_inventory()
|
||||||
if not inv then
|
if not inv then
|
||||||
minetest.log("warning", "3d_armor: Player inventory is nil "..msg)
|
minetest.log("warning", S("3d_armor: Player inventory is nil @1", msg))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
return name, inv
|
return name, inv
|
||||||
|
@ -1,13 +1,5 @@
|
|||||||
local S = function(s) return s end
|
-- support for i18n
|
||||||
if minetest.global_exists("intllib") then
|
local S = armor_i18n.gettext
|
||||||
if intllib.make_gettext_pair then
|
|
||||||
-- New method using gettext.
|
|
||||||
S = intllib.make_gettext_pair()
|
|
||||||
else
|
|
||||||
-- Old method using text files.
|
|
||||||
S = intllib.Getter()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
armor:register_armor("3d_armor:helmet_admin", {
|
armor:register_armor("3d_armor:helmet_admin", {
|
||||||
description = S("Admin Helmet"),
|
description = S("Admin Helmet"),
|
||||||
|
@ -5,4 +5,3 @@ fire?
|
|||||||
ethereal?
|
ethereal?
|
||||||
bakedclay?
|
bakedclay?
|
||||||
intllib?
|
intllib?
|
||||||
multiskin?
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
local S = function(s) return s end
|
-- support for i18n
|
||||||
if minetest.global_exists("intllib") then
|
armor_i18n = { }
|
||||||
if intllib.make_gettext_pair then
|
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||||
-- New method using gettext.
|
armor_i18n.gettext, armor_i18n.ngettext = dofile(MP.."/intllib.lua")
|
||||||
S = intllib.make_gettext_pair()
|
-- escaping formspec
|
||||||
else
|
armor_i18n.fgettext = function(...) return minetest.formspec_escape(armor_i18n.gettext(...)) end
|
||||||
-- Old method using text files.
|
-- local functions
|
||||||
S = intllib.Getter()
|
local S = armor_i18n.gettext
|
||||||
end
|
local F = armor_i18n.fgettext
|
||||||
end
|
|
||||||
local modname = minetest.get_current_modname()
|
local modname = minetest.get_current_modname()
|
||||||
local modpath = minetest.get_modpath(modname)
|
local modpath = minetest.get_modpath(modname)
|
||||||
local worldpath = minetest.get_worldpath()
|
local worldpath = minetest.get_worldpath()
|
||||||
@ -65,14 +65,25 @@ for material, _ in pairs(armor.materials) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Mod Compatibility
|
-- Mod Compatibility
|
||||||
if minetest.get_modpath("multiskin") then
|
|
||||||
multiskin.model = "3d_armor_character.b3d"
|
|
||||||
end
|
|
||||||
if minetest.get_modpath("technic") then
|
if minetest.get_modpath("technic") then
|
||||||
armor.formspec = armor.formspec..
|
armor.formspec = armor.formspec..
|
||||||
"label[5,2.5;"..S("Radiation")..": armor_group_radiation]"
|
"label[5,2.5;"..F("Radiation")..": armor_group_radiation]"
|
||||||
armor:register_armor_group("radiation")
|
armor:register_armor_group("radiation")
|
||||||
end
|
end
|
||||||
|
local skin_mods = {"skins", "u_skins", "simple_skins", "wardrobe"}
|
||||||
|
for _, mod in pairs(skin_mods) do
|
||||||
|
local path = minetest.get_modpath(mod)
|
||||||
|
if path then
|
||||||
|
local dir_list = minetest.get_dir_list(path.."/textures")
|
||||||
|
for _, fn in pairs(dir_list) do
|
||||||
|
if fn:find("_preview.png$") then
|
||||||
|
armor:add_preview(fn)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
armor.skin_mod = mod
|
||||||
|
end
|
||||||
|
end
|
||||||
if not minetest.get_modpath("moreores") then
|
if not minetest.get_modpath("moreores") then
|
||||||
armor.materials.mithril = nil
|
armor.materials.mithril = nil
|
||||||
end
|
end
|
||||||
@ -85,39 +96,42 @@ dofile(modpath.."/armor.lua")
|
|||||||
-- Armor Initialization
|
-- Armor Initialization
|
||||||
|
|
||||||
armor.formspec = armor.formspec..
|
armor.formspec = armor.formspec..
|
||||||
"label[5,1;"..S("Level")..": armor_level]"..
|
"label[5,1;"..F("Level")..": armor_level]"..
|
||||||
"label[5,1.5;"..S("Heal")..": armor_attr_heal]"
|
"label[5,1.5;"..F("Heal")..": armor_attr_heal]"
|
||||||
if armor.config.fire_protect then
|
if armor.config.fire_protect then
|
||||||
armor.formspec = armor.formspec.."label[5,2;"..S("Fire")..": armor_fire]"
|
armor.formspec = armor.formspec.."label[5,2;"..F("Fire")..": armor_fire]"
|
||||||
end
|
end
|
||||||
armor:register_on_destroy(function(player, index, stack)
|
armor:register_on_destroy(function(player, index, stack)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
local def = stack:get_definition()
|
local def = stack:get_definition()
|
||||||
if name and def and def.description then
|
if name and def and def.description then
|
||||||
minetest.chat_send_player(name, S("Your").." "..def.description.." "..
|
minetest.chat_send_player(name, S("Your @1 got destroyed!", def.description))
|
||||||
S("got destroyed").."!")
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
local function init_player_armor(player)
|
local function init_player_armor(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
|
local player_inv = player:get_inventory()
|
||||||
local pos = player:getpos()
|
local pos = player:getpos()
|
||||||
if not name or not pos then
|
if not name or not player_inv or not pos then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
local armor_inv = minetest.create_detached_inventory(name.."_armor", {
|
local armor_inv = minetest.create_detached_inventory(name.."_armor", {
|
||||||
on_put = function(inv, listname, index, stack, player)
|
on_put = function(inv, listname, index, stack, player)
|
||||||
armor:save_armor_inventory(player)
|
player:get_inventory():set_stack(listname, index, stack)
|
||||||
armor:run_callbacks("on_equip", player, index, stack)
|
armor:run_callbacks("on_equip", player, index, stack)
|
||||||
armor:set_player_armor(player)
|
armor:set_player_armor(player)
|
||||||
end,
|
end,
|
||||||
on_take = function(inv, listname, index, stack, player)
|
on_take = function(inv, listname, index, stack, player)
|
||||||
armor:save_armor_inventory(player)
|
player:get_inventory():set_stack(listname, index, nil)
|
||||||
armor:run_callbacks("on_unequip", player, index, stack)
|
armor:run_callbacks("on_unequip", player, index, stack)
|
||||||
armor:set_player_armor(player)
|
armor:set_player_armor(player)
|
||||||
end,
|
end,
|
||||||
on_move = function(inv, from_list, from_index, to_list, to_index, count, player)
|
on_move = function(inv, from_list, from_index, to_list, to_index, count, player)
|
||||||
armor:save_armor_inventory(player)
|
local plaver_inv = player:get_inventory()
|
||||||
|
local stack = inv:get_stack(to_list, to_index)
|
||||||
|
player_inv:set_stack(to_list, to_index, stack)
|
||||||
|
player_inv:set_stack(from_list, from_index, nil)
|
||||||
armor:set_player_armor(player)
|
armor:set_player_armor(player)
|
||||||
end,
|
end,
|
||||||
allow_put = function(inv, listname, index, stack, player)
|
allow_put = function(inv, listname, index, stack, player)
|
||||||
@ -144,18 +158,10 @@ local function init_player_armor(player)
|
|||||||
end,
|
end,
|
||||||
}, name)
|
}, name)
|
||||||
armor_inv:set_size("armor", 6)
|
armor_inv:set_size("armor", 6)
|
||||||
if not armor:load_armor_inventory(player) and armor.migrate_old_inventory then
|
|
||||||
local player_inv = player:get_inventory()
|
|
||||||
player_inv:set_size("armor", 6)
|
player_inv:set_size("armor", 6)
|
||||||
for i=1, 6 do
|
for i=1, 6 do
|
||||||
local stack = player_inv:get_stack("armor", i)
|
local stack = player_inv:get_stack("armor", i)
|
||||||
armor_inv:set_stack("armor", i, stack)
|
armor_inv:set_stack("armor", i, stack)
|
||||||
end
|
|
||||||
armor:save_armor_inventory(player)
|
|
||||||
player_inv:set_size("armor", 0)
|
|
||||||
end
|
|
||||||
for i=1, 6 do
|
|
||||||
local stack = armor_inv:get_stack("armor", i)
|
|
||||||
armor:run_callbacks("on_equip", player, i, stack)
|
armor:run_callbacks("on_equip", player, i, stack)
|
||||||
end
|
end
|
||||||
armor.def[name] = {
|
armor.def[name] = {
|
||||||
@ -174,13 +180,24 @@ local function init_player_armor(player)
|
|||||||
for group, _ in pairs(armor.registered_groups) do
|
for group, _ in pairs(armor.registered_groups) do
|
||||||
armor.def[name].groups[group] = 0
|
armor.def[name].groups[group] = 0
|
||||||
end
|
end
|
||||||
|
local skin = armor:get_player_skin(name)
|
||||||
armor.textures[name] = {
|
armor.textures[name] = {
|
||||||
armor = "blank.png",
|
skin = skin,
|
||||||
wielditem = "blank.png",
|
armor = "3d_armor_trans.png",
|
||||||
|
wielditem = "3d_armor_trans.png",
|
||||||
|
preview = armor.default_skin.."_preview.png",
|
||||||
}
|
}
|
||||||
minetest.after(0, function(player)
|
local texture_path = minetest.get_modpath("player_textures")
|
||||||
|
if texture_path then
|
||||||
|
local dir_list = minetest.get_dir_list(texture_path.."/textures")
|
||||||
|
for _, fn in pairs(dir_list) do
|
||||||
|
if fn == "player_"..name..".png" then
|
||||||
|
armor.textures[name].skin = fn
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
armor:set_player_armor(player)
|
armor:set_player_armor(player)
|
||||||
end, player)
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -189,10 +206,9 @@ end
|
|||||||
default.player_register_model("3d_armor_character.b3d", {
|
default.player_register_model("3d_armor_character.b3d", {
|
||||||
animation_speed = 30,
|
animation_speed = 30,
|
||||||
textures = {
|
textures = {
|
||||||
armor.default_skin,
|
armor.default_skin..".png",
|
||||||
"blank.png",
|
"3d_armor_trans.png",
|
||||||
"blank.png",
|
"3d_armor_trans.png",
|
||||||
"blank.png",
|
|
||||||
},
|
},
|
||||||
animations = {
|
animations = {
|
||||||
stand = {x=0, y=79},
|
stand = {x=0, y=79},
|
||||||
@ -204,6 +220,22 @@ default.player_register_model("3d_armor_character.b3d", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
|
local name = armor:get_valid_player(player, "[on_player_receive_fields]")
|
||||||
|
if not name then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
for field, _ in pairs(fields) do
|
||||||
|
if string.find(field, "skins_set") then
|
||||||
|
minetest.after(0, function(player)
|
||||||
|
local skin = armor:get_player_skin(name)
|
||||||
|
armor.textures[name].skin = skin
|
||||||
|
armor:set_player_armor(player)
|
||||||
|
end, player)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
minetest.register_on_joinplayer(function(player)
|
minetest.register_on_joinplayer(function(player)
|
||||||
default.player_set_model(player, "3d_armor_character.b3d")
|
default.player_set_model(player, "3d_armor_character.b3d")
|
||||||
minetest.after(0, function(player)
|
minetest.after(0, function(player)
|
||||||
@ -224,13 +256,13 @@ end)
|
|||||||
|
|
||||||
if armor.config.drop == true or armor.config.destroy == true then
|
if armor.config.drop == true or armor.config.destroy == true then
|
||||||
minetest.register_on_dieplayer(function(player)
|
minetest.register_on_dieplayer(function(player)
|
||||||
local name, armor_inv = armor:get_valid_player(player, "[on_dieplayer]")
|
local name, player_inv = armor:get_valid_player(player, "[on_dieplayer]")
|
||||||
if not name then
|
if not name then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local drop = {}
|
local drop = {}
|
||||||
for i=1, armor_inv:get_size("armor") do
|
for i=1, player_inv:get_size("armor") do
|
||||||
local stack = armor_inv:get_stack("armor", i)
|
local stack = player_inv:get_stack("armor", i)
|
||||||
if stack:get_count() > 0 then
|
if stack:get_count() > 0 then
|
||||||
table.insert(drop, stack)
|
table.insert(drop, stack)
|
||||||
armor:set_inventory_stack(player, i, nil)
|
armor:set_inventory_stack(player, i, nil)
|
||||||
@ -308,7 +340,7 @@ minetest.register_globalstep(function(dtime)
|
|||||||
local remove = init_player_armor(player) == true
|
local remove = init_player_armor(player) == true
|
||||||
pending_players[player] = count + 1
|
pending_players[player] = count + 1
|
||||||
if remove == false and count > armor.config.init_times then
|
if remove == false and count > armor.config.init_times then
|
||||||
minetest.log("warning", "3d_armor: Failed to initialize player")
|
minetest.log("warning", S("3d_armor: Failed to initialize player"))
|
||||||
remove = true
|
remove = true
|
||||||
end
|
end
|
||||||
if remove == true then
|
if remove == true then
|
||||||
@ -329,7 +361,7 @@ if armor.config.fire_protect == true then
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
print ("[3d_armor] Fire Nodes disabled")
|
print (S("[3d_armor] Fire Nodes disabled"))
|
||||||
end
|
end
|
||||||
|
|
||||||
if armor.config.water_protect == true or armor.config.fire_protect == true then
|
if armor.config.water_protect == true or armor.config.fire_protect == true then
|
||||||
|
45
3d_armor/intllib.lua
Normal file
45
3d_armor/intllib.lua
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
-- Fallback functions for when `intllib` is not installed.
|
||||||
|
-- Code released under Unlicense <http://unlicense.org>.
|
||||||
|
|
||||||
|
-- Get the latest version of this file at:
|
||||||
|
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
|
||||||
|
|
||||||
|
local function format(str, ...)
|
||||||
|
local args = { ... }
|
||||||
|
local function repl(escape, open, num, close)
|
||||||
|
if escape == "" then
|
||||||
|
local replacement = tostring(args[tonumber(num)])
|
||||||
|
if open == "" then
|
||||||
|
replacement = replacement..close
|
||||||
|
end
|
||||||
|
return replacement
|
||||||
|
else
|
||||||
|
return "@"..open..num..close
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
|
||||||
|
end
|
||||||
|
|
||||||
|
local gettext, ngettext
|
||||||
|
if minetest.get_modpath("intllib") then
|
||||||
|
if intllib.make_gettext_pair then
|
||||||
|
-- New method using gettext.
|
||||||
|
gettext, ngettext = intllib.make_gettext_pair()
|
||||||
|
else
|
||||||
|
-- Old method using text files.
|
||||||
|
gettext = intllib.Getter()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Fill in missing functions.
|
||||||
|
|
||||||
|
gettext = gettext or function(msgid, ...)
|
||||||
|
return format(msgid, ...)
|
||||||
|
end
|
||||||
|
|
||||||
|
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
|
||||||
|
return format(n==1 and msgid or msgid_plural, ...)
|
||||||
|
end
|
||||||
|
|
||||||
|
return gettext, ngettext
|
384
3d_armor/locale/fr.po
Normal file
384
3d_armor/locale/fr.po
Normal file
@ -0,0 +1,384 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2017-08-06 18:20+0200\n"
|
||||||
|
"PO-Revision-Date: 2017-08-06 18:20+0200\n"
|
||||||
|
"Last-Translator: fat115 <fat115@framasoft.org>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: fr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: Poedit 1.8.12\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player name is nil @1"
|
||||||
|
msgstr "3d_armor : Nom du joueur non trouvé @1"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player inventory is nil @1"
|
||||||
|
msgstr "3d_armor : Inventaire du joueur non trouvé @1"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Detached armor inventory is nil @1"
|
||||||
|
msgstr "3d_armor : Inventaire détaché pour l'armure non trouvé @1"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player reference is nil @1"
|
||||||
|
msgstr "3d_armor : Référence au joueur non trouvée @1"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Helmet"
|
||||||
|
msgstr "Casque d'admin"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Chestplate"
|
||||||
|
msgstr "Cuirasse d'admin"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Leggings"
|
||||||
|
msgstr "Jambières d'admin"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Boots"
|
||||||
|
msgstr "Bottes d'admin"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Helmet"
|
||||||
|
msgstr "Casque en bois"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Chestplate"
|
||||||
|
msgstr "Cuirasse en bois"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Leggings"
|
||||||
|
msgstr "Jambières en bois"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Boots"
|
||||||
|
msgstr "Bottes en bois"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Helmet"
|
||||||
|
msgstr "Casque en cactus"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Chestplate"
|
||||||
|
msgstr "Cuirasse en cactus"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Leggings"
|
||||||
|
msgstr "Jambières en cactus"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Boots"
|
||||||
|
msgstr "Bottes en cactus"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Helmet"
|
||||||
|
msgstr "Casque en acier"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Chestplate"
|
||||||
|
msgstr " = Cuirasse en acier"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Leggings"
|
||||||
|
msgstr "Jambières en acier"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Boots"
|
||||||
|
msgstr "Bottes en acier"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Helmet"
|
||||||
|
msgstr "Casque en bronze"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Chestplate"
|
||||||
|
msgstr "Cuirasse en bronze"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Leggings"
|
||||||
|
msgstr "Jambières en bronze"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Boots"
|
||||||
|
msgstr "Bottes en bronze"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Helmet"
|
||||||
|
msgstr "Casque en diamant"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Chestplate"
|
||||||
|
msgstr "Cuirasse en diamant"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Leggings"
|
||||||
|
msgstr "Jambières en diamant"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Boots"
|
||||||
|
msgstr "Bottes en diamant"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Helmet"
|
||||||
|
msgstr "Casque en or"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Chestplate"
|
||||||
|
msgstr "Cuirasse en or"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Leggings"
|
||||||
|
msgstr "Jambières en or"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Boots"
|
||||||
|
msgstr "Bottes en or"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Helmet"
|
||||||
|
msgstr "Casque en mithril"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Chestplate"
|
||||||
|
msgstr "Cuirasse en mithril"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Leggings"
|
||||||
|
msgstr "Jambières en mithril"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Boots"
|
||||||
|
msgstr "Bottes en mithril"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Helmet"
|
||||||
|
msgstr "Casque en cristal"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Chestplate"
|
||||||
|
msgstr "Cuirasse en cristal"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Leggings"
|
||||||
|
msgstr "Jambières en cristal"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Boots"
|
||||||
|
msgstr "Bottes en cristal"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Radiation"
|
||||||
|
msgstr "Radiation"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Level"
|
||||||
|
msgstr "Niveau"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Heal"
|
||||||
|
msgstr "Soins"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Fire"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "Your @1 got destroyed!"
|
||||||
|
msgstr "Une partie de votre armure a été détruite : @1 !"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "3d_armor: Failed to initialize player"
|
||||||
|
msgstr "3d_armor : Impossible d'initialiser le joueur"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "[3d_armor] Fire Nodes disabled"
|
||||||
|
msgstr "[3d_armor] Noeuds de type feu désactivés"
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua
|
||||||
|
msgid "3d_armor_ip: Mod loaded but unused."
|
||||||
|
msgstr "3d_armor_ip : Mod chargé mais inutilisé."
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Retour"
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua ../3d_armor_sfinv/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Armor"
|
||||||
|
msgstr "Armure"
|
||||||
|
|
||||||
|
#: ../3d_armor_sfinv/init.lua
|
||||||
|
msgid "3d_armor_sfinv: Mod loaded but unused."
|
||||||
|
msgstr "3d_armor_sfinv : Mod chargé mais inutilisé."
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor stand top"
|
||||||
|
msgstr "Haut de support d'armure"
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor stand"
|
||||||
|
msgstr "Support d'armure"
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor Stand"
|
||||||
|
msgstr "Support d'armure"
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Locked Armor stand"
|
||||||
|
msgstr "Support d'armure verrouillé"
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor Stand (owned by @1)"
|
||||||
|
msgstr "Support d'armure (propriété de @1)"
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "3d_armor_ui: Mod loaded but unused."
|
||||||
|
msgstr "3d_armor_ui : Mod chargé mais inutilisé."
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "3d Armor"
|
||||||
|
msgstr "Armure 3d"
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "Armor not initialized!"
|
||||||
|
msgstr "Armure non initialisée !"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "hazmat_suit: Mod loaded but unused."
|
||||||
|
msgstr "hazmat_suit : Mod chargé mais non utilisé."
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Helmet"
|
||||||
|
msgstr "Casque 'Hazmat'"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Chestplate"
|
||||||
|
msgstr "Cuirasse 'Hazmat'"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Sleeve"
|
||||||
|
msgstr "Manches 'Hazmat'"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Leggins"
|
||||||
|
msgstr "Jambières 'Hazmat'"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Boots"
|
||||||
|
msgstr "Bottes 'Hazmat'"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Suit"
|
||||||
|
msgstr "Combinaison 'Hazmat'"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Admin Shield"
|
||||||
|
msgstr "Bouclier d'admin"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Wooden Shield"
|
||||||
|
msgstr "Bouclier en bois"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Enhanced Wood Shield"
|
||||||
|
msgstr "Bouclier en bois amélioré"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Cactus Shield"
|
||||||
|
msgstr "Bouclier en cactus"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Enhanced Cactus Shield"
|
||||||
|
msgstr "Bouclier en cactus amélioré"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Steel Shield"
|
||||||
|
msgstr "Bouclier en acier"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Bronze Shield"
|
||||||
|
msgstr "Bouclier en bronze"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Diamond Shield"
|
||||||
|
msgstr "Bouclier en diamant"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Gold Shield"
|
||||||
|
msgstr "Bouclier en or"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Mithril Shield"
|
||||||
|
msgstr "Bouclier en mithril"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Crystal Shield"
|
||||||
|
msgstr "Bouclier en cristal"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "technic_armor: Mod loaded but unused."
|
||||||
|
msgstr "technic_armor : Mod chargé mais non utilisé."
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Lead"
|
||||||
|
msgstr "plomb"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Brass"
|
||||||
|
msgstr "laiton"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Cast Iron"
|
||||||
|
msgstr "fonte"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Carbon Steel"
|
||||||
|
msgstr "acier au carbone"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Stainless Steel"
|
||||||
|
msgstr "acier inoxydable"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Tin"
|
||||||
|
msgstr "étain"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Silver"
|
||||||
|
msgstr "argent"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Helmet"
|
||||||
|
msgstr "Casque"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Chestplate"
|
||||||
|
msgstr "Cuirasse"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Leggings"
|
||||||
|
msgstr "Jambières"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Boots"
|
||||||
|
msgstr "Bottes"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Shield"
|
||||||
|
msgstr "Bouclier"
|
||||||
|
|
||||||
|
#. Translators: @1 stands for material and @2 for part of the armor, so that you could use a conjunction if in your language part name comes first then material (e.g. in french 'Silver Boots' is translated in 'Bottes en argent' by using '@2 en @1' as translated string)
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "@1 @2"
|
||||||
|
msgstr "@2 en @1"
|
384
3d_armor/locale/it.po
Normal file
384
3d_armor/locale/it.po
Normal file
@ -0,0 +1,384 @@
|
|||||||
|
# ITALIAN LOCALE FILE FOR THE 3D ARMOR MODULE
|
||||||
|
# Copyright (C) 2012-2017 Stuart Jones
|
||||||
|
# This file is distributed under the same license as the 3D ARMOR package.
|
||||||
|
# Hamlet <h4mlet@riseup.net>, 2017.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Italian localization file for the 3D Armor module\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2017-08-06 18:20+0200\n"
|
||||||
|
"PO-Revision-Date: 2017-08-18 00:36+0100\n"
|
||||||
|
"Last-Translator: H4mlet <h4mlet@riseup.net>\n"
|
||||||
|
"Language-Team: ITALIANO\n"
|
||||||
|
"Language: it\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"X-Generator: Poedit 1.6.10\n"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player name is nil @1"
|
||||||
|
msgstr "3d_armor: Il nome della/del gicatrice/tore è nullo @1"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player inventory is nil @1"
|
||||||
|
msgstr "3d_armor: L'inventario della/del giocatrice/tore è nullo @1"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Detached armor inventory is nil @1"
|
||||||
|
msgstr "3d_armor: L'inventario staccato dell'armatura è nullo @1"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player reference is nil @1"
|
||||||
|
msgstr "3d_armor: Il riferimento alla/al giocatrice/tore è nullo @1"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Helmet"
|
||||||
|
msgstr "Elmo dell'amministratrice/tore"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Chestplate"
|
||||||
|
msgstr "Corazza dell'amministratrice/tore"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Leggings"
|
||||||
|
msgstr "Gambali dell'amministratrice/tore"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Boots"
|
||||||
|
msgstr "Stivali dell'amministratrice/tore"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Helmet"
|
||||||
|
msgstr "Elmo di legno"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Chestplate"
|
||||||
|
msgstr "Corazza di legno"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Leggings"
|
||||||
|
msgstr "Gambali di legno"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Boots"
|
||||||
|
msgstr "Stivali di legno"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Helmet"
|
||||||
|
msgstr "Elmo di cactus"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Chestplate"
|
||||||
|
msgstr "Corazza di cactus"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Leggings"
|
||||||
|
msgstr "Gambali di cactus"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Boots"
|
||||||
|
msgstr "Stivali di cactus"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Helmet"
|
||||||
|
msgstr "Elmo di acciaio"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Chestplate"
|
||||||
|
msgstr "Corazza di acciaio"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Leggings"
|
||||||
|
msgstr "Gambali di acciaio"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Boots"
|
||||||
|
msgstr "Stivali di acciaio"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Helmet"
|
||||||
|
msgstr "Elmo di bronzo"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Chestplate"
|
||||||
|
msgstr "Corazza di bronzo"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Leggings"
|
||||||
|
msgstr "Gambali di bronzo"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Boots"
|
||||||
|
msgstr "Stivali di bronzo"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Helmet"
|
||||||
|
msgstr "Elmo di diamante"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Chestplate"
|
||||||
|
msgstr "Corazza di diamante"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Leggings"
|
||||||
|
msgstr "Gambali di diamante"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Boots"
|
||||||
|
msgstr "Stivali di diamante"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Helmet"
|
||||||
|
msgstr "Elmo d'oro"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Chestplate"
|
||||||
|
msgstr "Corazza d'oro"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Leggings"
|
||||||
|
msgstr "Gambali d'oro"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Boots"
|
||||||
|
msgstr "Stivali d'oro"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Helmet"
|
||||||
|
msgstr "Elmo di mithril"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Chestplate"
|
||||||
|
msgstr "Corazza di mithril"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Leggings"
|
||||||
|
msgstr "Gambali di mithril"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Boots"
|
||||||
|
msgstr "Stivali di mithril"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Helmet"
|
||||||
|
msgstr "Elmo di cristallo"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Chestplate"
|
||||||
|
msgstr "Corazza di cristallo"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Leggings"
|
||||||
|
msgstr "Gambali di cristallo"
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Boots"
|
||||||
|
msgstr "Stivali di cristallo"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Radiation"
|
||||||
|
msgstr "Radiazione"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Level"
|
||||||
|
msgstr "Livello"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Heal"
|
||||||
|
msgstr "Guarigione"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Fuoco"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "Your @1 got destroyed!"
|
||||||
|
msgstr "Il/i vostro/i @1 è/sono stato/i distrutto/i!"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "3d_armor: Failed to initialize player"
|
||||||
|
msgstr "3d_armor: Inizializzazione della/del giocatrice/tore fallita"
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "[3d_armor] Fire Nodes disabled"
|
||||||
|
msgstr "[3d_armor] Nodi fuoco disabilitati"
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua
|
||||||
|
msgid "3d_armor_ip: Mod loaded but unused."
|
||||||
|
msgstr "3d_armor_ip: Mod caricato ma inutilizzato."
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Indietro"
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua ../3d_armor_sfinv/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Armor"
|
||||||
|
msgstr "Armatura"
|
||||||
|
|
||||||
|
#: ../3d_armor_sfinv/init.lua
|
||||||
|
msgid "3d_armor_sfinv: Mod loaded but unused."
|
||||||
|
msgstr "3d_armor_sfinv: Mod caricato ma inutilizzato."
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor stand top"
|
||||||
|
msgstr "Parte superiore del supporto per armatura"
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor stand"
|
||||||
|
msgstr "Supporto per armatura"
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor Stand"
|
||||||
|
msgstr "Supporto per armatura"
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Locked Armor stand"
|
||||||
|
msgstr "Supporto per armatura chiuso a chiave"
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor Stand (owned by @1)"
|
||||||
|
msgstr "Supporto per armatura (di proprietà di @1)"
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "3d_armor_ui: Mod loaded but unused."
|
||||||
|
msgstr "3d_armor_ui: Mod caricato ma inutilizzato."
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "3d Armor"
|
||||||
|
msgstr "Armatura 3D"
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "Armor not initialized!"
|
||||||
|
msgstr "Armatura non inizializzata!"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "hazmat_suit: Mod loaded but unused."
|
||||||
|
msgstr "hazmat_suit: Mod caricato ma inutilizzato."
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Helmet"
|
||||||
|
msgstr "Elmo hazmat"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Chestplate"
|
||||||
|
msgstr "Corazza hazmat"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Sleeve"
|
||||||
|
msgstr "Manica hazmat"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Leggins"
|
||||||
|
msgstr "Gambali hazmat"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Boots"
|
||||||
|
msgstr "Stivali hazmat"
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Suit"
|
||||||
|
msgstr "Completo hazmat"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Admin Shield"
|
||||||
|
msgstr "Scudo dell'amministratrice/tore"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Wooden Shield"
|
||||||
|
msgstr "Scudo di legno"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Enhanced Wood Shield"
|
||||||
|
msgstr "Scudo di legno migliorato"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Cactus Shield"
|
||||||
|
msgstr "Scudo di cactus"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Enhanced Cactus Shield"
|
||||||
|
msgstr "Scudo di cactus migliorato"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Steel Shield"
|
||||||
|
msgstr "Scudo di acciaio"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Bronze Shield"
|
||||||
|
msgstr "Scudo di bronzo"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Diamond Shield"
|
||||||
|
msgstr "Scudo di diamante"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Gold Shield"
|
||||||
|
msgstr "Scudo d'oro"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Mithril Shield"
|
||||||
|
msgstr "Scudo di mithril"
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Crystal Shield"
|
||||||
|
msgstr "Scudo di cristallo"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "technic_armor: Mod loaded but unused."
|
||||||
|
msgstr "technic_armor: Mod caricato ma inutilizzato."
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Lead"
|
||||||
|
msgstr "Piombo"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Brass"
|
||||||
|
msgstr "Ottone"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Cast Iron"
|
||||||
|
msgstr "Ghisa"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Carbon Steel"
|
||||||
|
msgstr "Acciaio al carbonio"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Stainless Steel"
|
||||||
|
msgstr "Acciaio inossidabile"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Tin"
|
||||||
|
msgstr "Stagno"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Silver"
|
||||||
|
msgstr "Argento"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Helmet"
|
||||||
|
msgstr "Elmo"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Chestplate"
|
||||||
|
msgstr "Corazza"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Leggings"
|
||||||
|
msgstr "Gambali"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Boots"
|
||||||
|
msgstr "Stivali"
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Shield"
|
||||||
|
msgstr "Scudo"
|
||||||
|
|
||||||
|
#. Translators: @1 stands for material and @2 for part of the armor, so that you could use a conjunction if in your language part name comes first then material (e.g. in french 'Silver Boots' is translated in 'Bottes en argent' by using '@2 en @1' as translated string)
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "@1 @2"
|
||||||
|
msgstr "@2 di @1"
|
383
3d_armor/locale/template.pot
Normal file
383
3d_armor/locale/template.pot
Normal file
@ -0,0 +1,383 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2017-08-06 18:20+0200\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player name is nil @1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player inventory is nil @1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Detached armor inventory is nil @1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/api.lua
|
||||||
|
msgid "3d_armor: Player reference is nil @1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Admin Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Wood Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Cactus Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Steel Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Bronze Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Diamond Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Gold Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Mithril Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/armor.lua
|
||||||
|
msgid "Crystal Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Radiation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Heal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "Your @1 got destroyed!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "3d_armor: Failed to initialize player"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor/init.lua
|
||||||
|
msgid "[3d_armor] Fire Nodes disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua
|
||||||
|
msgid "3d_armor_ip: Mod loaded but unused."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua
|
||||||
|
msgid "Back"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_ip/init.lua ../3d_armor_sfinv/init.lua ../3d_armor_ui/init.lua
|
||||||
|
msgid "Armor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_sfinv/init.lua
|
||||||
|
msgid "3d_armor_sfinv: Mod loaded but unused."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor stand top"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor stand"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor Stand"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Locked Armor stand"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_stand/init.lua
|
||||||
|
msgid "Armor Stand (owned by @1)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "3d_armor_ui: Mod loaded but unused."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "3d Armor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../3d_armor_ui/init.lua
|
||||||
|
msgid "Armor not initialized!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "hazmat_suit: Mod loaded but unused."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Sleeve"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Leggins"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../hazmat_suit/init.lua
|
||||||
|
msgid "Hazmat Suit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Admin Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Wooden Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Enhanced Wood Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Cactus Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Enhanced Cactus Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Steel Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Bronze Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Diamond Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Gold Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Mithril Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../shields/init.lua
|
||||||
|
msgid "Crystal Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "technic_armor: Mod loaded but unused."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Lead"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Brass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Cast Iron"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Carbon Steel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Stainless Steel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Tin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Silver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Helmet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Chestplate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Leggings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Boots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "Shield"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: @1 stands for material and @2 for part of the armor, so that you could use a conjunction if in your language part name comes first then material (e.g. in french 'Silver Boots' is translated in 'Bottes en argent' by using '@2 en @1' as translated string)
|
||||||
|
#: ../technic_armor/init.lua
|
||||||
|
msgid "@1 @2"
|
||||||
|
msgstr ""
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 349 B |
25
3d_armor/tools/updatepo.sh
Executable file
25
3d_armor/tools/updatepo.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# To create a new translation:
|
||||||
|
# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot
|
||||||
|
|
||||||
|
cd "$(dirname "${BASH_SOURCE[0]}")/..";
|
||||||
|
|
||||||
|
# Extract translatable strings.
|
||||||
|
xgettext --from-code=UTF-8 \
|
||||||
|
--language=Lua \
|
||||||
|
--sort-by-file \
|
||||||
|
--keyword=S \
|
||||||
|
--keyword=NS:1,2 \
|
||||||
|
--keyword=N_ \
|
||||||
|
--keyword=F \
|
||||||
|
--add-comments='Translators:' \
|
||||||
|
--add-location=file \
|
||||||
|
-o locale/template.pot \
|
||||||
|
$(find .. -name '*.lua')
|
||||||
|
|
||||||
|
# Update translations.
|
||||||
|
find locale -name '*.po' | while read -r file; do
|
||||||
|
echo $file
|
||||||
|
msgmerge --update $file locale/template.pot;
|
||||||
|
done
|
@ -1,9 +1,13 @@
|
|||||||
|
-- support for i18n
|
||||||
|
local S = armor_i18n.gettext
|
||||||
|
local F = armor_i18n.fgettext
|
||||||
|
|
||||||
if not minetest.global_exists("inventory_plus") then
|
if not minetest.global_exists("inventory_plus") then
|
||||||
minetest.log("warning", "3d_armor_ip: Mod loaded but unused.")
|
minetest.log("warning", S("3d_armor_ip: Mod loaded but unused."))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
armor.formspec = "size[8,8.5]button[6,0;2,0.5;main;Back]"..armor.formspec
|
armor.formspec = "size[8,8.5]button[6,0;2,0.5;main;"..F("Back").."]"..armor.formspec
|
||||||
armor:register_on_update(function(player)
|
armor:register_on_update(function(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
local formspec = armor:get_armor_formspec(name, true)
|
local formspec = armor:get_armor_formspec(name, true)
|
||||||
@ -19,7 +23,7 @@ if minetest.get_modpath("crafting") then
|
|||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_on_joinplayer(function(player)
|
minetest.register_on_joinplayer(function(player)
|
||||||
inventory_plus.register_button(player,"armor", "Armor")
|
inventory_plus.register_button(player,"armor", S("Armor"))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
|
-- support for i18n
|
||||||
|
local S = armor_i18n.gettext
|
||||||
|
|
||||||
if not minetest.global_exists("sfinv") then
|
if not minetest.global_exists("sfinv") then
|
||||||
minetest.log("warning", "3d_armor_sfinv: Mod loaded but unused.")
|
minetest.log("warning", S("3d_armor_sfinv: Mod loaded but unused."))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
sfinv.register_page("3d_armor:armor", {
|
sfinv.register_page("3d_armor:armor", {
|
||||||
title = "Armor",
|
title = S("Armor"),
|
||||||
get = function(self, player, context)
|
get = function(self, player, context)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
local formspec = armor:get_armor_formspec(name, true)
|
local formspec = armor:get_armor_formspec(name, true)
|
||||||
|
@ -1,13 +1,6 @@
|
|||||||
local S = function(s) return s end
|
-- support for i18n
|
||||||
if minetest.global_exists("intllib") then
|
local S = armor_i18n.gettext
|
||||||
if intllib.make_gettext_pair then
|
|
||||||
-- New method using gettext.
|
|
||||||
S = intllib.make_gettext_pair()
|
|
||||||
else
|
|
||||||
-- Old method using text files.
|
|
||||||
S = intllib.Getter()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
local armor_stand_formspec = "size[8,7]" ..
|
local armor_stand_formspec = "size[8,7]" ..
|
||||||
default.gui_bg ..
|
default.gui_bg ..
|
||||||
default.gui_bg_img ..
|
default.gui_bg_img ..
|
||||||
@ -172,7 +165,7 @@ minetest.register_node("3d_armor_stand:armor_stand", {
|
|||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec", armor_stand_formspec)
|
meta:set_string("formspec", armor_stand_formspec)
|
||||||
meta:set_string("infotext", "Armor Stand")
|
meta:set_string("infotext", S("Armor Stand"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
for _, element in pairs(elements) do
|
for _, element in pairs(elements) do
|
||||||
inv:set_size("armor_"..element, 1)
|
inv:set_size("armor_"..element, 1)
|
||||||
@ -240,7 +233,7 @@ minetest.register_node("3d_armor_stand:locked_armor_stand", {
|
|||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec", armor_stand_formspec)
|
meta:set_string("formspec", armor_stand_formspec)
|
||||||
meta:set_string("infotext", "Armor Stand")
|
meta:set_string("infotext", S("Armor Stand"))
|
||||||
meta:set_string("owner", "")
|
meta:set_string("owner", "")
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
for _, element in pairs(elements) do
|
for _, element in pairs(elements) do
|
||||||
@ -261,8 +254,7 @@ minetest.register_node("3d_armor_stand:locked_armor_stand", {
|
|||||||
minetest.add_entity(pos, "3d_armor_stand:armor_entity")
|
minetest.add_entity(pos, "3d_armor_stand:armor_entity")
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("owner", placer:get_player_name() or "")
|
meta:set_string("owner", placer:get_player_name() or "")
|
||||||
meta:set_string("infotext", "Armor Stand (owned by " ..
|
meta:set_string("infotext", S("Armor Stand (owned by @1)", meta:get_string("owner")))
|
||||||
meta:get_string("owner") .. ")")
|
|
||||||
add_hidden_node(pos, placer)
|
add_hidden_node(pos, placer)
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
@ -332,8 +324,8 @@ minetest.register_entity("3d_armor_stand:armor_entity", {
|
|||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "3d_armor_stand:armor_stand",
|
output = "3d_armor_stand:armor_stand",
|
||||||
recipe = {
|
recipe = {
|
||||||
{"", "group:fence", ""},
|
{"", "default:fence_wood", ""},
|
||||||
{"", "group:fence", ""},
|
{"", "default:fence_wood", ""},
|
||||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -344,4 +336,3 @@ minetest.register_craft({
|
|||||||
{"3d_armor_stand:armor_stand", "default:steel_ingot"},
|
{"3d_armor_stand:armor_stand", "default:steel_ingot"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -1,17 +1,11 @@
|
|||||||
|
-- support for i18n
|
||||||
|
local S = armor_i18n.gettext
|
||||||
|
local F = armor_i18n.fgettext
|
||||||
|
|
||||||
if not minetest.global_exists("unified_inventory") then
|
if not minetest.global_exists("unified_inventory") then
|
||||||
minetest.log("warning", "3d_armor_ui: Mod loaded but unused.")
|
minetest.log("warning", S("3d_armor_ui: Mod loaded but unused."))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local S = function(s) return s end
|
|
||||||
if minetest.global_exists("intllib") then
|
|
||||||
if intllib.make_gettext_pair then
|
|
||||||
-- New method using gettext.
|
|
||||||
S = intllib.make_gettext_pair()
|
|
||||||
else
|
|
||||||
-- Old method using text files.
|
|
||||||
S = intllib.Getter()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if unified_inventory.sfinv_compat_layer then
|
if unified_inventory.sfinv_compat_layer then
|
||||||
return
|
return
|
||||||
@ -27,6 +21,7 @@ end)
|
|||||||
unified_inventory.register_button("armor", {
|
unified_inventory.register_button("armor", {
|
||||||
type = "image",
|
type = "image",
|
||||||
image = "inventory_plus_armor.png",
|
image = "inventory_plus_armor.png",
|
||||||
|
tooltip = S("3d Armor")
|
||||||
})
|
})
|
||||||
|
|
||||||
unified_inventory.register_page("armor", {
|
unified_inventory.register_page("armor", {
|
||||||
@ -34,23 +29,23 @@ unified_inventory.register_page("armor", {
|
|||||||
local fy = perplayer_formspec.formspec_y
|
local fy = perplayer_formspec.formspec_y
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
if armor.def[name].init_time == 0 then
|
if armor.def[name].init_time == 0 then
|
||||||
return {formspec="label[0,0;Armor not initialized!]"}
|
return {formspec="label[0,0;"..F("Armor not initialized!").."]"}
|
||||||
end
|
end
|
||||||
local formspec = "background[0.06,"..fy..";7.92,7.52;3d_armor_ui_form.png]"..
|
local formspec = "background[0.06,"..fy..";7.92,7.52;3d_armor_ui_form.png]"..
|
||||||
"label[0,0;Armor]"..
|
"label[0,0;"..F("Armor").."]"..
|
||||||
"list[detached:"..name.."_armor;armor;0,"..fy..";2,3;]"..
|
"list[detached:"..name.."_armor;armor;0,"..fy..";2,3;]"..
|
||||||
"image[2.5,"..(fy - 0.25)..";2,4;"..armor.textures[name].preview.."]"..
|
"image[2.5,"..(fy - 0.25)..";2,4;"..armor.textures[name].preview.."]"..
|
||||||
"label[5.0,"..(fy + 0.0)..";"..S("Level")..": "..armor.def[name].level.."]"..
|
"label[5.0,"..(fy + 0.0)..";"..F("Level")..": "..armor.def[name].level.."]"..
|
||||||
"label[5.0,"..(fy + 0.5)..";"..S("Heal")..": "..armor.def[name].heal.."]"..
|
"label[5.0,"..(fy + 0.5)..";"..F("Heal")..": "..armor.def[name].heal.."]"..
|
||||||
"listring[current_player;main]"..
|
"listring[current_player;main]"..
|
||||||
"listring[detached:"..name.."_armor;armor]"
|
"listring[detached:"..name.."_armor;armor]"
|
||||||
if armor.config.fire_protect then
|
if armor.config.fire_protect then
|
||||||
formspec = formspec.."label[5.0,"..(fy + 1.0)..";"..
|
formspec = formspec.."label[5.0,"..(fy + 1.0)..";"..
|
||||||
S("Fire")..": "..armor.def[name].fire.."]"
|
F("Fire")..": "..armor.def[name].fire.."]"
|
||||||
end
|
end
|
||||||
if minetest.global_exists("technic") then
|
if minetest.global_exists("technic") then
|
||||||
formspec = formspec.."label[5.0,"..(fy + 1.5)..";"..
|
formspec = formspec.."label[5.0,"..(fy + 1.5)..";"..
|
||||||
S("Radiation")..": "..armor.def[name].groups["radiation"].."]"
|
F("Radiation")..": "..armor.def[name].groups["radiation"].."]"
|
||||||
end
|
end
|
||||||
return {formspec=formspec}
|
return {formspec=formspec}
|
||||||
end,
|
end,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Modpack - 3d Armor [0.4.9]
|
Modpack - 3d Armor [0.4.10]
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
### Table of Contents
|
### Table of Contents
|
||||||
@ -19,7 +19,7 @@ Modpack - 3d Armor [0.4.9]
|
|||||||
[mod] Visible Player Armor [3d_armor]
|
[mod] Visible Player Armor [3d_armor]
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
Minetest Version: 0.4.16
|
Minetest Version: 0.4.15
|
||||||
|
|
||||||
Game: minetest_game and many derivatives
|
Game: minetest_game and many derivatives
|
||||||
|
|
||||||
@ -46,6 +46,8 @@ and [simple_skins] by TenPlus1.
|
|||||||
Armor can be configured by adding a file called armor.conf in 3d_armor mod or world directory.
|
Armor can be configured by adding a file called armor.conf in 3d_armor mod or world directory.
|
||||||
see armor.conf.example for all available options.
|
see armor.conf.example for all available options.
|
||||||
|
|
||||||
|
For mod installation instructions, please visit: http://wiki.minetest.com/wiki/Installing_Mods
|
||||||
|
|
||||||
[mod] Visible Wielded Items [wieldview]
|
[mod] Visible Wielded Items [wieldview]
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
|
@ -1,17 +1,10 @@
|
|||||||
|
-- support for i18n
|
||||||
|
local S = armor_i18n.gettext
|
||||||
|
|
||||||
if not minetest.get_modpath("technic") then
|
if not minetest.get_modpath("technic") then
|
||||||
minetest.log("warning", "hazmat_suit: Mod loaded but unused.")
|
minetest.log("warning", S("hazmat_suit: Mod loaded but unused."))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local S = function(s) return s end
|
|
||||||
if minetest.global_exists("intllib") then
|
|
||||||
if intllib.make_gettext_pair then
|
|
||||||
-- New method using gettext.
|
|
||||||
S = intllib.make_gettext_pair()
|
|
||||||
else
|
|
||||||
-- Old method using text files.
|
|
||||||
S = intllib.Getter()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.register_craftitem("hazmat_suit:helmet_hazmat", {
|
minetest.register_craftitem("hazmat_suit:helmet_hazmat", {
|
||||||
description = S("Hazmat Helmet"),
|
description = S("Hazmat Helmet"),
|
||||||
|
@ -7,10 +7,3 @@ Depends: 3d_armor
|
|||||||
|
|
||||||
Originally a part of 3d_armor, shields have been re-included as an optional extra.
|
Originally a part of 3d_armor, shields have been re-included as an optional extra.
|
||||||
If you do not what shields then simply remove the shields folder from the modpack.
|
If you do not what shields then simply remove the shields folder from the modpack.
|
||||||
|
|
||||||
Shields Configuration
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
Override the following default settings by adding them to your minetest.conf file.
|
|
||||||
|
|
||||||
shields_disable_sounds = false
|
|
||||||
|
@ -1,22 +1,14 @@
|
|||||||
local S = function(s) return s end
|
-- support for i18n
|
||||||
if minetest.global_exists("intllib") then
|
local S = armor_i18n.gettext
|
||||||
if intllib.make_gettext_pair then
|
|
||||||
-- New method using gettext.
|
|
||||||
S = intllib.make_gettext_pair()
|
|
||||||
else
|
|
||||||
-- Old method using text files.
|
|
||||||
S = intllib.Getter()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local disable_sounds = minetest.settings:get_bool("shields_disable_sounds")
|
|
||||||
local use_moreores = minetest.get_modpath("moreores")
|
local use_moreores = minetest.get_modpath("moreores")
|
||||||
local function play_sound_effect(player, name)
|
local function play_sound_effect(player, name)
|
||||||
if not disable_sounds and player then
|
if player then
|
||||||
local pos = player:getpos()
|
local pos = player:getpos()
|
||||||
if pos then
|
if pos then
|
||||||
minetest.sound_play(name, {
|
minetest.sound_play({
|
||||||
pos = pos,
|
pos = pos,
|
||||||
|
name = name,
|
||||||
max_hear_distance = 10,
|
max_hear_distance = 10,
|
||||||
gain = 0.5,
|
gain = 0.5,
|
||||||
})
|
})
|
||||||
@ -36,6 +28,15 @@ armor:register_armor("shields:shield_admin", {
|
|||||||
description = S("Admin Shield"),
|
description = S("Admin Shield"),
|
||||||
inventory_image = "shields_inv_shield_admin.png",
|
inventory_image = "shields_inv_shield_admin.png",
|
||||||
groups = {armor_shield=1000, armor_heal=100, armor_use=0, not_in_creative_inventory=1},
|
groups = {armor_shield=1000, armor_heal=100, armor_use=0, not_in_creative_inventory=1},
|
||||||
|
on_punched = function(player, hitter, time_from_last_punch, tool_capabilities)
|
||||||
|
if type(hitter) == "userdata" then
|
||||||
|
if hitter:is_player() then
|
||||||
|
hitter:set_wielded_item("")
|
||||||
|
end
|
||||||
|
play_sound_effect(player, "default_dig_metal")
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_alias("adminshield", "shields:shield_admin")
|
minetest.register_alias("adminshield", "shields:shield_admin")
|
||||||
|
@ -1,17 +1,11 @@
|
|||||||
|
-- support for i18n
|
||||||
|
local S = armor_i18n.gettext
|
||||||
|
local F = armor_i18n.fgettext
|
||||||
|
|
||||||
if not minetest.get_modpath("technic_worldgen") then
|
if not minetest.get_modpath("technic_worldgen") then
|
||||||
minetest.log("warning", "technic_armor: Mod loaded but unused.")
|
minetest.log("warning", S("technic_armor: Mod loaded but unused."))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local S = function(s) return s end
|
|
||||||
if minetest.global_exists("intllib") then
|
|
||||||
if intllib.make_gettext_pair then
|
|
||||||
-- New method using gettext.
|
|
||||||
S = intllib.make_gettext_pair()
|
|
||||||
else
|
|
||||||
-- Old method using text files.
|
|
||||||
S = intllib.Getter()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local stats = {
|
local stats = {
|
||||||
lead = { name=S("Lead"), material="technic:lead_ingot", armor=1.6, heal=0, use=500, radiation=80*1.1 },
|
lead = { name=S("Lead"), material="technic:lead_ingot", armor=1.6, heal=0, use=500, radiation=80*1.1 },
|
||||||
@ -58,7 +52,8 @@ for key, armor in pairs(stats) do
|
|||||||
for partkey, part in pairs(parts) do
|
for partkey, part in pairs(parts) do
|
||||||
local partname = "technic_armor:"..partkey.."_"..key
|
local partname = "technic_armor:"..partkey.."_"..key
|
||||||
minetest.register_tool(partname, {
|
minetest.register_tool(partname, {
|
||||||
description = armor.name.." "..part.name,
|
-- Translators: @1 stands for material and @2 for part of the armor, so that you could use a conjunction if in your language part name comes first then material (e.g. in french 'Silver Boots' is translated in 'Bottes en argent' by using '@2 en @1' as translated string)
|
||||||
|
description = S("@1 @2", armor.name, part.name),
|
||||||
inventory_image = "technic_armor_inv_"..partkey.."_"..key..".png",
|
inventory_image = "technic_armor_inv_"..partkey.."_"..key..".png",
|
||||||
groups = {["armor_"..part.place]=math.floor(part.level*armor.armor), armor_heal=armor.heal, armor_use=armor.use, armor_radiation=math.floor(part.radlevel*armor.radiation)},
|
groups = {["armor_"..part.place]=math.floor(part.level*armor.armor), armor_heal=armor.heal, armor_use=armor.use, armor_radiation=math.floor(part.radlevel*armor.radiation)},
|
||||||
wear = 0,
|
wear = 0,
|
||||||
|
@ -66,7 +66,7 @@ end
|
|||||||
minetest.register_on_joinplayer(function(player)
|
minetest.register_on_joinplayer(function(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
wieldview.wielded_item[name] = ""
|
wieldview.wielded_item[name] = ""
|
||||||
minetest.after(1, function(player)
|
minetest.after(0, function(player)
|
||||||
wieldview:update_wielded_item(player)
|
wieldview:update_wielded_item(player)
|
||||||
end, player)
|
end, player)
|
||||||
end)
|
end)
|
||||||
|
Reference in New Issue
Block a user