From 04cb59401b53499c3718bd3f8dfa89d21942f462 Mon Sep 17 00:00:00 2001 From: Alexander Weber Date: Mon, 25 Jun 2018 16:12:09 +0200 Subject: [PATCH] bugfix wardrobe save/restore skins for skinsdb --- homedecor/wardrobe.lua | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/homedecor/wardrobe.lua b/homedecor/wardrobe.lua index 40511d09..cc31fd3f 100644 --- a/homedecor/wardrobe.lua +++ b/homedecor/wardrobe.lua @@ -45,17 +45,16 @@ function homedecor.get_player_skin(player) end function homedecor.set_player_skin(player, skin, save) - skin = skin or default_skin if skinsdb_mod_path then - skins.set_player_skin(player, skin) + skins.set_player_skin(player, skin or skins.default) elseif armor_mod_path then -- if 3D_armor's installed, let it set the skin - armor.textures[player:get_player_name()].skin = skin + armor.textures[player:get_player_name()].skin = skin or default_skin armor:update_player_visuals(player) else - set_player_textures(player, { skin }) + set_player_textures(player, { skin or default_skin}) end - if save then + if save and not skinsdb_mod_path then if skin == default_skin then skin = "default" player:set_attribute("homedecor:player_skin", "") @@ -133,13 +132,15 @@ homedecor.register("wardrobe", { minetest.register_alias("homedecor:wardrobe_bottom", "homedecor:wardrobe") minetest.register_alias("homedecor:wardrobe_top", "air") -minetest.register_on_joinplayer(function(player) - local skin = player:get_attribute("homedecor:player_skin") +if not skinsdb_mod_path then -- If not managed by skinsdb + minetest.register_on_joinplayer(function(player) + local skin = player:get_attribute("homedecor:player_skin") - if skin and skin ~= "" then - -- setting player skin on connect has no effect, so delay skin change - minetest.after(1, function(player, skin) - homedecor.set_player_skin(player, skin) - end, player, skin) - end -end) + if skin and skin ~= "" then + -- setting player skin on connect has no effect, so delay skin change + minetest.after(1, function(player, skin) + homedecor.set_player_skin(player, skin) + end, player, skin) + end + end) +end