mods - 3darmor - upgraded, feature Added, nil checks, vulnerability checks
* Added the possibility to wear the armor on rightclick backported from https://github.com/minetest-mods/3d_armor/pull/16 * fix not being able to place armor on anvil due new right click * fix armor equip/unequip initial implmentation that backports https://github.com/minetest-mods/3d_armor/pull/17 solving a number of problems with the new right-click armor equipping * fix callbacks not being called by armor.equip() and `armor.unequip()` * fix player physics player_physics_locked attribute * add feather falling * prevents a crash when a pipeworks deployer tries to equip armor * Fix typo in wieldview caused by skindb crash when player joins * update and added nether lava and lava crust to fire protection list. * fix bug Armor still damageable in (pvp) protected area * Fix detached inventory vulnerability complete checks * Fix count when armor is destroyed, option to prevent physics override * update version to 0.4.15 that works with 0.4.X and 5.X engines
This commit is contained in:
parent
5812e5473c
commit
93f17cd1f6
@ -53,7 +53,10 @@ To download you can play this game with the following minetest engines:
|
||||
* nssf as `nssf` [mods/nssf](mods/nssf) from https://git.minetest.io/minenux/minetest-mod-nssf
|
||||
* nsspf as `nsspf` [mods/nsspf](mods/nsspf) from https://git.minetest.io/minenux/minetest-mod-nsspf
|
||||
* armors and stuff mods
|
||||
* 3d_armor and shields [mods/3d_armor](mods/3d_armor) https://codeberg.org/minenux/minetest-mod-3d_armor
|
||||
* 3d_armor & shields [mods/3d_armor](mods/3d_armor) https://codeberg.org/minenux/minetest-mod-3d_armor
|
||||
* 3d_armor_globes [mods/3d_armor_gloves](mods/3d_armor_gloves) https://codeberg.org/minenux/minetest-mod-3d_armor_gloves
|
||||
* 3d_armor_technic [mods/3d_armor_techincs](mods/3d_armor_technic) https://codeberg.org/minenux/minetest-mod-3d_armor/src/branch/stable-5.0/3d_armor_technic
|
||||
* 3d_armor_mobile [mods/3d_armor_mobile](mods/3d_armor_mobile) https://codeberg.org/minenux/minetest-mod-3d_armor/src/branch/stable-4.0/3d_armor_mobile
|
||||
* player stuffs:
|
||||
* minenux bags as `backpacks` [mods/backpacks](mods/backpacks)
|
||||
* Shara RedCat ezhh
|
||||
@ -63,7 +66,7 @@ To download you can play this game with the following minetest engines:
|
||||
* Wuzzy
|
||||
* Hudbars as `hudbars` [mods/hudbars](mods/hudbars) https://codeberg.org/minenux/minetest-mod-hudbars
|
||||
* Hudbar Armor as `hudbars` [mods/hudbars](mods/hudbars) https://codeberg.org/minenux/minetest-game-nssg/commit/39c56ecd26ef559f063bf9effa0b1c58cc6bf969
|
||||
* Hudbar Hunger as `hudbars` [mods/hbhunger](mods/hbhunger) https://codeberg.org/minenux/minetest-game-nssg/commit/39c56ecd26ef559f063bf9effa0b1c58cc6bf969
|
||||
* Stamina&Hunger as `hudbars` [mods/hbhunger](mods/hbhunger) https://codeberg.org/minenux/minetest-game-nssg/commit/39c56ecd26ef559f063bf9effa0b1c58cc6bf969
|
||||
|
||||
## Licensing
|
||||
|
||||
|
@ -94,7 +94,7 @@ Additional fields supported by 3d_armor:
|
||||
on_unequip = <function>
|
||||
on_destroy = <function>
|
||||
on_damage = <function>
|
||||
on_punch = <function>
|
||||
on_punched = <function>
|
||||
|
||||
armor:register_armor_group(group, base)
|
||||
```
|
||||
@ -186,7 +186,7 @@ on_equip = func(player, index, stack)
|
||||
on_unequip = func(player, index, stack)
|
||||
on_destroy = func(player, index, stack)
|
||||
on_damage = func(player, index, stack)
|
||||
on_punch = func(player, hitter, time_from_last_punch, tool_capabilities)
|
||||
on_punched = func(player, hitter, time_from_last_punch, tool_capabilities)
|
||||
|
||||
Notes:
|
||||
|
||||
|
@ -94,7 +94,7 @@ Additional fields supported by 3d_armor:
|
||||
on_unequip = <function>
|
||||
on_destroy = <function>
|
||||
on_damage = <function>
|
||||
on_punch = <function>
|
||||
on_punched = <function>
|
||||
|
||||
armor:register_armor_group(group, base)
|
||||
```
|
||||
@ -186,7 +186,7 @@ on_equip = func(player, index, stack)
|
||||
on_unequip = func(player, index, stack)
|
||||
on_destroy = func(player, index, stack)
|
||||
on_damage = func(player, index, stack)
|
||||
on_punch = func(player, hitter, time_from_last_punch, tool_capabilities)
|
||||
on_punched = func(player, hitter, time_from_last_punch, tool_capabilities)
|
||||
|
||||
Notes:
|
||||
|
||||
|
@ -75,7 +75,28 @@
|
||||
|
||||
|
||||
-- support for i18n
|
||||
local S = armor_i18n.gettext
|
||||
local S
|
||||
-- Intllib or native translator
|
||||
if minetest.get_translator ~= nil then
|
||||
S = minetest.get_translator(minetest.get_current_modname())
|
||||
else
|
||||
if minetest.get_modpath("intllib") then
|
||||
dofile(minetest.get_modpath("intllib") .. "/init.lua")
|
||||
if intllib.make_gettext_pair then
|
||||
gettext, ngettext = intllib.make_gettext_pair() -- new gettext method
|
||||
else
|
||||
gettext = intllib.Getter() -- old text file method
|
||||
end
|
||||
S = gettext
|
||||
else -- boilerplate function
|
||||
S = function(str, ...)
|
||||
local args = {...}
|
||||
return str:gsub("@%d+", function(match)
|
||||
return args[tonumber(match:sub(2))]
|
||||
end)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local skin_previews = {}
|
||||
local use_player_monoids = minetest.global_exists("player_monoids")
|
||||
@ -109,7 +130,7 @@ armor = {
|
||||
timer = 0,
|
||||
elements = {"head", "torso", "legs", "feet"},
|
||||
physics = {"jump", "speed", "gravity"},
|
||||
attributes = {"heal", "fire", "water"},
|
||||
attributes = {"heal", "fire", "water", "feather"},
|
||||
formspec = "image[2.5,0;2,4;armor_preview]"..
|
||||
default.gui_bg..
|
||||
default.gui_bg_img..
|
||||
@ -153,7 +174,7 @@ armor = {
|
||||
on_destroy = {},
|
||||
},
|
||||
migrate_old_inventory = true,
|
||||
version = "0.4.12.1",
|
||||
version = "0.4.15",
|
||||
get_translator = S
|
||||
}
|
||||
|
||||
@ -172,12 +193,13 @@ armor.config = {
|
||||
material_bronze = true,
|
||||
material_diamond = true,
|
||||
material_gold = true,
|
||||
material_mithril = minetest.get_modpath("moreores") ~= nil,
|
||||
material_mithril = true,
|
||||
material_crystal = true,
|
||||
material_nether = minetest.get_modpath("nether") ~= nil,
|
||||
material_nether = true,
|
||||
water_protect = true,
|
||||
fire_protect = minetest.get_modpath("ethereal") ~= nil,
|
||||
fire_protect_torch = minetest.get_modpath("ethereal") ~= nil,
|
||||
feather_fall = true,
|
||||
punch_damage = true,
|
||||
}
|
||||
|
||||
@ -198,6 +220,19 @@ armor.config = {
|
||||
-- damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1},
|
||||
-- })
|
||||
armor.register_armor = function(self, name, def)
|
||||
def.on_secondary_use = function(itemstack, player)
|
||||
return armor:equip(player, itemstack)
|
||||
end
|
||||
def.on_place = function(itemstack, player, pointed_thing)
|
||||
if pointed_thing.type == "node" and player and not player:get_player_control().sneak then
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
local ndef = minetest.registered_nodes[node.name]
|
||||
if ndef and ndef.on_rightclick then
|
||||
return ndef.on_rightclick(pointed_thing.under, node, player, itemstack, pointed_thing)
|
||||
end
|
||||
end
|
||||
return armor:equip(player, itemstack)
|
||||
end
|
||||
local check_mat_exists = string.match(name, "%:.+_(.+)$")
|
||||
if check_mat_exists == nil then
|
||||
minetest.log("warning:[3d_armor] Registered armor "..name..
|
||||
@ -470,7 +505,16 @@ armor.set_player_armor = function(self, player)
|
||||
})
|
||||
pova.do_override(player)
|
||||
else
|
||||
player:set_physics_override(physics)
|
||||
local player_physics_locked
|
||||
if minetest.has_feature("object_use_texture_alpha") then
|
||||
player_physics_locked = player:get_meta():get_int("player_physics_locked")
|
||||
else
|
||||
player_physics_locked = player:get_attribute("player_physics_locked")
|
||||
if player_physics_locked ~= nil then tonumber(player_physics_locked) end
|
||||
end
|
||||
if player_physics_locked == nil or player_physics_locked == 0 then
|
||||
player:set_physics_override(physics)
|
||||
end
|
||||
end
|
||||
self.textures[name].armor = texture
|
||||
self.textures[name].preview = preview
|
||||
@ -612,7 +656,7 @@ armor.get_weared_armor_elements = function(self, player)
|
||||
local item_name = inv:get_stack("armor", i):get_name()
|
||||
local element = self:get_element(item_name)
|
||||
if element ~= nil then
|
||||
weared_armor[element] = item_name
|
||||
weared_armor[element] = item_name
|
||||
end
|
||||
end
|
||||
return weared_armor
|
||||
@ -624,24 +668,28 @@ end
|
||||
-- @tparam ObjectRef player Player to whom item is equipped.
|
||||
-- @tparam armor_name itemstack Armor item to be equipped.
|
||||
-- @treturn armor_name Leftover item stack.
|
||||
armor.equip = function(self, player, armor_name)
|
||||
local name, inv = self:get_valid_player(player, "[equip]")
|
||||
local weared_armor = self:get_weared_armor_elements(player)
|
||||
local armor_element = self:get_element(armor_name)
|
||||
if not name then
|
||||
return
|
||||
elseif self:get_element(armor_name) == nil then
|
||||
return
|
||||
elseif inv:contains_item("armor", ItemStack(armor_name)) then
|
||||
return
|
||||
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())
|
||||
if name and armor_element then
|
||||
local index
|
||||
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
|
||||
index = i
|
||||
self:unequip(player, armor_element)
|
||||
break
|
||||
elseif not index and stack:is_empty() then
|
||||
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)
|
||||
end
|
||||
if weared_armor[armor_element] ~= nil then
|
||||
self:unequip(player, weared_armor[armor_element])
|
||||
end
|
||||
inv:add_item("armor", ItemStack(armor_name))
|
||||
minetest.after(0, function() player:get_inventory():remove_item("main", ItemStack(armor_name)) end)
|
||||
self:set_player_armor(player)
|
||||
self:save_armor_inventory(player)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
--- Unequips a piece of armor from a player.
|
||||
@ -650,20 +698,29 @@ end
|
||||
-- @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).
|
||||
armor.unequip = function(self, player, armor_name)
|
||||
local name, inv = self:get_valid_player(player, "[unequip]")
|
||||
armor.unequip = function(self, player, armor_element)
|
||||
local name, armor_inv = self:get_valid_player(player, "[unequip]")
|
||||
if not name then
|
||||
return
|
||||
elseif self:get_element(armor_name) == nil then
|
||||
return
|
||||
elseif not inv:contains_item("armor", ItemStack(armor_name)) then
|
||||
return
|
||||
end
|
||||
inv:remove_item("armor", ItemStack(armor_name))
|
||||
minetest.after(0, function() player:get_inventory():add_item("main", ItemStack(armor_name)) end)
|
||||
self:set_player_armor(player)
|
||||
self:save_armor_inventory(player)
|
||||
self:save_armor_inventory(player)
|
||||
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
|
||||
armor_inv:set_stack("armor", i, "")
|
||||
minetest.after(0, function()
|
||||
local inv = player:get_inventory()
|
||||
if inv:room_for_item("main", stack) then
|
||||
inv:add_item("main", stack)
|
||||
else
|
||||
minetest.add_item(player:get_pos(), stack)
|
||||
end
|
||||
end)
|
||||
self:run_callbacks("on_unequip", player, i, stack)
|
||||
self:set_player_armor(player)
|
||||
self:save_armor_inventory(player)
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--- Removes all armor worn by player.
|
||||
@ -671,12 +728,10 @@ end
|
||||
-- @function armor:remove_all
|
||||
-- @tparam ObjectRef player
|
||||
armor.remove_all = function(self, player)
|
||||
local name, armor_inv = self:get_valid_player(player, "[remove_all]")
|
||||
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
|
||||
armor_inv:set_list("armor", {})
|
||||
end
|
||||
inv:set_list("armor", {})
|
||||
self:set_player_armor(player)
|
||||
self:save_armor_inventory(player)
|
||||
@ -694,8 +749,8 @@ armor.get_player_skin = function(self, name)
|
||||
skin_mod = skins.skins[name]..".png"
|
||||
return skins.skins[name]..".png"
|
||||
elseif self.skin_mod == "u_skins" and u_skins.u_skins[name] then
|
||||
skin_mod = skins.skins[name]..".png"
|
||||
return u_skins.skins[name]..".png"
|
||||
skin_mod = u_skins.u_skins[name]..".png"
|
||||
return u_skins.u_skins[name]..".png"
|
||||
elseif self.skin_mod == "wardrobe" and wardrobe.playerSkins and wardrobe.playerSkins[name] then
|
||||
skin_mod = wardrobe.playerSkins[name]
|
||||
return wardrobe.playerSkins[name]
|
||||
@ -815,7 +870,13 @@ end
|
||||
armor.load_armor_inventory = function(self, player)
|
||||
local _, inv = self:get_valid_player(player, "[load_armor_inventory]")
|
||||
if inv then
|
||||
local armor_list_string = player:get_attribute("3d_armor_inventory")
|
||||
local armor_list_string
|
||||
if minetest.has_feature("object_use_texture_alpha") then
|
||||
local meta = player:get_meta()
|
||||
armor_list_string = meta:get_string("3d_armor_inventory")
|
||||
else
|
||||
armor_list_string = player:get_attribute("3d_armor_inventory")
|
||||
end
|
||||
if armor_list_string then
|
||||
inv:set_list("armor",
|
||||
self:deserialize_inventory_list(armor_list_string))
|
||||
@ -831,8 +892,14 @@ end
|
||||
armor.save_armor_inventory = function(self, player)
|
||||
local _, inv = self:get_valid_player(player, "[save_armor_inventory]")
|
||||
if inv then
|
||||
player:set_attribute("3d_armor_inventory",
|
||||
self:serialize_inventory_list(inv:get_list("armor")))
|
||||
if minetest.has_feature("object_use_texture_alpha") then
|
||||
local meta = player:get_meta()
|
||||
meta:set_string("3d_armor_inventory",
|
||||
self:serialize_inventory_list(inv:get_list("armor")))
|
||||
else
|
||||
player:set_attribute("3d_armor_inventory",
|
||||
self:serialize_inventory_list(inv:get_list("armor")))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -844,6 +911,7 @@ end
|
||||
-- @param player
|
||||
armor.update_inventory = function(self, player)
|
||||
-- DEPRECATED: Legacy inventory support
|
||||
minetest.log("warning", "[3d_armor] deprecated api call update_inventory")
|
||||
end
|
||||
|
||||
--- Sets inventory stack.
|
||||
@ -870,17 +938,23 @@ end
|
||||
armor.get_valid_player = function(self, player, msg)
|
||||
msg = msg or ""
|
||||
if not player then
|
||||
minetest.log("warning", S("3d_armor: Player reference is nil @1", msg))
|
||||
minetest.log("warning", ("3d_armor%s: Player reference is nil"):format(msg))
|
||||
return
|
||||
end
|
||||
if type(player) ~= "userdata" then
|
||||
-- Fake player, fail silently
|
||||
return
|
||||
end
|
||||
local name = player:get_player_name()
|
||||
if not name then
|
||||
minetest.log("warning", S("3d_armor: Player name is nil @1", msg))
|
||||
minetest.log("warning", ("3d_armor%s: Player name is nil"):format(msg))
|
||||
return
|
||||
end
|
||||
local inv = minetest.get_inventory({type="detached", name=name.."_armor"})
|
||||
if not inv then
|
||||
minetest.log("warning", S("3d_armor: Detached armor inventory is nil @1", msg))
|
||||
-- This check may fail when called inside `on_joinplayer`
|
||||
-- in that case, the armor will be initialized/updated later on
|
||||
minetest.log("warning", ("3d_armor%s: Detached armor inventory is nil"):format(msg))
|
||||
return
|
||||
end
|
||||
return name, inv
|
||||
|
@ -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=13, armor_use=66},
|
||||
armor_groups = {fleshy=16},
|
||||
groups = {armor_head=1, armor_heal=12, armor_use=100},
|
||||
armor_groups = {fleshy=15},
|
||||
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=13, armor_use=66},
|
||||
armor_groups = {fleshy=21},
|
||||
groups = {armor_torso=1, armor_heal=12, armor_use=100},
|
||||
armor_groups = {fleshy=20},
|
||||
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=13, armor_use=66},
|
||||
armor_groups = {fleshy=21},
|
||||
groups = {armor_legs=1, armor_heal=12, armor_use=100},
|
||||
armor_groups = {fleshy=20},
|
||||
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=13, armor_use=66},
|
||||
armor_groups = {fleshy=16},
|
||||
groups = {armor_feet=1, armor_heal=12, armor_use=100},
|
||||
armor_groups = {fleshy=15},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
})
|
||||
end
|
||||
|
@ -5,16 +5,17 @@ local last_punch_time = {}
|
||||
local pending_players = {}
|
||||
local timer = 0
|
||||
|
||||
dofile(modpath.."/api.lua")
|
||||
|
||||
-- support for i18n
|
||||
armor_i18n = { }
|
||||
armor_i18n.gettext, armor_i18n.ngettext = dofile(modpath.."/intllib.lua")
|
||||
-- escaping formspec
|
||||
armor_i18n.fgettext = function(...) return minetest.formspec_escape(armor_i18n.gettext(...)) end
|
||||
-- local functions
|
||||
local S = armor_i18n.gettext
|
||||
local F = armor_i18n.fgettext
|
||||
armor_i18n.gettext = armor.get_translator
|
||||
armor_i18n.ngettext = function(s) return s end
|
||||
armor_i18n.fgettext = minetest.formspec_escape
|
||||
|
||||
dofile(modpath.."/api.lua")
|
||||
-- local functions
|
||||
local F = minetest.formspec_escape
|
||||
local S = armor.get_translator
|
||||
|
||||
-- Legacy Config Support
|
||||
|
||||
@ -22,13 +23,11 @@ local input = io.open(modpath.."/armor.conf", "r")
|
||||
if input then
|
||||
dofile(modpath.."/armor.conf")
|
||||
input:close()
|
||||
input = nil
|
||||
end
|
||||
input = io.open(worldpath.."/armor.conf", "r")
|
||||
if input then
|
||||
dofile(worldpath.."/armor.conf")
|
||||
input:close()
|
||||
input = nil
|
||||
end
|
||||
for name, _ in pairs(armor.config) do
|
||||
local global = "ARMOR_"..name:upper()
|
||||
@ -80,7 +79,7 @@ end
|
||||
|
||||
if minetest.get_modpath("technic") then
|
||||
armor.formspec = armor.formspec..
|
||||
"label[5,2.5;"..F("Radiation")..": armor_group_radiation]"
|
||||
"label[5,2.5;"..F(S("Radiation"))..": armor_group_radiation]"
|
||||
armor:register_armor_group("radiation")
|
||||
end
|
||||
local skin_mods = {"skins", "u_skins", "simple_skins", "wardrobe"}
|
||||
@ -93,6 +92,7 @@ for _, mod in pairs(skin_mods) do
|
||||
armor:add_preview(fn)
|
||||
end
|
||||
end
|
||||
armor.set_skin_mod(mod) -- will be deprecated
|
||||
armor.skin_mod = mod
|
||||
end
|
||||
end
|
||||
@ -111,27 +111,25 @@ dofile(modpath.."/armor.lua")
|
||||
-- Armor Initialization
|
||||
|
||||
armor.formspec = armor.formspec..
|
||||
"label[5,1;"..F("Level")..": armor_level]"..
|
||||
"label[5,1.5;"..F("Heal")..": armor_attr_heal]"
|
||||
"label[5,1;"..F(S("Level"))..": armor_level]"..
|
||||
"label[5,1.5;"..F(S("Heal"))..": armor_attr_heal]"
|
||||
if armor.config.fire_protect then
|
||||
armor.formspec = armor.formspec.."label[5,2;"..F("Fire")..": armor_attr_fire]"
|
||||
armor.formspec = armor.formspec.."label[5,2;"..F(S("Fire"))..": armor_attr_fire]"
|
||||
end
|
||||
|
||||
armor:register_on_damage(function(player, index, stack)
|
||||
local name = player:get_player_name()
|
||||
local def = stack:get_definition()
|
||||
if name and def and def.description and stack:get_wear() > 60100 then
|
||||
minetest.chat_send_player(name, S("Your @1 is almost broken!", def.description))
|
||||
-- minetest.sound_play("default_tool_breaks", {to_player = name, gain = 2.0})
|
||||
minetest.sound_play("default_tool_breaks", {to_player = name, gain = 2.0})
|
||||
end
|
||||
end)
|
||||
|
||||
armor:register_on_destroy(function(player, index, stack)
|
||||
local name = player:get_player_name()
|
||||
local def = stack:get_definition()
|
||||
if name and def and def.description then
|
||||
minetest.chat_send_player(name, S("Your @1 got destroyed!", def.description))
|
||||
-- minetest.sound_play("default_tool_breaks", {to_player = name, gain = 2.0})
|
||||
minetest.sound_play("default_tool_breaks", {to_player = name, gain = 2.0})
|
||||
end
|
||||
end)
|
||||
|
||||
@ -143,7 +141,13 @@ local function validate_armor_inventory(player)
|
||||
return
|
||||
end
|
||||
local armor_prev = {}
|
||||
local armor_list_string = player:get_attribute("3d_armor_inventory")
|
||||
local armor_list_string
|
||||
if minetest.has_feature("object_use_texture_alpha") then
|
||||
local attribute_meta = player:get_meta() -- I know, the function's name is weird but let it be like that. ;)
|
||||
armor_list_string = attribute_meta:get_string("3d_armor_inventory")
|
||||
else
|
||||
armor_list_string = player:get_attribute("3d_armor_inventory")
|
||||
end
|
||||
if armor_list_string then
|
||||
local armor_list = armor:deserialize_inventory_list(armor_list_string)
|
||||
for i, stack in ipairs(armor_list) do
|
||||
@ -319,6 +323,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
if not name then
|
||||
return
|
||||
end
|
||||
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)
|
||||
@ -332,8 +337,10 @@ end)
|
||||
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
default.player_set_model(player, "3d_armor_character.b3d")
|
||||
local player_name = player:get_player_name()
|
||||
minetest.after(0, function(player)
|
||||
if init_player_armor(player) == false then
|
||||
local pplayer = minetest.get_player_by_name(player_name)
|
||||
if pplayer and init_player_armor(player) == false then
|
||||
pending_players[player] = 0
|
||||
end
|
||||
end, player)
|
||||
@ -398,7 +405,7 @@ if armor.config.drop == true or armor.config.destroy == true then
|
||||
end)
|
||||
else -- reset un-dropped armor and it's effects
|
||||
minetest.register_on_respawnplayer(function(player)
|
||||
armor:set_player_armor(player)
|
||||
if player then armor:set_player_armor(player) end
|
||||
end)
|
||||
end
|
||||
|
||||
@ -406,8 +413,9 @@ 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 = hitter:is_player()
|
||||
if name and tplayer and minetest.is_protected(player:get_pos(), "") then
|
||||
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
|
||||
return
|
||||
elseif name then
|
||||
armor:punch(player, hitter, time_from_last_punch, tool_capabilities)
|
||||
@ -436,6 +444,20 @@ end, true)
|
||||
|
||||
minetest.register_globalstep(function(dtime)
|
||||
timer = timer + dtime
|
||||
|
||||
if armor.config.feather_fall == true then
|
||||
for _,player in pairs(minetest.get_connected_players()) do
|
||||
local name = player:get_player_name()
|
||||
if armor.def[name].feather > 0 then
|
||||
local vel_y = player:get_velocity().y
|
||||
if vel_y < 0 and vel_y < 3 then
|
||||
vel_y = -(vel_y * 0.05)
|
||||
player:add_velocity({x = 0, y = vel_y, z = 0})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if timer > armor.config.init_delay then
|
||||
for player, count in pairs(pending_players) do
|
||||
local remove = init_player_armor(player) == true
|
||||
|
62
mods/3d_armor/3d_armor/locale/3d_armor.de.tr
Normal file
62
mods/3d_armor/3d_armor/locale/3d_armor.de.tr
Normal file
@ -0,0 +1,62 @@
|
||||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor : Abgetrennter Rüstungsbestand ist nicht gesetzt: @1
|
||||
3d_armor: Player name is nil @1=3d_armor : Spielername ist nicht gesetzt: @1
|
||||
3d_armor: Player reference is nil @1=3d_armor : Spielerreferenz ist nicht gesetzt: @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=Adminstiefel
|
||||
Admin Chestplate=Adminbrustplatte
|
||||
Admin Helmet=Adminhelm
|
||||
Admin Leggings=Adminhose
|
||||
Bronze Boots=Bronzestiefel
|
||||
Bronze Chestplate=Bronzebrustplatte
|
||||
Bronze Helmet=Bronzehelm
|
||||
Bronze Leggings=Bronzehose
|
||||
Cactus Boots=Kaktusstiefel
|
||||
Cactus Chestplate=Kaktusbrustplatte
|
||||
Cactus Helmet=Kaktushelm
|
||||
Cactus Leggings=Kaktushose
|
||||
Crystal Boots=Kristallstiefel
|
||||
Crystal Chestplate=Kristallbrustplatte
|
||||
Crystal Helmet=Kristallhelm
|
||||
Crystal Leggings=Kristallhose
|
||||
Nether Boots=Netherstiefel
|
||||
Nether Chestplate=Netherbrustplatte
|
||||
Nether Helmet=Netherhelm
|
||||
Nether Leggings=Netherhose
|
||||
Diamond Boots=Diamantstiefel
|
||||
Diamond Chestplate=Diamantbrustplatte
|
||||
Diamond Helmet=Diamanthelm
|
||||
Diamond Leggings=Diamanthose
|
||||
Gold Boots=Goldstiefel
|
||||
Gold Chestplate=Goldbrustplatte
|
||||
Gold Helmet=Goldhelm
|
||||
Gold Leggings=Goldhose
|
||||
Mithril Boots=Mithrilstiefel
|
||||
Mithril Chestplate=Mithrilbrustplatte
|
||||
Mithril Helmet=Mithrilhelm
|
||||
Mithril Leggings=Mithrilhose
|
||||
Steel Boots=Stahlstiefel
|
||||
Steel Chestplate=Stahlbrustplatte
|
||||
Steel Helmet=Stahlhelm
|
||||
Steel Leggings=Stahlhose
|
||||
Wood Boots=Holzstiefel
|
||||
Wood Chestplate=Holzbrustplatte
|
||||
Wood Helmet=Holzhelm
|
||||
Wood Leggings=Holzhose
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor : Initialisierung des Spielers fehlgeschlagen
|
||||
Fire=Feuer
|
||||
Heal=Heilen
|
||||
Level=Stufe
|
||||
Radiation=Strahlen
|
||||
Your @1 got destroyed!=Deine @1 wurde zerstört!
|
||||
Your @1 is almost broken!=Deine @1 ist fast kaputt!
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] Feuer-Knoten deaktiviert
|
7
mods/3d_armor/3d_armor/locale/3d_armor.eo.tr
Normal file
7
mods/3d_armor/3d_armor/locale/3d_armor.eo.tr
Normal file
@ -0,0 +1,7 @@
|
||||
# textdomain: 3d_armor
|
||||
Radiation=Radiado
|
||||
Level=Nivelo
|
||||
Heal=Sanigi
|
||||
Fire=Fajro
|
||||
Your @1 is almost broken!=Via @1 estas preskaŭ rompita!
|
||||
Your @1 got destroyed!=Via @1 detruiĝis!
|
62
mods/3d_armor/3d_armor/locale/3d_armor.es.tr
Normal file
62
mods/3d_armor/3d_armor/locale/3d_armor.es.tr
Normal file
@ -0,0 +1,62 @@
|
||||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor: La armadura desconectada es nula @1
|
||||
3d_armor: Player name is nil @1=3d_armor: El nombre del jugador es nulo @1
|
||||
3d_armor: Player reference is nil @1=3d_armor: La referencia del jugador es nula @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=Botas de admin
|
||||
Admin Chestplate=Peto de admin
|
||||
Admin Helmet=Casco de admin
|
||||
Admin Leggings=Grebas de admin
|
||||
Bronze Boots=Botas de bronce
|
||||
Bronze Chestplate=Peto de bronce
|
||||
Bronze Helmet=Casco de bronce
|
||||
Bronze Leggings=Grebas de bronce
|
||||
Cactus Boots=Botas de cactus
|
||||
Cactus Chestplate=Peto de cactus
|
||||
Cactus Helmet=Casco de cactus
|
||||
Cactus Leggings=Grebas de cactus
|
||||
Crystal Boots=Botas de cristal
|
||||
Crystal Chestplate=Peto de cristal
|
||||
Crystal Helmet=Casco de cristal
|
||||
Crystal Leggings=Grebas de cristal
|
||||
Nether Boots=Botas de nether
|
||||
Nether Chestplate=Peto de nether
|
||||
Nether Helmet=Casco de nether
|
||||
Nether Leggings=Grebas de nether
|
||||
Diamond Boots=Botas de diamante
|
||||
Diamond Chestplate=Peto de diamante
|
||||
Diamond Helmet=Casco de diamante
|
||||
Diamond Leggings=Grebas de diamante
|
||||
Gold Boots=Botas de oro
|
||||
Gold Chestplate=Peto de oro
|
||||
Gold Helmet=Casco de oro
|
||||
Gold Leggings=Grebas de oro
|
||||
Mithril Boots=Botas de mitrilo
|
||||
Mithril Chestplate=Peto de mitrilo
|
||||
Mithril Helmet=Casco de mitrilo
|
||||
Mithril Leggings=Grebas de mitrilo
|
||||
Steel Boots=Botas de acero
|
||||
Steel Chestplate=Peto de acero
|
||||
Steel Helmet=Casco de acero
|
||||
Steel Leggings=Grebas de acero
|
||||
Wood Boots=Botas de madera
|
||||
Wood Chestplate=Peto de madera
|
||||
Wood Helmet=Casco de madera
|
||||
Wood Leggings=Grebas de madera
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor: Fallo en la inicialización del jugador
|
||||
Fire=Fuego
|
||||
Heal=Salud
|
||||
Level=Nivel
|
||||
Radiation=Radiación
|
||||
Your @1 got destroyed!=¡Tu @1 fue destruído!
|
||||
Your @1 is almost broken!=¡Tu @1 esta a punto de romperse!
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] Nodos de fuego desabilitados
|
62
mods/3d_armor/3d_armor/locale/3d_armor.fr.tr
Normal file
62
mods/3d_armor/3d_armor/locale/3d_armor.fr.tr
Normal file
@ -0,0 +1,62 @@
|
||||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor : Inventaire détaché pour l'armure non trouvé @1
|
||||
3d_armor: Player name is nil @1=3d_armor : Nom du joueur non trouvé @1
|
||||
3d_armor: Player reference is nil @1=3d_armor : Référence au joueur non trouvée @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=Bottes d'admin
|
||||
Admin Chestplate=Cuirasse d'admin
|
||||
Admin Helmet=Casque d'admin
|
||||
Admin Leggings=Jambières d'admin
|
||||
Bronze Boots=Bottes en bronze
|
||||
Bronze Chestplate=Cuirasse en bronze
|
||||
Bronze Helmet=Casque en bronze
|
||||
Bronze Leggings=Jambières en bronze
|
||||
Cactus Boots=Bottes en cactus
|
||||
Cactus Chestplate=Cuirasse en cactus
|
||||
Cactus Helmet=Casque en cactus
|
||||
Cactus Leggings=Jambières en cactus
|
||||
Crystal Boots=Bottes en cristal
|
||||
Crystal Chestplate=Cuirasse en cristal
|
||||
Crystal Helmet=Casque en cristal
|
||||
Crystal Leggings=Jambières en cristal
|
||||
Nether Boots=Bottes en nether
|
||||
Nether Chestplate=Cuirasse en nether
|
||||
Nether Helmet=Casque en nether
|
||||
Nether Leggings=Jambières en nether
|
||||
Diamond Boots=Bottes en diamant
|
||||
Diamond Chestplate=Cuirasse en diamant
|
||||
Diamond Helmet=Casque en diamant
|
||||
Diamond Leggings=Jambières en diamant
|
||||
Gold Boots=Bottes en or
|
||||
Gold Chestplate=Cuirasse en or
|
||||
Gold Helmet=Casque en or
|
||||
Gold Leggings=Jambières en or
|
||||
Mithril Boots=Bottes en mithril
|
||||
Mithril Chestplate=Cuirasse en mithril
|
||||
Mithril Helmet=Casque en mithril
|
||||
Mithril Leggings=Jambières en mithril
|
||||
Steel Boots=Bottes en acier
|
||||
Steel Chestplate=Cuirasse en acier
|
||||
Steel Helmet=Casque en acier
|
||||
Steel Leggings=Jambières en acier
|
||||
Wood Boots=Bottes en bois
|
||||
Wood Chestplate=Cuirasse en bois
|
||||
Wood Helmet=Casque en bois
|
||||
Wood Leggings=Jambières en bois
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor : Impossible d'initialiser le joueur
|
||||
Fire=Fire
|
||||
Heal=Soins
|
||||
Level=Niveau
|
||||
Radiation=Radiation
|
||||
Your @1 got destroyed!=Une partie de votre armure a été détruite : @1 !
|
||||
Your @1 is almost broken!=Une partie de votre armure est presque détruite : @1 !
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] Nœuds de type feu désactivés
|
90
mods/3d_armor/3d_armor/locale/3d_armor.it.tr
Normal file
90
mods/3d_armor/3d_armor/locale/3d_armor.it.tr
Normal file
@ -0,0 +1,90 @@
|
||||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor: L'inventario separato dell'armatura è nullo @1
|
||||
3d_armor: Player name is nil @1=3d_armor: Il nome dell'utente è nullo @1
|
||||
3d_armor: Player reference is nil @1=3d_armor: Il riferimento all'utente è nullo @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=Stivali dell'amministratrice/tore
|
||||
Admin Chestplate=Corazza dell'amministratrice/tore
|
||||
Admin Helmet=Elmo dell'amministratrice/tore
|
||||
Admin Leggings=Gambali dell'amministratrice/tore
|
||||
Bronze Boots=Stivali di bronzo
|
||||
Bronze Chestplate=Corazza di bronzo
|
||||
Bronze Helmet=Elmo di bronzo
|
||||
Bronze Leggings=Gambali di bronzo
|
||||
Cactus Boots=Stivali di cactus
|
||||
Cactus Chestplate=Corazza di cactus
|
||||
Cactus Helmet=Elmo di cactus
|
||||
Cactus Leggings=Gambali di cactus
|
||||
Crystal Boots=Stivali di cristallo
|
||||
Crystal Chestplate=Corazza di cristallo
|
||||
Crystal Helmet=Elmo di cristallo
|
||||
Crystal Leggings=Gambali di cristallo
|
||||
Nether Boots=Stivali di nether
|
||||
Nether Chestplate=Corazza di nether
|
||||
Nether Helmet=Elmo di nether
|
||||
Nether Leggings=Gambali di nether
|
||||
Diamond Boots=Stivali di diamante
|
||||
Diamond Chestplate=Corazza di diamante
|
||||
Diamond Helmet=Elmo di diamante
|
||||
Diamond Leggings=Gambali di diamante
|
||||
Gold Boots=Stivali d'oro
|
||||
Gold Chestplate=Corazza d'oro
|
||||
Gold Helmet=Elmo d'oro
|
||||
Gold Leggings=Gambali d'oro
|
||||
Mithril Boots=Stivali di mithril
|
||||
Mithril Chestplate=Corazza di mithril
|
||||
Mithril Helmet=Elmo di mithril
|
||||
Mithril Leggings=Gambali di mithril
|
||||
Steel Boots=Stivali d'acciaio
|
||||
Steel Chestplate=Corazza d'acciaio
|
||||
Steel Helmet=Elmo d'acciaio
|
||||
Steel Leggings=Gambali d'acciaio
|
||||
Wood Boots=Stivali di legno
|
||||
Wood Chestplate=Corazza di legno
|
||||
Wood Helmet=Elmo di legno
|
||||
Wood Leggings=Gambali di legno
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor: Inizializzazione dell'utente fallita
|
||||
Fire=Fuoco
|
||||
Heal=Guarigione
|
||||
Level=Livello
|
||||
Radiation=Radiazione
|
||||
Your @1 got destroyed!=@1 in frantumi!
|
||||
Your @1 is almost broken!=@1 quasi in frantumi!
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] Nodi fuoco disabilitati
|
||||
|
||||
|
||||
##### not used anymore #####
|
||||
|
||||
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: Mod caricata ma inutilizzata.
|
||||
Back=Indietro
|
||||
Armor=Armatura
|
||||
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: Mod caricata ma inutilizzata.
|
||||
Armor stand top=Parte superiore del supporto per armatura
|
||||
Armor stand=Supporto per armatura
|
||||
Armor Stand=Supporto per armatura
|
||||
Locked Armor stand=Supporto per armatura chiuso a chiave
|
||||
Armor Stand (owned by @1)=Supporto per armatura (di proprietà di @1)
|
||||
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: Mod caricata ma inutilizzata.
|
||||
3d Armor=Armatura 3D
|
||||
Armor not initialized!=Armatura non inizializzata!
|
||||
Admin Shield=Scudo dell'amministratrice/tore
|
||||
Wooden Shield=Scudo di legno
|
||||
Enhanced Wood Shield=Scudo di legno migliorato
|
||||
Cactus Shield=Scudo di cactus
|
||||
Enhanced Cactus Shield=Scudo di cactus migliorato
|
||||
Steel Shield=Scudo d'acciaio
|
||||
Bronze Shield=Scudo di bronzo
|
||||
Diamond Shield=Scudo di diamante
|
||||
Gold Shield=Scudo d'oro
|
||||
Mithril Shield=Scudo di mithril
|
||||
Crystal Shield=Scudo di cristallo
|
||||
Nether Shield=Scudo di nether
|
90
mods/3d_armor/3d_armor/locale/3d_armor.ms.tr
Normal file
90
mods/3d_armor/3d_armor/locale/3d_armor.ms.tr
Normal file
@ -0,0 +1,90 @@
|
||||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor: Inventori perisai terpisah tiada nilai @1
|
||||
3d_armor: Player name is nil @1=3d_armor: Nama pemain tiada nilai @1
|
||||
3d_armor: Player reference is nil @1=3d_armor: Rujukan pemain tiada nilai @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=But Pentadbir
|
||||
Admin Chestplate=Perisai Dada Pentadbir
|
||||
Admin Helmet=Helmet Pentadbir
|
||||
Admin Leggings=Perisai Kaki Pentadbir
|
||||
Bronze Boots=But Gangsa
|
||||
Bronze Chestplate=Perisai Dada Gangsa
|
||||
Bronze Helmet=Helmet Gangsa
|
||||
Bronze Leggings=Perisai Kaki Gangsa
|
||||
Cactus Boots=But Kaktus
|
||||
Cactus Chestplate=Perisai Dada Kaktus
|
||||
Cactus Helmet=Helmet Kaktus
|
||||
Cactus Leggings=Perisai Kaki Kaktus
|
||||
Crystal Boots=But Kristal
|
||||
Crystal Chestplate=Perisai Dada Kristal
|
||||
Crystal Helmet=Helmet Kristal
|
||||
Crystal Leggings=Perisai Kaki Kristal
|
||||
Nether Boots=But Nether
|
||||
Nether Chestplate=Perisai Dada Nether
|
||||
Nether Helmet=Helmet Nether
|
||||
Nether Leggings=Perisai Kaki Nether
|
||||
Diamond Boots=But Intan
|
||||
Diamond Chestplate=Perisai Dada Intan
|
||||
Diamond Helmet=Helmet Intan
|
||||
Diamond Leggings=Perisai Kaki Intan
|
||||
Gold Boots=But Emas
|
||||
Gold Chestplate=Perisai Dada Emas
|
||||
Gold Helmet=Helmet Emas
|
||||
Gold Leggings=Perisai Kaki Emas
|
||||
Mithril Boots=But Mithril
|
||||
Mithril Chestplate=Perisai Dada Mithril
|
||||
Mithril Helmet=Helmet Mithril
|
||||
Mithril Leggings=Perisai Kaki Mithril
|
||||
Steel Boots=But Keluli
|
||||
Steel Chestplate=Perisai Dada Keluli
|
||||
Steel Helmet=Helmet Keluli
|
||||
Steel Leggings=Perisai Kaki Keluli
|
||||
Wood Boots=But Kayu
|
||||
Wood Chestplate=Perisai Dada Kayu
|
||||
Wood Helmet=Helmet Kayu
|
||||
Wood Leggings=Perisai Kaki Kayu
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor: Gagal mengasalkan pemain
|
||||
Fire=Api
|
||||
Heal=Pulih
|
||||
Level=Tahap
|
||||
Radiation=Radiasi
|
||||
Your @1 got destroyed!=@1 anda telah musnah!
|
||||
Your @1 is almost broken!=
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] Nod-nod Api dilumpuhkan
|
||||
|
||||
|
||||
##### not used anymore #####
|
||||
|
||||
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: Mods dimuatkan tetapi tidak digunakan.
|
||||
Back=Kembali
|
||||
Armor=Perisai
|
||||
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: Mods dimuatkan tetapi tidak digunakan.
|
||||
Armor stand top=Bhg atas dirian perisai
|
||||
Armor stand=Dirian perisai
|
||||
Armor Stand=Dirian Perisai
|
||||
Locked Armor stand=Dirian perisai Berkunci
|
||||
Armor Stand (owned by @1)=Dirian Perisai (milik @1)
|
||||
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: Mods dimuatkan tetapi tidak digunakan.
|
||||
3d Armor=Perisai 3d
|
||||
Armor not initialized!=Perisai tidak diasalkan!
|
||||
Admin Shield=Perisai Pegang Pentadbir
|
||||
Wooden Shield=Perisai Pegang Kayu
|
||||
Enhanced Wood Shield=Perisai Pegang Kayu Kukuh
|
||||
Cactus Shield=Perisai Pegang Kaktus
|
||||
Enhanced Cactus Shield=Perisai Pegang Kaktus Kukuh
|
||||
Steel Shield=Perisai Pegang Keluli
|
||||
Bronze Shield=Perisai Pegang Gangsa
|
||||
Diamond Shield=Perisai Pegang Intan
|
||||
Gold Shield=Perisai Pegang Emas
|
||||
Mithril Shield=Perisai Pegang Mithril
|
||||
Crystal Shield=Perisai Pegang Kristal
|
||||
Nether Shield=Perisai Pegang Nether
|
90
mods/3d_armor/3d_armor/locale/3d_armor.pt.tr
Normal file
90
mods/3d_armor/3d_armor/locale/3d_armor.pt.tr
Normal file
@ -0,0 +1,90 @@
|
||||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor: Inventario avulso de armadura é nulo @1
|
||||
3d_armor: Player name is nil @1=3d_armor: Nome de jogador é nulo @1
|
||||
3d_armor: Player reference is nil @1=3d_armor: Referência Jogador é nula @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=Botas de Administrador
|
||||
Admin Chestplate=Peitoral de Administrador
|
||||
Admin Helmet=Capacete de Administrador
|
||||
Admin Leggings=Calças de Administrador
|
||||
Bronze Boots=Botas de Bronze
|
||||
Bronze Chestplate=Peitoral de Bronze
|
||||
Bronze Helmet=Capacete de Bronze
|
||||
Bronze Leggings=Calças de Bronze
|
||||
Cactus Boots=Botas de Madeira
|
||||
Cactus Chestplate=Peitoral de Cacto
|
||||
Cactus Helmet=Capacete de Cacto
|
||||
Cactus Leggings=Calças de Cacto
|
||||
Crystal Boots=Botas de Cristal
|
||||
Crystal Chestplate=Peitoral de Cristal
|
||||
Crystal Helmet=Capacete de Cristal
|
||||
Crystal Leggings=Calças de Cristal
|
||||
Nether Boots=Botas de Nether
|
||||
Nether Chestplate=Peitoral de Nether
|
||||
Nether Helmet=Capacete de Nether
|
||||
Nether Leggings=Calças de Nether
|
||||
Diamond Boots=Botas de Diamante
|
||||
Diamond Chestplate=Peitoral de Diamante
|
||||
Diamond Helmet=Capacete de Diamante
|
||||
Diamond Leggings=Calças de Diamante
|
||||
Gold Boots=Botas de Ouro
|
||||
Gold Chestplate=Peitoral de Ouro
|
||||
Gold Helmet=Capacete de Ouro
|
||||
Gold Leggings=Calças de Ouro
|
||||
Mithril Boots=Botas de Mithril
|
||||
Mithril Chestplate=Peitoral de Mithril
|
||||
Mithril Helmet=Capacete de Mithril
|
||||
Mithril Leggings=Calças de Mithril
|
||||
Steel Boots=Botas de Aço
|
||||
Steel Chestplate=Peitoral de Aço
|
||||
Steel Helmet=Capacete de Aço
|
||||
Steel Leggings=Calças de Aço
|
||||
Wood Boots=Botas de Madeira
|
||||
Wood Chestplate=Peitoral de Madeira
|
||||
Wood Helmet=Capacete de Madeira
|
||||
Wood Leggings=Calças de Madeira
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor: Falha ao inicializar jogador
|
||||
Fire=Fogo
|
||||
Heal=Saúde
|
||||
Level=Nível
|
||||
Radiation=Radiação
|
||||
Your @1 got destroyed!=@1 foi destruído(a)!
|
||||
Your @1 is almost broken!=
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] Nodes de gofo desabilitados
|
||||
|
||||
|
||||
##### not used anymore #####
|
||||
|
||||
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: Mod carregado mas inoperante.
|
||||
Back=Voltar
|
||||
Armor=Armadura
|
||||
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: Mod carregado mas inoperante.
|
||||
Armor stand top=Topo de estande de armadura
|
||||
Armor stand=Estande de armadura
|
||||
Armor Stand=Estande de Armadura
|
||||
Locked Armor stand=Estande de Armadura Trancada
|
||||
Armor Stand (owned by @1)=Estande de Armadura (pertente a @1)
|
||||
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: Mod carregado mas inoperante.
|
||||
3d Armor=3d Armor
|
||||
Armor not initialized!=Armadura não inicializada!
|
||||
Admin Shield=Escudo de Administrador
|
||||
Wooden Shield=Escudo de Madeira
|
||||
Enhanced Wood Shield=Escudo de Madeira Melhorado
|
||||
Cactus Shield=Escudo de Cacto
|
||||
Enhanced Cactus Shield=Escudo de Cacto Melhorado
|
||||
Steel Shield=Escudo de Aço
|
||||
Bronze Shield=Escudo de Bronze
|
||||
Diamond Shield=Escudo de Diamante
|
||||
Gold Shield=Escudo de Ouro
|
||||
Mithril Shield=Escudo de Mithril
|
||||
Crystal Shield=Escudo de Cristal
|
||||
Nether Shield=Escudo de Nether
|
90
mods/3d_armor/3d_armor/locale/3d_armor.pt_BR.tr
Normal file
90
mods/3d_armor/3d_armor/locale/3d_armor.pt_BR.tr
Normal file
@ -0,0 +1,90 @@
|
||||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor: Inventario avulso de armadura é nulo @1
|
||||
3d_armor: Player name is nil @1=3d_armor: Nome de jogador é nulo @1
|
||||
3d_armor: Player reference is nil @1=3d_armor: Referência Jogador é nula @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=Botas de Administrador
|
||||
Admin Chestplate=Peitoral de Administrador
|
||||
Admin Helmet=Capacete de Administrador
|
||||
Admin Leggings=Calças de Administrador
|
||||
Bronze Boots=Botas de Bronze
|
||||
Bronze Chestplate=Peitoral de Bronze
|
||||
Bronze Helmet=Capacete de Bronze
|
||||
Bronze Leggings=Calças de Bronze
|
||||
Cactus Boots=Botas de Madeira
|
||||
Cactus Chestplate=Peitoral de Cacto
|
||||
Cactus Helmet=Capacete de Cacto
|
||||
Cactus Leggings=Calças de Cacto
|
||||
Crystal Boots=Botas de Cristal
|
||||
Crystal Chestplate=Peitoral de Cristal
|
||||
Crystal Helmet=Capacete de Cristal
|
||||
Crystal Leggings=Calças de Cristal
|
||||
Nether Boots=Botas de Nether
|
||||
Nether Chestplate=Peitoral de Nether
|
||||
Nether Helmet=Capacete de Nether
|
||||
Nether Leggings=Calças de Nether
|
||||
Diamond Boots=Botas de Diamante
|
||||
Diamond Chestplate=Peitoral de Diamante
|
||||
Diamond Helmet=Capacete de Diamante
|
||||
Diamond Leggings=Calças de Diamante
|
||||
Gold Boots=Botas de Ouro
|
||||
Gold Chestplate=Peitoral de Ouro
|
||||
Gold Helmet=Capacete de Ouro
|
||||
Gold Leggings=Calças de Ouro
|
||||
Mithril Boots=Botas de Mithril
|
||||
Mithril Chestplate=Peitoral de Mithril
|
||||
Mithril Helmet=Capacete de Mithril
|
||||
Mithril Leggings=Calças de Mithril
|
||||
Steel Boots=Botas de Aço
|
||||
Steel Chestplate=Peitoral de Aço
|
||||
Steel Helmet=Capacete de Aço
|
||||
Steel Leggings=Calças de Aço
|
||||
Wood Boots=Botas de Madeira
|
||||
Wood Chestplate=Peitoral de Madeira
|
||||
Wood Helmet=Capacete de Madeira
|
||||
Wood Leggings=Calças de Madeira
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor: Falha ao inicializar jogador
|
||||
Fire=Fogo
|
||||
Heal=Saúde
|
||||
Level=Nível
|
||||
Radiation=Radiação
|
||||
Your @1 got destroyed!=@1 foi destruído(a)!
|
||||
Your @1 is almost broken!=
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] Nodes de gofo desabilitados
|
||||
|
||||
|
||||
##### not used anymore #####
|
||||
|
||||
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: Mod carregado mas inoperante.
|
||||
Back=Voltar
|
||||
Armor=Armadura
|
||||
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: Mod carregado mas inoperante.
|
||||
Armor stand top=Topo de estande de armadura
|
||||
Armor stand=Estande de armadura
|
||||
Armor Stand=Estande de Armadura
|
||||
Locked Armor stand=Estande de Armadura Trancada
|
||||
Armor Stand (owned by @1)=Estande de Armadura (pertente a @1)
|
||||
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: Mod carregado mas inoperante.
|
||||
3d Armor=3d Armor
|
||||
Armor not initialized!=Armadura não inicializada!
|
||||
Admin Shield=Escudo de Administrador
|
||||
Wooden Shield=Escudo de Madeira
|
||||
Enhanced Wood Shield=Escudo de Madeira Melhorado
|
||||
Cactus Shield=Escudo de Cacto
|
||||
Enhanced Cactus Shield=Escudo de Cacto Melhorado
|
||||
Steel Shield=Escudo de Aço
|
||||
Bronze Shield=Escudo de Bronze
|
||||
Diamond Shield=Escudo de Diamante
|
||||
Gold Shield=Escudo de Ouro
|
||||
Mithril Shield=Escudo de Mithril
|
||||
Crystal Shield=Escudo de Cristal
|
||||
Nether Shield=Escudo de Nether
|
85
mods/3d_armor/3d_armor/locale/3d_armor.ru.tr
Normal file
85
mods/3d_armor/3d_armor/locale/3d_armor.ru.tr
Normal file
@ -0,0 +1,85 @@
|
||||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor: Отдельный инвентарь брони является nil @1
|
||||
3d_armor: Player name is nil @1=3d_armor: Имя игрока является nil @1
|
||||
3d_armor: Player reference is nil @1=3d_armor: Ссылка игрока является nil @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=ботинки админа
|
||||
Admin Chestplate=бронежилет админа
|
||||
Admin Helmet=шлем админа
|
||||
Admin Leggings=гамаши админа
|
||||
Bronze Boots=бронзовые ботинки
|
||||
Bronze Chestplate=бронзовый бронежилет
|
||||
Bronze Helmet=бронзовый шлем
|
||||
Bronze Leggings=бронзовые гамаши
|
||||
Cactus Boots=кактусовые ботинки
|
||||
Cactus Chestplate=кактусовый бронежилет
|
||||
Cactus Helmet=кактусовый шлем
|
||||
Cactus Leggings=кактусовые гамаши
|
||||
Crystal Boots=кристалловые ботинки
|
||||
Crystal Chestplate=кристалловый бронежилет
|
||||
Crystal Helmet=кристалловый шлем
|
||||
Crystal Leggings=кристалловые гамаши
|
||||
Diamond Boots=алмазные ботинки
|
||||
Diamond Chestplate=алмазный бронежилет
|
||||
Diamond Helmet=алмазный шлем
|
||||
Diamond Leggings=алмазные гамаши
|
||||
Gold Boots=золотые ботинки
|
||||
Gold Chestplate=золотой бронежилет
|
||||
Gold Helmet=золотой шлем
|
||||
Gold Leggings=золотые гамаши
|
||||
Mithril Boots=мифриловые ботинки
|
||||
Mithril Chestplate=мифриловый бронежилет
|
||||
Mithril Helmet=мифриловый шлем
|
||||
Mithril Leggings=мифриловые гамаши
|
||||
Steel Boots=стальные ботинки
|
||||
Steel Chestplate=стальной бронежилет
|
||||
Steel Helmet=стальной шлем
|
||||
Steel Leggings=стальные гамаши
|
||||
Wood Boots=деревянные ботинки
|
||||
Wood Chestplate=деревянный бронежилет
|
||||
Wood Helmet=деревянный шлем
|
||||
Wood Leggings=деревянные гамаши
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor: не смог подготовить игрока
|
||||
Fire=огонь
|
||||
Heal=исцеление
|
||||
Level=уровень
|
||||
Radiation=излучение
|
||||
Your @1 got destroyed!=твой(и) @1 был(и) разрушен(ы)!
|
||||
Your @1 is almost broken!=
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] блоки огня отключены
|
||||
|
||||
|
||||
##### not used anymore #####
|
||||
|
||||
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: мод загружен но не используется.
|
||||
Back=назад
|
||||
Armor=бронь
|
||||
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: мод загружен но не используется.
|
||||
Armor stand top=стойка для брони (верх)
|
||||
Armor stand=стойка для брони
|
||||
Armor Stand=стойка для брони
|
||||
Locked Armor stand=защищенная стойка для брони
|
||||
Armor Stand (owned by @1)=стойка для брони (принадлежит @1)
|
||||
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: мод загружен но не используется.
|
||||
3d Armor=3D бронь
|
||||
Armor not initialized!=бронь не подготовлена!
|
||||
Admin Shield=щит админа
|
||||
Wooden Shield=деревянный щит
|
||||
Enhanced Wood Shield=улучшенный деревянный щит
|
||||
Cactus Shield=кактусный щит
|
||||
Enhanced Cactus Shield=улучшенный кактусный щит
|
||||
Steel Shield=стальной щит
|
||||
Bronze Shield=бронзовый щит
|
||||
Diamond Shield=алмазный щит
|
||||
Gold Shield=золотой щит
|
||||
Mithril Shield=мифриловый щит
|
||||
Crystal Shield=кристалловый щит
|
7
mods/3d_armor/3d_armor/locale/3d_armor.sv.tr
Normal file
7
mods/3d_armor/3d_armor/locale/3d_armor.sv.tr
Normal file
@ -0,0 +1,7 @@
|
||||
# textdomain: 3d_armor
|
||||
Radiation=Strålning
|
||||
Level=Nivå
|
||||
Heal=Läkning
|
||||
Fire=Eld
|
||||
Your @1 is almost broken!=Din @1 är nästan förstörd!
|
||||
Your @1 got destroyed!=Din @1 blev förstörd!
|
7
mods/3d_armor/3d_armor/locale/template.txt
Normal file
7
mods/3d_armor/3d_armor/locale/template.txt
Normal file
@ -0,0 +1,7 @@
|
||||
# textdomain: 3d_armor
|
||||
Radiation=
|
||||
Level=
|
||||
Heal=
|
||||
Fire=
|
||||
Your @1 is almost broken!=
|
||||
Your @1 got destroyed!=
|
@ -1,13 +1,13 @@
|
||||
-- support for i18n
|
||||
local S = armor_i18n.gettext
|
||||
local F = minetest.formspec_escape
|
||||
|
||||
if not minetest.global_exists("inventory_plus") then
|
||||
minetest.log("warning", "3d_armor_ip: Mod loaded but unused.")
|
||||
minetest.log("warning", "[3d_armor_ip]: Mod loaded but unused.")
|
||||
return
|
||||
end
|
||||
|
||||
-- support for i18n
|
||||
local S = armor_i18n.gettext
|
||||
local F = armor_i18n.fgettext
|
||||
|
||||
armor.formspec = "size[8,8.5]button[6,0;2,0.5;main;"..F("Back").."]"..armor.formspec
|
||||
armor.formspec = "size[8,8.5]button[6,0;2,0.5;main;"..F(S("Back")).."]"..armor.formspec
|
||||
armor:register_on_update(function(player)
|
||||
local name = player:get_player_name()
|
||||
local formspec = armor:get_armor_formspec(name, true)
|
||||
@ -36,3 +36,5 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
inventory_plus.set_inventory_formspec(player, formspec)
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.log("[3d_armor_ip]: Mod loaded successfully.")
|
||||
|
3
mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.eo.tr
Normal file
3
mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.eo.tr
Normal file
@ -0,0 +1,3 @@
|
||||
# textdomain: 3d_armor_ip
|
||||
Back=Dorso
|
||||
Armor=Kiraso
|
3
mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.fr.tr
Normal file
3
mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.fr.tr
Normal file
@ -0,0 +1,3 @@
|
||||
# textdomain: 3d_armor_ip
|
||||
Back=Retour
|
||||
Armor=Armure
|
3
mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.pt_BR.tr
Normal file
3
mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.pt_BR.tr
Normal file
@ -0,0 +1,3 @@
|
||||
# textdomain: 3d_armor_ip
|
||||
Back=Voltar
|
||||
Armor=Armadura
|
3
mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.sv.tr
Normal file
3
mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.sv.tr
Normal file
@ -0,0 +1,3 @@
|
||||
# textdomain: 3d_armor_ip
|
||||
Back=Tillbaka
|
||||
Armor=Rustning
|
3
mods/3d_armor/3d_armor_ip/locale/template.txt
Normal file
3
mods/3d_armor/3d_armor_ip/locale/template.txt
Normal file
@ -0,0 +1,3 @@
|
||||
# textdomain: 3d_armor_ip
|
||||
Back=
|
||||
Armor=
|
@ -1,4 +1,4 @@
|
||||
name = 3d_armor_ip
|
||||
depends = default
|
||||
depends = 3d_armor
|
||||
optional_depends = inventory_plus
|
||||
description = ARMOR PAGE to the inventory plus
|
||||
|
@ -1,11 +1,11 @@
|
||||
-- support for i18n
|
||||
local S = armor_i18n.gettext
|
||||
|
||||
if not minetest.global_exists("sfinv") then
|
||||
minetest.log("warning", "[3d_armor_sfinv]: Mod loaded but unused.")
|
||||
return
|
||||
end
|
||||
|
||||
local S = armor_i18n.gettext
|
||||
|
||||
sfinv.register_page("3d_armor:armor", {
|
||||
title = S("Armor"),
|
||||
get = function(self, player, context)
|
||||
@ -19,3 +19,5 @@ armor:register_on_update(function(player)
|
||||
sfinv.set_player_inventory_formspec(player)
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.log("[3d_armor_sfinv]: Mod loaded successfully.")
|
||||
|
2
mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.eo.tr
Normal file
2
mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.eo.tr
Normal file
@ -0,0 +1,2 @@
|
||||
# textdomain: 3d_armor_sfinv
|
||||
Armor=Kiraso
|
2
mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr
Normal file
2
mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr
Normal file
@ -0,0 +1,2 @@
|
||||
# textdomain: 3d_armor_sfinv
|
||||
Armor=Armadura
|
2
mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.fr.tr
Normal file
2
mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.fr.tr
Normal file
@ -0,0 +1,2 @@
|
||||
# textdomain: 3d_armor_sfinv
|
||||
Armor=Armure
|
@ -0,0 +1,2 @@
|
||||
# textdomain: 3d_armor_sfinv
|
||||
Armor=Armadura
|
2
mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.sv.tr
Normal file
2
mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.sv.tr
Normal file
@ -0,0 +1,2 @@
|
||||
# textdomain: 3d_armor_sfinv
|
||||
Armor=Rustning
|
2
mods/3d_armor/3d_armor_sfinv/locale/template.txt
Normal file
2
mods/3d_armor/3d_armor_sfinv/locale/template.txt
Normal file
@ -0,0 +1,2 @@
|
||||
# textdomain: 3d_armor_sfinv
|
||||
Armor=
|
@ -1,4 +1,4 @@
|
||||
name = 3d_armor_sfinv
|
||||
depends = default
|
||||
depends = 3d_armor
|
||||
optional_depends = sfinv
|
||||
description = ARMOR PAGE to the simple fast inventory
|
||||
|
@ -134,7 +134,7 @@ local function remove_hidden_node(pos)
|
||||
end
|
||||
|
||||
minetest.register_node("3d_armor_stand:top", {
|
||||
description = S("Armor stand top"),
|
||||
description = S("Armor Stand Top"),
|
||||
paramtype = "light",
|
||||
drawtype = "plantlike",
|
||||
sunlight_propagates = true,
|
||||
@ -149,7 +149,7 @@ minetest.register_node("3d_armor_stand:top", {
|
||||
})
|
||||
|
||||
minetest.register_node("3d_armor_stand:armor_stand", {
|
||||
description = S("Armor stand"),
|
||||
description = S("Armor Stand"),
|
||||
drawtype = "mesh",
|
||||
mesh = "3d_armor_stand.obj",
|
||||
tiles = {"3d_armor_stand.png"},
|
||||
@ -217,7 +217,7 @@ minetest.register_node("3d_armor_stand:armor_stand", {
|
||||
})
|
||||
|
||||
minetest.register_node("3d_armor_stand:locked_armor_stand", {
|
||||
description = S("Locked Armor stand"),
|
||||
description = S("Locked Armor Stand"),
|
||||
drawtype = "mesh",
|
||||
mesh = "3d_armor_stand.obj",
|
||||
tiles = {"3d_armor_stand_locked.png"},
|
||||
@ -351,3 +351,5 @@ minetest.register_craft({
|
||||
{"3d_armor_stand:armor_stand", "default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.log("[3d_armor_stand]: Mod loaded successfully.")
|
||||
|
5
mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.eo.tr
Normal file
5
mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.eo.tr
Normal file
@ -0,0 +1,5 @@
|
||||
# textdomain: 3d_armor_stand
|
||||
Armor Stand Top=Kirasstando Supro
|
||||
Armor Stand=Kirasstando
|
||||
Locked Armor Stand=Ŝlosita Kirasstando
|
||||
Armor Stand (owned by @1)=Kirasstando (posedata de @1)
|
5
mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.fr.tr
Normal file
5
mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.fr.tr
Normal file
@ -0,0 +1,5 @@
|
||||
# textdomain: 3d_armor_stand
|
||||
Armor Stand Top=Haut de support d'armure
|
||||
Armor Stand=Support d'armure
|
||||
Locked Armor Stand=Support d'armure verrouillé
|
||||
Armor Stand (owned by @1)=Support d'armure (propriété de @1)
|
@ -0,0 +1,5 @@
|
||||
# textdomain: 3d_armor_stand
|
||||
Armor Stand Top=Topo do suporte de armadura
|
||||
Armor Stand=Suporte de Armadura
|
||||
Locked Armor Stand=Suporte de armadura trancado
|
||||
Armor Stand (owned by @1)=Suporte de Armadura (dono: @1)
|
5
mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.sv.tr
Normal file
5
mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.sv.tr
Normal file
@ -0,0 +1,5 @@
|
||||
# textdomain: 3d_armor_stand
|
||||
Armor Stand Top=Rustningställstopp
|
||||
Armor Stand=Rustningställ
|
||||
Locked Armor Stand=Låst rustningställ
|
||||
Armor Stand (owned by @1)=Rustningställ (ägd av @1)
|
5
mods/3d_armor/3d_armor_stand/locale/template.txt
Normal file
5
mods/3d_armor/3d_armor_stand/locale/template.txt
Normal file
@ -0,0 +1,5 @@
|
||||
# textdomain: 3d_armor_stand
|
||||
Armor Stand Top=
|
||||
Armor Stand=
|
||||
Locked Armor Stand=
|
||||
Armor Stand (owned by @1)=
|
Binary file not shown.
Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 164 B |
@ -8,7 +8,8 @@ local S = armor_i18n.gettext
|
||||
local F = armor_i18n.fgettext
|
||||
local has_technic = minetest.get_modpath("technic") ~= nil
|
||||
|
||||
if unified_inventory.sfinv_compat_layer then
|
||||
local ui = unified_inventory
|
||||
if ui.sfinv_compat_layer then
|
||||
return
|
||||
end
|
||||
|
||||
@ -22,7 +23,7 @@ end)
|
||||
unified_inventory.register_button("armor", {
|
||||
type = "image",
|
||||
image = "inventory_plus_armor.png",
|
||||
tooltip = S("3d Armor")
|
||||
tooltip = S("3D Armor")
|
||||
})
|
||||
|
||||
unified_inventory.register_page("armor", {
|
||||
@ -30,24 +31,26 @@ unified_inventory.register_page("armor", {
|
||||
local fy = perplayer_formspec.formspec_y
|
||||
local name = player:get_player_name()
|
||||
if armor.def[name].init_time == 0 then
|
||||
return {formspec="label[0,0;"..F("Armor not initialized!").."]"}
|
||||
return {formspec="label[0,0;"..F(S("Armor not initialized!")).."]"}
|
||||
end
|
||||
local formspec = "background[0.06,"..fy..";7.92,7.52;3d_armor_ui_form.png]"..
|
||||
"label[0,0;"..F("Armor").."]"..
|
||||
"label[0,0;"..F(S("Armor")).."]"..
|
||||
"list[detached:"..name.."_armor;armor;0,"..fy..";2,3;]"..
|
||||
"image[2.5,"..(fy - 0.25)..";2,4;"..armor.textures[name].preview.."]"..
|
||||
"label[5.0,"..(fy + 0.0)..";"..F("Level")..": "..armor.def[name].level.."]"..
|
||||
"label[5.0,"..(fy + 0.5)..";"..F("Heal")..": "..armor.def[name].heal.."]"..
|
||||
"label[5.0,"..(fy + 0.0)..";"..F(S("Level"))..": "..armor.def[name].level.."]"..
|
||||
"label[5.0,"..(fy + 0.5)..";"..F(S("Heal"))..": "..armor.def[name].heal.."]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[detached:"..name.."_armor;armor]"
|
||||
if armor.config.fire_protect then
|
||||
formspec = formspec.."label[5.0,"..(fy + 1.0)..";"..
|
||||
F("Fire")..": "..armor.def[name].fire.."]"
|
||||
F(S("Fire"))..": "..armor.def[name].fire.."]"
|
||||
end
|
||||
if has_technic then
|
||||
formspec = formspec.."label[5.0,"..(fy + 1.5)..";"..
|
||||
F("Radiation")..": "..armor.def[name].groups["radiation"].."]"
|
||||
F(S("Radiation"))..": "..armor.def[name].groups["radiation"].."]"
|
||||
end
|
||||
return {formspec=formspec}
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.log("[3d_armor_ui]: Mod loaded successfully.")
|
||||
|
8
mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.eo.tr
Normal file
8
mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.eo.tr
Normal file
@ -0,0 +1,8 @@
|
||||
# textdomain: 3d_armor_ui
|
||||
3D Armor=3D Kiraso
|
||||
Armor not initialized!=Kiraso ne pravigita!
|
||||
Armor=Kiraso
|
||||
Level=Nivelo
|
||||
Heal=Sanigi
|
||||
Fire=Fajro
|
||||
Radiation=Radiado
|
8
mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.fr.tr
Normal file
8
mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.fr.tr
Normal file
@ -0,0 +1,8 @@
|
||||
# textdomain: 3d_armor_ui
|
||||
3D Armor=Armure 3D
|
||||
Armor not initialized!=Armure non initialisée !
|
||||
Armor=Armure
|
||||
Level=Niveau
|
||||
Heal=Soins
|
||||
Fire=Feu
|
||||
Radiation=Radiation
|
8
mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.pt_BR.tr
Normal file
8
mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.pt_BR.tr
Normal file
@ -0,0 +1,8 @@
|
||||
# textdomain: 3d_armor_ui
|
||||
3D Armor=3D Armor
|
||||
Armor not initialized!=Armadura não inicializada!
|
||||
Armor=Armadura
|
||||
Level=Nível
|
||||
Heal=Vida
|
||||
Fire=Fogo
|
||||
Radiation=Radiação
|
8
mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.sv.tr
Normal file
8
mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.sv.tr
Normal file
@ -0,0 +1,8 @@
|
||||
# textdomain: 3d_armor_ui
|
||||
3D Armor=
|
||||
Armor not initialized!=Rustning har inte initialiserats
|
||||
Armor=Rustning
|
||||
Level=Nivå
|
||||
Heal=Läkning
|
||||
Fire=Eld
|
||||
Radiation=Strålning
|
8
mods/3d_armor/3d_armor_ui/locale/template.txt
Normal file
8
mods/3d_armor/3d_armor_ui/locale/template.txt
Normal file
@ -0,0 +1,8 @@
|
||||
# textdomain: 3d_armor_ui
|
||||
3D Armor=
|
||||
Armor not initialized!=
|
||||
Armor=
|
||||
Level=
|
||||
Heal=
|
||||
Fire=
|
||||
Radiation=
|
@ -33,11 +33,11 @@ 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.4
|
||||
armor_level_multiplier (Armor effectiveness multiplier) float 0.9
|
||||
|
||||
# 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.1
|
||||
armor_heal_multiplier (Armor healing multiplier) float 0.6
|
||||
|
||||
# Enable water protection (periodically restores breath when activated).
|
||||
armor_water_protect (Enable water protection) bool true
|
||||
@ -46,7 +46,7 @@ armor_water_protect (Enable water protection) bool true
|
||||
armor_fire_protect (Enable fire protection) bool false
|
||||
|
||||
# Enable fire damage from torches (defaults true if using ethereal mod).
|
||||
armor_fire_protect_torch (Enable fire protection torch damage) bool true
|
||||
armor_fire_protect_torch (Enable fire protection torch damage) bool false
|
||||
|
||||
# Enable punch damage effects.
|
||||
armor_punch_damage (Enable damage effects) bool true
|
||||
@ -63,7 +63,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 3
|
||||
wieldview_update_time (Wieldview refresh rate [seconds]) int 2
|
||||
|
||||
# Show nodes as tiles, disabled by default.
|
||||
wieldview_node_tiles (Show nodes as tiles) bool false
|
||||
|
@ -1,16 +1,51 @@
|
||||
[mod] Shields [shields]
|
||||
=======================
|
||||
minetest mod 3d_armor_mobile
|
||||
===========================
|
||||
|
||||
Adds shields to 3d_armor
|
||||
SHIELDS feature to 3d armors
|
||||
|
||||
Depends: 3d_armor
|
||||
## Information
|
||||
--------------
|
||||
|
||||
Originally a part of 3d_armor, shields have been re-included as an optional extra.
|
||||
Adds shields to the game, so players can use to protect or block
|
||||
|
||||
![screenshot.png](screenshot.png)
|
||||
|
||||
## Technical info
|
||||
-----------------
|
||||
|
||||
This mod must be named `shields` and will provide such items to 3d armors,
|
||||
originally a part of 3d_armor, shields have been re-included as an optional extra.
|
||||
If you do not what shields then simply remove the shields folder from the modpack.
|
||||
|
||||
Shields Configuration
|
||||
---------------------
|
||||
It can be downloade from
|
||||
* https://git.minetest.io/minenux/minetest-mod-3d_armor
|
||||
|
||||
#### Compatibility
|
||||
|
||||
Make sure you are using Minetest 0.4.16+ and start a new world
|
||||
|
||||
#### Dependencies
|
||||
|
||||
* default
|
||||
* 3d_armor
|
||||
|
||||
#### Configuration
|
||||
|
||||
Override the following default settings by adding them to your minetest.conf file.
|
||||
|
||||
shields_disable_sounds = false
|
||||
* shields_disable_sounds = false
|
||||
|
||||
## LICENSE
|
||||
|
||||
Lasted features, non comercial unless xpresed permission:
|
||||
|
||||
Copyright (C) 2023 mckaygerhard - CC-BY-SA-NC 4.0
|
||||
|
||||
Source code base:
|
||||
|
||||
Copyright (c) 2018-2019 Lone_Wolf
|
||||
Copyright (C) 2013-2018 Stuart Jones - LGPL v2.1
|
||||
|
||||
License Textures:
|
||||
|
||||
Copyright (C) 2017-2018 davidthecreator - CC-BY-SA 3.0
|
||||
|
@ -8,7 +8,6 @@
|
||||
local S = armor_i18n.gettext
|
||||
|
||||
local disable_sounds = minetest.settings:get_bool("shields_disable_sounds")
|
||||
local use_moreores = minetest.get_modpath("moreores")
|
||||
local function play_sound_effect(player, name)
|
||||
if not disable_sounds and player then
|
||||
local pos = player:get_pos()
|
||||
@ -412,3 +411,5 @@ for k, v in pairs(armor.materials) do
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.log("[3d_armor:shields] mod loaded successfully")
|
||||
|
13
mods/3d_armor/shields/locale/shields.de.tr
Normal file
13
mods/3d_armor/shields/locale/shields.de.tr
Normal file
@ -0,0 +1,13 @@
|
||||
# textdomain: shields
|
||||
Admin Shield=Adminschild
|
||||
Wooden Shield=Holzschild
|
||||
Enhanced Wood Shield=verbessert Holzschild
|
||||
Cactus Shield=Kaktusschild
|
||||
Enhanced Cactus Shield=verbessert Kaktusschild
|
||||
Steel Shield=Stahlschild
|
||||
Bronze Shield=Bronzeschild
|
||||
Diamond Shield=Diamantschild
|
||||
Gold Shield=Goldschild
|
||||
Mithril Shield=Mithrilschild
|
||||
Crystal Shield=Kristallschild
|
||||
Nether Shield=Netherschild
|
13
mods/3d_armor/shields/locale/shields.eo.tr
Normal file
13
mods/3d_armor/shields/locale/shields.eo.tr
Normal file
@ -0,0 +1,13 @@
|
||||
# textdomain: shields
|
||||
Admin Shield=Administra Ŝildo
|
||||
Wooden Shield=Ligna Ŝildo
|
||||
Enhanced Wood Shield=Plibonigita Ligna Ŝildo
|
||||
Cactus Shield=Kakta Ŝildo
|
||||
Enhanced Cactus Shield=Plibonigita Kakta Ŝildo
|
||||
Steel Shield=Ŝtala Ŝildo
|
||||
Bronze Shield=Bronza Ŝildo
|
||||
Diamond Shield=Diamanta Ŝildo
|
||||
Gold Shield=Ora Ŝildo
|
||||
Mithril Shield=Mitrila Ŝildo
|
||||
Crystal Shield=Kristala Ŝildo
|
||||
Nether Shield=Inferna Ŝildo
|
13
mods/3d_armor/shields/locale/shields.fr.tr
Normal file
13
mods/3d_armor/shields/locale/shields.fr.tr
Normal file
@ -0,0 +1,13 @@
|
||||
# textdomain: shields
|
||||
Admin Shield=Bouclier d'admin
|
||||
Wooden Shield=Bouclier en bois
|
||||
Enhanced Wood Shield=Bouclier en bois amélioré
|
||||
Cactus Shield=Bouclier en cactus
|
||||
Enhanced Cactus Shield=Bouclier en cactus amélioré
|
||||
Steel Shield=Bouclier en acier
|
||||
Bronze Shield=Bouclier en bronze
|
||||
Diamond Shield=Bouclier en diamant
|
||||
Gold Shield=Bouclier en or
|
||||
Mithril Shield=Bouclier en mithril
|
||||
Crystal Shield=Bouclier en cristal
|
||||
Nether Shield=Bouclier en nether
|
13
mods/3d_armor/shields/locale/shields.pt_BR.tr
Normal file
13
mods/3d_armor/shields/locale/shields.pt_BR.tr
Normal file
@ -0,0 +1,13 @@
|
||||
# textdomain: shields
|
||||
Admin Shield=Escudo de Administrador
|
||||
Wooden Shield=Escudo de Madeira
|
||||
Enhanced Wood Shield=Escudo de Madeira Encantado
|
||||
Cactus Shield=Escudo de Cacto
|
||||
Enhanced Cactus Shield=Escude de Cacto Encantado
|
||||
Steel Shield=Escudo de Aço
|
||||
Bronze Shield=Escudo de Bronze
|
||||
Diamond Shield=Escudo de Diamante
|
||||
Gold Shield=Escudo de Ouro
|
||||
Mithril Shield=Escudo de Mithril
|
||||
Crystal Shield=Escudo de Cristal
|
||||
Nether Shield=Escudo de Nether
|
13
mods/3d_armor/shields/locale/shields.sv.tr
Normal file
13
mods/3d_armor/shields/locale/shields.sv.tr
Normal file
@ -0,0 +1,13 @@
|
||||
# textdomain: shields
|
||||
Admin Shield=Adminsköld
|
||||
Wooden Shield=Träsköld
|
||||
Enhanced Wood Shield=Förbättrad träsköld
|
||||
Cactus Shield=Kaktussköld
|
||||
Enhanced Cactus Shield=Förbättrad kaktussköld
|
||||
Steel Shield=Stålsköld
|
||||
Bronze Shield=Bronssköld
|
||||
Diamond Shield=Diamantsköld
|
||||
Gold Shield=Guldsköld
|
||||
Mithril Shield=Mithrilsköld
|
||||
Crystal Shield=Kristallsköld
|
||||
Nether Shield=Nethersköld
|
13
mods/3d_armor/shields/locale/template.txt
Normal file
13
mods/3d_armor/shields/locale/template.txt
Normal file
@ -0,0 +1,13 @@
|
||||
# textdomain: shields
|
||||
Admin Shield=
|
||||
Wooden Shield=
|
||||
Enhanced Wood Shield=
|
||||
Cactus Shield=
|
||||
Enhanced Cactus Shield=
|
||||
Steel Shield=
|
||||
Bronze Shield=
|
||||
Diamond Shield=
|
||||
Gold Shield=
|
||||
Mithril Shield=
|
||||
Crystal Shield=
|
||||
Nether Shield=
|
@ -21,3 +21,7 @@ Wield image transformation: To apply a simple transformation to the item in
|
||||
hand, add the group “wieldview_transform” to the item definition. The group
|
||||
rating equals one of the numbers used for the [transform texture modifier
|
||||
of the Lua API.
|
||||
|
||||
Disabling the feature in-game: If you want to hide the wielded item
|
||||
you can add an INT metadata to the player called "show_wielded_item" and set
|
||||
it to 2 (any other value will show the wielded item again).
|
||||
|
@ -66,11 +66,12 @@ end
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
local name = player:get_player_name()
|
||||
wieldview.wielded_item[name] = ""
|
||||
minetest.after(0, function(player)
|
||||
if player then
|
||||
wieldview:update_wielded_item(player)
|
||||
minetest.after(0, function(pname)
|
||||
local pplayer = minetest.get_player_by_name(pname)
|
||||
if pplayer then
|
||||
wieldview:update_wielded_item(pplayer)
|
||||
end
|
||||
end, player)
|
||||
end, name)
|
||||
end)
|
||||
|
||||
minetest.register_globalstep(function(dtime)
|
||||
@ -85,3 +86,4 @@ minetest.register_globalstep(function(dtime)
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.log("[3d_armor:wieldview] mod loaded successfully")
|
||||
|
3
mods/3d_armor/wieldview/mod.conf
Normal file
3
mods/3d_armor/wieldview/mod.conf
Normal file
@ -0,0 +1,3 @@
|
||||
name = wieldview
|
||||
depends = 3d_armor
|
||||
description = Makes hand wielded items visible to other players.
|
Loading…
x
Reference in New Issue
Block a user