diff --git a/init.lua b/init.lua index 8be9ac0..e5ce5e3 100644 --- a/init.lua +++ b/init.lua @@ -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 diff --git a/models/skinsdb_3d_armor_character_0_5.b3d b/models/skinsdb_3d_armor_character_0_5.b3d new file mode 100644 index 0000000..c4d45b5 Binary files /dev/null and b/models/skinsdb_3d_armor_character_0_5.b3d differ diff --git a/models/skinsdb_3d_armor_character_0_5.blend b/models/skinsdb_3d_armor_character_0_5.blend new file mode 100644 index 0000000..44f7e27 Binary files /dev/null and b/models/skinsdb_3d_armor_character_0_5.blend differ diff --git a/skin_meta_api.lua b/skin_meta_api.lua index 7882392..0225284 100644 --- a/skin_meta_api.lua +++ b/skin_meta_api.lua @@ -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 = {