summaryrefslogtreecommitdiff
path: root/api.lua
diff options
context:
space:
mode:
Diffstat (limited to 'api.lua')
-rw-r--r--api.lua16
1 files changed, 13 insertions, 3 deletions
diff --git a/api.lua b/api.lua
index d822005..a0259cd 100644
--- a/api.lua
+++ b/api.lua
@@ -8,18 +8,25 @@ end
function skins.assign_player_skin(player, skin)
local skin_obj
if type(skin) == "string" then
- skin_obj = skins.get(skin) or skins.get(skins.default)
+ skin_obj = skins.get(skin)
else
skin_obj = skin
end
+ if not skin_obj then
+ return false
+ end
+
if skin_obj:is_applicable_for_player(player:get_player_name()) then
local skin_key = skin_obj:get_key()
if skin_key == skins.default then
skin_key = ""
end
player:set_attribute("skinsdb:skin_key", skin_key)
+ else
+ return false
end
+ return true
end
-- update visuals
@@ -30,6 +37,9 @@ end
-- Assign and update
function skins.set_player_skin(player, skin)
- skins.assign_player_skin(player, skin)
- skins.update_player_skin(player)
+ local success = skins.assign_player_skin(player, skin)
+ if success then
+ skins.update_player_skin(player)
+ end
+ return success
end