initial minetest-0.5/player_api support

This commit is contained in:
Alexander Weber 2018-05-12 22:44:07 +02:00
parent 4c3072ba8b
commit 165e917b5f
4 changed files with 63 additions and 25 deletions

View File

@ -66,20 +66,42 @@ minetest.register_on_leaveplayer(function(player)
skins.ui_context[player:get_player_name()] = nil
end)
default.player_register_model("skinsdb_3d_armor_character.b3d", {
animation_speed = 30,
textures = {
"blank.png",
"blank.png",
"blank.png",
"blank.png",
},
animations = {
stand = {x=0, y=79},
lay = {x=162, y=166},
walk = {x=168, y=187},
mine = {x=189, y=198},
walk_mine = {x=200, y=219},
sit = {x=81, y=160},
},
})
if minetest.global_exists("player_api") then
-- Minetest-0.5 and above compatible
player_api.register_model("skinsdb_3d_armor_character_0_5.b3d", {
animation_speed = 30,
textures = {
"blank.png",
"blank.png",
"blank.png",
"blank.png"
},
animations = {
stand = {x=0, y=79},
lay = {x=162, y=166},
walk = {x=168, y=187},
mine = {x=189, y=198},
walk_mine = {x=200, y=219},
sit = {x=81, y=160},
},
})
else
-- Minetest-0.4 compatible
default.player_register_model("skinsdb_3d_armor_character.b3d", {
animation_speed = 30,
textures = {
"blank.png",
"blank.png",
"blank.png",
"blank.png",
},
animations = {
stand = {x=0, y=79},
lay = {x=162, y=166},
walk = {x=168, y=187},
mine = {x=189, y=198},
walk_mine = {x=200, y=219},
sit = {x=81, y=160},
},
})
end

Binary file not shown.

Binary file not shown.

View File

@ -73,8 +73,13 @@ function skin_class:apply_skin_to_player(player)
local playername = player:get_player_name()
local ver = self:get_meta("format") or "1.0"
default.player_set_model(player, "skinsdb_3d_armor_character.b3d")
if minetest.global_exists("player_api") then
-- Minetest-0.5 compatible
player_api.set_model(player, "skinsdb_3d_armor_character_0_5.b3d")
else
-- Minetest-0.4 compatible
default.player_set_model(player, "skinsdb_3d_armor_character.b3d")
end
local v10_texture = "blank.png"
local v18_texture = "blank.png"
local armor_texture = "blank.png"
@ -109,12 +114,23 @@ function skin_class:apply_skin_to_player(player)
end
end
default.player_set_textures(player, {
v10_texture,
v18_texture,
armor_texture,
wielditem_texture,
})
if minetest.global_exists("player_api") then
-- Minetest-0.5 compatible
player_api.set_textures(player, {
v10_texture,
v18_texture,
armor_texture,
wielditem_texture,
})
else
-- Minetest-0.4 compatible
default.player_set_textures(player, {
v10_texture,
v18_texture,
armor_texture,
wielditem_texture,
})
end
player:set_properties({
visual_size = {