upgrade 3d_armor modpack and 3d_armor respect new player model 1 vertical node

* release 0.4.16 and integrated up to date mod with all engine compatibility
* Offset models for minetest 5.0.0 - player_api compatibility
* also set model for minetest 0.4.X - default.player compatibility
* fix break gravity for space when change armor
* update gold armor to block radiation
* upgrate to 0.4.16: sync with upstream
* call "set_player_armor" on respawn so
* use player_api to register player model, but autodetec older engine, so
  but checkout player_api existence, added features backguard compatibility
* add fire protection to nether armor, so
* added nether armor and nether shield and also
* Add Support for Generating HTML Documentation with LDoc, so
* Backported the armor fields, armor equip and unequip and armors parts
* adapt the Move armor.get_translator to API comit so
* Add missing fuel recipes for wood and cactus armor so
* added missing moreores to optional depends so
* update translations of ex and fr, add screenshot and modpack for newer engines
* update READMEs on each mod
This commit is contained in:
mckaygerhard 2023-07-31 01:53:44 -04:00
parent 3b5cbef652
commit d7ae85b7f6
25 changed files with 1248 additions and 177 deletions

View File

@ -74,6 +74,28 @@ Override the following default settings by adding them to your minetest.conf fil
### API ### API
##### player_api compatibility and default old mod
`armor.registered_player_models`
If `player_api` is present will be same as `player_api.registered_models` or `default.registered_player_models` otherwise
`armor.player_register_model`
If `player_api` is present will be same as `player_api.register_model` or `default.player_register_model` otherwise
`armor.player_set_textures`
If `player_api` is present will be same as `player_api.set_textures`or `default.player_set_textures` otherwise
`armor.player_attached`
If `player_api` is present will be same as `player_api.player_attached` otherwise `default.player_attached`
`armor.player_set_model`
If `player_api` is present will be same as `player_api.set_model` otherwise then `default.player_set_model`
##### Armor Registration: ##### Armor Registration:
`armor:register_armor(name, def)` `armor:register_armor(name, def)`

View File

@ -74,6 +74,28 @@ Override the following default settings by adding them to your minetest.conf fil
### API ### API
##### player_api compatibility and default old mod
`armor.registered_player_models`
If `player_api` is present will be same as `player_api.registered_models` or `default.registered_player_models` otherwise
`armor.player_register_model`
If `player_api` is present will be same as `player_api.register_model` or `default.player_register_model` otherwise
`armor.player_set_textures`
If `player_api` is present will be same as `player_api.set_textures`or `default.player_set_textures` otherwise
`armor.player_attached`
If `player_api` is present will be same as `player_api.player_attached` otherwise `default.player_attached`
`armor.player_set_model`
If `player_api` is present will be same as `player_api.set_model` otherwise then `default.player_set_model`
##### Armor Registration: ##### Armor Registration:
`armor:register_armor(name, def)` `armor:register_armor(name, def)`

View File

