Compare commits
7 Commits
c3edca70aa
...
5b37aa6387
Author | SHA1 | Date |
---|---|---|
mckaygerhard | 5b37aa6387 | |
mckaygerhard | 6327ac1eb0 | |
mckaygerhard | 02120d280e | |
mckaygerhard | e6822f1f49 | |
mckaygerhard | 057f2ff590 | |
mckaygerhard | d7ae85b7f6 | |
mckaygerhard | 3b5cbef652 |
|
@ -74,6 +74,28 @@ Override the following default settings by adding them to your minetest.conf fil
|
|||
|
||||
### 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:register_armor(name, def)`
|
||||
|
|
|
@ -74,6 +74,28 @@ Override the following default settings by adding them to your minetest.conf fil
|
|||
|
||||
### 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:register_armor(name, def)`
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
-- @topic api
|
||||
|
||||
|
||||
local transparent_armor = minetest.settings:get_bool("armor_transparent", false)
|
||||
|
||||
|
||||
--- Tables
|
||||
--
|
||||
-- @section tables
|
||||
|
@ -98,6 +101,11 @@ else
|
|||
end
|
||||
end
|
||||
|
||||
-- support for i18n backguard compatibility
|
||||
armor_i18n = { }
|
||||
armor_i18n.gettext = S
|
||||
armor_i18n.ngettext = ngettext
|
||||
|
||||
local skin_previews = {}
|
||||
local use_player_monoids = minetest.global_exists("player_monoids")
|
||||
local use_armor_monoid = minetest.global_exists("armor_monoid")
|
||||
|
@ -125,6 +133,9 @@ local armor_textures = setmetatable({}, {
|
|||
})
|
||||
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 = {
|
||||
timer = 0,
|
||||
|
@ -143,7 +154,7 @@ armor = {
|
|||
default_skin = "character",
|
||||
materials = {
|
||||
wood = "group:wood",
|
||||
cactus = "default:cactus",
|
||||
cactus = "group:cactus",
|
||||
steel = "default:steel_ingot",
|
||||
bronze = "default:bronze_ingot",
|
||||
diamond = "default:diamond",
|
||||
|
@ -174,16 +185,21 @@ armor = {
|
|||
on_destroy = {},
|
||||
},
|
||||
migrate_old_inventory = true,
|
||||
version = "0.4.15",
|
||||
get_translator = S
|
||||
version = "0.4.16",
|
||||
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 = {
|
||||
init_delay = 2,
|
||||
init_times = 10,
|
||||
bones_delay = 1,
|
||||
bones_delay = 3,
|
||||
update_time = 1,
|
||||
drop = minetest.get_modpath("bones") ~= nil,
|
||||
drop = dropset,
|
||||
destroy = false,
|
||||
level_multiplier = 1,
|
||||
heal_multiplier = 1,
|
||||
|
@ -196,6 +212,8 @@ armor.config = {
|
|||
material_mithril = true,
|
||||
material_crystal = true,
|
||||
material_nether = true,
|
||||
set_elements = "head torso legs feet shield",
|
||||
set_multiplier = 1.1,
|
||||
water_protect = true,
|
||||
fire_protect = minetest.get_modpath("ethereal") ~= nil,
|
||||
fire_protect_torch = minetest.get_modpath("ethereal") ~= nil,
|
||||
|
@ -203,6 +221,14 @@ armor.config = {
|
|||
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
|
||||
--
|
||||
-- @section methods
|
||||
|
@ -233,6 +259,9 @@ armor.register_armor = function(self, name, def)
|
|||
end
|
||||
return armor:equip(player, itemstack)
|
||||
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, "%:.+_(.+)$")
|
||||
if check_mat_exists == nil then
|
||||
minetest.log("warning:[3d_armor] Registered armor "..name..
|
||||
|
@ -365,7 +394,7 @@ armor.update_player_visuals = function(self, player)
|
|||
end
|
||||
local name = player:get_player_name()
|
||||
if self.textures[name] then
|
||||
default.player_set_textures(player, {
|
||||
armor.player_set_textures(player, {
|
||||
self.textures[name].skin,
|
||||
self.textures[name].armor,
|
||||
self.textures[name].wielditem,
|
||||
|
@ -385,15 +414,16 @@ armor.set_player_armor = function(self, player)
|
|||
end
|
||||
local state = 0
|
||||
local count = 0
|
||||
local material = {count=1}
|
||||
local preview = armor:get_preview(name)
|
||||
local texture = "3d_armor_trans.png"
|
||||
local textures = {}
|
||||
local physics = {}
|
||||
local attributes = {}
|
||||
local levels = {}
|
||||
local groups = {}
|
||||
local change = {}
|
||||
local set_worn = {}
|
||||
local armor_multi = 0
|
||||
local worn_armor = armor:get_weared_armor_elements(player)
|
||||
for _, phys in pairs(self.physics) do
|
||||
physics[phys] = 1
|
||||
end
|
||||
|
@ -435,7 +465,9 @@ armor.set_player_armor = function(self, player)
|
|||
tex = tex:gsub(".png$", "")
|
||||
local prev = def.preview or tex.."_preview"
|
||||
prev = prev:gsub(".png$", "")
|
||||
texture = texture.."^"..tex..".png"
|
||||
if not transparent_armor then
|
||||
texture = texture.."^"..tex..".png"
|
||||
end
|
||||
preview = preview.."^"..prev..".png"
|
||||
state = state + stack:get_wear()
|
||||
count = count + 1
|
||||
|
@ -447,21 +479,38 @@ armor.set_player_armor = function(self, player)
|
|||
local value = def.groups["armor_"..attr] or 0
|
||||
attributes[attr] = attributes[attr] + value
|
||||
end
|
||||
local mat = string.match(item, "%:.+_(.+)$")
|
||||
if material.name then
|
||||
if material.name == mat then
|
||||
material.count = material.count + 1
|
||||
end
|
||||
end
|
||||
-- The following code compares player worn armor items against requirements
|
||||
-- of which armor pieces are needed to be worn to meet set bonus requirements
|
||||
for loc,item in pairs(worn_armor) do
|
||||
local item_mat = string.match(item, "%:.+_(.+)$")
|
||||
local worn_key = item_mat or "unknown"
|
||||
|
||||
-- Perform location checks to ensure the armor is worn correctly
|
||||
for k,set_loc in pairs(armor.config.set_elements)do
|
||||
if set_loc == loc then
|
||||
if set_worn[worn_key] == nil then
|
||||
set_worn[worn_key] = 0
|
||||
set_worn[worn_key] = set_worn[worn_key] + 1
|
||||
else
|
||||
set_worn[worn_key] = set_worn[worn_key] + 1
|
||||
end
|
||||
else
|
||||
material.name = mat
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Apply the armor multiplier only if the player is wearing a full set of armor
|
||||
for mat_name,arm_piece_num in pairs(set_worn) do
|
||||
if arm_piece_num == #armor.config.set_elements then
|
||||
armor_multi = armor.config.set_multiplier
|
||||
end
|
||||
end
|
||||
for group, level in pairs(levels) do
|
||||
if level > 0 then
|
||||
level = level * armor.config.level_multiplier
|
||||
if material.name and material.count == #self.elements then
|
||||
level = level * 1.1
|
||||
if armor_multi ~= 0 then
|
||||
level = level * armor.config.set_multiplier
|
||||
end
|
||||
end
|
||||
local base = self.registered_groups[group]
|
||||
|
@ -483,10 +532,13 @@ armor.set_player_armor = function(self, player)
|
|||
armor_monoid.monoid:add_change(player, change, "3d_armor:armor")
|
||||
else
|
||||
-- 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
|
||||
groups.immortal = 1
|
||||
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)
|
||||
end
|
||||
if use_player_monoids then
|
||||
|
@ -494,8 +546,9 @@ armor.set_player_armor = function(self, player)
|
|||
"3d_armor:physics")
|
||||
player_monoids.jump:add_change(player, physics.jump,
|
||||
"3d_armor:physics")
|
||||
player_monoids.gravity:add_change(player, physics.gravity,
|
||||
"3d_armor:physics")
|
||||
-- this is break gravity for space when change armor...
|
||||
--player_monoids.gravity:add_change(player, physics.gravity,
|
||||
-- "3d_armor:physics")
|
||||
elseif use_pova_mod then
|
||||
-- only add the changes, not the default 1.0 for each physics setting
|
||||
pova.add_override(name, "3d_armor", {
|
||||
|
@ -626,6 +679,7 @@ end
|
|||
armor.damage = function(self, player, index, stack, use)
|
||||
local old_stack = ItemStack(stack)
|
||||
local worn_armor = armor:get_weared_armor_elements(player)
|
||||
if not worn_armor then return end
|
||||
local armor_worn_cnt = 0
|
||||
for k,v in pairs(worn_armor) do
|
||||
armor_worn_cnt = armor_worn_cnt + 1
|
||||
|
@ -666,8 +720,8 @@ end
|
|||
--
|
||||
-- @function armor:equip
|
||||
-- @tparam ObjectRef player Player to whom item is equipped.
|
||||
-- @tparam armor_name itemstack Armor item to be equipped.
|
||||
-- @treturn armor_name Leftover item stack.
|
||||
-- @tparam ItemStack itemstack Armor item to be equipped.
|
||||
-- @treturn ItemStack Leftover item stack.
|
||||
armor.equip = function(self, player, itemstack)
|
||||
local name, armor_inv = self:get_valid_player(player, "[equip]")
|
||||
local armor_element = self:get_element(itemstack:get_name())
|
||||
|
@ -676,6 +730,10 @@ armor.equip = function(self, player, itemstack)
|
|||
for i=1, armor_inv:get_size("armor") do
|
||||
local stack = armor_inv:get_stack("armor", i)
|
||||
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
|
||||
self:unequip(player, armor_element)
|
||||
break
|
||||
|
@ -683,11 +741,13 @@ armor.equip = function(self, player, itemstack)
|
|||
index = i
|
||||
end
|
||||
end
|
||||
local stack = itemstack:take_item()
|
||||
armor_inv:set_stack("armor", index, stack)
|
||||
self:run_callbacks("on_equip", player, index, stack)
|
||||
self:set_player_armor(player)
|
||||
self:save_armor_inventory(player)
|
||||
if index then
|
||||
local stack = itemstack:take_item()
|
||||
armor_inv:set_stack("armor", index, stack)
|
||||
self:run_callbacks("on_equip", player, index, stack)
|
||||
self:set_player_armor(player)
|
||||
self:save_armor_inventory(player)
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
@ -696,8 +756,8 @@ end
|
|||
--
|
||||
-- @function armor:unequip
|
||||
-- @tparam ObjectRef player Player from whom item is removed.
|
||||
-- @tparam string armor_name Armor type identifier associated with the item
|
||||
-- to be removed (armor_name).
|
||||
-- @tparam string armor_element Armor type identifier associated with the item
|
||||
-- to be removed ("head", "torso", "hands", "shield", "legs", "feet", etc.).
|
||||
armor.unequip = function(self, player, armor_element)
|
||||
local name, armor_inv = self:get_valid_player(player, "[unequip]")
|
||||
if not name then
|
||||
|
@ -728,10 +788,10 @@ end
|
|||
-- @function armor:remove_all
|
||||
-- @tparam ObjectRef player
|
||||
armor.remove_all = function(self, player)
|
||||
local name, inv = self:get_valid_player(player, "[remove_all]")
|
||||
local name, inv = self:get_valid_player(player, "[remove_all]")
|
||||
if not name then
|
||||
return
|
||||
end
|
||||
end
|
||||
inv:set_list("armor", {})
|
||||
self:set_player_armor(player)
|
||||
self:save_armor_inventory(player)
|
||||
|
@ -764,7 +824,7 @@ end
|
|||
-- @function armor:update_skin
|
||||
-- @tparam string name Player name.
|
||||
armor.update_skin = function(self, name)
|
||||
minetest.after(0, function()
|
||||
minetest.after(0.1, function()
|
||||
local pplayer = minetest.get_player_by_name(name)
|
||||
if pplayer then
|
||||
self.textures[name].skin = self:get_player_skin(name)
|
||||
|
@ -885,7 +945,7 @@ armor.load_armor_inventory = function(self, player)
|
|||
end
|
||||
end
|
||||
|
||||
--- Saves armor inventory in player attribute string "3d\_armor\_inventory".
|
||||
--- Saves armor inventory in player attribute or `PlayerMetaRef` string "3d\_armor\_inventory".
|
||||
--
|
||||
-- @function armor:save_armor_inventory
|
||||
-- @tparam ObjectRef player
|
||||
|
|
|
@ -621,8 +621,8 @@ if armor.materials.gold then
|
|||
description = S("Gold Helmet"),
|
||||
inventory_image = "3d_armor_inv_helmet_gold.png",
|
||||
groups = {armor_head=1, armor_heal=6, armor_use=300,
|
||||
physics_speed=-0.02, physics_gravity=0.02},
|
||||
armor_groups = {fleshy=10},
|
||||
physics_speed=-0.02, physics_gravity=0.02, physics_jump=-0.01},
|
||||
armor_groups = {fleshy=10, radiation=15},
|
||||
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
|
||||
})
|
||||
--- Gold Chestplate
|
||||
|
@ -644,8 +644,8 @@ if armor.materials.gold then
|
|||
description = S("Gold Chestplate"),
|
||||
inventory_image = "3d_armor_inv_chestplate_gold.png",
|
||||
groups = {armor_torso=1, armor_heal=6, armor_use=300,
|
||||
physics_speed=-0.05, physics_gravity=0.05},
|
||||
armor_groups = {fleshy=15},
|
||||
physics_speed=-0.05, physics_gravity=0.05, physics_jump=-0.04},
|
||||
armor_groups = {fleshy=15, radiation=20},
|
||||
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
|
||||
})
|
||||
--- Gold Leggings
|
||||
|
@ -667,8 +667,8 @@ if armor.materials.gold then
|
|||
description = S("Gold Leggings"),
|
||||
inventory_image = "3d_armor_inv_leggings_gold.png",
|
||||
groups = {armor_legs=1, armor_heal=6, armor_use=300,
|
||||
physics_speed=-0.04, physics_gravity=0.04},
|
||||
armor_groups = {fleshy=15},
|
||||
physics_speed=-0.04, physics_gravity=0.04, physics_jump=-0.05},
|
||||
armor_groups = {fleshy=15, radiation=25},
|
||||
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
|
||||
})
|
||||
--- Gold Boots
|
||||
|
@ -690,8 +690,8 @@ if armor.materials.gold then
|
|||
description = S("Gold Boots"),
|
||||
inventory_image = "3d_armor_inv_boots_gold.png",
|
||||
groups = {armor_feet=1, armor_heal=6, armor_use=300,
|
||||
physics_speed=-0.02, physics_gravity=0.02},
|
||||
armor_groups = {fleshy=10},
|
||||
physics_speed=-0.02, physics_gravity=0.02, physics_jump=-0.02},
|
||||
armor_groups = {fleshy=10, radiation=15},
|
||||
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
|
||||
})
|
||||
end
|
||||
|
@ -718,8 +718,8 @@ if armor.materials.mithril then
|
|||
armor:register_armor("3d_armor:helmet_mithril", {
|
||||
description = S("Mithril Helmet"),
|
||||
inventory_image = "3d_armor_inv_helmet_mithril.png",
|
||||
groups = {armor_head=1, armor_heal=12, armor_use=100},
|
||||
armor_groups = {fleshy=15},
|
||||
groups = {armor_head=1, armor_heal=13, armor_use=66},
|
||||
armor_groups = {fleshy=16},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
})
|
||||
--- Mithril Chestplate
|
||||
|
@ -736,8 +736,8 @@ if armor.materials.mithril then
|
|||
armor:register_armor("3d_armor:chestplate_mithril", {
|
||||
description = S("Mithril Chestplate"),
|
||||
inventory_image = "3d_armor_inv_chestplate_mithril.png",
|
||||
groups = {armor_torso=1, armor_heal=12, armor_use=100},
|
||||
armor_groups = {fleshy=20},
|
||||
groups = {armor_torso=1, armor_heal=13, armor_use=66},
|
||||
armor_groups = {fleshy=21},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
})
|
||||
--- Mithril Leggings
|
||||
|
@ -754,8 +754,8 @@ if armor.materials.mithril then
|
|||
armor:register_armor("3d_armor:leggings_mithril", {
|
||||
description = S("Mithril Leggings"),
|
||||
inventory_image = "3d_armor_inv_leggings_mithril.png",
|
||||
groups = {armor_legs=1, armor_heal=12, armor_use=100},
|
||||
armor_groups = {fleshy=20},
|
||||
groups = {armor_legs=1, armor_heal=13, armor_use=66},
|
||||
armor_groups = {fleshy=21},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
})
|
||||
--- Mithril Boots
|
||||
|
@ -772,8 +772,8 @@ if armor.materials.mithril then
|
|||
armor:register_armor("3d_armor:boots_mithril", {
|
||||
description = S("Mithril Boots"),
|
||||
inventory_image = "3d_armor_inv_boots_mithril.png",
|
||||
groups = {armor_feet=1, armor_heal=12, armor_use=100},
|
||||
armor_groups = {fleshy=15},
|
||||
groups = {armor_feet=1, armor_heal=13, armor_use=66},
|
||||
armor_groups = {fleshy=16},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
})
|
||||
end
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
default
|
||||
bones?
|
||||
player_monoids?
|
||||
armor_monoid?
|
||||
pova?
|
||||
|
@ -8,3 +9,4 @@ bakedclay?
|
|||
intllib?
|
||||
moreores?
|
||||
nether?
|
||||
player_api?
|
||||
|
|
|
@ -7,12 +7,6 @@ local timer = 0
|
|||
|
||||
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 F = minetest.formspec_escape
|
||||
local S = armor.get_translator
|
||||
|
@ -64,6 +58,10 @@ for material, _ in pairs(armor.materials) do
|
|||
end
|
||||
end
|
||||
|
||||
-- Convert set_elements to a Lua table splitting on blank spaces
|
||||
local t_set_elements = armor.config.set_elements
|
||||
armor.config.set_elements = string.split(t_set_elements, " ")
|
||||
|
||||
-- Remove torch damage if fire_protect_torch == false
|
||||
if armor.config.fire_protect_torch == false and armor.config.fire_protect == true then
|
||||
for k,v in pairs(armor.fire_nodes) do
|
||||
|
@ -236,6 +234,13 @@ local function init_player_armor(initplayer)
|
|||
if player:get_player_name() ~= name then
|
||||
return 0
|
||||
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(player) and is_cursed then
|
||||
return 0
|
||||
end
|
||||
end
|
||||
return stack:get_count()
|
||||
end,
|
||||
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
|
||||
|
@ -300,8 +305,16 @@ local function init_player_armor(initplayer)
|
|||
end
|
||||
|
||||
-- Armor Player Model
|
||||
|
||||
default.player_register_model("3d_armor_character.b3d", {
|
||||
local modelchar
|
||||
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,
|
||||
textures = {
|
||||
armor.default_skin..".png",
|
||||
|
@ -315,6 +328,10 @@ default.player_register_model("3d_armor_character.b3d", {
|
|||
mine = {x=189, y=198},
|
||||
walk_mine = {x=200, y=219},
|
||||
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},
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -326,7 +343,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
local player_name = player:get_player_name()
|
||||
for field, _ in pairs(fields) do
|
||||
if string.find(field, "skins_set") then
|
||||
minetest.after(0, function(player)
|
||||
minetest.after(0.1, function(player)
|
||||
local skin = armor:get_player_skin(name)
|
||||
armor.textures[name].skin = skin
|
||||
armor:set_player_armor(player)
|
||||
|
@ -336,9 +353,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
end)
|
||||
|
||||
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()
|
||||
minetest.after(0, function(player)
|
||||
minetest.after(0.1, function(player)
|
||||
local pplayer = minetest.get_player_by_name(player_name)
|
||||
if pplayer and init_player_armor(player) == false then
|
||||
pending_players[player] = 0
|
||||
|
@ -365,9 +382,12 @@ if armor.config.drop == true or armor.config.destroy == true then
|
|||
for i=1, armor_inv:get_size("armor") do
|
||||
local stack = armor_inv:get_stack("armor", i)
|
||||
if stack:get_count() > 0 then
|
||||
table.insert(drop, stack)
|
||||
armor:run_callbacks("on_unequip", player, i, stack)
|
||||
armor_inv:set_stack("armor", i, nil)
|
||||
--soulbound armors remain equipped after death
|
||||
if minetest.get_item_group(stack:get_name(), "soulbound") == 0 then
|
||||
table.insert(drop, stack)
|
||||
armor:run_callbacks("on_unequip", player, i, stack)
|
||||
armor_inv:set_stack("armor", i, nil)
|
||||
end
|
||||
end
|
||||
end
|
||||
armor:save_armor_inventory(player)
|
||||
|
@ -403,7 +423,6 @@ if armor.config.drop == true or armor.config.destroy == true then
|
|||
end)
|
||||
end
|
||||
end)
|
||||
else -- reset un-dropped armor and it's effects
|
||||
minetest.register_on_respawnplayer(function(player)
|
||||
if player then armor:set_player_armor(player) end
|
||||
end)
|
||||
|
@ -413,9 +432,8 @@ if armor.config.punch_damage == true then
|
|||
minetest.register_on_punchplayer(function(player, hitter,
|
||||
time_from_last_punch, tool_capabilities)
|
||||
local name = player:get_player_name()
|
||||
local tplayer = minetest.get_player_by_name(name)
|
||||
local hplayer = minetest.is_player(hitter)
|
||||
if name and tplayer and hplayer and minetest.is_protected(player:get_pos(), "") then
|
||||
local hit_ip = hitter:is_player()
|
||||
if name and hit_ip and minetest.is_protected(player:get_pos(), "") then
|
||||
return
|
||||
elseif name then
|
||||
armor:punch(player, hitter, time_from_last_punch, tool_capabilities)
|
||||
|
@ -425,17 +443,21 @@ if armor.config.punch_damage == true then
|
|||
end
|
||||
|
||||
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 properties = player:get_properties()
|
||||
local hp = player:get_hp()
|
||||
if name then
|
||||
local heal = armor.def[name].heal
|
||||
if heal >= math.random(100) then
|
||||
hp_change = 0
|
||||
end
|
||||
-- check if armor damage was handled by fire or on_punchplayer
|
||||
local time = last_punch_time[name] or 0
|
||||
if time == 0 or time + 1 < minetest.get_gametime() then
|
||||
armor:punch(player)
|
||||
if hp + hp_change < properties.hp_max then
|
||||
local heal = armor.def[name].heal
|
||||
if heal >= math.random(100) then
|
||||
hp_change = 0
|
||||
end
|
||||
-- check if armor damage was handled by fire or on_punchplayer
|
||||
local time = last_punch_time[name] or 0
|
||||
if time == 0 or time + 1 < minetest.get_gametime() then
|
||||
armor:punch(player)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -458,26 +480,38 @@ minetest.register_globalstep(function(dtime)
|
|||
end
|
||||
end
|
||||
|
||||
if timer > armor.config.init_delay then
|
||||
for player, count in pairs(pending_players) do
|
||||
local remove = init_player_armor(player) == true
|
||||
pending_players[player] = count + 1
|
||||
if remove == false and count > armor.config.init_times then
|
||||
minetest.log("warning", "3d_armor: Failed to initialize player")
|
||||
remove = true
|
||||
end
|
||||
if remove == true then
|
||||
pending_players[player] = nil
|
||||
if timer <= armor.config.init_delay then
|
||||
return
|
||||
end
|
||||
timer = 0
|
||||
|
||||
for player, count in pairs(pending_players) do
|
||||
local remove = init_player_armor(player) == true
|
||||
pending_players[player] = count + 1
|
||||
if remove == false and count > armor.config.init_times then
|
||||
minetest.log("warning", "3d_armor: Failed to initialize player")
|
||||
remove = true
|
||||
end
|
||||
if remove == true then
|
||||
pending_players[player] = nil
|
||||
end
|
||||
end
|
||||
|
||||
-- water breathing protection, added by TenPlus1
|
||||
if armor.config.water_protect == true then
|
||||
for _,player in pairs(minetest.get_connected_players()) do
|
||||
local name = player:get_player_name()
|
||||
if armor.def[name].water > 0 and
|
||||
player:get_breath() < 10 then
|
||||
player:set_breath(10)
|
||||
end
|
||||
end
|
||||
timer = 0
|
||||
end
|
||||
end)
|
||||
|
||||
-- Fire Protection and water breating, added by TenPlus1
|
||||
|
||||
-- Fire Protection, added by TenPlus1.
|
||||
if armor.config.fire_protect == true then
|
||||
-- override hot nodes so they do not hurt player anywhere but mod
|
||||
-- override any hot nodes that do not already deal damage
|
||||
for _, row in pairs(armor.fire_nodes) do
|
||||
if minetest.registered_nodes[row[1]] then
|
||||
minetest.override_item(row[1], {damage_per_second = 0})
|
||||
|
@ -488,6 +522,12 @@ else
|
|||
end
|
||||
|
||||
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)
|
||||
armor.timer = armor.timer + dtime
|
||||
if armor.timer < armor.config.update_time then
|
||||
|
@ -510,9 +550,9 @@ if armor.config.water_protect == true or armor.config.fire_protect == true then
|
|||
-- fire protection
|
||||
if armor.config.fire_protect == true then
|
||||
local fire_damage = true
|
||||
pos.y = pos.y + 1.4 -- head level
|
||||
pos.y = pos.y + 1.41 -- head level
|
||||
local node_head = minetest.get_node(pos).name
|
||||
pos.y = pos.y - 1.2 -- feet level
|
||||
pos.y = pos.y - 1.21 -- feet level
|
||||
local node_feet = minetest.get_node(pos).name
|
||||
-- is player inside a hot node?
|
||||
for _, row in pairs(armor.fire_nodes) do
|
||||
|
|
|
@ -3,176 +3,176 @@
|
|||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: PACKAGE 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"
|
||||
"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: es\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"
|
||||
msgstr "3d_armor: El nombre del jugador es nulo @1"
|
||||
|
||||
#: ../3d_armor/api.lua
|
||||
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
|
||||
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
|
||||
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
|
||||
msgid "Admin Helmet"
|
||||
msgstr "casco d'admin"
|
||||
msgstr "Casco de admin"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Admin Chestplate"
|
||||
msgstr "Coraza d'admin"
|
||||
msgstr "Peto de admin"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Admin Leggings"
|
||||
msgstr "polainas d'admin"
|
||||
msgstr "Polainas de admin"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Admin Boots"
|
||||
msgstr "Bottes d'admin"
|
||||
msgstr "Botas de admin"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Wood Helmet"
|
||||
msgstr "casco de madera"
|
||||
msgstr "Casco de madera"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Wood Chestplate"
|
||||
msgstr "Coraza de madera"
|
||||
msgstr "Peto de madera"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Wood Leggings"
|
||||
msgstr "polainas de madera"
|
||||
msgstr "Polainas de madera"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Wood Boots"
|
||||
msgstr "Bottes de madera"
|
||||
msgstr "Botas de madera"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Cactus Helmet"
|
||||
msgstr "casco de cactus"
|
||||
msgstr "Casco de cactus"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Cactus Chestplate"
|
||||
msgstr "Coraza de cactus"
|
||||
msgstr "Peto de cactus"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Cactus Leggings"
|
||||
msgstr "polainas de cactus"
|
||||
msgstr "Polainas de cactus"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Cactus Boots"
|
||||
msgstr "Bottes de cactus"
|
||||
msgstr "Botas de cactus"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Steel Helmet"
|
||||
msgstr "casco de acero"
|
||||
msgstr "Casco de acero"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Steel Chestplate"
|
||||
msgstr "Coraza de acero"
|
||||
msgstr "Peto de acero"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Steel Leggings"
|
||||
msgstr "polainas de acero"
|
||||
msgstr "Polainas de acero"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Steel Boots"
|
||||
msgstr "Bottes de acero"
|
||||
msgstr "Botas de acero"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Bronze Helmet"
|
||||
msgstr "casco de bronze"
|
||||
msgstr "Casco de bronce"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Bronze Chestplate"
|
||||
msgstr "Coraza de bronze"
|
||||
msgstr "Peto de bronce"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Bronze Leggings"
|
||||
msgstr "polainas de bronze"
|
||||
msgstr "Polainas de bronce"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Bronze Boots"
|
||||
msgstr "Bottes de bronze"
|
||||
msgstr "Botas de bronce"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Diamond Helmet"
|
||||
msgstr "casco de diamant"
|
||||
msgstr "Casco de diamante"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Diamond Chestplate"
|
||||
msgstr "Coraza de diamant"
|
||||
msgstr "Peto de diamante"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Diamond Leggings"
|
||||
msgstr "polainas de diamant"
|
||||
msgstr "Polainas de diamante"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Diamond Boots"
|
||||
msgstr "Bottes de diamant"
|
||||
msgstr "Botas de diamante"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Gold Helmet"
|
||||
msgstr "casco de or"
|
||||
msgstr "Casco de oro"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Gold Chestplate"
|
||||
msgstr "Coraza de or"
|
||||
msgstr "Peto de oro"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Gold Leggings"
|
||||
msgstr "polainas de or"
|
||||
msgstr "Polainas de oro"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Gold Boots"
|
||||
msgstr "Bottes de or"
|
||||
msgstr "Botas de oro"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Mithril Helmet"
|
||||
msgstr "casco de mithril"
|
||||
msgstr "Casco de mitrilo"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Mithril Chestplate"
|
||||
msgstr "Coraza de mithril"
|
||||
msgstr "Peto de mitrilo"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Mithril Leggings"
|
||||
msgstr "polainas de mithril"
|
||||
msgstr "Polainas de mitrilo"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Mithril Boots"
|
||||
msgstr "Bottes de mithril"
|
||||
msgstr "Botas de mitrilo"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Crystal Helmet"
|
||||
msgstr "casco de cristal"
|
||||
msgstr "Casco de cristal"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Crystal Chestplate"
|
||||
msgstr "Coraza de cristal"
|
||||
msgstr "Peto de cristal"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Crystal Leggings"
|
||||
msgstr "polainas de cristal"
|
||||
msgstr "Polainas de cristal"
|
||||
|
||||
#: ../3d_armor/armor.lua
|
||||
msgid "Crystal Boots"
|
||||
|
@ -180,7 +180,7 @@ msgstr "Botas de cristal"
|
|||
|
||||
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||
msgid "Radiation"
|
||||
msgstr "Radiacion"
|
||||
msgstr "Radiación"
|
||||
|
||||
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||
msgid "Level"
|
||||
|
@ -188,7 +188,7 @@ msgstr "Nivel"
|
|||
|
||||
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||
msgid "Heal"
|
||||
msgstr "vida"
|
||||
msgstr "Salud"
|
||||
|
||||
#: ../3d_armor/init.lua ../3d_armor_ui/init.lua
|
||||
msgid "Fire"
|
||||
|
@ -196,95 +196,95 @@ msgstr "Fuego"
|
|||
|
||||
#: ../3d_armor/init.lua
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
msgstr "Volver"
|
||||
|
||||
#: ../3d_armor_ip/init.lua ../3d_armor_sfinv/init.lua ../3d_armor_ui/init.lua
|
||||
msgid "Armor"
|
||||
msgstr "Armure"
|
||||
msgstr "Armadura"
|
||||
|
||||
#: ../3d_armor_sfinv/init.lua
|
||||
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
|
||||
msgid "Armor stand top"
|
||||
msgstr "Haut de support d'armure"
|
||||
msgstr "Parte arriba maniquí armadura"
|
||||
|
||||
#: ../3d_armor_stand/init.lua
|
||||
msgid "Armor stand"
|
||||
msgstr "Support d'armure"
|
||||
msgstr "Maniquí para armadura"
|
||||
|
||||
#: ../3d_armor_stand/init.lua
|
||||
msgid "Armor Stand"
|
||||
msgstr "Support d'armure"
|
||||
msgstr "Maniquí para armadura"
|
||||
|
||||
#: ../3d_armor_stand/init.lua
|
||||
msgid "Locked Armor stand"
|
||||
msgstr "Support d'armure verrouillé"
|
||||
msgstr "Maniquí para armadura (bloqueado)"
|
||||
|
||||
#: ../3d_armor_stand/init.lua
|
||||
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
|
||||
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
|
||||
msgid "3d Armor"
|
||||
msgstr "Armure 3d"
|
||||
msgstr "Armadura 3d"
|
||||
|
||||
#: ../3d_armor_ui/init.lua
|
||||
msgid "Armor not initialized!"
|
||||
msgstr "Armure non initialisée !"
|
||||
msgstr "¡Armadura no inicializada!"
|
||||
|
||||
#: ../hazmat_suit/init.lua
|
||||
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
|
||||
msgid "Hazmat Helmet"
|
||||
msgstr "casco 'Hazmat'"
|
||||
msgstr "Casco de hazmat"
|
||||
|
||||
#: ../hazmat_suit/init.lua
|
||||
msgid "Hazmat Chestplate"
|
||||
msgstr "Coraza 'Hazmat'"
|
||||
msgstr "Peto de hazmat"
|
||||
|
||||
#: ../hazmat_suit/init.lua
|
||||
msgid "Hazmat Sleeve"
|
||||
msgstr "Manches 'Hazmat'"
|
||||
msgstr "Manga de hazmat"
|
||||
|
||||
#: ../hazmat_suit/init.lua
|
||||
msgid "Hazmat Leggins"
|
||||
msgstr "polainas 'Hazmat'"
|
||||
msgstr "Polainas de hazmat"
|
||||
|
||||
#: ../hazmat_suit/init.lua
|
||||
msgid "Hazmat Boots"
|
||||
msgstr "Bottes 'Hazmat'"
|
||||
msgstr "Botas de hazmat"
|
||||
|
||||
#: ../hazmat_suit/init.lua
|
||||
msgid "Hazmat Suit"
|
||||
msgstr "Combinaison 'Hazmat'"
|
||||
msgstr "Traje de hazmat"
|
||||
|
||||
#: ../shields/init.lua
|
||||
msgid "Admin Shield"
|
||||
msgstr "Escudo d'admin"
|
||||
msgstr "Escudo de admin"
|
||||
|
||||
#: ../shields/init.lua
|
||||
msgid "Wooden Shield"
|
||||
|
@ -292,7 +292,7 @@ msgstr "Escudo de madera"
|
|||
|
||||
#: ../shields/init.lua
|
||||
msgid "Enhanced Wood Shield"
|
||||
msgstr "Escudo de madera umentadoé"
|
||||
msgstr "Escudo de madera mejorado"
|
||||
|
||||
#: ../shields/init.lua
|
||||
msgid "Cactus Shield"
|
||||
|
@ -300,7 +300,7 @@ msgstr "Escudo de cactus"
|
|||
|
||||
#: ../shields/init.lua
|
||||
msgid "Enhanced Cactus Shield"
|
||||
msgstr "Escudo de cactus aumentado"
|
||||
msgstr "Escudo de cactus mejorado"
|
||||
|
||||
#: ../shields/init.lua
|
||||
msgid "Steel Shield"
|
||||
|
@ -308,11 +308,11 @@ msgstr "Escudo de acero"
|
|||
|
||||
#: ../shields/init.lua
|
||||
msgid "Bronze Shield"
|
||||
msgstr "Escudo de bronze"
|
||||
msgstr "Escudo de bronce"
|
||||
|
||||
#: ../shields/init.lua
|
||||
msgid "Diamond Shield"
|
||||
msgstr "Escudo de diamant"
|
||||
msgstr "Escudo de diamante"
|
||||
|
||||
#: ../shields/init.lua
|
||||
msgid "Gold Shield"
|
||||
|
@ -320,7 +320,7 @@ msgstr "Escudo de oro"
|
|||
|
||||
#: ../shields/init.lua
|
||||
msgid "Mithril Shield"
|
||||
msgstr "Escudo de mithril"
|
||||
msgstr "Escudo de mitrilo"
|
||||
|
||||
#: ../shields/init.lua
|
||||
msgid "Crystal Shield"
|
||||
|
@ -328,15 +328,15 @@ msgstr "Escudo de cristal"
|
|||
|
||||
#: ../technic_armor/init.lua
|
||||
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
|
||||
msgid "Lead"
|
||||
msgstr "plomo"
|
||||
msgstr "Plomo"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Brass"
|
||||
msgstr "laton"
|
||||
msgstr "Latón"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Cast Iron"
|
||||
|
@ -344,15 +344,15 @@ msgstr "Hierro"
|
|||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Carbon Steel"
|
||||
msgstr "Aceero carbono"
|
||||
msgstr "Acero carbono"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Stainless Steel"
|
||||
msgstr "acero inoxydable"
|
||||
msgstr "Acero inoxidable"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Tin"
|
||||
msgstr "étain"
|
||||
msgstr "Estaño"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Silver"
|
||||
|
@ -360,25 +360,25 @@ msgstr "Plata"
|
|||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Helmet"
|
||||
msgstr "casco"
|
||||
msgstr "Casco"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Chestplate"
|
||||
msgstr "Coraza"
|
||||
msgstr "Peto"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Leggings"
|
||||
msgstr "polainas"
|
||||
msgid "Leggins"
|
||||
msgstr "Polainas"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Boots"
|
||||
msgstr "Bottes"
|
||||
msgstr "Botas"
|
||||
|
||||
#: ../technic_armor/init.lua
|
||||
msgid "Shield"
|
||||
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
|
||||
msgid "@1 @2"
|
||||
msgstr "@2 de @1"
|
||||
|
|
|
@ -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"
|
|
@ -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"
|
|
@ -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 "кристалловый щит"
|
|
@ -1,4 +1,4 @@
|
|||
name = 3d_armor
|
||||
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
|
||||
|
|
|
@ -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]
|
||||
|
||||
|
||||
|
|
@ -24,6 +24,9 @@ end
|
|||
|
||||
if minetest.global_exists("armor") and armor.elements then
|
||||
table.insert(armor.elements, "hands")
|
||||
else
|
||||
minetest.log("warning","[3d_armor_globes] loaded but unused, no 3d_armor mod detected")
|
||||
return
|
||||
end
|
||||
|
||||
-- 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)
|
||||
|
||||
end
|
||||
|
||||
minetest.log("[3d_armor_gloves]: Mod loaded successfully.")
|
||||
|
||||
|
|
|
@ -133,6 +133,13 @@ local function remove_hidden_node(pos)
|
|||
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", {
|
||||
description = S("Armor Stand Top"),
|
||||
paramtype = "light",
|
||||
|
@ -153,6 +160,7 @@ minetest.register_node("3d_armor_stand:armor_stand", {
|
|||
drawtype = "mesh",
|
||||
mesh = "3d_armor_stand.obj",
|
||||
tiles = {"3d_armor_stand.png"},
|
||||
use_texture_alpha = mt_use_texture_alpha,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
|
@ -221,6 +229,7 @@ minetest.register_node("3d_armor_stand:locked_armor_stand", {
|
|||
drawtype = "mesh",
|
||||
mesh = "3d_armor_stand.obj",
|
||||
tiles = {"3d_armor_stand_locked.png"},
|
||||
use_texture_alpha = mt_use_texture_alpha,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
|
|
|
@ -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)
|
|
@ -1,10 +1,9 @@
|
|||
|
||||
-- Use 3d_armor translator to take advantage of existing translations for armor parts
|
||||
local S = armor_i18n.gettext
|
||||
local F = armor_i18n.fgettext
|
||||
|
||||
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
|
||||
end
|
||||
|
||||
|
@ -153,3 +152,6 @@ for material, m in pairs(materials) do
|
|||
})
|
||||
end
|
||||
end
|
||||
|
||||
minetest.log("[3d_armor_technic]: Mod loaded successfully.")
|
||||
|
||||
|
|
|
@ -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
|
|
@ -15,30 +15,39 @@ helmet, chestplate, leggings and boots.
|
|||
-----------------
|
||||
|
||||
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
|
||||
|
||||
* https://git.minetest.io/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)
|
||||
- [[mod] Visible Wielded Items [wieldview]](#mod-visible-wielded-items-wieldview)
|
||||
- [[mod] Shields [shields]](#mod-shields-shields)
|
||||
- [[mod] 3d Armor Stand [3d_armor_stand]](#mod-3d-armor-stand-3d_armor_stand)
|
||||
* [`3d_armor_technic`](3d_armor_technic/README.md) originally `technic_armor`
|
||||
* [`3d_armor_mobile`](3d_armor_mobile/README.md) a nice way to wear for mobile play
|
||||
|
||||
### [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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
### [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.
|
||||
|
||||
## LICENSE
|
||||
|
|
|
@ -33,11 +33,17 @@ armor_destroy (Pulverize armor on death) bool false
|
|||
|
||||
# You can use this to increase or decrease overall armor effectiveness,
|
||||
# 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,
|
||||
# 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).
|
||||
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.
|
||||
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]
|
||||
|
||||
|
@ -63,7 +72,7 @@ shields_disable_sounds (Disable shield sounds) bool false
|
|||
[wieldview]
|
||||
|
||||
# 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.
|
||||
wieldview_node_tiles (Show nodes as tiles) bool false
|
||||
|
|
|
@ -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
|
|
@ -54,6 +54,16 @@ wieldview.update_wielded_item = function(self, player)
|
|||
return
|
||||
end
|
||||
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
|
||||
return
|
||||
end
|
||||
|
|
|
@ -23,3 +23,27 @@ LIGHT_MAX = default.LIGHT_MAX
|
|||
|
||||
-- Formspecs
|
||||
default.gui_suvival_form = default.gui_survival_form
|
||||
default.gui_bg = ""
|
||||
default.gui_bg_img = ""
|
||||
default.gui_slots = ""
|
||||
|
||||
-- Players
|
||||
if minetest.get_modpath("player_api") then
|
||||
default.registered_player_models = player_api.registered_models
|
||||
default.player_register_model = player_api.register_model
|
||||
default.player_attached = player_api.player_attached
|
||||
default.player_get_animation = player_api.get_animation
|
||||
default.player_set_model = player_api.set_model
|
||||
default.player_set_textures = player_api.set_textures
|
||||
default.player_set_animation = player_api.set_animation
|
||||
else
|
||||
player_api = {}
|
||||
player_api.registered_models = default.registered_player_models
|
||||
player_api.register_model = default.player_register_model
|
||||
player_api.player_attached = default.player_attached
|
||||
player_api.get_animation = default.player_get_animation
|
||||
player_api.set_model = default.player_set_model
|
||||
player_api.set_textures = default.player_set_textures
|
||||
player_api.set_animation = default.player_set_animation
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
name = default
|
||||
description = Minetest Game mod: default
|
|
@ -4,6 +4,17 @@
|
|||
-- Player animation blending
|
||||
-- Note: This is currently broken due to a bug in Irrlicht, leave at 0
|
||||
local animation_blend = 0
|
||||
local modelchar
|
||||
|
||||
local is_50 = minetest.has_feature("object_use_texture_alpha") or nil
|
||||
|
||||
if is_50 then
|
||||
modelchar = "character50.b3d"
|
||||
eyeheithg = 1.47
|
||||
else
|
||||
modelchar = "character40.b3d"
|
||||
eyeheithg = 1.625
|
||||
end
|
||||
|
||||
default.registered_player_models = { }
|
||||
|
||||
|
@ -14,22 +25,6 @@ function default.player_register_model(name, def)
|
|||
models[name] = def
|
||||
end
|
||||
|
||||
-- Default player appearance
|
||||
default.player_register_model("character.b3d", {
|
||||
animation_speed = 30,
|
||||
textures = {"character.png", },
|
||||
animations = {
|
||||
-- Standard animations.
|
||||
stand = { x= 0, y= 79, },
|
||||
lay = { x=162, y=166, },
|
||||
walk = { x=168, y=187, },
|
||||
mine = { x=189, y=198, },
|
||||
walk_mine = { x=200, y=219, },
|
||||
sit = { x= 81, y=160, },
|
||||
},
|
||||
eye_height = 1.625,
|
||||
})
|
||||
|
||||
-- Player stats and animations
|
||||
local player_model = {}
|
||||
local player_textures = {}
|
||||
|
@ -58,15 +53,20 @@ function default.player_set_model(player, model_name)
|
|||
mesh = model_name,
|
||||
textures = player_textures[name] or model.textures,
|
||||
visual = "mesh",
|
||||
visual_size = model.visual_size or {x=1, y=1},
|
||||
eye_height = model.eye_height or 1.47,
|
||||
visual_size = model.visual_size or {x = 1, y = 1},
|
||||
collisionbox = model.collisionbox or {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3},
|
||||
stepheight = model.stepheight or 0.6,
|
||||
eye_height = model.eye_height or eyeheithg,
|
||||
})
|
||||
default.player_set_animation(player, "stand")
|
||||
else
|
||||
player:set_properties({
|
||||
textures = { "player.png", "player_back.png", },
|
||||
textures = {"player.png", "player_back.png"},
|
||||
visual = "upright_sprite",
|
||||
eye_height = 1.625,
|
||||
visual_size = {x = 1, y = 2},
|
||||
collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.75, 0.3},
|
||||
stepheight = 0.6,
|
||||
eye_height = eyeheithg,
|
||||
})
|
||||
end
|
||||
player_model[name] = model_name
|
||||
|
@ -74,8 +74,10 @@ end
|
|||
|
||||
function default.player_set_textures(player, textures)
|
||||
local name = player:get_player_name()
|
||||
player_textures[name] = textures
|
||||
player:set_properties({textures = textures,})
|
||||
local model = models[player_model[name]]
|
||||
local model_textures = model and model.textures or nil
|
||||
player_textures[name] = textures or model_textures
|
||||
player:set_properties({textures = textures or model_textures,})
|
||||
end
|
||||
|
||||
function default.player_set_animation(player, anim_name, speed)
|
||||
|
@ -92,14 +94,36 @@ function default.player_set_animation(player, anim_name, speed)
|
|||
player:set_animation(anim, speed or model.animation_speed, animation_blend)
|
||||
end
|
||||
|
||||
|
||||
-- Default player appearance
|
||||
default.player_register_model( modelchar, {
|
||||
animation_speed = 30,
|
||||
textures = {"character.png", },
|
||||
animations = {
|
||||
-- Standard animations.
|
||||
stand = {x = 0, y = 79},
|
||||
lay = {x = 162, y = 166},
|
||||
walk = {x = 168, y = 187},
|
||||
mine = {x = 189, y = 198},
|
||||
walk_mine = {x = 200, y = 219},
|
||||
sit = {x = 81, y = 160},
|
||||
},
|
||||
collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3},
|
||||
stepheight = 0.6,
|
||||
eye_height = eyeheithg,
|
||||
})
|
||||
|
||||
-- Update appearance when the player joins
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
default.player_attached[player:get_player_name()] = false
|
||||
default.player_set_model(player, "character.b3d")
|
||||
player:set_local_animation({x=0, y=79}, {x=168, y=187}, {x=189, y=198}, {x=200, y=219}, 30)
|
||||
|
||||
player:hud_set_hotbar_image("gui_hotbar.png")
|
||||
player:hud_set_hotbar_selected_image("gui_hotbar_selected.png")
|
||||
default.player_set_model(player, modelchar)
|
||||
player:set_local_animation(
|
||||
{x = 0, y = 79},
|
||||
{x = 168, y = 187},
|
||||
{x = 189, y = 198},
|
||||
{x = 200, y = 219},
|
||||
30
|
||||
)
|
||||
end)
|
||||
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
|
@ -113,6 +137,15 @@ end)
|
|||
local player_set_animation = default.player_set_animation
|
||||
local player_attached = default.player_attached
|
||||
|
||||
-- Prevent knockback for attached players
|
||||
local old_calculate_knockback = minetest.calculate_knockback
|
||||
function minetest.calculate_knockback(player, ...)
|
||||
if player_attached[player:get_player_name()] then
|
||||
return 0
|
||||
end
|
||||
return old_calculate_knockback(player, ...)
|
||||
end
|
||||
|
||||
-- Check each player and apply animations
|
||||
minetest.register_globalstep(function(dtime)
|
||||
for _, player in pairs(minetest.get_connected_players()) do
|
||||
|
|
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 232 B |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 271 B |
Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 179 B After Width: | Height: | Size: 119 B |
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 165 B |
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 166 B |
Before Width: | Height: | Size: 186 B After Width: | Height: | Size: 184 B |
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 221 B |
Before Width: | Height: | Size: 200 B After Width: | Height: | Size: 195 B |
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 149 B |
Before Width: | Height: | Size: 148 B After Width: | Height: | Size: 139 B |
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 214 B |
Before Width: | Height: | Size: 509 B After Width: | Height: | Size: 427 B |
Before Width: | Height: | Size: 175 B After Width: | Height: | Size: 166 B |
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 132 B |
Before Width: | Height: | Size: 111 B After Width: | Height: | Size: 110 B |
Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 143 B |
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 151 B |
Before Width: | Height: | Size: 175 B After Width: | Height: | Size: 172 B |
Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 168 B |
Before Width: | Height: | Size: 156 B After Width: | Height: | Size: 154 B |
Before Width: | Height: | Size: 161 B After Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 159 B After Width: | Height: | Size: 142 B |
Before Width: | Height: | Size: 142 B After Width: | Height: | Size: 140 B |
|
@ -52,6 +52,8 @@ hb.settings.br_player_maximun = hb.load_setting("hudbars_br_player_maximun", "nu
|
|||
|
||||
hbarmor.autohide = (true and not hb.settings.forceload_default_hudbars)
|
||||
|
||||
hbhunger.permitgainhp = true
|
||||
|
||||
hbhunger.HUD_TICK = 0.2
|
||||
|
||||
hbhunger.HUNGER_TICK = 800 -- time in seconds after that 1 hunger point is taken
|
||||
|
@ -65,6 +67,7 @@ hbhunger.SAT_HEAL = 15 -- required satiation points to start healing
|
|||
|
||||
local set
|
||||
|
||||
set = minetest.settings:get_bool("hbhunger_permitgainhp") if set ~= nil then hbhunger.permitgainhp = set end
|
||||
set = minetest.settings:get_bool("hbarmor_autohide") if set ~= nil then hbarmor.autohide = set end
|
||||
set = minetest.settings:get("hbhunger_satiation_tick") if set ~= nil then hbhunger.HUNGER_TICK = tonumber(set) end
|
||||
set = minetest.settings:get("hbhunger_satiation_dig") if set ~= nil then hbhunger.HUNGER_DIG = tonumber(set) end
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
default?
|
||||
intllib?
|
||||
3d_armor?
|
||||
3d_armor_gloves?
|
||||
shields?
|
||||
wieldview?
|
||||
flowers?
|
||||
animalmaterials?
|
||||
bucket?
|
||||
|
|
|
@ -112,7 +112,13 @@ function hbhunger.item_eat(hunger_change, replace_with_item, poisen, heal, sound
|
|||
-- heal is not defines due way of hbhunger.register_food
|
||||
if not heal then heal = 1 end
|
||||
-- eating something not give you inmediate life, give you statiation to get recovery
|
||||
if hp < 6 and heal > 0 then hp = hp + heal end
|
||||
if hp < 6 and hp > 0 and heal > 0 then hp = hp + heal end
|
||||
-- so if you are in good shape and losing healt just give it only for one chance, NSSM specific
|
||||
if hbhunger.permitgainhp then
|
||||
local hpreca = math.random (6, 10)
|
||||
local hprecb = math.random (11, hb.settings.hp_player_maximun - 1)
|
||||
if hp < hprecb and hp > hpreca then hp = hp + 1 end
|
||||
end
|
||||
-- so do not hardcoded hp to 20 when eating
|
||||
if hp > max_hp then hp = max_hp end
|
||||
-- this will work only when valid then
|
||||
|
|
|
@ -629,6 +629,7 @@ if not modhbarm and modarmors then
|
|||
|
||||
function hbarmor.get_armor(player)
|
||||
if not player or not armor.def then
|
||||
minetest.log("error", "[hbarmor] Call to hbarmor.get_armor cannot do it cos the payer armor definition its not set at this moment!")
|
||||
return false
|
||||
end
|
||||
local name = player:get_player_name()
|
||||
|
@ -637,7 +638,7 @@ if not modhbarm and modarmors then
|
|||
if def and def.state and def.count then
|
||||
hbarmor.set_armor(name, def.state, def.count)
|
||||
else
|
||||
minetest.log("error", "[hudbars] Call to hbarmor.get_armor returned with false!")
|
||||
minetest.log("error", "[hudbars] Call to hbarmor.get_armor returned with false! armor.def[player] invalid")
|
||||
return false
|
||||
end
|
||||
return true
|
||||
|
@ -675,11 +676,9 @@ local function custom_hud(player)
|
|||
hb.init_hudbar(player, "breath", math.min(breath, breath_max), breath_max, hide_breath)
|
||||
|
||||
if not modhbarm and modarmors then
|
||||
local arm = tonumber(hbarmor.armor[name])
|
||||
if not arm then arm = 0 end
|
||||
local arm = tonumber(hbarmor.armor[name] or 0)
|
||||
local hide_ar = hbarmor.autohide and must_hide(name, arm)
|
||||
hbarmor.get_armor(player)
|
||||
arm = tonumber(hbarmor.armor[name])
|
||||
hb.init_hudbar(player, "armor", arm_printable(arm), 100, hide_ar)
|
||||
end
|
||||
|
||||
|
|
|
@ -128,6 +128,8 @@ hudbars_br_player_maximun (maximun value of braeth of player) int 20
|
|||
#armor. Otherwise, the armor bar shows “0%”.
|
||||
hbarmor_autohide (Automatically hide armor HUD bar) bool false
|
||||
|
||||
hbhunger_permitgainhp (Permit slowly to gain hp when eating food and not only using satiation) bool true
|
||||
|
||||
hbhunger_satiation_tick (Time in seconds after which 1 saturation point is taken) float 800
|
||||
|
||||
hbhunger_satiation_sprint_dig (exhaustion increased this value after digged node) float 3
|
||||
|
|
|
@ -109,7 +109,7 @@ minetest.register_node("marinara:sand_with_kelp", {
|
|||
not minetest.is_protected(pos_top, player_name) then
|
||||
minetest.set_node(pos, {name = "marinara:sand_with_kelp",
|
||||
param2 = height * 8})
|
||||
if not minetest.is_creative_enabled(player_name) then
|
||||
if not creative.is_creative(player_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
|
@ -181,7 +181,7 @@ minetest.register_node("marinara:sand_with_seagrass2", {
|
|||
not minetest.is_protected(pos_top, player_name) then
|
||||
minetest.set_node(pos, {name = "marinara:sand_with_seagrass2",
|
||||
param2 = height * 8})
|
||||
if not minetest.is_creative_enabled(player_name) then
|
||||
if not creative.is_creative(player_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
|
@ -253,7 +253,7 @@ minetest.register_node("marinara:sand_with_seagrass", {
|
|||
not minetest.is_protected(pos_top, player_name) then
|
||||
minetest.set_node(pos, {name = "marinara:sand_with_seagrass",
|
||||
param2 = height * 8})
|
||||
if not minetest.is_creative_enabled(player_name) then
|
||||
if not creative.is_creative(player_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
|
@ -325,7 +325,7 @@ minetest.register_node("marinara:sand_with_alage", {
|
|||
not minetest.is_protected(pos_top, player_name) then
|
||||
minetest.set_node(pos, {name = "marinara:sand_with_alage",
|
||||
param2 = height * 16})
|
||||
if not minetest.is_creative_enabled(player_name) then
|
||||
if not creative.is_creative(player_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
|
@ -397,7 +397,7 @@ minetest.register_node("marinara:coastrock_with_brownalage", {
|
|||
not minetest.is_protected(pos_top, player_name) then
|
||||
minetest.set_node(pos, {name = "marinara:coastrock_with_brownalage",
|
||||
param2 = height * 8})
|
||||
if not minetest.is_creative_enabled(player_name) then
|
||||
if not creative.is_creative(player_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
|
|