Merge remote-tracking branch 'upstream/master'

This commit is contained in:
bri cassa 2024-09-15 07:59:24 +02:00
commit 357cc3aada
37 changed files with 128 additions and 79 deletions

View File

@ -352,7 +352,7 @@ armor.update_player_visuals = function(self, player)
end end
local name = player:get_player_name() local name = player:get_player_name()
if self.textures[name] then if self.textures[name] then
default.player_set_textures(player, { player_api.set_textures(player, {
self.textures[name].skin, self.textures[name].skin,
self.textures[name].armor, self.textures[name].armor,
self.textures[name].wielditem, self.textures[name].wielditem,
@ -373,7 +373,7 @@ armor.set_player_armor = function(self, player)
local state = 0 local state = 0
local count = 0 local count = 0
local preview = armor:get_preview(name) local preview = armor:get_preview(name)
local texture = "3d_armor_trans.png" local texture = "blank.png"
local physics = {} local physics = {}
local attributes = {} local attributes = {}
local levels = {} local levels = {}
@ -415,7 +415,7 @@ armor.set_player_armor = function(self, player)
end end
-- DEPRECATED, use armor_groups instead -- DEPRECATED, use armor_groups instead
if def.groups["armor_radiation"] and levels["radiation"] then if def.groups["armor_radiation"] and levels["radiation"] then
levels["radiation"] = def.groups["armor_radiation"] levels["radiation"] = levels["radiation"] + def.groups["armor_radiation"]
end end
end end
local item = stack:get_name() local item = stack:get_name()
@ -719,11 +719,14 @@ armor.unequip = function(self, player, armor_element)
if self:get_element(stack:get_name()) == armor_element then if self:get_element(stack:get_name()) == armor_element then
armor_inv:set_stack("armor", i, "") armor_inv:set_stack("armor", i, "")
minetest.after(0, function() minetest.after(0, function()
local inv = player:get_inventory() local pplayer = minetest.get_player_by_name(name)
if inv:room_for_item("main", stack) then if pplayer then -- player is still online
inv:add_item("main", stack) local inv = pplayer:get_inventory()
else if inv:room_for_item("main", stack) then
minetest.add_item(player:get_pos(), stack) inv:add_item("main", stack)
else
minetest.add_item(pplayer:get_pos(), stack)
end
end end
end) end)
self:run_callbacks("on_unequip", player, i, stack) self:run_callbacks("on_unequip", player, i, stack)

View File

@ -268,8 +268,8 @@ local function init_player_armor(initplayer)
local skin = armor:get_player_skin(name) local skin = armor:get_player_skin(name)
armor.textures[name] = { armor.textures[name] = {
skin = skin, skin = skin,
armor = "3d_armor_trans.png", armor = "blank.png",
wielditem = "3d_armor_trans.png", wielditem = "blank.png",
preview = armor.default_skin.."_preview.png", preview = armor.default_skin.."_preview.png",
} }
local texture_path = minetest.get_modpath("player_textures") local texture_path = minetest.get_modpath("player_textures")
@ -291,8 +291,8 @@ player_api.register_model("3d_armor_character.b3d", {
animation_speed = 30, animation_speed = 30,
textures = { textures = {
armor.default_skin..".png", armor.default_skin..".png",
"3d_armor_trans.png", "blank.png",
"3d_armor_trans.png", "blank.png",
}, },
animations = { animations = {
stand = {x=0, y=79}, stand = {x=0, y=79},
@ -322,7 +322,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end) end)
minetest.register_on_joinplayer(function(player) minetest.register_on_joinplayer(function(player)
default.player_set_model(player, "3d_armor_character.b3d") player_api.set_model(player, "3d_armor_character.b3d")
init_player_armor(player) init_player_armor(player)
end) end)
@ -395,10 +395,14 @@ if armor.config.punch_damage == true then
minetest.register_on_punchplayer(function(player, hitter, minetest.register_on_punchplayer(function(player, hitter,
time_from_last_punch, tool_capabilities) time_from_last_punch, tool_capabilities)
local name = player:get_player_name() local name = player:get_player_name()
local hit_ip = hitter:is_player() if hitter then
if name and hit_ip and minetest.is_protected(player:get_pos(), "") then local hit_ip = hitter:is_player()
return if name and hit_ip and minetest.is_protected(player:get_pos(), "") then
elseif name then return
end
end
if name then
armor:punch(player, hitter, time_from_last_punch, tool_capabilities) armor:punch(player, hitter, time_from_last_punch, tool_capabilities)
last_punch_time[name] = minetest.get_gametime() last_punch_time[name] = minetest.get_gametime()
end end

View File

@ -1,7 +1,7 @@
# textdomain: 3d_armor # textdomain: 3d_armor
Radiation=Radiado Radiation=Radiado
Level=Nivelo Level=Nivelo
Heal=Sanigi Heal=Blokŝanco
Fire=Fajro Fire=Fajro
Your @1 is almost broken!=Via @1 estas preskaŭ rompita! Your @1 is almost broken!=Via @1 estas preskaŭ rompita!
Your @1 got destroyed!=Via @1 detruiĝis! Your @1 got destroyed!=Via @1 detruiĝis!

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 B

View File

@ -1,3 +1,3 @@
# textdomain: 3d_armor_ip # textdomain: 3d_armor_ip
Back=Dorso Back=Dorso
Armor=Kiraso Armor=Armaĵo

View File

@ -1,2 +1,2 @@
# textdomain: 3d_armor_sfinv # textdomain: 3d_armor_sfinv
Armor=Kiraso Armor=Armaĵoj

View File

@ -62,7 +62,7 @@ local function update_entity(pos)
object = minetest.add_entity(pos, "3d_armor_stand:armor_entity") object = minetest.add_entity(pos, "3d_armor_stand:armor_entity")
end end
if object then if object then
local texture = "3d_armor_trans.png" local texture = "blank.png"
local textures = {} local textures = {}
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local inv = meta:get_inventory() local inv = meta:get_inventory()
@ -144,8 +144,9 @@ minetest.register_node("3d_armor_stand:top", {
buildable_to = false, buildable_to = false,
drop = "", drop = "",
groups = {not_in_creative_inventory = 1}, groups = {not_in_creative_inventory = 1},
is_ground_content = false,
on_blast = function() end, on_blast = function() end,
tiles = {"3d_armor_trans.png"}, tiles = {"blank.png"},
}) })
minetest.register_node("3d_armor_stand:armor_stand", { minetest.register_node("3d_armor_stand:armor_stand", {
@ -165,6 +166,7 @@ minetest.register_node("3d_armor_stand:armor_stand", {
}, },
}, },
groups = {choppy=2, oddly_breakable_by_hand=2}, groups = {choppy=2, oddly_breakable_by_hand=2},
is_ground_content = false,
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -234,6 +236,7 @@ minetest.register_node("3d_armor_stand:locked_armor_stand", {
}, },
}, },
groups = {choppy=2, oddly_breakable_by_hand=2}, groups = {choppy=2, oddly_breakable_by_hand=2},
is_ground_content = false,
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -316,6 +319,7 @@ minetest.register_node("3d_armor_stand:shared_armor_stand", {
}, },
}, },
groups = {choppy=2, oddly_breakable_by_hand=2}, groups = {choppy=2, oddly_breakable_by_hand=2},
is_ground_content = false,
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -384,7 +388,7 @@ minetest.register_entity("3d_armor_stand:armor_entity", {
mesh = "3d_armor_entity.obj", mesh = "3d_armor_entity.obj",
visual_size = {x=1, y=1}, visual_size = {x=1, y=1},
collisionbox = {0,0,0,0,0,0}, collisionbox = {0,0,0,0,0,0},
textures = {"3d_armor_trans.png"}, textures = {"blank.png"},
}, },
_pos = nil, _pos = nil,
on_activate = function(self) on_activate = function(self)

View File

@ -1,5 +1,5 @@
# textdomain: 3d_armor_stand # textdomain: 3d_armor_stand
Armor Stand Top=Kirasstando Supro Armor Stand Top=Armaĵtenila Supro
Armor Stand=Kirasstando Armor Stand=Armaĵtenilo
Locked Armor Stand=Ŝlosita Kirasstando Locked Armor Stand=Ŝlosita Armaĵtenilo
Armor Stand (owned by @1)=Kirasstando (posedata de @1) Armor Stand (owned by @1)=Ŝlosita Armaĵtenilo (posedata de @1)

View File

@ -0,0 +1,6 @@
# textdomain: 3d_armor_stand
Armor Stand Top=
Armor Stand=Soporte de armadura
Locked Armor Stand=Soporte de armadura privado
Shared Armor Stand=Soporte de armadura compartido
Armor Stand (owned by @1)=Soporte de armadura (de @1)

View File

@ -0,0 +1,5 @@
# textdomain: 3d_armor_stand
Armor Stand Top=верх стойки для брони
Armor Stand=стойка для брони
Locked Armor Stand=стойка для брони с замком
Armor Stand (owned by @1)=стойка для бони (владелец @1)

View File

@ -2,4 +2,5 @@
Armor Stand Top= Armor Stand Top=
Armor Stand= Armor Stand=
Locked Armor Stand= Locked Armor Stand=
Shared Armor Stand=
Armor Stand (owned by @1)= Armor Stand (owned by @1)=

View File

@ -1,7 +1,7 @@
# textdomain: 3d_armor_ui # textdomain: 3d_armor_ui
3D Armor=3D Kiraso 3D Armor=3D Armaĵoj
Armor not initialized!=Kiraso ne pravigita! Armor not initialized!=Armaĵoj ne pretigitaj!
Armor=Kiraso Armor=Armaĵo
Level=Nivelo Level=Nivelo
Heal=Sanigi Heal=Sanigi
Fire=Fajro Fire=Fajro

View File

@ -41,7 +41,7 @@ armor:register_armor(":3d_armor:chestplate_admin", {
description = S("Admin Chestplate"), description = S("Admin Chestplate"),
inventory_image = "3d_armor_inv_chestplate_admin.png", inventory_image = "3d_armor_inv_chestplate_admin.png",
armor_groups = {fleshy=100}, armor_groups = {fleshy=100},
groups = {armor_torso=1, armor_heal=100, armor_use=0, groups = {armor_torso=1, armor_heal=100, armor_use=0, armor_water=1,
not_in_creative_inventory=1}, not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos) on_drop = function(itemstack, dropper, pos)
return return
@ -61,7 +61,7 @@ armor:register_armor(":3d_armor:leggings_admin", {
description = S("Admin Leggings"), description = S("Admin Leggings"),
inventory_image = "3d_armor_inv_leggings_admin.png", inventory_image = "3d_armor_inv_leggings_admin.png",
armor_groups = {fleshy=100}, armor_groups = {fleshy=100},
groups = {armor_legs=1, armor_heal=100, armor_use=0, groups = {armor_legs=1, armor_heal=100, armor_use=0, armor_water=1,
not_in_creative_inventory=1}, not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos) on_drop = function(itemstack, dropper, pos)
return return
@ -82,7 +82,7 @@ armor:register_armor(":3d_armor:boots_admin", {
inventory_image = "3d_armor_inv_boots_admin.png", inventory_image = "3d_armor_inv_boots_admin.png",
armor_groups = {fleshy=100}, armor_groups = {fleshy=100},
groups = {armor_feet=1, armor_heal=100, armor_use=0, physics_speed=1, groups = {armor_feet=1, armor_heal=100, armor_use=0, physics_speed=1,
not_in_creative_inventory=1}, armor_water=1, not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos) on_drop = function(itemstack, dropper, pos)
return return
end, end,

View File

@ -1,5 +1,5 @@
# textdomain: armor_admin # textdomain: armor_admin
Admin Helmet=Administra Kasko Admin Helmet=Administra Kasko
Admin Chestplate=Administra Brustkiraso Admin Chestplate=Administra Kiraso
Admin Leggings=Administra Pantalono Admin Leggings=Administra Pantalono
Admin Boots=Administra Botoj Admin Boots=Administraj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_admin # textdomain: armor_admin
Admin Helmet=шлем админа Admin Helmet=шлем админа
Admin Chestplate=бронежилет админа Admin Chestplate=нагрудник админа
Admin Leggings=гамаши админа Admin Leggings=штаны админа
Admin Boots=ботинки админа Admin Boots=ботинки админа

View File

@ -1,5 +1,5 @@
# textdomain: armor_bronze # textdomain: armor_bronze
Bronze Helmet=Bronza Kasko Bronze Helmet=Bronza Kasko
Bronze Chestplate=Bronza Brustkiraso Bronze Chestplate=Bronza Kiraso
Bronze Leggings=Bronza Pantalono Bronze Leggings=Bronza Pantalono
Bronze Boots=Bronza Botoj Bronze Boots=Bronzaj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_bronze # textdomain: armor_bronze
Bronze Helmet=бронзовый шлем Bronze Helmet=бронзовый шлем
Bronze Chestplate=бронзовый бронежилет Bronze Chestplate=бронзовый нагрудник
Bronze Leggings=бронзовые гамаши Bronze Leggings=бронзовые штаны
Bronze Boots=бронзовые ботинки Bronze Boots=бронзовые ботинки

View File

@ -1,5 +1,5 @@
# textdomain: armor_cactus # textdomain: armor_cactus
Cactus Helmet=Kakta Kasko Cactus Helmet=Kakta Kasko
Cactus Chestplate=Kakta Brustkiraso Cactus Chestplate=Kakta Kiraso
Cactus Leggings=Kakta Pantalono Cactus Leggings=Kakta Pantalono
Cactus Boots=Kakta Botoj Cactus Boots=Kaktaj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_cactus # textdomain: armor_cactus
Cactus Helmet=кактусовый шлем Cactus Helmet=кактусовый шлем
Cactus Chestplate=кактусовый бронежилет Cactus Chestplate=кактусовый нагрудник
Cactus Leggings=кактусовые гамаши Cactus Leggings=кактусовые штаны
Cactus Boots=кактусовые ботинки Cactus Boots=кактусовые ботинки

View File

@ -1,5 +1,5 @@
# textdomain: armor_crystal # textdomain: armor_crystal
Crystal Helmet=Kristala Kasko Crystal Helmet=Kristala Kasko
Crystal Chestplate=Kristala Brustkiraso Crystal Chestplate=Kristala Kiraso
Crystal Leggings=Kristala Pantalono Crystal Leggings=Kristala Pantalono
Crystal Boots=Kristala Botoj Crystal Boots=Kristalaj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_crystal # textdomain: armor_crystal
Crystal Helmet=кристалловый шлем Crystal Helmet=кристалловый шлем
Crystal Chestplate=кристалловый бронежилет Crystal Chestplate=кристалловый нагрудник
Crystal Leggings=кристалловые гамаши Crystal Leggings=кристалловые штаны
Crystal Boots=кристалловые ботинки Crystal Boots=кристалловые ботинки

View File

@ -1,5 +1,5 @@
# textdomain: armor_diamond # textdomain: armor_diamond
Diamond Helmet=Diamanta Kasko Diamond Helmet=Diamanta Kasko
Diamond Chestplate=Diamanta Brustkiraso Diamond Chestplate=Diamanta Kiraso
Diamond Leggings=Diamanta Pantalono Diamond Leggings=Diamanta Pantalono
Diamond Boots=Diamanta Botoj Diamond Boots=Diamantaj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_diamond # textdomain: armor_diamond
Diamond Helmet=алмазный шлем Diamond Helmet=алмазный шлем
Diamond Chestplate=алмазный бронежилет Diamond Chestplate=алмазный нагрудник
Diamond Leggings=алмазные гамаши Diamond Leggings=алмазные штаны
Diamond Boots=алмазные ботинки Diamond Boots=алмазные ботинки

View File

@ -1,5 +1,5 @@
# textdomain: armor_gold # textdomain: armor_gold
Gold Helmet=Ora Kasko Gold Helmet=Ora Kasko
Gold Chestplate=Ora Brustkiraso Gold Chestplate=Ora Kiraso
Gold Leggings=Ora Pantalono Gold Leggings=Ora Pantalono
Gold Boots=Ora Botoj Gold Boots=Oraj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_gold # textdomain: armor_gold
Gold Helmet=золотой шлем Gold Helmet=золотой шлем
Gold Chestplate=золотой бронежилет Gold Chestplate=золотой нагрудник
Gold Leggings=золотые гамаши Gold Leggings=золотые штаны
Gold Boots=золотые ботинки Gold Boots=золотые ботинки

View File

@ -1,5 +1,5 @@
# textdomain: armor_mithril # textdomain: armor_mithril
Mithril Helmet=Mitrila Kasko Mithril Helmet=Mitrila Kasko
Mithril Chestplate=Mitrila Brustkiraso Mithril Chestplate=Mitrila Kiraso
Mithril Leggings=Mitrila Pantalono Mithril Leggings=Mitrila Pantalono
Mithril Boots=Mitrila Botoj Mithril Boots=Mitrilaj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_mithril # textdomain: armor_mithril
Mithril Helmet=мифриловый шлем Mithril Helmet=мифриловый шлем
Mithril Chestplate=мифриловый бронежилет Mithril Chestplate=мифриловый нагрудник
Mithril Leggings=мифриловые гамаши Mithril Leggings=мифриловые штаны
Mithril Boots=мифриловые ботинки Mithril Boots=мифриловые ботинки

View File

@ -1,5 +1,5 @@
# textdomain: armor_nether # textdomain: armor_nether
Nether Helmet=Inferna Kasko Nether Helmet=Inferna Kasko
Nether Chestplate=Inferna Brustkiraso Nether Chestplate=Inferna Kiraso
Nether Leggings=Inferna Pantalono Nether Leggings=Inferna Pantalono
Nether Boots=Inferna Botoj Nether Boots=Infernaj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_nether # textdomain: armor_nether
Nether Helmet=адский шлем Nether Helmet=адский шлем
Nether Chestplate=адский бронежилет Nether Chestplate=адский нагрудник
Nether Leggings=адские гамаши Nether Leggings=адские штаны
Nether Boots=адские ботинки Nether Boots=адские ботинки

View File

@ -1,5 +1,5 @@
# textdomain: armor_steel # textdomain: armor_steel
Steel Helmet=Ŝtala Kasko Steel Helmet=Ŝtala Kasko
Steel Chestplate=Ŝtala Brustkiraso Steel Chestplate=Ŝtala Kiraso
Steel Leggings=Ŝtala Pantalono Steel Leggings=Ŝtala Pantalono
Steel Boots=Ŝtala Botoj Steel Boots=Ŝtalaj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_steel # textdomain: armor_steel
Steel Helmet=стальной шлем Steel Helmet=стальной шлем
Steel Chestplate=стальной бронежилет Steel Chestplate=стальной нагрудник
Steel Leggings=стальные гамаши Steel Leggings=стальные штаны
Steel Boots=стальные ботинки Steel Boots=стальные ботинки

View File

@ -1,5 +1,5 @@
# textdomain: armor_wood # textdomain: armor_wood
Wood Helmet=Ligna Kasko Wood Helmet=Ligna Kasko
Wood Chestplate=Ligna Brustkiraso Wood Chestplate=Ligna Kiraso
Wood Leggings=Ligna Pantalono Wood Leggings=Ligna Pantalono
Wood Boots=Ligna Botoj Wood Boots=Lignaj Botoj

View File

@ -1,5 +1,5 @@
# textdomain: armor_wood # textdomain: armor_wood
Wood Helmet=деревянный шлем Wood Helmet=деревянный шлем
Wood Chestplate=деревянный бронежилет Wood Chestplate=деревянный нагрудник
Wood Leggings=деревянные гамаши Wood Leggings=деревянные штаны
Wood Boots=деревянные ботинки Wood Boots=деревянные ботинки

View File

@ -0,0 +1,13 @@
# textdomain: shields
Admin Shield=Escudo de admin
Wooden Shield=Escudo de madera
Enhanced Wood Shield=Escudo de madera mejorado
Cactus Shield=Escudo de cactus
Enhanced Cactus Shield=Escudo de cactus mejorado
Steel Shield=Escudo de acero
Bronze Shield=Escudo de bronce
Diamond Shield=Escudo de diamante
Gold Shield=Escudo de oro
Mithril Shield=Escudo de mitrilo
Crystal Shield=Escudo de cristal
Nether Shield=Escudo de nether

13
shields/locale/shields.ru.tr Executable file
View 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=адский щит

View File

@ -92,7 +92,7 @@ local get_image_from_tile = memoize(function(tile)
end end
end end
return "3d_armor_trans.png" return "blank.png"
end) end)
local function get_image_cube(tiles) local function get_image_cube(tiles)
@ -139,7 +139,7 @@ local function get_image_cube(tiles)
) )
end end
return "3d_armor_trans.png" return "blank.png"
end end
local function is_normal_node(drawtype) local function is_normal_node(drawtype)
@ -158,7 +158,7 @@ armor.get_wield_image = memoize(function(item)
item = ItemStack(item) item = ItemStack(item)
if item:is_empty() then if item:is_empty() then
return "3d_armor_trans.png" return "blank.png"
end end
local def = item:get_definition() local def = item:get_definition()
@ -169,7 +169,7 @@ armor.get_wield_image = memoize(function(item)
local meta = item:get_meta() local meta = item:get_meta()
local color = meta:get("color") or def.color local color = meta:get("color") or def.color
local image = "3d_armor_trans.png" local image = "blank.png"
if def.wield_image and def.wield_image ~= "" then if def.wield_image and def.wield_image ~= "" then
local parts = {def.wield_image} local parts = {def.wield_image}
@ -193,7 +193,7 @@ armor.get_wield_image = memoize(function(item)
elseif def.type == "node" then elseif def.type == "node" then
if def.drawtype == "nodebox" or def.drawtype == "mesh" then if def.drawtype == "nodebox" or def.drawtype == "mesh" then
image = "3d_armor_trans.png" image = "blank.png"
else else
local tiles = def.tiles local tiles = def.tiles

View File

@ -14,7 +14,7 @@ dofile(minetest.get_modpath(minetest.get_current_modname()).."/get_texture.lua")
dofile(minetest.get_modpath(minetest.get_current_modname()).."/transform.lua") dofile(minetest.get_modpath(minetest.get_current_modname()).."/transform.lua")
wieldview.get_item_texture = function(self, item) wieldview.get_item_texture = function(self, item)
local texture = "3d_armor_trans.png" local texture = "blank.png"
if item ~= "" then if item ~= "" then
texture = armor.get_wield_image(item) texture = armor.get_wield_image(item)