@ -4,6 +4,9 @@
-- @topic api -- @topic api
local transparent_armor = minetest.settings:get_bool("armor_transparent", false)
--- Tables --- Tables
-- --
-- @section tables -- @section tables
@ -98,6 +101,11 @@ else
end end
end end
-- support for i18n backguard compatibility
armor_i18n = { }
armor_i18n.gettext = S
armor_i18n.ngettext = ngettext
local skin_previews = {} 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")
@ -125,6 +133,9 @@ local armor_textures = setmetatable({}, {
}) })
end end
}) })
local is50 = minetest.has_feature("object_use_texture_alpha") or nil
local is54 = minetest.has_feature("use_texture_alpha_string_modes") or nil
armor = { armor = {
timer = 0, timer = 0,
@ -143,7 +154,7 @@ armor = {
default_skin = "character", default_skin = "character",
materials = { materials = {
wood = "group:wood", wood = "group:wood",
cactus = "default:cactus", cactus = "group:cactus",
steel = "default:steel_ingot", steel = "default:steel_ingot",
bronze = "default:bronze_ingot", bronze = "default:bronze_ingot",
diamond = "default:diamond", diamond = "default:diamond",
@ -174,16 +185,21 @@ armor = {
on_destroy = {}, on_destroy = {},
}, },
migrate_old_inventory = true, migrate_old_inventory = true,
version = "0.4.15", version = "0.4.16",
get_translator = S get_translator = S,
is_50 = is50,
is_54 = is54,
} }
local dropset
if minetest.get_modpath("bones") then dropset = false else dropset = true end
armor.config = { armor.config = {
init_delay = 2, init_delay = 2,
init_times = 10, init_times = 10,
bones_delay = 1, bones_delay = 3,
update_time = 1, update_time = 1,
drop = minetest.get_modpath("bones") ~= nil, drop = dropset,
destroy = false, destroy = false,
level_multiplier = 1, level_multiplier = 1,
heal_multiplier = 1, heal_multiplier = 1,
@ -196,6 +212,8 @@ armor.config = {
material_mithril = true, material_mithril = true,
material_crystal = true, material_crystal = true,
material_nether = true, material_nether = true,
set_elements = "head torso legs feet shield",
set_multiplier = 1.1,
water_protect = true, water_protect = true,
fire_protect = minetest.get_modpath("ethereal") ~= nil, fire_protect = minetest.get_modpath("ethereal") ~= nil,
fire_protect_torch = minetest.get_modpath("ethereal") ~= nil, fire_protect_torch = minetest.get_modpath("ethereal") ~= nil,
@ -203,6 +221,14 @@ armor.config = {
punch_damage = true, punch_damage = true,
} }
local mpa = minetest.global_exists("player_api")
if mpa then armor.registered_player_models = player_api.registered_models else armor.registered_player_models = default.registered_player_models end
if mpa then armor.player_register_model = player_api.register_model else armor.player_register_model = default.player_register_model end
if mpa then armor.player_set_textures = player_api.set_textures else armor.player_set_textures = default.player_set_textures end
if mpa then armor.player_attached = player_api.player_attached else armor.player_attached = default.player_attached end
if mpa then armor.player_set_model = player_api.set_model else armor.player_set_model = default.player_set_model end
--- Methods --- Methods
-- --
-- @section methods -- @section methods
@ -233,6 +259,9 @@ armor.register_armor = function(self, name, def)
end end
return armor:equip(player, itemstack) return armor:equip(player, itemstack)
end end
-- The below is a very basic check to try and see if a material name exists as part
-- of the item name. However this check is very simple and just checks theres "_something"
-- at the end of the item name and logging an error to debug if not.
local check_mat_exists = string.match(name, "%:.+_(.+)$") local check_mat_exists = string.match(name, "%:.+_(.+)$")
if check_mat_exists == nil then if check_mat_exists == nil then
minetest.log("warning:[3d_armor] Registered armor "..name.. minetest.log("warning:[3d_armor] Registered armor "..name..
@ -365,7 +394,7 @@ armor.update_player_visuals = function(self, player)
end end
local name = player:get_player_name() local name = player:get_player_name()
if self.textures[name] then if self.textures[name] then
default.player_set_textures(player, { armor.player_set_textures(player, {
self.textures[name].skin, self.textures[name].skin,
self.textures[name].armor, self.textures[name].armor,
self.textures[name].wielditem, self.textures[name].wielditem,
@ -435,7 +464,9 @@ armor.set_player_armor = function(self, player)
tex = tex:gsub(".png$", "") tex = tex:gsub(".png$", "")
local prev = def.preview or tex.."_preview" local prev = def.preview or tex.."_preview"
prev = prev:gsub(".png$", "") prev = prev:gsub(".png$", "")
if not transparent_armor then
texture = texture.."^"..tex..".png" texture = texture.."^"..tex..".png"
end
preview = preview.."^"..prev..".png" preview = preview.."^"..prev..".png"
state = state + stack:get_wear() state = state + stack:get_wear()
count = count + 1 count = count + 1
@ -483,10 +514,13 @@ armor.set_player_armor = function(self, player)
armor_monoid.monoid:add_change(player, change, "3d_armor:armor") armor_monoid.monoid:add_change(player, change, "3d_armor:armor")
else else
-- Preserve immortal group (damage disabled for player) -- Preserve immortal group (damage disabled for player)
local immortal = player:get_armor_groups().immortal local player_groups = player:get_armor_groups()
local immortal = player_groups.immortal
if immortal and immortal ~= 0 then if immortal and immortal ~= 0 then
groups.immortal = 1 groups.immortal = 1
end end
-- Preserve fall_damage_add_percent group (fall damage modifier)
groups.fall_damage_add_percent = player_groups.fall_damage_add_percent
player:set_armor_groups(groups) player:set_armor_groups(groups)
end end
if use_player_monoids then if use_player_monoids then
@ -494,8 +528,9 @@ armor.set_player_armor = function(self, player)
"3d_armor:physics") "3d_armor:physics")
player_monoids.jump:add_change(player, physics.jump, player_monoids.jump:add_change(player, physics.jump,
"3d_armor:physics") "3d_armor:physics")
player_monoids.gravity:add_change(player, physics.gravity, -- this is break gravity for space when change armor...
"3d_armor:physics") --player_monoids.gravity:add_change(player, physics.gravity,
-- "3d_armor:physics")
elseif use_pova_mod then elseif use_pova_mod then
-- only add the changes, not the default 1.0 for each physics setting -- only add the changes, not the default 1.0 for each physics setting
pova.add_override(name, "3d_armor", { pova.add_override(name, "3d_armor", {
@ -676,6 +711,10 @@ armor.equip = function(self, player, itemstack)
for i=1, armor_inv:get_size("armor") do for i=1, armor_inv:get_size("armor") do
local stack = armor_inv:get_stack("armor", i) local stack = armor_inv:get_stack("armor", i)
if self:get_element(stack:get_name()) == armor_element then if self:get_element(stack:get_name()) == armor_element then
--prevents equiping an armor that would unequip a cursed armor.
if minetest.get_item_group(stack:get_name(), "cursed") ~= 0 then
return itemstack
end
index = i index = i
self:unequip(player, armor_element) self:unequip(player, armor_element)
break break
@ -683,12 +722,14 @@ armor.equip = function(self, player, itemstack)
index = i index = i
end end
end end
if index then
local stack = itemstack:take_item() local stack = itemstack:take_item()
armor_inv:set_stack("armor", index, stack) armor_inv:set_stack("armor", index, stack)
self:run_callbacks("on_equip", player, index, stack) self:run_callbacks("on_equip", player, index, stack)
self:set_player_armor(player) self:set_player_armor(player)
self:save_armor_inventory(player) self:save_armor_inventory(player)
end end
end
return itemstack return itemstack
end end

View File

@ -621,8 +621,8 @@ if armor.materials.gold then
description = S("Gold Helmet"), description = S("Gold Helmet"),
inventory_image = "3d_armor_inv_helmet_gold.png", inventory_image = "3d_armor_inv_helmet_gold.png",
groups = {armor_head=1, armor_heal=6, armor_use=300, groups = {armor_head=1, armor_heal=6, armor_use=300,
physics_speed=-0.02, physics_gravity=0.02}, physics_speed=-0.02, physics_gravity=0.02, physics_jump=-0.01},
armor_groups = {fleshy=10}, armor_groups = {fleshy=10, radiation=15},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
}) })
--- Gold Chestplate --- Gold Chestplate
@ -644,8 +644,8 @@ if armor.materials.gold then
description = S("Gold Chestplate"), description = S("Gold Chestplate"),
inventory_image = "3d_armor_inv_chestplate_gold.png", inventory_image = "3d_armor_inv_chestplate_gold.png",
groups = {armor_torso=1, armor_heal=6, armor_use=300, groups = {armor_torso=1, armor_heal=6, armor_use=300,
physics_speed=-0.05, physics_gravity=0.05}, physics_speed=-0.05, physics_gravity=0.05, physics_jump=-0.04},
armor_groups = {fleshy=15}, armor_groups = {fleshy=15, radiation=20},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
}) })
--- Gold Leggings --- Gold Leggings
@ -667,8 +667,8 @@ if armor.materials.gold then
description = S("Gold Leggings"), description = S("Gold Leggings"),
inventory_image = "3d_armor_inv_leggings_gold.png", inventory_image = "3d_armor_inv_leggings_gold.png",
groups = {armor_legs=1, armor_heal=6, armor_use=300, groups = {armor_legs=1, armor_heal=6, armor_use=300,
physics_speed=-0.04, physics_gravity=0.04}, physics_speed=-0.04, physics_gravity=0.04, physics_jump=-0.05},
armor_groups = {fleshy=15}, armor_groups = {fleshy=15, radiation=25},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
}) })
--- Gold Boots --- Gold Boots
@ -690,8 +690,8 @@ if armor.materials.gold then
description = S("Gold Boots"), description = S("Gold Boots"),
inventory_image = "3d_armor_inv_boots_gold.png", inventory_image = "3d_armor_inv_boots_gold.png",
groups = {armor_feet=1, armor_heal=6, armor_use=300, groups = {armor_feet=1, armor_heal=6, armor_use=300,
physics_speed=-0.02, physics_gravity=0.02}, physics_speed=-0.02, physics_gravity=0.02, physics_jump=-0.02},
armor_groups = {fleshy=10}, armor_groups = {fleshy=10, radiation=15},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2}, damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
}) })
end end
@ -718,8 +718,8 @@ if armor.materials.mithril then
armor:register_armor("3d_armor:helmet_mithril", { armor:register_armor("3d_armor:helmet_mithril", {
description = S("Mithril Helmet"), description = S("Mithril Helmet"),
inventory_image = "3d_armor_inv_helmet_mithril.png", inventory_image = "3d_armor_inv_helmet_mithril.png",
groups = {armor_head=1, armor_heal=12, armor_use=100}, groups = {armor_head=1, armor_heal=13, armor_use=66},
armor_groups = {fleshy=15}, armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=3}, damage_groups = {cracky=2, snappy=1, level=3},
}) })
--- Mithril Chestplate --- Mithril Chestplate
@ -736,8 +736,8 @@ if armor.materials.mithril then
armor:register_armor("3d_armor:chestplate_mithril", { armor:register_armor("3d_armor:chestplate_mithril", {
description = S("Mithril Chestplate"), description = S("Mithril Chestplate"),
inventory_image = "3d_armor_inv_chestplate_mithril.png", inventory_image = "3d_armor_inv_chestplate_mithril.png",
groups = {armor_torso=1, armor_heal=12, armor_use=100}, groups = {armor_torso=1, armor_heal=13, armor_use=66},
armor_groups = {fleshy=20}, armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=3}, damage_groups = {cracky=2, snappy=1, level=3},
}) })
--- Mithril Leggings --- Mithril Leggings
@ -754,8 +754,8 @@ if armor.materials.mithril then
armor:register_armor("3d_armor:leggings_mithril", { armor:register_armor("3d_armor:leggings_mithril", {
description = S("Mithril Leggings"), description = S("Mithril Leggings"),
inventory_image = "3d_armor_inv_leggings_mithril.png", inventory_image = "3d_armor_inv_leggings_mithril.png",
groups = {armor_legs=1, armor_heal=12, armor_use=100}, groups = {armor_legs=1, armor_heal=13, armor_use=66},
armor_groups = {fleshy=20}, armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=3}, damage_groups = {cracky=2, snappy=1, level=3},
}) })
--- Mithril Boots --- Mithril Boots
@ -772,8 +772,8 @@ if armor.materials.mithril then
armor:register_armor("3d_armor:boots_mithril", { armor:register_armor("3d_armor:boots_mithril", {
description = S("Mithril Boots"), description = S("Mithril Boots"),
inventory_image = "3d_armor_inv_boots_mithril.png", inventory_image = "3d_armor_inv_boots_mithril.png",
groups = {armor_feet=1, armor_heal=12, armor_use=100}, groups = {armor_feet=1, armor_heal=13, armor_use=66},
armor_groups = {fleshy=15}, armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=3}, damage_groups = {cracky=2, snappy=1, level=3},
}) })
end end

View File

@ -1,4 +1,5 @@
default default
bones?
player_monoids? player_monoids?
armor_monoid? armor_monoid?
pova? pova?
@ -8,3 +9,4 @@ bakedclay?
intllib? intllib?
moreores? moreores?
nether? nether?
player_api?

View File

