Add support for armor layer

This commit is contained in:
BlockMen 2015-10-10 23:52:08 +02:00
parent b094b39c14
commit 6252d0123c
3 changed files with 23 additions and 6 deletions

View File

@ -17,7 +17,7 @@ end
-- Default player appearance -- Default player appearance
default.player_register_model("character.b3d", { default.player_register_model("character.b3d", {
animation_speed = 30, animation_speed = 30,
textures = {"character.png", }, textures = {"character.png", "default_armor_blank.png", "16x_blank.png"},
animations = { animations = {
-- Standard animations. -- Standard animations.
stand = { x= 0, y= 79, }, stand = { x= 0, y= 79, },
@ -54,26 +54,43 @@ function default.player_set_model(player, model_name)
if player_model[name] == model_name then if player_model[name] == model_name then
return return
end end
player_textures[name] = player_textures[name] or model.textures
player:set_properties({ player:set_properties({
mesh = model_name, mesh = model_name,
textures = player_textures[name] or model.textures, textures = player_textures[name],
visual = "mesh", visual = "mesh",
visual_size = model.visual_size or {x = 1, y =1}, visual_size = model.visual_size or {x = 1, y =1},
}) })
default.player_set_animation(player, "stand") default.player_set_animation(player, "stand")
else else
player:set_properties({ player:set_properties({
textures = { "player.png", "player_back.png", }, textures = {"player.png", "player_back.png"},
visual = "upright_sprite", visual = "upright_sprite",
}) })
end end
player_model[name] = model_name player_model[name] = model_name
end end
function default.player_set_armor(player, texture)
local name = player:get_player_name()
player_textures[name][2] = texture
player:set_properties({textures = player_textures[name]})
end
function default.player_set_skin(player, texture)
local name = player:get_player_name()
player_textures[name][1] = texture
player:set_properties({textures = player_textures[name]})
end
function default.player_set_textures(player, textures) function default.player_set_textures(player, textures)
local name = player:get_player_name() local name = player:get_player_name()
if textures[2] == nil or textures[3] == nil then
textures = {textures[1], "default_armor_blank.png", "16x_blank.png"}
minetest.log("error", "Deprecated use of 'default.player_set_textures()'. Use 'default.player_set_skin()' instead.")
end
player_textures[name] = textures player_textures[name] = textures
player:set_properties({textures = textures,}) player:set_properties({textures = textures})
end end
function default.player_set_animation(player, anim_name, speed) function default.player_set_animation(player, anim_name, speed)

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B