-- thanks for the support from tenplus1, kaeza and Shara <3 -- -- this is a kind of pre-version of the Illuna skinmod. -- it is supposed to work together with a skinserver later. -- since it is very basic and the base kindly rewritten by tenplus1, -- i didn't yet decide about any license and so on. -- get mod textures path local path = minetest.get_modpath("playerskins") .. "/textures/" -- this function runs every time player joins game minetest.register_on_joinplayer(function(player) -- get player name from player object local name = player:get_player_name() -- make name lower case and add .png extension name = name:lower() .. ".png" -- set skin to default local skin = "character.png" -- check if texture exists and set new skin local f = io.open(path .. name, "r") if f then skin = name -- set new skin name f:close() -- close file -- apply player texture minetest.after(1, function() if minetest.get_modpath("3d_armor") then -- FIXME: after function is a placeholder to validate function minetest.after(0, function(player) if not player then return end local name = player:get_player_name() armor.textures[player:get_player_name()].skin = skin armor:set_player_armor(player) end, player) else player:set_properties({ textures = {skin}, }) end end) end end)