From 93f17cd1f62324655f16b143e080515f3ac9a703 Mon Sep 17 00:00:00 2001 From: mckaygerhard Date: Mon, 24 Jul 2023 14:36:56 -0400 Subject: [PATCH] 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 --- README.md | 7 +- mods/3d_armor/3d_armor/README.md | 4 +- mods/3d_armor/3d_armor/README.txt | 4 +- mods/3d_armor/3d_armor/api.lua | 168 +++++++++++++----- mods/3d_armor/3d_armor/armor.lua | 16 +- mods/3d_armor/3d_armor/init.lua | 66 ++++--- mods/3d_armor/3d_armor/locale/3d_armor.de.tr | 62 +++++++ mods/3d_armor/3d_armor/locale/3d_armor.eo.tr | 7 + mods/3d_armor/3d_armor/locale/3d_armor.es.tr | 62 +++++++ mods/3d_armor/3d_armor/locale/3d_armor.fr.tr | 62 +++++++ mods/3d_armor/3d_armor/locale/3d_armor.it.tr | 90 ++++++++++ mods/3d_armor/3d_armor/locale/3d_armor.ms.tr | 90 ++++++++++ mods/3d_armor/3d_armor/locale/3d_armor.pt.tr | 90 ++++++++++ .../3d_armor/locale/3d_armor.pt_BR.tr | 90 ++++++++++ mods/3d_armor/3d_armor/locale/3d_armor.ru.tr | 85 +++++++++ mods/3d_armor/3d_armor/locale/3d_armor.sv.tr | 7 + mods/3d_armor/3d_armor/locale/template.txt | 7 + mods/3d_armor/3d_armor_ip/init.lua | 14 +- .../3d_armor_ip/locale/3d_armor_ip.eo.tr | 3 + .../3d_armor_ip/locale/3d_armor_ip.fr.tr | 3 + .../3d_armor_ip/locale/3d_armor_ip.pt_BR.tr | 3 + .../3d_armor_ip/locale/3d_armor_ip.sv.tr | 3 + mods/3d_armor/3d_armor_ip/locale/template.txt | 3 + mods/3d_armor/3d_armor_ip/mod.conf | 2 +- mods/3d_armor/3d_armor_sfinv/init.lua | 6 +- .../locale/3d_armor_sfinv.eo.tr | 2 + .../locale/3d_armor_sfinv.es.tr | 2 + .../locale/3d_armor_sfinv.fr.tr | 2 + .../locale/3d_armor_sfinv.pt_BR.tr | 2 + .../locale/3d_armor_sfinv.sv.tr | 2 + .../3d_armor_sfinv/locale/template.txt | 2 + mods/3d_armor/3d_armor_sfinv/mod.conf | 2 +- mods/3d_armor/3d_armor_stand/init.lua | 8 +- .../locale/3d_armor_stand.eo.tr | 5 + .../locale/3d_armor_stand.fr.tr | 5 + .../locale/3d_armor_stand.pt_BR.tr | 5 + .../locale/3d_armor_stand.sv.tr | 5 + .../3d_armor_stand/locale/template.txt | 5 + .../textures/3d_armor_stand_head.png | Bin 169 -> 164 bytes mods/3d_armor/3d_armor_ui/init.lua | 19 +- .../3d_armor_ui/locale/3d_armor_ui.eo.tr | 8 + .../3d_armor_ui/locale/3d_armor_ui.fr.tr | 8 + .../3d_armor_ui/locale/3d_armor_ui.pt_BR.tr | 8 + .../3d_armor_ui/locale/3d_armor_ui.sv.tr | 8 + mods/3d_armor/3d_armor_ui/locale/template.txt | 8 + mods/3d_armor/settingtypes.txt | 8 +- mods/3d_armor/shields/README.txt | 51 +++++- mods/3d_armor/shields/init.lua | 3 +- mods/3d_armor/shields/locale/shields.de.tr | 13 ++ mods/3d_armor/shields/locale/shields.eo.tr | 13 ++ mods/3d_armor/shields/locale/shields.fr.tr | 13 ++ mods/3d_armor/shields/locale/shields.pt_BR.tr | 13 ++ mods/3d_armor/shields/locale/shields.sv.tr | 13 ++ mods/3d_armor/shields/locale/template.txt | 13 ++ mods/3d_armor/wieldview/README.txt | 4 + mods/3d_armor/wieldview/init.lua | 10 +- mods/3d_armor/wieldview/mod.conf | 3 + 57 files changed, 1096 insertions(+), 121 deletions(-) create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.de.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.eo.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.es.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.fr.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.it.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.ms.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.pt.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.pt_BR.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.ru.tr create mode 100644 mods/3d_armor/3d_armor/locale/3d_armor.sv.tr create mode 100644 mods/3d_armor/3d_armor/locale/template.txt create mode 100644 mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.eo.tr create mode 100644 mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.fr.tr create mode 100644 mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.pt_BR.tr create mode 100644 mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.sv.tr create mode 100644 mods/3d_armor/3d_armor_ip/locale/template.txt create mode 100644 mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.eo.tr create mode 100644 mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr create mode 100644 mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.fr.tr create mode 100644 mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.pt_BR.tr create mode 100644 mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.sv.tr create mode 100644 mods/3d_armor/3d_armor_sfinv/locale/template.txt create mode 100644 mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.eo.tr create mode 100644 mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.fr.tr create mode 100644 mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.pt_BR.tr create mode 100644 mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.sv.tr create mode 100644 mods/3d_armor/3d_armor_stand/locale/template.txt create mode 100644 mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.eo.tr create mode 100644 mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.fr.tr create mode 100644 mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.pt_BR.tr create mode 100644 mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.sv.tr create mode 100644 mods/3d_armor/3d_armor_ui/locale/template.txt create mode 100644 mods/3d_armor/shields/locale/shields.de.tr create mode 100644 mods/3d_armor/shields/locale/shields.eo.tr create mode 100644 mods/3d_armor/shields/locale/shields.fr.tr create mode 100644 mods/3d_armor/shields/locale/shields.pt_BR.tr create mode 100644 mods/3d_armor/shields/locale/shields.sv.tr create mode 100644 mods/3d_armor/shields/locale/template.txt create mode 100644 mods/3d_armor/wieldview/mod.conf diff --git a/README.md b/README.md index 7f7a8d7..4684bb5 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/mods/3d_armor/3d_armor/README.md b/mods/3d_armor/3d_armor/README.md index ebaea36..09e8a6e 100644 --- a/mods/3d_armor/3d_armor/README.md +++ b/mods/3d_armor/3d_armor/README.md @@ -94,7 +94,7 @@ Additional fields supported by 3d_armor: on_unequip = on_destroy = on_damage = - on_punch = + on_punched = 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: diff --git a/mods/3d_armor/3d_armor/README.txt b/mods/3d_armor/3d_armor/README.txt index c042854..2426883 100644 --- a/mods/3d_armor/3d_armor/README.txt +++ b/mods/3d_armor/3d_armor/README.txt @@ -94,7 +94,7 @@ Additional fields supported by 3d_armor: on_unequip = on_destroy = on_damage = - on_punch = + on_punched = 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: diff --git a/mods/3d_armor/3d_armor/api.lua b/mods/3d_armor/3d_armor/api.lua index 0dc7777..104594a 100644 --- a/mods/3d_armor/3d_armor/api.lua +++ b/mods/3d_armor/3d_armor/api.lua @@ -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 diff --git a/mods/3d_armor/3d_armor/armor.lua b/mods/3d_armor/3d_armor/armor.lua index cdf0aa2..2f2ecbe 100644 --- a/mods/3d_armor/3d_armor/armor.lua +++ b/mods/3d_armor/3d_armor/armor.lua @@ -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 diff --git a/mods/3d_armor/3d_armor/init.lua b/mods/3d_armor/3d_armor/init.lua index 7395f3d..58dddde 100644 --- a/mods/3d_armor/3d_armor/init.lua +++ b/mods/3d_armor/3d_armor/init.lua @@ -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 diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.de.tr b/mods/3d_armor/3d_armor/locale/3d_armor.de.tr new file mode 100644 index 0000000..8238919 --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.de.tr @@ -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 diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.eo.tr b/mods/3d_armor/3d_armor/locale/3d_armor.eo.tr new file mode 100644 index 0000000..1ed486c --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.eo.tr @@ -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! diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.es.tr b/mods/3d_armor/3d_armor/locale/3d_armor.es.tr new file mode 100644 index 0000000..61ff5f9 --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.es.tr @@ -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 diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.fr.tr b/mods/3d_armor/3d_armor/locale/3d_armor.fr.tr new file mode 100644 index 0000000..458fb15 --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.fr.tr @@ -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 diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.it.tr b/mods/3d_armor/3d_armor/locale/3d_armor.it.tr new file mode 100644 index 0000000..fbbd45b --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.it.tr @@ -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 diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.ms.tr b/mods/3d_armor/3d_armor/locale/3d_armor.ms.tr new file mode 100644 index 0000000..dab2012 --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.ms.tr @@ -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 diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.pt.tr b/mods/3d_armor/3d_armor/locale/3d_armor.pt.tr new file mode 100644 index 0000000..e9e296e --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.pt.tr @@ -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 diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.pt_BR.tr b/mods/3d_armor/3d_armor/locale/3d_armor.pt_BR.tr new file mode 100644 index 0000000..e9e296e --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.pt_BR.tr @@ -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 diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.ru.tr b/mods/3d_armor/3d_armor/locale/3d_armor.ru.tr new file mode 100644 index 0000000..b817c79 --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.ru.tr @@ -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=кристалловый щит diff --git a/mods/3d_armor/3d_armor/locale/3d_armor.sv.tr b/mods/3d_armor/3d_armor/locale/3d_armor.sv.tr new file mode 100644 index 0000000..08b7ee1 --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/3d_armor.sv.tr @@ -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! diff --git a/mods/3d_armor/3d_armor/locale/template.txt b/mods/3d_armor/3d_armor/locale/template.txt new file mode 100644 index 0000000..5e4e65c --- /dev/null +++ b/mods/3d_armor/3d_armor/locale/template.txt @@ -0,0 +1,7 @@ +# textdomain: 3d_armor +Radiation= +Level= +Heal= +Fire= +Your @1 is almost broken!= +Your @1 got destroyed!= diff --git a/mods/3d_armor/3d_armor_ip/init.lua b/mods/3d_armor/3d_armor_ip/init.lua index f069372..0a1d903 100644 --- a/mods/3d_armor/3d_armor_ip/init.lua +++ b/mods/3d_armor/3d_armor_ip/init.lua @@ -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.") diff --git a/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.eo.tr b/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.eo.tr new file mode 100644 index 0000000..a49642f --- /dev/null +++ b/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.eo.tr @@ -0,0 +1,3 @@ +# textdomain: 3d_armor_ip +Back=Dorso +Armor=Kiraso diff --git a/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.fr.tr b/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.fr.tr new file mode 100644 index 0000000..8a6595f --- /dev/null +++ b/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.fr.tr @@ -0,0 +1,3 @@ +# textdomain: 3d_armor_ip +Back=Retour +Armor=Armure diff --git a/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.pt_BR.tr b/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.pt_BR.tr new file mode 100644 index 0000000..4a8f820 --- /dev/null +++ b/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.pt_BR.tr @@ -0,0 +1,3 @@ +# textdomain: 3d_armor_ip +Back=Voltar +Armor=Armadura diff --git a/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.sv.tr b/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.sv.tr new file mode 100644 index 0000000..e2d778b --- /dev/null +++ b/mods/3d_armor/3d_armor_ip/locale/3d_armor_ip.sv.tr @@ -0,0 +1,3 @@ +# textdomain: 3d_armor_ip +Back=Tillbaka +Armor=Rustning diff --git a/mods/3d_armor/3d_armor_ip/locale/template.txt b/mods/3d_armor/3d_armor_ip/locale/template.txt new file mode 100644 index 0000000..c21c6aa --- /dev/null +++ b/mods/3d_armor/3d_armor_ip/locale/template.txt @@ -0,0 +1,3 @@ +# textdomain: 3d_armor_ip +Back= +Armor= diff --git a/mods/3d_armor/3d_armor_ip/mod.conf b/mods/3d_armor/3d_armor_ip/mod.conf index b94ce48..bf5a4e3 100644 --- a/mods/3d_armor/3d_armor_ip/mod.conf +++ b/mods/3d_armor/3d_armor_ip/mod.conf @@ -1,4 +1,4 @@ name = 3d_armor_ip -depends = default +depends = 3d_armor optional_depends = inventory_plus description = ARMOR PAGE to the inventory plus diff --git a/mods/3d_armor/3d_armor_sfinv/init.lua b/mods/3d_armor/3d_armor_sfinv/init.lua index c03a6d2..7826cf3 100644 --- a/mods/3d_armor/3d_armor_sfinv/init.lua +++ b/mods/3d_armor/3d_armor_sfinv/init.lua @@ -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.") diff --git a/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.eo.tr b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.eo.tr new file mode 100644 index 0000000..5b7a141 --- /dev/null +++ b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.eo.tr @@ -0,0 +1,2 @@ +# textdomain: 3d_armor_sfinv +Armor=Kiraso diff --git a/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr new file mode 100644 index 0000000..dd0a002 --- /dev/null +++ b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr @@ -0,0 +1,2 @@ +# textdomain: 3d_armor_sfinv +Armor=Armadura diff --git a/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.fr.tr b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.fr.tr new file mode 100644 index 0000000..bdaf2a0 --- /dev/null +++ b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.fr.tr @@ -0,0 +1,2 @@ +# textdomain: 3d_armor_sfinv +Armor=Armure diff --git a/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.pt_BR.tr b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.pt_BR.tr new file mode 100644 index 0000000..dd0a002 --- /dev/null +++ b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.pt_BR.tr @@ -0,0 +1,2 @@ +# textdomain: 3d_armor_sfinv +Armor=Armadura diff --git a/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.sv.tr b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.sv.tr new file mode 100644 index 0000000..14972b7 --- /dev/null +++ b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.sv.tr @@ -0,0 +1,2 @@ +# textdomain: 3d_armor_sfinv +Armor=Rustning diff --git a/mods/3d_armor/3d_armor_sfinv/locale/template.txt b/mods/3d_armor/3d_armor_sfinv/locale/template.txt new file mode 100644 index 0000000..954dcf3 --- /dev/null +++ b/mods/3d_armor/3d_armor_sfinv/locale/template.txt @@ -0,0 +1,2 @@ +# textdomain: 3d_armor_sfinv +Armor= diff --git a/mods/3d_armor/3d_armor_sfinv/mod.conf b/mods/3d_armor/3d_armor_sfinv/mod.conf index d2dc416..42676ff 100644 --- a/mods/3d_armor/3d_armor_sfinv/mod.conf +++ b/mods/3d_armor/3d_armor_sfinv/mod.conf @@ -1,4 +1,4 @@ name = 3d_armor_sfinv -depends = default +depends = 3d_armor optional_depends = sfinv description = ARMOR PAGE to the simple fast inventory diff --git a/mods/3d_armor/3d_armor_stand/init.lua b/mods/3d_armor/3d_armor_stand/init.lua index ab4549b..b35ad4f 100644 --- a/mods/3d_armor/3d_armor_stand/init.lua +++ b/mods/3d_armor/3d_armor_stand/init.lua @@ -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.") diff --git a/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.eo.tr b/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.eo.tr new file mode 100644 index 0000000..bad7cf3 --- /dev/null +++ b/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.eo.tr @@ -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) diff --git a/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.fr.tr b/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.fr.tr new file mode 100644 index 0000000..f92d377 --- /dev/null +++ b/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.fr.tr @@ -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) diff --git a/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.pt_BR.tr b/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.pt_BR.tr new file mode 100644 index 0000000..0a8fb29 --- /dev/null +++ b/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.pt_BR.tr @@ -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) diff --git a/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.sv.tr b/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.sv.tr new file mode 100644 index 0000000..5800a31 --- /dev/null +++ b/mods/3d_armor/3d_armor_stand/locale/3d_armor_stand.sv.tr @@ -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) diff --git a/mods/3d_armor/3d_armor_stand/locale/template.txt b/mods/3d_armor/3d_armor_stand/locale/template.txt new file mode 100644 index 0000000..ab0bae9 --- /dev/null +++ b/mods/3d_armor/3d_armor_stand/locale/template.txt @@ -0,0 +1,5 @@ +# textdomain: 3d_armor_stand +Armor Stand Top= +Armor Stand= +Locked Armor Stand= +Armor Stand (owned by @1)= diff --git a/mods/3d_armor/3d_armor_stand/textures/3d_armor_stand_head.png b/mods/3d_armor/3d_armor_stand/textures/3d_armor_stand_head.png index ed46d333b2b8e3e0e3f75a6810a211082d7a535d..864bf5cfc1e1fa34f5d4670e033b4574db5bb918 100644 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfQea<6xKA8gn{fZABJoqrby`6n^Zv4KQg9a?E&Hl!E&NDu&Qe#Rm zeem=1bDs0_?T?>S&tTAOV4bg`7rpWoQy1?6h8;qJiaQl~7;>j8OMdc^js;r7;OXk; Jvd$@?2>@ZWHPrwB literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzu3?%tJt?UO38> z$#kq(opBwF@ diff --git a/mods/3d_armor/3d_armor_ui/init.lua b/mods/3d_armor/3d_armor_ui/init.lua index 049b51d..d13e9e9 100644 --- a/mods/3d_armor/3d_armor_ui/init.lua +++ b/mods/3d_armor/3d_armor_ui/init.lua @@ -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.") diff --git a/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.eo.tr b/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.eo.tr new file mode 100644 index 0000000..96061aa --- /dev/null +++ b/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.eo.tr @@ -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 diff --git a/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.fr.tr b/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.fr.tr new file mode 100644 index 0000000..358814c --- /dev/null +++ b/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.fr.tr @@ -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 diff --git a/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.pt_BR.tr b/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.pt_BR.tr new file mode 100644 index 0000000..761c6ec --- /dev/null +++ b/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.pt_BR.tr @@ -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 diff --git a/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.sv.tr b/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.sv.tr new file mode 100644 index 0000000..711bf9c --- /dev/null +++ b/mods/3d_armor/3d_armor_ui/locale/3d_armor_ui.sv.tr @@ -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 diff --git a/mods/3d_armor/3d_armor_ui/locale/template.txt b/mods/3d_armor/3d_armor_ui/locale/template.txt new file mode 100644 index 0000000..4982060 --- /dev/null +++ b/mods/3d_armor/3d_armor_ui/locale/template.txt @@ -0,0 +1,8 @@ +# textdomain: 3d_armor_ui +3D Armor= +Armor not initialized!= +Armor= +Level= +Heal= +Fire= +Radiation= diff --git a/mods/3d_armor/settingtypes.txt b/mods/3d_armor/settingtypes.txt index 8425348..af95677 100644 --- a/mods/3d_armor/settingtypes.txt +++ b/mods/3d_armor/settingtypes.txt @@ -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 diff --git a/mods/3d_armor/shields/README.txt b/mods/3d_armor/shields/README.txt index 5a72097..d52f865 100644 --- a/mods/3d_armor/shields/README.txt +++ b/mods/3d_armor/shields/README.txt @@ -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 diff --git a/mods/3d_armor/shields/init.lua b/mods/3d_armor/shields/init.lua index 90693c5..6e1d8ee 100644 --- a/mods/3d_armor/shields/init.lua +++ b/mods/3d_armor/shields/init.lua @@ -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") diff --git a/mods/3d_armor/shields/locale/shields.de.tr b/mods/3d_armor/shields/locale/shields.de.tr new file mode 100644 index 0000000..1de15c1 --- /dev/null +++ b/mods/3d_armor/shields/locale/shields.de.tr @@ -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 diff --git a/mods/3d_armor/shields/locale/shields.eo.tr b/mods/3d_armor/shields/locale/shields.eo.tr new file mode 100644 index 0000000..02de4e9 --- /dev/null +++ b/mods/3d_armor/shields/locale/shields.eo.tr @@ -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 diff --git a/mods/3d_armor/shields/locale/shields.fr.tr b/mods/3d_armor/shields/locale/shields.fr.tr new file mode 100644 index 0000000..5c76e99 --- /dev/null +++ b/mods/3d_armor/shields/locale/shields.fr.tr @@ -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 diff --git a/mods/3d_armor/shields/locale/shields.pt_BR.tr b/mods/3d_armor/shields/locale/shields.pt_BR.tr new file mode 100644 index 0000000..26515cc --- /dev/null +++ b/mods/3d_armor/shields/locale/shields.pt_BR.tr @@ -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 diff --git a/mods/3d_armor/shields/locale/shields.sv.tr b/mods/3d_armor/shields/locale/shields.sv.tr new file mode 100644 index 0000000..fb14f53 --- /dev/null +++ b/mods/3d_armor/shields/locale/shields.sv.tr @@ -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 diff --git a/mods/3d_armor/shields/locale/template.txt b/mods/3d_armor/shields/locale/template.txt new file mode 100644 index 0000000..1b39fd6 --- /dev/null +++ b/mods/3d_armor/shields/locale/template.txt @@ -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= diff --git a/mods/3d_armor/wieldview/README.txt b/mods/3d_armor/wieldview/README.txt index ffa5ef0..3a8b640 100644 --- a/mods/3d_armor/wieldview/README.txt +++ b/mods/3d_armor/wieldview/README.txt @@ -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). diff --git a/mods/3d_armor/wieldview/init.lua b/mods/3d_armor/wieldview/init.lua index 895e2b7..7fae894 100644 --- a/mods/3d_armor/wieldview/init.lua +++ b/mods/3d_armor/wieldview/init.lua @@ -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") diff --git a/mods/3d_armor/wieldview/mod.conf b/mods/3d_armor/wieldview/mod.conf new file mode 100644 index 0000000..c5f4812 --- /dev/null +++ b/mods/3d_armor/wieldview/mod.conf @@ -0,0 +1,3 @@ +name = wieldview +depends = 3d_armor +description = Makes hand wielded items visible to other players.