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_register_model("character.b3d", {
animation_speed = 30,
textures = {"character.png", },
textures = {"character.png", "default_armor_blank.png", "16x_blank.png"},
animations = {
-- Standard animations.
stand = { x= 0, y= 79, },
@ -54,26 +54,43 @@ function default.player_set_model(player, model_name)
if player_model[name] == model_name then
return
end
player_textures[name] = player_textures[name] or model.textures
player:set_properties({
mesh = model_name,
textures = player_textures[name] or model.textures,
textures = player_textures[name],
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")
else
player:set_properties({
textures = { "player.png", "player_back.png", },
textures = {"player.png", "player_back.png"},
visual = "upright_sprite",
})
end
player_model[name] = model_name
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)
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:set_properties({textures = textures,})
player:set_properties({textures = textures})
end
function default.player_set_animation(player, anim_name, speed)
@ -95,7 +112,7 @@ minetest.register_on_joinplayer(function(player)
default.player_attached[player:get_player_name()] = false
default.player_set_model(player, "character.b3d")
player:set_local_animation({x=0, y=79}, {x=168, y=187}, {x=189, y=198}, {x=200, y=219}, 30)
-- set GUI
if not minetest.setting_getbool("creative_mode") then
player:set_inventory_formspec(default.gui_survival_form)

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B