@ -7,12 +7,6 @@ local timer = 0
dofile(modpath.."/api.lua") dofile(modpath.."/api.lua")
-- support for i18n
armor_i18n = { }
armor_i18n.gettext = armor.get_translator
armor_i18n.ngettext = function(s) return s end
armor_i18n.fgettext = minetest.formspec_escape
-- local functions -- local functions
local F = minetest.formspec_escape local F = minetest.formspec_escape
local S = armor.get_translator local S = armor.get_translator
@ -236,6 +230,13 @@ local function init_player_armor(initplayer)
if player:get_player_name() ~= name then if player:get_player_name() ~= name then
return 0 return 0
end end
--cursed items cannot be unequiped by the player
local is_cursed = minetest.get_item_group(stack:get_name(), "cursed") ~= 0
if minetest.get_modpath("creative") then
if not creative.is_creative_enabled(player) and is_cursed then
return 0
end
end
return stack:get_count() return stack:get_count()
end, end,
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
@ -300,8 +301,16 @@ local function init_player_armor(initplayer)
end end
-- Armor Player Model -- Armor Player Model
local modelchar
default.player_register_model("3d_armor_character.b3d", { local eyeheithg
if armor.is_50 then
modelchar = "3d_armor_character50.b3d"
eyeheithg = 1.47
else
modelchar = "3d_armor_character40.b3d"
eyeheithg = 1.625
end
armor.player_register_model(modelchar, {
animation_speed = 30, animation_speed = 30,
textures = { textures = {
armor.default_skin..".png", armor.default_skin..".png",
@ -315,6 +324,10 @@ default.player_register_model("3d_armor_character.b3d", {
mine = {x=189, y=198}, mine = {x=189, y=198},
walk_mine = {x=200, y=219}, walk_mine = {x=200, y=219},
sit = {x=81, y=160}, sit = {x=81, y=160},
-- compatibility w/ the emote mod
wave = {x = 192, y = 196, override_local = true},
point = {x = 196, y = 196, override_local = true},
freeze = {x = 205, y = 205, override_local = true},
}, },
}) })
@ -336,7 +349,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end) end)
minetest.register_on_joinplayer(function(player) minetest.register_on_joinplayer(function(player)
default.player_set_model(player, "3d_armor_character.b3d") armor.player_set_model(player, modelchar)
local player_name = player:get_player_name() local player_name = player:get_player_name()
minetest.after(0, function(player) minetest.after(0, function(player)
local pplayer = minetest.get_player_by_name(player_name) local pplayer = minetest.get_player_by_name(player_name)
@ -365,11 +378,14 @@ if armor.config.drop == true or armor.config.destroy == true then
for i=1, armor_inv:get_size("armor") do for i=1, armor_inv:get_size("armor") do
local stack = armor_inv:get_stack("armor", i) local stack = armor_inv:get_stack("armor", i)
if stack:get_count() > 0 then if stack:get_count() > 0 then
--soulbound armors remain equipped after death
if minetest.get_item_group(stack:get_name(), "soulbound") == 0 then
table.insert(drop, stack) table.insert(drop, stack)
armor:run_callbacks("on_unequip", player, i, stack) armor:run_callbacks("on_unequip", player, i, stack)
armor_inv:set_stack("armor", i, nil) armor_inv:set_stack("armor", i, nil)
end end
end end
end
armor:save_armor_inventory(player) armor:save_armor_inventory(player)
armor:set_player_armor(player) armor:set_player_armor(player)
local pos = player:get_pos() local pos = player:get_pos()
@ -403,7 +419,6 @@ if armor.config.drop == true or armor.config.destroy == true then
end) end)
end end
end) end)
else -- reset un-dropped armor and it's effects
minetest.register_on_respawnplayer(function(player) minetest.register_on_respawnplayer(function(player)
if player then armor:set_player_armor(player) end if player then armor:set_player_armor(player) end
end) end)
@ -413,9 +428,8 @@ if armor.config.punch_damage == true then
minetest.register_on_punchplayer(function(player, hitter, minetest.register_on_punchplayer(function(player, hitter,
time_from_last_punch, tool_capabilities) time_from_last_punch, tool_capabilities)
local name = player:get_player_name() local name = player:get_player_name()
local tplayer = minetest.get_player_by_name(name) local hit_ip = hitter:is_player()
local hplayer = minetest.is_player(hitter) if name and hit_ip and minetest.is_protected(player:get_pos(), "") then
if name and tplayer and hplayer and minetest.is_protected(player:get_pos(), "") then
return return
elseif name then elseif name then
armor:punch(player, hitter, time_from_last_punch, tool_capabilities) armor:punch(player, hitter, time_from_last_punch, tool_capabilities)
@ -425,9 +439,12 @@ if armor.config.punch_damage == true then
end end
minetest.register_on_player_hpchange(function(player, hp_change) minetest.register_on_player_hpchange(function(player, hp_change)
if player and hp_change < 0 then if player then
local name = player:get_player_name() local name = player:get_player_name()
local properties = player:get_properties()
local hp = player:get_hp()
if name then if name then
if hp + hp_change < properties.hp_max then
local heal = armor.def[name].heal local heal = armor.def[name].heal
if heal >= math.random(100) then if heal >= math.random(100) then
hp_change = 0 hp_change = 0
@ -439,6 +456,7 @@ minetest.register_on_player_hpchange(function(player, hp_change)
end end
end end
end end
end
return hp_change return hp_change
end, true) end, true)
@ -488,6 +506,12 @@ else
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
-- make torches hurt
minetest.override_item("default:torch", {damage_per_second = 1})
minetest.override_item("default:torch_wall", {damage_per_second = 1})
minetest.override_item("default:torch_ceiling", {damage_per_second = 1})
minetest.register_globalstep(function(dtime) minetest.register_globalstep(function(dtime)
armor.timer = armor.timer + dtime armor.timer = armor.timer + dtime
if armor.timer < armor.config.update_time then if armor.timer < armor.config.update_time then

View File

@ -3,176 +3,176 @@
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-06 18:20+0200\n" "POT-Creation-Date: 2017-08-06 18:20+0200\n"
"PO-Revision-Date: 2017-08-06 18:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: fat115 <fat115@framasoft.org>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: \n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: es\n" "Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.12\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../3d_armor/api.lua #: ../3d_armor/api.lua
msgid "3d_armor: Player name is nil @1" msgid "3d_armor: Player name is nil @1"
msgstr "3d_armor : Nom du joueur non trouvé @1" msgstr "3d_armor: El nombre del jugador es nulo @1"
#: ../3d_armor/api.lua #: ../3d_armor/api.lua
msgid "3d_armor: Player inventory is nil @1" msgid "3d_armor: Player inventory is nil @1"
msgstr "3d_armor : Inventaire du joueur non trouvé @1" msgstr "3d_armor: El inventario del jugador es nulo @1"
#: ../3d_armor/api.lua #: ../3d_armor/api.lua
msgid "3d_armor: Detached armor inventory is nil @1" msgid "3d_armor: Detached armor inventory is nil @1"
msgstr "3d_armor : Inventaire détaché pour l'armure non trouvé @1" msgstr "3d_armor: La armadura desconectada es nula @1"
#: ../3d_armor/api.lua #: ../3d_armor/api.lua
msgid "3d_armor: Player reference is nil @1" msgid "3d_armor: Player reference is nil @1"
msgstr "3d_armor : Référence au joueur non trouvée @1" msgstr "3d_armor: La referencia del jugador es nula @1"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Admin Helmet" msgid "Admin Helmet"
msgstr "casco d'admin" msgstr "Casco de admin"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Admin Chestplate" msgid "Admin Chestplate"
msgstr "Coraza d'admin" msgstr "Peto de admin"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Admin Leggings" msgid "Admin Leggings"
msgstr "polainas d'admin" msgstr "Polainas de admin"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Admin Boots" msgid "Admin Boots"
msgstr "Bottes d'admin" msgstr "Botas de admin"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Wood Helmet" msgid "Wood Helmet"
msgstr "casco de madera" msgstr "Casco de madera"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Wood Chestplate" msgid "Wood Chestplate"
msgstr "Coraza de madera" msgstr "Peto de madera"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Wood Leggings" msgid "Wood Leggings"
msgstr "polainas de madera" msgstr "Polainas de madera"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Wood Boots" msgid "Wood Boots"
msgstr "Bottes de madera" msgstr "Botas de madera"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Cactus Helmet" msgid "Cactus Helmet"
msgstr "casco de cactus" msgstr "Casco de cactus"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Cactus Chestplate" msgid "Cactus Chestplate"
msgstr "Coraza de cactus" msgstr "Peto de cactus"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Cactus Leggings" msgid "Cactus Leggings"
msgstr "polainas de cactus" msgstr "Polainas de cactus"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Cactus Boots" msgid "Cactus Boots"
msgstr "Bottes de cactus" msgstr "Botas de cactus"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Steel Helmet" msgid "Steel Helmet"
msgstr "casco de acero" msgstr "Casco de acero"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Steel Chestplate" msgid "Steel Chestplate"
msgstr "Coraza de acero" msgstr "Peto de acero"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Steel Leggings" msgid "Steel Leggings"
msgstr "polainas de acero" msgstr "Polainas de acero"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Steel Boots" msgid "Steel Boots"
msgstr "Bottes de acero" msgstr "Botas de acero"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Bronze Helmet" msgid "Bronze Helmet"
msgstr "casco de bronze" msgstr "Casco de bronce"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Bronze Chestplate" msgid "Bronze Chestplate"
msgstr "Coraza de bronze" msgstr "Peto de bronce"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Bronze Leggings" msgid "Bronze Leggings"
msgstr "polainas de bronze" msgstr "Polainas de bronce"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Bronze Boots" msgid "Bronze Boots"
msgstr "Bottes de bronze" msgstr "Botas de bronce"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Diamond Helmet" msgid "Diamond Helmet"
msgstr "casco de diamant" msgstr "Casco de diamante"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Diamond Chestplate" msgid "Diamond Chestplate"
msgstr "Coraza de diamant" msgstr "Peto de diamante"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Diamond Leggings" msgid "Diamond Leggings"
msgstr "polainas de diamant" msgstr "Polainas de diamante"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Diamond Boots" msgid "Diamond Boots"
msgstr "Bottes de diamant" msgstr "Botas de diamante"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Gold Helmet" msgid "Gold Helmet"
msgstr "casco de or" msgstr "Casco de oro"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Gold Chestplate" msgid "Gold Chestplate"
msgstr "Coraza de or" msgstr "Peto de oro"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Gold Leggings" msgid "Gold Leggings"
msgstr "polainas de or" msgstr "Polainas de oro"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Gold Boots" msgid "Gold Boots"
msgstr "Bottes de or" msgstr "Botas de oro"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Mithril Helmet" msgid "Mithril Helmet"
msgstr "casco de mithril" msgstr "Casco de mitrilo"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Mithril Chestplate" msgid "Mithril Chestplate"
msgstr "Coraza de mithril" msgstr "Peto de mitrilo"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Mithril Leggings" msgid "Mithril Leggings"
msgstr "polainas de mithril" msgstr "Polainas de mitrilo"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Mithril Boots" msgid "Mithril Boots"
msgstr "Bottes de mithril" msgstr "Botas de mitrilo"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Crystal Helmet" msgid "Crystal Helmet"
msgstr "casco de cristal" msgstr "Casco de cristal"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Crystal Chestplate" msgid "Crystal Chestplate"
msgstr "Coraza de cristal" msgstr "Peto de cristal"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Crystal Leggings" msgid "Crystal Leggings"
msgstr "polainas de cristal" msgstr "Polainas de cristal"
#: ../3d_armor/armor.lua #: ../3d_armor/armor.lua
msgid "Crystal Boots" msgid "Crystal Boots"
@ -180,7 +180,7 @@ msgstr "Botas de cristal"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua #: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Radiation" msgid "Radiation"
msgstr "Radiacion" msgstr "Radiación"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua #: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Level" msgid "Level"
@ -188,7 +188,7 @@ msgstr "Nivel"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua #: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Heal" msgid "Heal"
msgstr "vida" msgstr "Salud"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua #: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Fire" msgid "Fire"
@ -196,95 +196,95 @@ msgstr "Fuego"
#: ../3d_armor/init.lua #: ../3d_armor/init.lua
msgid "Your @1 got destroyed!" msgid "Your @1 got destroyed!"
msgstr "Une partie de votre armure a été détruite : @1 !" msgstr "¡Tu @1 fue destruído!"
#: ../3d_armor/init.lua #: ../3d_armor/init.lua
msgid "3d_armor: Failed to initialize player" msgid "3d_armor: Failed to initialize player"
msgstr "3d_armor : Impossible d'initialiser le joueur" msgstr "3d_armor: Fallo en la inicialización del jugador"
#: ../3d_armor/init.lua #: ../3d_armor/init.lua
msgid "[3d_armor] Fire Nodes disabled" msgid "[3d_armor] Fire Nodes disabled"
msgstr "[3d_armor] Noeuds de type feu désactivés" msgstr "[3d_armor] Nodos de fuego desabilitados"
#: ../3d_armor_ip/init.lua #: ../3d_armor_ip/init.lua
msgid "3d_armor_ip: Mod loaded but unused." msgid "3d_armor_ip: Mod loaded but unused."
msgstr "3d_armor_ip : Mod chargé mais inutilisé." msgstr "3d_armor_ip: Mod cargado, pero sin ser usado."
#: ../3d_armor_ip/init.lua #: ../3d_armor_ip/init.lua
msgid "Back" msgid "Back"
msgstr "Retour" msgstr "Volver"
#: ../3d_armor_ip/init.lua ../3d_armor_sfinv/init.lua ../3d_armor_ui/init.lua #: ../3d_armor_ip/init.lua ../3d_armor_sfinv/init.lua ../3d_armor_ui/init.lua
msgid "Armor" msgid "Armor"
msgstr "Armure" msgstr "Armadura"
#: ../3d_armor_sfinv/init.lua #: ../3d_armor_sfinv/init.lua
msgid "3d_armor_sfinv: Mod loaded but unused." msgid "3d_armor_sfinv: Mod loaded but unused."
msgstr "3d_armor_sfinv : Mod chargé mais inutilisé." msgstr "3d_armor_sfinv: Mod cargado, pero sin ser usado."
#: ../3d_armor_stand/init.lua #: ../3d_armor_stand/init.lua
msgid "Armor stand top" msgid "Armor stand top"
msgstr "Haut de support d'armure" msgstr "Parte arriba maniquí armadura"
#: ../3d_armor_stand/init.lua #: ../3d_armor_stand/init.lua
msgid "Armor stand" msgid "Armor stand"
msgstr "Support d'armure" msgstr "Maniquí para armadura"
#: ../3d_armor_stand/init.lua #: ../3d_armor_stand/init.lua
msgid "Armor Stand" msgid "Armor Stand"
msgstr "Support d'armure" msgstr "Maniquí para armadura"
#: ../3d_armor_stand/init.lua #: ../3d_armor_stand/init.lua
msgid "Locked Armor stand" msgid "Locked Armor stand"
msgstr "Support d'armure verrouillé" msgstr "Maniquí para armadura (bloqueado)"
#: ../3d_armor_stand/init.lua #: ../3d_armor_stand/init.lua
msgid "Armor Stand (owned by @1)" msgid "Armor Stand (owned by @1)"
msgstr "Support d'armure (propriété de @1)" msgstr "Maniquí para armadura (propiedad de @1)"
#: ../3d_armor_ui/init.lua #: ../3d_armor_ui/init.lua
msgid "3d_armor_ui: Mod loaded but unused." msgid "3d_armor_ui: Mod loaded but unused."
msgstr "3d_armor_ui : Mod chargé mais inutilisé." msgstr "3d_armor_ui: Mod cargado, pero sin ser usado."
#: ../3d_armor_ui/init.lua #: ../3d_armor_ui/init.lua
msgid "3d Armor" msgid "3d Armor"
msgstr "Armure 3d" msgstr "Armadura 3d"
#: ../3d_armor_ui/init.lua #: ../3d_armor_ui/init.lua
msgid "Armor not initialized!" msgid "Armor not initialized!"
msgstr "Armure non initialisée !" msgstr "¡Armadura no inicializada!"
#: ../hazmat_suit/init.lua #: ../hazmat_suit/init.lua
msgid "hazmat_suit: Mod loaded but unused." msgid "hazmat_suit: Mod loaded but unused."
msgstr "hazmat_suit : Mod chargé mais non utilisé." msgstr "hazmat_suit: Mod cargado, pero sin ser usado."
#: ../hazmat_suit/init.lua #: ../hazmat_suit/init.lua
msgid "Hazmat Helmet" msgid "Hazmat Helmet"
msgstr "casco 'Hazmat'" msgstr "Casco de hazmat"
#: ../hazmat_suit/init.lua #: ../hazmat_suit/init.lua
msgid "Hazmat Chestplate" msgid "Hazmat Chestplate"
msgstr "Coraza 'Hazmat'" msgstr "Peto de hazmat"
#: ../hazmat_suit/init.lua #: ../hazmat_suit/init.lua
msgid "Hazmat Sleeve" msgid "Hazmat Sleeve"
msgstr "Manches 'Hazmat'" msgstr "Manga de hazmat"
#: ../hazmat_suit/init.lua #: ../hazmat_suit/init.lua
msgid "Hazmat Leggins" msgid "Hazmat Leggins"
msgstr "polainas 'Hazmat'" msgstr "Polainas de hazmat"
#: ../hazmat_suit/init.lua #: ../hazmat_suit/init.lua
msgid "Hazmat Boots" msgid "Hazmat Boots"
msgstr "Bottes 'Hazmat'" msgstr "Botas de hazmat"
#: ../hazmat_suit/init.lua #: ../hazmat_suit/init.lua
msgid "Hazmat Suit" msgid "Hazmat Suit"
msgstr "Combinaison 'Hazmat'" msgstr "Traje de hazmat"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Admin Shield" msgid "Admin Shield"
msgstr "Escudo d'admin" msgstr "Escudo de admin"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Wooden Shield" msgid "Wooden Shield"
@ -292,7 +292,7 @@ msgstr "Escudo de madera"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Enhanced Wood Shield" msgid "Enhanced Wood Shield"
msgstr "Escudo de madera umentadoé" msgstr "Escudo de madera mejorado"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Cactus Shield" msgid "Cactus Shield"
@ -300,7 +300,7 @@ msgstr "Escudo de cactus"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Enhanced Cactus Shield" msgid "Enhanced Cactus Shield"
msgstr "Escudo de cactus aumentado" msgstr "Escudo de cactus mejorado"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Steel Shield" msgid "Steel Shield"
@ -308,11 +308,11 @@ msgstr "Escudo de acero"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Bronze Shield" msgid "Bronze Shield"
msgstr "Escudo de bronze" msgstr "Escudo de bronce"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Diamond Shield" msgid "Diamond Shield"
msgstr "Escudo de diamant" msgstr "Escudo de diamante"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Gold Shield" msgid "Gold Shield"
@ -320,7 +320,7 @@ msgstr "Escudo de oro"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Mithril Shield" msgid "Mithril Shield"
msgstr "Escudo de mithril" msgstr "Escudo de mitrilo"
#: ../shields/init.lua #: ../shields/init.lua
msgid "Crystal Shield" msgid "Crystal Shield"
@ -328,15 +328,15 @@ msgstr "Escudo de cristal"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "technic_armor: Mod loaded but unused." msgid "technic_armor: Mod loaded but unused."
msgstr "technic_armor : Mod chargé mais non utilisé." msgstr "technic_armor: Mod cargado, pero no usado."
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Lead" msgid "Lead"
msgstr "plomo" msgstr "Plomo"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Brass" msgid "Brass"
msgstr "laton" msgstr "Latón"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Cast Iron" msgid "Cast Iron"
@ -344,15 +344,15 @@ msgstr "Hierro"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Carbon Steel" msgid "Carbon Steel"
msgstr "Aceero carbono" msgstr "Acero carbono"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Stainless Steel" msgid "Stainless Steel"
msgstr "acero inoxydable" msgstr "Acero inoxidable"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Tin" msgid "Tin"
msgstr "étain" msgstr "Estaño"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Silver" msgid "Silver"
@ -360,25 +360,25 @@ msgstr "Plata"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Helmet" msgid "Helmet"
msgstr "casco" msgstr "Casco"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Chestplate" msgid "Chestplate"
msgstr "Coraza" msgstr "Peto"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Leggings" msgid "Leggins"
msgstr "polainas" msgstr "Polainas"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Boots" msgid "Boots"
msgstr "Bottes" msgstr "Botas"
#: ../technic_armor/init.lua #: ../technic_armor/init.lua
msgid "Shield" msgid "Shield"
msgstr "Escudo" msgstr "Escudo"
#. 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 de Plata' by using '@2 de @1' as translated string) #. 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 #: ../technic_armor/init.lua
msgid "@1 @2" msgid "@1 @2"
msgstr "@2 de @1" msgstr "@2 de @1"

View File

@ -0,0 +1,295 @@
# LANGUAGE translation for 3D ARMOR MOD
# Copyright (C) 2018 by Stuart Jones
# This file is distributed under the same license as the 3D ARMOR MOD package.
# BrunoMine <borgesdossantosbruno@gmail.com>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: 3d_armor\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-23 21:24+0200\n"
"PO-Revision-Date: 2018-11-08 13:12-0200\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"Last-Translator: BrunoMine <borgesdossantosbruno@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: pt\n"
#: ../3d_armor/api.lua
msgid "3d_armor: Player reference is nil @1"
msgstr "3d_armor: Referência Jogador é nula @1"
#: ../3d_armor/api.lua
msgid "3d_armor: Player name is nil @1"
msgstr "3d_armor: Nome de jogador é nulo @1"
#: ../3d_armor/api.lua
msgid "3d_armor: Detached armor inventory is nil @1"
msgstr "3d_armor: Inventario avulso de armadura é nulo @1"
#: ../3d_armor/armor.lua
msgid "Admin Helmet"
msgstr "Capacete de Administrador"
#: ../3d_armor/armor.lua
msgid "Admin Chestplate"
msgstr "Peitoral de Administrador"
#: ../3d_armor/armor.lua
msgid "Admin Leggings"
msgstr "Calças de Administrador"
#: ../3d_armor/armor.lua
msgid "Admin Boots"
msgstr "Botas de Administrador"
#: ../3d_armor/armor.lua
msgid "Wood Helmet"
msgstr "Capacete de Madeira"
#: ../3d_armor/armor.lua
msgid "Wood Chestplate"
msgstr "Peitoral de Madeira"
#: ../3d_armor/armor.lua
msgid "Wood Leggings"
msgstr "Calças de Madeira"
#: ../3d_armor/armor.lua
msgid "Wood Boots"
msgstr "Botas de Madeira"
#: ../3d_armor/armor.lua
msgid "Cactus Helmet"
msgstr "Capacete de Cacto"
#: ../3d_armor/armor.lua
msgid "Cactus Chestplate"
msgstr "Peitoral de Cacto"
#: ../3d_armor/armor.lua
msgid "Cactus Leggings"
msgstr "Calças de Cacto"
#: ../3d_armor/armor.lua
msgid "Cactus Boots"
msgstr "Botas de Madeira"
#: ../3d_armor/armor.lua
msgid "Steel Helmet"
msgstr "Capacete de Aço"
#: ../3d_armor/armor.lua
msgid "Steel Chestplate"
msgstr "Peitoral de Aço"
#: ../3d_armor/armor.lua
msgid "Steel Leggings"
msgstr "Calças de Aço"
#: ../3d_armor/armor.lua
msgid "Steel Boots"
msgstr "Botas de Aço"
#: ../3d_armor/armor.lua
msgid "Bronze Helmet"
msgstr "Capacete de Bronze"
#: ../3d_armor/armor.lua
msgid "Bronze Chestplate"
msgstr "Peitoral de Bronze"
#: ../3d_armor/armor.lua
msgid "Bronze Leggings"
msgstr "Calças de Bronze"
#: ../3d_armor/armor.lua
msgid "Bronze Boots"
msgstr "Botas de Bronze"
#: ../3d_armor/armor.lua
msgid "Diamond Helmet"
msgstr "Capacete de Diamante"
#: ../3d_armor/armor.lua
msgid "Diamond Chestplate"
msgstr "Peitoral de Diamante"
#: ../3d_armor/armor.lua
msgid "Diamond Leggings"
msgstr "Calças de Diamante"
#: ../3d_armor/armor.lua
msgid "Diamond Boots"
msgstr "Botas de Diamante"
#: ../3d_armor/armor.lua
msgid "Gold Helmet"
msgstr "Capacete de Ouro"
#: ../3d_armor/armor.lua
msgid "Gold Chestplate"
msgstr "Peitoral de Ouro"
#: ../3d_armor/armor.lua
msgid "Gold Leggings"
msgstr "Calças de Ouro"
#: ../3d_armor/armor.lua
msgid "Gold Boots"
msgstr "Botas de Ouro"
#: ../3d_armor/armor.lua
msgid "Mithril Helmet"
msgstr "Capacete de Mithril"
#: ../3d_armor/armor.lua
msgid "Mithril Chestplate"
msgstr "Peitoral de Mithril"
#: ../3d_armor/armor.lua
msgid "Mithril Leggings"
msgstr "Calças de Mithril"
#: ../3d_armor/armor.lua
msgid "Mithril Boots"
msgstr "Botas de Mithril"
#: ../3d_armor/armor.lua
msgid "Crystal Helmet"
msgstr "Capacete de Cristal"
#: ../3d_armor/armor.lua
msgid "Crystal Chestplate"
msgstr "Peitoral de Cristal"
#: ../3d_armor/armor.lua
msgid "Crystal Leggings"
msgstr "Calças de Cristal"
#: ../3d_armor/armor.lua
msgid "Crystal Boots"
msgstr "Botas de Cristal"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Radiation"
msgstr "Radiação"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Level"
msgstr "Nível"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Heal"
msgstr "Saúde"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Fire"
msgstr "Fogo"
#: ../3d_armor/init.lua
msgid "Your @1 got destroyed!"
msgstr "@1 foi destruído(a)!"
#: ../3d_armor/init.lua
msgid "3d_armor: Failed to initialize player"
msgstr "3d_armor: Falha ao inicializar jogador"
#: ../3d_armor/init.lua
msgid "[3d_armor] Fire Nodes disabled"
msgstr "[3d_armor] Nodes de gofo desabilitados"
#: ../3d_armor_ip/init.lua
msgid "3d_armor_ip: Mod loaded but unused."
msgstr "3d_armor_ip: Mod carregado mas inoperante."
#: ../3d_armor_ip/init.lua
msgid "Back"
msgstr "Voltar"
#: ../3d_armor_ip/init.lua ../3d_armor_sfinv/init.lua ../3d_armor_ui/init.lua
msgid "Armor"
msgstr "Armadura"
#: ../3d_armor_sfinv/init.lua
msgid "3d_armor_sfinv: Mod loaded but unused."
msgstr "3d_armor_sfinv: Mod carregado mas inoperante."
#: ../3d_armor_stand/init.lua
msgid "Armor stand top"
msgstr "Topo de estande de armadura"
#: ../3d_armor_stand/init.lua
msgid "Armor stand"
msgstr "Estande de armadura"
#: ../3d_armor_stand/init.lua
msgid "Armor Stand"
msgstr "Estande de Armadura"
#: ../3d_armor_stand/init.lua
msgid "Locked Armor stand"
msgstr "Estande de Armadura Trancada"
#: ../3d_armor_stand/init.lua
msgid "Armor Stand (owned by @1)"
msgstr "Estande de Armadura (pertente a @1)"
#: ../3d_armor_ui/init.lua
msgid "3d_armor_ui: Mod loaded but unused."
msgstr "3d_armor_ui: Mod carregado mas inoperante."
#: ../3d_armor_ui/init.lua
msgid "3d Armor"
msgstr "3d Armor"
#: ../3d_armor_ui/init.lua
msgid "Armor not initialized!"
msgstr "Armadura não inicializada!"
#: ../shields/init.lua
msgid "Admin Shield"
msgstr "Escudo de Administrador"
#: ../shields/init.lua
msgid "Wooden Shield"
msgstr "Escudo de Madeira"
#: ../shields/init.lua
msgid "Enhanced Wood Shield"
msgstr "Escudo de Madeira Melhorado"
#: ../shields/init.lua
msgid "Cactus Shield"
msgstr "Escudo de Cacto"
#: ../shields/init.lua
msgid "Enhanced Cactus Shield"
msgstr "Escudo de Cacto Melhorado"
#: ../shields/init.lua
msgid "Steel Shield"
msgstr "Escudo de Aço"
#: ../shields/init.lua
msgid "Bronze Shield"
msgstr "Escudo de Bronze"
#: ../shields/init.lua
msgid "Diamond Shield"
msgstr "Escudo de Diamante"
#: ../shields/init.lua
msgid "Gold Shield"
msgstr "Escudo de Ouro"
#: ../shields/init.lua
msgid "Mithril Shield"
msgstr "Escudo de Mithril"
#: ../shields/init.lua
msgid "Crystal Shield"
msgstr "Escudo de Cristal"

View File

@ -0,0 +1,295 @@
# LANGUAGE translation for 3D ARMOR MOD
# Copyright (C) 2018 by Stuart Jones
# This file is distributed under the same license as the 3D ARMOR MOD package.
# BrunoMine <borgesdossantosbruno@gmail.com>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: 3d_armor\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-23 21:24+0200\n"
"PO-Revision-Date: 2018-11-08 13:12-0200\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"Last-Translator: BrunoMine <borgesdossantosbruno@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: pt_BR\n"
#: ../3d_armor/api.lua
msgid "3d_armor: Player reference is nil @1"
msgstr "3d_armor: Referência Jogador é nula @1"
#: ../3d_armor/api.lua
msgid "3d_armor: Player name is nil @1"
msgstr "3d_armor: Nome de jogador é nulo @1"
#: ../3d_armor/api.lua
msgid "3d_armor: Detached armor inventory is nil @1"
msgstr "3d_armor: Inventario avulso de armadura é nulo @1"
#: ../3d_armor/armor.lua
msgid "Admin Helmet"
msgstr "Capacete de Administrador"
#: ../3d_armor/armor.lua
msgid "Admin Chestplate"
msgstr "Peitoral de Administrador"
#: ../3d_armor/armor.lua
msgid "Admin Leggings"
msgstr "Calças de Administrador"
#: ../3d_armor/armor.lua
msgid "Admin Boots"
msgstr "Botas de Administrador"
#: ../3d_armor/armor.lua
msgid "Wood Helmet"
msgstr "Capacete de Madeira"
#: ../3d_armor/armor.lua
msgid "Wood Chestplate"
msgstr "Peitoral de Madeira"
#: ../3d_armor/armor.lua
msgid "Wood Leggings"
msgstr "Calças de Madeira"
#: ../3d_armor/armor.lua
msgid "Wood Boots"
msgstr "Botas de Madeira"
#: ../3d_armor/armor.lua
msgid "Cactus Helmet"
msgstr "Capacete de Cacto"
#: ../3d_armor/armor.lua
msgid "Cactus Chestplate"
msgstr "Peitoral de Cacto"
#: ../3d_armor/armor.lua
msgid "Cactus Leggings"
msgstr "Calças de Cacto"
#: ../3d_armor/armor.lua
msgid "Cactus Boots"
msgstr "Botas de Madeira"
#: ../3d_armor/armor.lua
msgid "Steel Helmet"
msgstr "Capacete de Aço"
#: ../3d_armor/armor.lua
msgid "Steel Chestplate"
msgstr "Peitoral de Aço"
#: ../3d_armor/armor.lua
msgid "Steel Leggings"
msgstr "Calças de Aço"
#: ../3d_armor/armor.lua
msgid "Steel Boots"
msgstr "Botas de Aço"
#: ../3d_armor/armor.lua
msgid "Bronze Helmet"
msgstr "Capacete de Bronze"
#: ../3d_armor/armor.lua
msgid "Bronze Chestplate"
msgstr "Peitoral de Bronze"
#: ../3d_armor/armor.lua
msgid "Bronze Leggings"
msgstr "Calças de Bronze"
#: ../3d_armor/armor.lua
msgid "Bronze Boots"
msgstr "Botas de Bronze"
#: ../3d_armor/armor.lua
msgid "Diamond Helmet"
msgstr "Capacete de Diamante"
#: ../3d_armor/armor.lua
msgid "Diamond Chestplate"
msgstr "Peitoral de Diamante"
#: ../3d_armor/armor.lua
msgid "Diamond Leggings"
msgstr "Calças de Diamante"
#: ../3d_armor/armor.lua
msgid "Diamond Boots"
msgstr "Botas de Diamante"
#: ../3d_armor/armor.lua
msgid "Gold Helmet"
msgstr "Capacete de Ouro"
#: ../3d_armor/armor.lua
msgid "Gold Chestplate"
msgstr "Peitoral de Ouro"
#: ../3d_armor/armor.lua
msgid "Gold Leggings"
msgstr "Calças de Ouro"
#: ../3d_armor/armor.lua
msgid "Gold Boots"
msgstr "Botas de Ouro"
#: ../3d_armor/armor.lua
msgid "Mithril Helmet"
msgstr "Capacete de Mithril"
#: ../3d_armor/armor.lua
msgid "Mithril Chestplate"
msgstr "Peitoral de Mithril"
#: ../3d_armor/armor.lua
msgid "Mithril Leggings"
msgstr "Calças de Mithril"
#: ../3d_armor/armor.lua
msgid "Mithril Boots"
msgstr "Botas de Mithril"
#: ../3d_armor/armor.lua
msgid "Crystal Helmet"
msgstr "Capacete de Cristal"
#: ../3d_armor/armor.lua
msgid "Crystal Chestplate"
msgstr "Peitoral de Cristal"
#: ../3d_armor/armor.lua
msgid "Crystal Leggings"
msgstr "Calças de Cristal"
#: ../3d_armor/armor.lua
msgid "Crystal Boots"
msgstr "Botas de Cristal"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Radiation"
msgstr "Radiação"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Level"
msgstr "Nível"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Heal"
msgstr "Saúde"
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
msgid "Fire"
msgstr "Fogo"
#: ../3d_armor/init.lua
msgid "Your @1 got destroyed!"
msgstr "@1 foi destruído(a)!"
#: ../3d_armor/init.lua
msgid "3d_armor: Failed to initialize player"
msgstr "3d_armor: Falha ao inicializar jogador"
#: ../3d_armor/init.lua
msgid "[3d_armor] Fire Nodes disabled"
msgstr "[3d_armor] Nodes de gofo desabilitados"
#: ../3d_armor_ip/init.lua
msgid "3d_armor_ip: Mod loaded but unused."
msgstr "3d_armor_ip: Mod carregado mas inoperante."
#: ../3d_armor_ip/init.lua
msgid "Back"
msgstr "Voltar"
#: ../3d_armor_ip/init.lua ../3d_armor_sfinv/init.lua ../3d_armor_ui/init.lua
msgid "Armor"
msgstr "Armadura"
#: ../3d_armor_sfinv/init.lua
msgid "3d_armor_sfinv: Mod loaded but unused."
msgstr "3d_armor_sfinv: Mod carregado mas inoperante."
#: ../3d_armor_stand/init.lua
msgid "Armor stand top"
msgstr "Topo de estande de armadura"
#: ../3d_armor_stand/init.lua
msgid "Armor stand"
msgstr "Estande de armadura"
#: ../3d_armor_stand/init.lua
msgid "Armor Stand"
msgstr "Estande de Armadura"
#: ../3d_armor_stand/init.lua
msgid "Locked Armor stand"
msgstr "Estande de Armadura Trancada"
#: ../3d_armor_stand/init.lua
msgid "Armor Stand (owned by @1)"
msgstr "Estande de Armadura (pertente a @1)"
#: ../3d_armor_ui/init.lua
msgid "3d_armor_ui: Mod loaded but unused."
msgstr "3d_armor_ui: Mod carregado mas inoperante."
#: ../3d_armor_ui/init.lua
msgid "3d Armor"
msgstr "3d Armor"
#: ../3d_armor_ui/init.lua
msgid "Armor not initialized!"
msgstr "Armadura não inicializada!"
#: ../shields/init.lua
msgid "Admin Shield"
msgstr "Escudo de Administrador"
#: ../shields/init.lua
msgid "Wooden Shield"
msgstr "Escudo de Madeira"
#: ../shields/init.lua
msgid "Enhanced Wood Shield"
msgstr "Escudo de Madeira Melhorado"
#: ../shields/init.lua
msgid "Cactus Shield"
msgstr "Escudo de Cacto"
#: ../shields/init.lua
msgid "Enhanced Cactus Shield"
msgstr "Escudo de Cacto Melhorado"
#: ../shields/init.lua
msgid "Steel Shield"
msgstr "Escudo de Aço"
#: ../shields/init.lua
msgid "Bronze Shield"
msgstr "Escudo de Bronze"
#: ../shields/init.lua
msgid "Diamond Shield"
msgstr "Escudo de Diamante"
#: ../shields/init.lua
msgid "Gold Shield"
msgstr "Escudo de Ouro"
#: ../shields/init.lua
msgid "Mithril Shield"
msgstr "Escudo de Mithril"
#: ../shields/init.lua
msgid "Crystal Shield"
msgstr "Escudo de Cristal"

View File

@ -0,0 +1,294 @@
# Russian translation for 3D ARMOR MOD
# Copyright (C) 2018 by Stuart Jones
# This file is distributed under the same license as the 3D ARMOR MOD package.
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 3d_armor\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-23 21:21+0200\n"
"PO-Revision-Date: 2018-07-23 21:30+0200\n"
"Last-Translator: CodeXP <codexp@gmx.net>\n"
"Language-Team: \n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../3d_armor/api.lua
msgid "3d_armor: Player reference is nil @1"
msgstr "3d_armor: Ссылка игрока является nil @1"
#: ../3d_armor/api.lua
msgid "3d_armor: Player name is nil @1"
msgstr "3d_armor: Имя игрока является nil @1"
#: ../3d_armor/api.lua
msgid "3d_armor: Detached armor inventory is nil @1"
msgstr "3d_armor: Отдельный инвентарь брони является nil @1"
#: ../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 "твой(и) @1 был(и) разрушен(ы)!"
#: ../3d_armor/init.lua
msgid "3d_armor: Failed to initialize player"
msgstr "3d_armor: не смог подготовить игрока"
#: ../3d_armor/init.lua
msgid "[3d_armor] Fire Nodes disabled"
msgstr "[3d_armor] блоки огня отключены"
#: ../3d_armor_ip/init.lua
msgid "3d_armor_ip: Mod loaded but unused."
msgstr "3d_armor_ip: мод загружен но не используется."
#: ../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_sfinv: мод загружен но не используется."
#: ../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 "стойка для брони (принадлежит @1)"
#: ../3d_armor_ui/init.lua
msgid "3d_armor_ui: Mod loaded but unused."
msgstr "3d_armor_ui: мод загружен но не используется."
#: ../3d_armor_ui/init.lua
msgid "3d Armor"
msgstr "3D бронь"
#: ../3d_armor_ui/init.lua
msgid "Armor not initialized!"
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 "кристалловый щит"

View File

@ -1,4 +1,4 @@
name = 3d_armor name = 3d_armor
depends = default depends = default
optional_depends = player_monoids, armor_monoid, pova, fire, ethereal, bakedclay, intllib, moreores, nether optional_depends = bones, player_monoids, armor_monoid, pova, fire, ethereal, bakedclay, intllib, moreores, nether, player_api
description = ARMOR equipable for players description = ARMOR equipable for players

Binary file not shown.

View File

@ -0,0 +1,22 @@
3d_Armor_Gloves -- Crafting Guide
--------------------------
+---+---+---+
| X | | X |
+---+---+---+
| S | | S |
+---+---+---+
| | | |
+---+---+---+
[3d_armor_gloves:gloves_wood] X = [default:wood], S = [farming:string]
[3d_armor_gloves:gloves_cactus] X = [default:cactus], S = [farming:string]
[3d_armor_gloves:gloves_steel] X = [default:steel_ingot], S = [farming:string]
[3d_armor_gloves:gloves_bronze] X = [default:bronze_ingot], S = [farming:string]
[3d_armor_gloves:gloves_diamond] X = [default:diamond], S = [farming:string]
[3d_armor_gloves:gloves_gold] X = [default:gold_ingot], S = [farming:string]
[3d_armor_gloves:gloves_mithril] X = [moreores:mithril_ingot], S = [farming:string]
[3d_armor_gloves:gloves_crystal] X = [ethereal:crystal_ingot], S = [farming:string]

View File

@ -24,6 +24,9 @@ end
if minetest.global_exists("armor") and armor.elements then if minetest.global_exists("armor") and armor.elements then
table.insert(armor.elements, "hands") table.insert(armor.elements, "hands")
else
minetest.log("warning","[3d_armor_globes] loaded but unused, no 3d_armor mod detected")
return
end end
-- Regisiter Gloves/Gauntlets -- Regisiter Gloves/Gauntlets
@ -144,3 +147,6 @@ for k, v in pairs(armor.materials) do
minetest.register_alias("3d_armor:gloves_"..k, "3d_armor_gloves:gloves_"..k) minetest.register_alias("3d_armor:gloves_"..k, "3d_armor_gloves:gloves_"..k)
end end
minetest.log("[3d_armor_gloves]: Mod loaded successfully.")

View File

@ -133,6 +133,13 @@ local function remove_hidden_node(pos)
end end
end end
-- The default is "opaque" for drawtypes normal, liquid and flowingliquid;
-- "clip" otherwise.
-- If set to a boolean value (deprecated): true either sets it to blend
-- or clip, false sets it to clip or opaque mode depending on the drawtype.
local mt_use_texture_alpha = true
if armor.is_54 then mt_use_texture_alpha = "clip" else mt_use_texture_alpha = true end
minetest.register_node("3d_armor_stand:top", { minetest.register_node("3d_armor_stand:top", {
description = S("Armor Stand Top"), description = S("Armor Stand Top"),
paramtype = "light", paramtype = "light",
@ -153,6 +160,7 @@ minetest.register_node("3d_armor_stand:armor_stand", {
drawtype = "mesh", drawtype = "mesh",
mesh = "3d_armor_stand.obj", mesh = "3d_armor_stand.obj",
tiles = {"3d_armor_stand.png"}, tiles = {"3d_armor_stand.png"},
use_texture_alpha = mt_use_texture_alpha,
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
walkable = false, walkable = false,
@ -221,6 +229,7 @@ minetest.register_node("3d_armor_stand:locked_armor_stand", {
drawtype = "mesh", drawtype = "mesh",
mesh = "3d_armor_stand.obj", mesh = "3d_armor_stand.obj",
tiles = {"3d_armor_stand_locked.png"}, tiles = {"3d_armor_stand_locked.png"},
use_texture_alpha = mt_use_texture_alpha,
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
walkable = false, walkable = false,

View File

@ -0,0 +1,5 @@
# textdomain: 3d_armor_stand
Armor Stand Top=Soporte superior
Armor Stand=Soporte de armadura
Locked Armor Stand=Soporte con dueño
Armor Stand (owned by @1)=Soporte de armadira (de @1)

View File

@ -1,10 +1,9 @@
-- Use 3d_armor translator to take advantage of existing translations for armor parts -- Use 3d_armor translator to take advantage of existing translations for armor parts
local S = armor_i18n.gettext 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", S("[3d_armor_technic]: Mod loaded but unused.")) minetest.log("warning", "[3d_armor_technic]: Mod loaded but unused.")
return return
end end
@ -153,3 +152,6 @@ for material, m in pairs(materials) do
}) })
end end
end end
minetest.log("[3d_armor_technic]: Mod loaded successfully.")

View File

@ -0,0 +1,8 @@
# textdomain: 3d_armor_ui
3D Armor=Armadura
Armor not initialized!=Armadura no inicializada!
Armor=Armadura
Level=Nível
Heal=Vida
Fire=Fuego
Radiation=Radiacion

View File

@ -15,30 +15,39 @@ helmet, chestplate, leggings and boots.
----------------- -----------------
This modpack must be named `3d_armor` and enables armor manage for the gameplay This modpack must be named `3d_armor` and enables armor manage for the gameplay
Makes hand wielded items visible to other players.
Adds a chest-like armor stand for armor storage and display.
It can be download from It can be download from
* https://git.minetest.io/minenux/minetest-mod-3d_armor * https://git.minetest.io/minenux/minetest-mod-3d_armor
* https://codeberg.org/minenux/minetest-mod-3d_armor * https://codeberg.org/minenux/minetest-mod-3d_armor
* https://gitlab.com/minenux/minetest-mod-3d_armor
This modpack provides `3d_armor`, `3d_armor_gloves`, `3d_armor_stand`, `shields` and `wieldview` This modpack provides following mods (click on each item to get more information):
Aditional this particular modpack integrates back `3d_armor_technic` * [`3d_armor`](3d_armor/README.md)
* [`3d_armor_gloves`](3d_armor_gloves/README.md)
* [`3d_armor_stand`](3d_armor_stand/README.md)
* [`shields`](shields/README.md)
* [`wieldview`](wieldview/README.md)
For the inventory it provides integration for `sfinv`, `inventory_plus` and `unified_inventory` Aditional this particular modpack integrates/back:
- [[mod] Visible Player Armor [3d_armor and 3d_armor_technic]](#mod-visible-player-armor-3d_armor) * [`3d_armor_technic`](3d_armor_technic/README.md) originally `technic_armor`
- [[mod] Visible Wielded Items [wieldview]](#mod-visible-wielded-items-wieldview) * [`3d_armor_mobile`](3d_armor_mobile/README.md) a nice way to wear for mobile play
- [[mod] Shields [shields]](#mod-shields-shields)
- [[mod] 3d Armor Stand [3d_armor_stand]](#mod-3d-armor-stand-3d_armor_stand)
### [mod] Visible Player Armor [3d_armor] For the inventory it provides integration for:
Minetest Version: 0.4.16 + * [`3d_armor_sfinv`](3d_armor_sfinv/README.md) if detected `sfinv` mod
* [`3d_armor_ip`](3d_armor_ip/README.md) for `inventory_plus` but only for newer engines (MT 5.0+)
* [`3d_armor_ui`](3d_armor_ui/README.md) if detected `unified_inventory` mod
The required minetest Version: 0.4.16 + this means ALL ENGINES including recent 5.X+
Game: minetest_game and many derivatives Game: minetest_game and many derivatives
Depends: default Depends: default (check each mod to get into aditional depends)
Adds craftable armor that is visible to other players. Each armor item worn contributes to Adds craftable armor that is visible to other players. Each armor item worn contributes to
a player's armor group level making them less vulnerable to attack. a player's armor group level making them less vulnerable to attack.
@ -63,23 +72,6 @@ see armor.conf.example for all available options.
For mod installation instructions, please visit: http://wiki.minetest.com/wiki/Installing_Mods For mod installation instructions, please visit: http://wiki.minetest.com/wiki/Installing_Mods
### [mod] Visible Wielded Items [wieldview]
Depends: 3d_armor
Makes hand wielded items visible to other players.
### [mod] Shields [shields]
Depends: 3d_armor
Originally a part of 3d_armor, shields have been re-included as an optional extra.
If you do not want shields then simply remove the shields folder from the modpack.
### [mod] 3d Armor Stand [3d_armor_stand]
Depends: 3d_armor
Adds a chest-like armor stand for armor storage and display. Adds a chest-like armor stand for armor storage and display.
## LICENSE ## LICENSE

View File

@ -33,11 +33,17 @@ armor_destroy (Pulverize armor on death) bool false
# You can use this to increase or decrease overall armor effectiveness, # You can use this to increase or decrease overall armor effectiveness,
# eg: level_multiplier = 0.5 will reduce armor level by half. # eg: level_multiplier = 0.5 will reduce armor level by half.
armor_level_multiplier (Armor effectiveness multiplier) float 0.9 armor_level_multiplier (Armor effectiveness multiplier) float 1
# You can use this to increase or decrease overall armor healing, # You can use this to increase or decrease overall armor healing,
# eg: armor_heal_multiplier = 0 will disable healing altogether. # eg: armor_heal_multiplier = 0 will disable healing altogether.
armor_heal_multiplier (Armor healing multiplier) float 0.6 armor_heal_multiplier (Armor healing multiplier) float 1
# Armor set item names, remove or add items to include them or remove them from whats considered an Armor set.
armor_set_elements (Armor set items) string head torso legs feet shield
# Bonus multiplier when wearing armor set, set to the same as armor_level_multiplier to disable
armor_set_multiplier (Armor Set Bonus multiplier) float 1.1
# Enable water protection (periodically restores breath when activated). # Enable water protection (periodically restores breath when activated).
armor_water_protect (Enable water protection) bool true armor_water_protect (Enable water protection) bool true
@ -54,6 +60,9 @@ armor_punch_damage (Enable damage effects) bool true
# Enable migration of old armor inventories. # Enable migration of old armor inventories.
armor_migrate_old_inventory (Migrate old armor inventories) bool true armor_migrate_old_inventory (Migrate old armor inventories) bool true
# Armor is not visible on player model when enabled.
armor_transparent (Transparent armor) bool false
[shields] [shields]
@ -63,7 +72,7 @@ shields_disable_sounds (Disable shield sounds) bool false
[wieldview] [wieldview]
# Set number of seconds between visible wielded item updates. # Set number of seconds between visible wielded item updates.
wieldview_update_time (Wieldview refresh rate [seconds]) int 2 wieldview_update_time (Wieldview refresh rate [seconds]) int 3
# Show nodes as tiles, disabled by default. # Show nodes as tiles, disabled by default.
wieldview_node_tiles (Show nodes as tiles) bool false wieldview_node_tiles (Show nodes as tiles) bool false

View File

@ -0,0 +1,13 @@
# textdomain: shields
Admin Shield=Escudo Administrador
Wooden Shield=Escudo Madera
Enhanced Wood Shield=Escudo Madera Encantado
Cactus Shield=Escudo de Cacto
Enhanced Cactus Shield=Escude Cacto Encantado
Steel Shield=Escudo de Acero
Bronze Shield=Escudo de Bronze
Diamond Shield=Escudo de Diamante
Gold Shield=Escudo de Oro
Mithril Shield=Escudo de Mithril
Crystal Shield=Escudo de Cristal
Nether Shield=Escudo de Nether

View File

@ -54,6 +54,16 @@ wieldview.update_wielded_item = function(self, player)
return return
end end
if self.wielded_item[name] then if self.wielded_item[name] then
local swi
if armor.is_50 then
local attribute_meta = player:get_meta() -- I know, the function's name is weird but let it be like that. ;)
swi = attribute_meta:get_int("show_wielded_item")
else
swi = tonumber(player:get_attribute("show_wielded_item") or 2)
end
if swi == 2 then
item = ""
end
if self.wielded_item[name] == item then if self.wielded_item[name] == item then
return return
end end