From 00454c42ac587fe8cf08545379f8d18b6ff9ee16 Mon Sep 17 00:00:00 2001 From: mckaygerhard Date: Sun, 1 Jan 2023 17:07:03 -0400 Subject: [PATCH] mods - skin manager using simple_skins from tenplus1 * renmame mod to skins due conventions * reduce funtionality --- README.md | 2 + mods/skins/.gitignore | 4 + mods/skins/depends.txt | 5 + mods/skins/description.txt | 1 + mods/skins/init.lua | 333 +++++++++++++++++++ mods/skins/inventory_plus.lua | 40 +++ mods/skins/license.txt | 36 ++ mods/skins/locale/es.po | 52 +++ mods/skins/locale/fr.po | 51 +++ mods/skins/locale/it.po | 52 +++ mods/skins/locale/ms.po | 51 +++ mods/skins/locale/skins.es.tr | 10 + mods/skins/locale/skins.fr.tr | 10 + mods/skins/locale/skins.it.tr | 10 + mods/skins/locale/skins.ms.tr | 10 + mods/skins/locale/template.txt | 11 + mods/skins/meta/character_1.txt | 2 + mods/skins/meta/character_10.txt | 2 + mods/skins/meta/character_11.txt | 2 + mods/skins/meta/character_12.txt | 2 + mods/skins/meta/character_13.txt | 2 + mods/skins/meta/character_14.txt | 2 + mods/skins/meta/character_15.txt | 2 + mods/skins/meta/character_16.txt | 2 + mods/skins/meta/character_17.txt | 2 + mods/skins/meta/character_18.txt | 2 + mods/skins/meta/character_19.txt | 2 + mods/skins/meta/character_2.txt | 2 + mods/skins/meta/character_20.txt | 2 + mods/skins/meta/character_21.txt | 2 + mods/skins/meta/character_22.txt | 2 + mods/skins/meta/character_23.txt | 2 + mods/skins/meta/character_24.txt | 2 + mods/skins/meta/character_25.txt | 2 + mods/skins/meta/character_26.txt | 2 + mods/skins/meta/character_27.txt | 2 + mods/skins/meta/character_28.txt | 2 + mods/skins/meta/character_29.txt | 2 + mods/skins/meta/character_3.txt | 2 + mods/skins/meta/character_30.txt | 2 + mods/skins/meta/character_31.txt | 2 + mods/skins/meta/character_4.txt | 2 + mods/skins/meta/character_5.txt | 2 + mods/skins/meta/character_6.txt | 2 + mods/skins/meta/character_7.txt | 2 + mods/skins/meta/character_8.txt | 2 + mods/skins/meta/character_9.txt | 2 + mods/skins/meta/character_900.txt | 2 + mods/skins/mod.conf | 4 + mods/skins/readme.md | 93 ++++++ mods/skins/screenshot.jpg | Bin 0 -> 84030 bytes mods/skins/settingtypes.txt | 5 + mods/skins/sfinv.lua | 39 +++ mods/skins/textures/character_1.png | Bin 0 -> 2542 bytes mods/skins/textures/character_10.png | Bin 0 -> 2473 bytes mods/skins/textures/character_11.png | Bin 0 -> 239 bytes mods/skins/textures/character_12.png | Bin 0 -> 1388 bytes mods/skins/textures/character_13.png | Bin 0 -> 2009 bytes mods/skins/textures/character_14.png | Bin 0 -> 1171 bytes mods/skins/textures/character_15.png | Bin 0 -> 967 bytes mods/skins/textures/character_16.png | Bin 0 -> 837 bytes mods/skins/textures/character_17.png | Bin 0 -> 235 bytes mods/skins/textures/character_18.png | Bin 0 -> 1835 bytes mods/skins/textures/character_19.png | Bin 0 -> 230 bytes mods/skins/textures/character_2.png | Bin 0 -> 247 bytes mods/skins/textures/character_20.png | Bin 0 -> 1256 bytes mods/skins/textures/character_21.png | Bin 0 -> 360 bytes mods/skins/textures/character_22.png | Bin 0 -> 1549 bytes mods/skins/textures/character_23.png | Bin 0 -> 2502 bytes mods/skins/textures/character_24.png | Bin 0 -> 210 bytes mods/skins/textures/character_25.png | Bin 0 -> 360 bytes mods/skins/textures/character_26.png | Bin 0 -> 236 bytes mods/skins/textures/character_27.png | Bin 0 -> 389 bytes mods/skins/textures/character_28.png | Bin 0 -> 376 bytes mods/skins/textures/character_29.png | Bin 0 -> 197 bytes mods/skins/textures/character_3.png | Bin 0 -> 1810 bytes mods/skins/textures/character_30.png | Bin 0 -> 319 bytes mods/skins/textures/character_31.png | Bin 0 -> 675 bytes mods/skins/textures/character_4.png | Bin 0 -> 202 bytes mods/skins/textures/character_5.png | Bin 0 -> 1348 bytes mods/skins/textures/character_6.png | Bin 0 -> 2272 bytes mods/skins/textures/character_7.png | Bin 0 -> 2472 bytes mods/skins/textures/character_8.png | Bin 0 -> 211 bytes mods/skins/textures/character_9.png | Bin 0 -> 1648 bytes mods/skins/textures/character_900.png | Bin 0 -> 316 bytes mods/skins/textures/inventory_plus_skins.png | Bin 0 -> 518 bytes mods/skins/unified_inventory.lua | 48 +++ 87 files changed, 931 insertions(+) create mode 100644 mods/skins/.gitignore create mode 100644 mods/skins/depends.txt create mode 100644 mods/skins/description.txt create mode 100644 mods/skins/init.lua create mode 100644 mods/skins/inventory_plus.lua create mode 100644 mods/skins/license.txt create mode 100644 mods/skins/locale/es.po create mode 100644 mods/skins/locale/fr.po create mode 100644 mods/skins/locale/it.po create mode 100644 mods/skins/locale/ms.po create mode 100644 mods/skins/locale/skins.es.tr create mode 100644 mods/skins/locale/skins.fr.tr create mode 100644 mods/skins/locale/skins.it.tr create mode 100644 mods/skins/locale/skins.ms.tr create mode 100644 mods/skins/locale/template.txt create mode 100644 mods/skins/meta/character_1.txt create mode 100644 mods/skins/meta/character_10.txt create mode 100644 mods/skins/meta/character_11.txt create mode 100644 mods/skins/meta/character_12.txt create mode 100644 mods/skins/meta/character_13.txt create mode 100644 mods/skins/meta/character_14.txt create mode 100644 mods/skins/meta/character_15.txt create mode 100644 mods/skins/meta/character_16.txt create mode 100644 mods/skins/meta/character_17.txt create mode 100644 mods/skins/meta/character_18.txt create mode 100644 mods/skins/meta/character_19.txt create mode 100644 mods/skins/meta/character_2.txt create mode 100644 mods/skins/meta/character_20.txt create mode 100644 mods/skins/meta/character_21.txt create mode 100644 mods/skins/meta/character_22.txt create mode 100644 mods/skins/meta/character_23.txt create mode 100644 mods/skins/meta/character_24.txt create mode 100644 mods/skins/meta/character_25.txt create mode 100644 mods/skins/meta/character_26.txt create mode 100644 mods/skins/meta/character_27.txt create mode 100644 mods/skins/meta/character_28.txt create mode 100644 mods/skins/meta/character_29.txt create mode 100644 mods/skins/meta/character_3.txt create mode 100644 mods/skins/meta/character_30.txt create mode 100644 mods/skins/meta/character_31.txt create mode 100644 mods/skins/meta/character_4.txt create mode 100644 mods/skins/meta/character_5.txt create mode 100644 mods/skins/meta/character_6.txt create mode 100644 mods/skins/meta/character_7.txt create mode 100644 mods/skins/meta/character_8.txt create mode 100644 mods/skins/meta/character_9.txt create mode 100644 mods/skins/meta/character_900.txt create mode 100644 mods/skins/mod.conf create mode 100644 mods/skins/readme.md create mode 100644 mods/skins/screenshot.jpg create mode 100644 mods/skins/settingtypes.txt create mode 100644 mods/skins/sfinv.lua create mode 100644 mods/skins/textures/character_1.png create mode 100644 mods/skins/textures/character_10.png create mode 100644 mods/skins/textures/character_11.png create mode 100644 mods/skins/textures/character_12.png create mode 100644 mods/skins/textures/character_13.png create mode 100644 mods/skins/textures/character_14.png create mode 100644 mods/skins/textures/character_15.png create mode 100644 mods/skins/textures/character_16.png create mode 100644 mods/skins/textures/character_17.png create mode 100644 mods/skins/textures/character_18.png create mode 100644 mods/skins/textures/character_19.png create mode 100644 mods/skins/textures/character_2.png create mode 100644 mods/skins/textures/character_20.png create mode 100644 mods/skins/textures/character_21.png create mode 100644 mods/skins/textures/character_22.png create mode 100644 mods/skins/textures/character_23.png create mode 100644 mods/skins/textures/character_24.png create mode 100644 mods/skins/textures/character_25.png create mode 100644 mods/skins/textures/character_26.png create mode 100644 mods/skins/textures/character_27.png create mode 100644 mods/skins/textures/character_28.png create mode 100644 mods/skins/textures/character_29.png create mode 100644 mods/skins/textures/character_3.png create mode 100644 mods/skins/textures/character_30.png create mode 100644 mods/skins/textures/character_31.png create mode 100644 mods/skins/textures/character_4.png create mode 100644 mods/skins/textures/character_5.png create mode 100644 mods/skins/textures/character_6.png create mode 100644 mods/skins/textures/character_7.png create mode 100644 mods/skins/textures/character_8.png create mode 100644 mods/skins/textures/character_9.png create mode 100644 mods/skins/textures/character_900.png create mode 100644 mods/skins/textures/inventory_plus_skins.png create mode 100644 mods/skins/unified_inventory.lua diff --git a/README.md b/README.md index 84b7b9e..0d9e8d5 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ To download you can play this game with the following minetest engines: * so then default beds as `beds` [mods/beds](mods/beds) from default 0.4 * minetest floatlands as `floatlands` [mods/floatlands](mods/floatlands) derived from Floatlands Realm made to this servers, as https://codeberg.org/minenux/minetest-mod-floatland * so then default flowers as `flowers` are need. Later this will need ethereal modifications. +* tenplus1 simple skins as `skins` [mods/skins](mods/skins) from https://codeberg.org/minenux/minetest-mod-simple_skins + * customized so this was renamed to mantain consistency and simplification, also some settiungs were minimalized ## Licensing diff --git a/mods/skins/.gitignore b/mods/skins/.gitignore new file mode 100644 index 0000000..41bac1f --- /dev/null +++ b/mods/skins/.gitignore @@ -0,0 +1,4 @@ +*~ +.previews/output +.previews/blender_out +.previews/pngcrush_output diff --git a/mods/skins/depends.txt b/mods/skins/depends.txt new file mode 100644 index 0000000..39ba987 --- /dev/null +++ b/mods/skins/depends.txt @@ -0,0 +1,5 @@ +default +sfinv? +inventory_plus? +intllib? +unified_inventory? diff --git a/mods/skins/description.txt b/mods/skins/description.txt new file mode 100644 index 0000000..81e791b --- /dev/null +++ b/mods/skins/description.txt @@ -0,0 +1 @@ +SKIN mnager Mod, Simple skin modified that allows players to set their individual skins. \ No newline at end of file diff --git a/mods/skins/init.lua b/mods/skins/init.lua new file mode 100644 index 0000000..fe8f8f5 --- /dev/null +++ b/mods/skins/init.lua @@ -0,0 +1,333 @@ + +-- Simple Skins mod for minetest +-- Adds a simple skin selector to the inventory by using +-- the default sfinv or inventory_plus when running. +-- Released by TenPlus1 and based on Zeg9's code under MIT license + +-- check for minetest 5.x compatibility +local is_54 = minetest.has_feature("direct_velocity_on_players") or nil +local is_50 = minetest.has_feature("object_use_texture_alpha") or nil + +-- Load support for translation. +local S + +if minetest.get_translator ~= nil then + S = minetest.get_translator("skins") + is_50 = true +else + if minetest.get_modpath("intllib") then + dofile(minetest.get_modpath("intllib").."/init.lua") + if intllib.make_gettext_pair then + gettext, ngettext = intllib.make_gettext_pair() -- new gettext method + else + gettext = intllib.Getter() -- old text file method + end + S = gettext + else -- boilerplate function + S = function(str, ...) + local args = {...} + return str:gsub("@%d", function(match) + return args[tonumber(match:sub(2))] + end) + end + end +end + + +skins = { + skins = {}, list = {}, meta = {}, formspec = {}, + modpath = minetest.get_modpath("skins"), + invplus = minetest.get_modpath("inventory_plus"), + unified_inventory = minetest.get_modpath("unified_inventory"), + default_skin_tab = false, + sfinv = minetest.get_modpath("sfinv"), + transparant_list = false, + id = 1, + file = minetest.get_worldpath() .. "/skins.mt", + preview = minetest.settings:get_bool("skins_preview") or true, + translate = S, + skin_limit = tonumber(minetest.settings:get("skins_limit")) or 160 +} + + +-- check and use specific inventory +if skins.unified_inventory then + skins.transparant_list = true + dofile(skins.modpath .. "/unified_inventory.lua") + +elseif skins.invplus then + skins.transparant_list = true + dofile(skins.modpath .. "/inventory_plus.lua") + +elseif skins.sfinv then + skins.default_skin_tab = not skins.invplus and not skins.unified_inventory + dofile(skins.modpath .. "/sfinv.lua") +end + + +-- load skin list and metadata +local f, data, skin = 1 + +while skins.id <= skins.skin_limit do + + skin = "character_" .. skins.id + + -- does skin file exist ? + f = io.open(skins.modpath .. "/textures/" .. skin .. ".png") + + -- escape loop if not found and remove last entry + if not f then + skins.list[skins.id] = nil + skins.id = skins.id - 1 + break + end + + f:close() + + table.insert(skins.list, skin) + + -- does metadata exist for that skin file ? + f = io.open(skins.modpath .. "/meta/" .. skin .. ".txt") + + if f then + data = minetest.deserialize("return {" .. f:read("*all") .. "}") + f:close() + end + + -- add metadata to list + skins.meta[skin] = { + name = data and data.name and data.name:gsub("[%p%c]", "") or "", + author = data and data.author and data.author:gsub("[%p%c]", "") or "" + } + + skins.id = skins.id + 1 +end + + +-- load player skins file for backwards compatibility +local input = io.open(skins.file, "r") +local data = nil + +if input then + data = input:read("*all") + io.close(input) +end + +if data and data ~= "" then + + local lines = string.split(data, "\n") + + for _, line in pairs(lines) do + data = string.split(line, " ", 2) + skins.skins[data[1]] = data[2] + end +end + + +-- create formspec for skin selection page +skins.formspec.main = function(name) + + local formspec = "label[.5,2;" .. S("Select Player Skin:") .. "]" + .. "textlist[.5,2.5;6.8,6;skins_set;" + + local meta + local selected = 1 + + for i = 1, #skins.list do + + formspec = formspec .. skins.meta[ skins.list[i] ].name + + if skins.skins[name] == skins.list[i] then + selected = i + meta = skins.meta[ skins.skins[name] ] + end + + if i < #skins.list then + formspec = formspec .."," + end + end + + if skins.transparant_list then + formspec = formspec .. ";" .. selected .. ";true]" + else + formspec = formspec .. ";" .. selected .. ";false]" + end + + if meta then + + if meta.name then + formspec = formspec .. "label[2,.5;" .. S("Name: ") .. meta.name .. "]" + end + + if meta.author then + formspec = formspec .. "label[2,1;" .. S("Author: ") .. meta.author .. "]" + end + end + + -- if preview enabled then add player model to formspec (5.4dev only) + if skins.preview == true then + if is_54 then + formspec = formspec .. "model[6,-0.2;1.5,3;player;character.b3d;" + .. skins.skins[name] .. ".png;0,180;false;true]" + else + local head = "[combine:8x8:-8,-8="..skins.skins[name]..".png" + local body = "[combine:8x12:-20,-20="..skins.skins[name]..".png" + local left_leg = "[combine:4x12:-4,-20="..skins.skins[name]..".png" + local right_leg = "[combine:4x12:-4,-20="..skins.skins[name]..".png^[transformFX" + local left_hand = "[combine:4x12:-44,-20="..skins.skins[name]..".png" + local right_hand = "[combine:4x12:-44,-20="..skins.skins[name]..".png^[transformFX" + local back_head = "[combine:8x8:-24,-8="..skins.skins[name]..".png" + local body_back = "[combine:8x12:-32,-20="..skins.skins[name]..".png" + local legs_back = "[combine:4x12:-12,-20="..skins.skins[name]..".png" + local left_leg_back = "[combine:4x12:-12,-20="..skins.skins[name]..".png" + local right_leg_back = "[combine:4x12:-12,-20="..skins.skins[name]..".png^[transformFX" + local left_hand_back = "[combine:4x12:-52,-20="..skins.skins[name]..".png" + local right_hand_back = "[combine:4x12:-52,-20="..skins.skins[name]..".png^[transformFX" + formspec = formspec .. "image[3,1;2,2;".. head .. "] image[3,2.75;2,3;".. body .. "] image[3,5.35;1,3;".. left_leg .. "] image[3.82,5.35;1,3;".. right_leg .. "] image[2.2,2.75;1,3;".. left_hand .. "] image[4.63,2.75;1,3;".. right_hand .. "] image[7,1;2,2;".. back_head .. "] image[7,2.75;2,3;".. body_back .. "] image[7,5.35;1,3;".. left_leg_back .. "] image[7.82,5.35;1,3;".. right_leg_back .. "] image[6.2,2.75;1,3;".. left_hand_back .. "] image[8.63,2.75;1,3;".. right_hand_back .. "] image_button[0,1;2,2;"..head.."]" + end + end + + return formspec +end + + +-- Read the image size from a PNG file. (returns width, height) +local PNG_HDR = string.char(0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A) +local function read_image_size(filename) + + local f = io.open(filename, "rb") + + if not f then return end + + f:seek("set", 0x0) + + local hdr = f:read(string.len(PNG_HDR)) + + if hdr ~= PNG_HDR then + f:close() ; return + end + + f:seek("set", 0x13) ; local ws = f:read(1) + f:seek("set", 0x17) ; local hs = f:read(1) + f:close() + + return ws:byte(), hs:byte() +end + + +-- update player skin +skins.update_player_skin = function(player) + + if not player then + return + end + + local name = player:get_player_name() + + if minetest.get_modpath("player_api") then + player_api.set_textures(player, {skins.skins[name] .. ".png"}) + else + default.player_set_textures(player, {skins.skins[name] .. ".png"}) + end +end + + +skins.event_CHG = function(event, player) + + local name = player:get_player_name() + local index = math.min(event.index, skins.id) + + if not skins.list[index] then + return -- Do not update wrong skin number + end + + skins.skins[name] = skins.list[index] + + skins.update_player_skin(player) + + if is_50 then + + local meta = player:get_meta() + + meta:set_string("skins:skin", skins.skins[name]) + else + player:set_attribute("skins:skin", skins.skins[name]) + end +end + + +-- load player skin on join +minetest.register_on_joinplayer(function(player) + + local name = player:get_player_name() ; if not name then return end + local skin + + if is_50 then + + local meta = player:get_meta() + + skin = meta:get_string("skins:skin") + else + skin = player:get_attribute("skins:skins") + end + + -- do we already have a skin in player attributes? + if skin and skin ~= "" then + skins.skins[name] = skin + + -- otherwise use skin from skins.mt file or default if not set + elseif not skins.skins[name] then + skins.skins[name] = "character_1" + end + + skins.update_player_skin(player) +end) + + +-- admin command to set player skin (usually for custom skins) +minetest.register_chatcommand("setskin", { + params = " ", + description = S("Admin command to set player skin"), + privs = {server = true}, + func = function(name, param) + + local playername, skin = string.match(param, "([^ ]+) (-?%d+)") + + if not playername or not skin then + return false, S("** Insufficient or wrong parameters") + end + + local player = minetest.get_player_by_name(playername) + + if not player then + return false, S("** Player @1 not online!", playername) + end + + -- this check is only used when custom skins aren't in use +-- if not skins.list[tonumber(skin)] then +-- return false, S("** Invalid skin number (max value is @1)", id) +-- end + + skins.skins[playername] = "character_" .. tonumber(skin) + + skins.update_player_skin(player) + + if is_50 then + + local meta = player:get_meta() + + meta:set_string("skins:skin", skins.skins[playername]) + else + player:set_attribute("skins:skin", skins.skins[playername]) + end + + minetest.chat_send_player(playername, + S("Your skin has been set to") .. " character_" .. skin) + + return true, "** " .. playername .. S("'s skin set to") + .. " character_" .. skin .. ".png" + end, +}) + + +print ("[MOD] skins (Simple Skins) loaded") diff --git a/mods/skins/inventory_plus.lua b/mods/skins/inventory_plus.lua new file mode 100644 index 0000000..5c61193 --- /dev/null +++ b/mods/skins/inventory_plus.lua @@ -0,0 +1,40 @@ + +local S = skins.translate + + +minetest.register_on_joinplayer(function(player) + + inventory_plus.register_button(player, "skins", S("Skins"), 0, + "inventory_plus_skins.png") +end) + + +minetest.register_on_player_receive_fields(function(player, formname, fields) + + if skins.sfinv then + + local name = player:get_player_name() + + if fields.skins then + + inventory_plus.set_inventory_formspec(player, + "size[8,8.6]" + .. "bgcolor[#08080822;true]" + .. skins.formspec.main(name) + .. "button[0,.75;2,.5;main;" .. S("Back") .. "]") + end + + local event = minetest.explode_textlist_event(fields["skins_set"]) + + if event.type == "CHG" then + + skins.event_CHG(event, player) + + inventory_plus.set_inventory_formspec(player, + "size[8,8.6]" + .. "bgcolor[#08080822;true]" + .. skins.formspec.main(name) + .. "button[0,.75;2,.5;main;" .. S("Back") .. "]") + end + end +end) diff --git a/mods/skins/license.txt b/mods/skins/license.txt new file mode 100644 index 0000000..c4bf0c0 --- /dev/null +++ b/mods/skins/license.txt @@ -0,0 +1,36 @@ +License of Media: +----------------- + +Title: Minetest Skins Pack 1 +Title URL: https://opengameart.org/content/minetest-skins-pack-1 +Author: isaiah658 +License(s): License(s): CC0 ( http://creativecommons.org/publicdomain/zero/1.0/legalcode ) +Original file names: Skin_1.png to Skin_32.png and Icon.png +Simple Skins file names: character_1.png to character_31.png, character_900.png, and inventory_plus_skins.png +Modifications: None + + +License of Code: +---------------- + +The MIT License (MIT) + +Copyright (c) 2016 TenPlus1 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/mods/skins/locale/es.po b/mods/skins/locale/es.po new file mode 100644 index 0000000..d7c8a62 --- /dev/null +++ b/mods/skins/locale/es.po @@ -0,0 +1,52 @@ +# simple_skin . +# Copyright (C) 2018 +# This file is distributed under the same license as the PACKAGE package. +# Stefano Peris , 2018. +# Github: +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-21 07:29+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: PICCORO Lenz McKAY \n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.12\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: init.lua +msgid "Select Player Skin:" +msgstr "Seleciona la apariencia:" + +#: init.lua +msgid "Name: " +msgstr "Nombre" + +#: init.lua +msgid "Author: " +msgstr "Autor" + +#: init.lua +msgid "Admin command to set player skin" +msgstr "Comando administrativo apra asignar apariencia de skin" + +#: init.lua +msgid "'s skin set to" +msgstr ", apariencia asignada a" + +#: init.lua +msgid "Set player skin" +msgstr "Configura la apariencia" + +#: init.lua +msgid "Close" +msgstr "Cerrar" + +#: init.lua +msgid "Skins" +msgstr "Figura" diff --git a/mods/skins/locale/fr.po b/mods/skins/locale/fr.po new file mode 100644 index 0000000..30d8e36 --- /dev/null +++ b/mods/skins/locale/fr.po @@ -0,0 +1,51 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-29 07:11+0200\n" +"PO-Revision-Date: 2017-07-29 07:17+0200\n" +"Last-Translator: fat115 \n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.12\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: init.lua +msgid "Select Player Skin:" +msgstr "Sélectionner l'apparence du joueur :" + +#: init.lua +msgid "Name: " +msgstr "Nom : " + +#: init.lua +msgid "Author: " +msgstr "Auteur : " + +#: init.lua +msgid "Admin command to set player skin" +msgstr "Commande admin pour définir l'apparence du joueur" + +#: init.lua +msgid "'s skin set to" +msgstr ", apparence définie pour" + +#: init.lua +msgid "Set player skin" +msgstr "Définir l'apparence du joueur" + +#: init.lua +msgid "Close" +msgstr "Fermer" + +#: init.lua +msgid "[MOD] Simple Skins loaded" +msgstr "[MOD] Simple Skins chargé" diff --git a/mods/skins/locale/it.po b/mods/skins/locale/it.po new file mode 100644 index 0000000..d470131 --- /dev/null +++ b/mods/skins/locale/it.po @@ -0,0 +1,52 @@ +# simple_skin . +# Copyright (C) 2018 +# This file is distributed under the same license as the PACKAGE package. +# Stefano Peris , 2018. +# Github: +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-21 07:29+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Stefano Peris \n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.12\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: init.lua +msgid "Select Player Skin:" +msgstr "Seleziona la skin del giocatore" + +#: init.lua +msgid "Name: " +msgstr "Nome" + +#: init.lua +msgid "Author: " +msgstr "Autore" + +#: init.lua +msgid "Admin command to set player skin" +msgstr "Comando di admin per impostare la skin del giocatore" + +#: init.lua +msgid "'s skin set to" +msgstr ", la skin è impostata su" + +#: init.lua +msgid "Set player skin" +msgstr "Imposta la skin del giocatore" + +#: init.lua +msgid "Close" +msgstr "Chiudi" + +#: init.lua +msgid "[MOD] Simple Skins loaded" +msgstr "[MOD] Skins semplici caricate" diff --git a/mods/skins/locale/ms.po b/mods/skins/locale/ms.po new file mode 100644 index 0000000..bba5982 --- /dev/null +++ b/mods/skins/locale/ms.po @@ -0,0 +1,51 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-29 07:11+0200\n" +"PO-Revision-Date: 2018-02-14 01:23+0800\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"Last-Translator: MuhdNurHidayat (MNH48) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ms\n" + +#: init.lua +msgid "Select Player Skin:" +msgstr "Pilih Kulit Pemain:" + +#: init.lua +msgid "Name: " +msgstr "Nama: " + +#: init.lua +msgid "Author: " +msgstr "Pencipta: " + +#: init.lua +msgid "Admin command to set player skin" +msgstr "Perintah pentadbir untuk menetapkan kulit pemain" + +#: init.lua +msgid "'s skin set to" +msgstr " telah ditukarkan kulitnya kepada" + +#: init.lua +msgid "Set player skin" +msgstr "Tetapkan kulit pemain" + +#: init.lua +msgid "Close" +msgstr "Tutup" + +#: init.lua +msgid "[MOD] Simple Skins loaded" +msgstr "[MODS] Simple Skins telah dimuatkan" diff --git a/mods/skins/locale/skins.es.tr b/mods/skins/locale/skins.es.tr new file mode 100644 index 0000000..51a2797 --- /dev/null +++ b/mods/skins/locale/skins.es.tr @@ -0,0 +1,10 @@ +# textdomain: simple_skins + +Select Player Skin:=Seleciona la apariencia: +Name: =Nombre: +Author: =Autor: +Admin command to set player skin=Comando administrativo apra asignar apariencia de skin +'s skin set to=, apariencia asignada a +Set player skin=Configura la apariencia +Close=Cerrar +Skins=Figura diff --git a/mods/skins/locale/skins.fr.tr b/mods/skins/locale/skins.fr.tr new file mode 100644 index 0000000..9f0bc89 --- /dev/null +++ b/mods/skins/locale/skins.fr.tr @@ -0,0 +1,10 @@ +# textdomain: simple_skins + +Select Player Skin:=Sélectionner l'apparence du joueur: +Name: =Nom: +Author: =Auteur: +Admin command to set player skin=Commande admin pour définir l'apparence du joueur +'s skin set to=, apparence définie pour +Set player skin=Définir l'apparence du joueur +Close=Fermer +Skins=Skins diff --git a/mods/skins/locale/skins.it.tr b/mods/skins/locale/skins.it.tr new file mode 100644 index 0000000..77e8012 --- /dev/null +++ b/mods/skins/locale/skins.it.tr @@ -0,0 +1,10 @@ +# textdomain: simple_skins + +Select Player Skin:=Seleziona la skin del giocatore +Name: =Nome: +Author: =Autore: +Admin command to set player skin=Comando di admin per impostare la skin del giocatore +'s skin set to=, la skin è impostata su +Set player skin=Imposta la skin del giocatore +Close=Chiudi +Skins=Pelli diff --git a/mods/skins/locale/skins.ms.tr b/mods/skins/locale/skins.ms.tr new file mode 100644 index 0000000..bcc71ff --- /dev/null +++ b/mods/skins/locale/skins.ms.tr @@ -0,0 +1,10 @@ +# textdomain: simple_skins + +Select Player Skin:=Pilih Kulit Pemain: +Name: =Nama: +Author: =Pencipta: +Admin command to set player skin=Perintah pentadbir untuk menetapkan kulit pemain +'s skin set to= telah ditukarkan kulitnya kepada +Set player skin=Tetapkan kulit pemain +Close=Tutup +Skins=Kulit diff --git a/mods/skins/locale/template.txt b/mods/skins/locale/template.txt new file mode 100644 index 0000000..5ada204 --- /dev/null +++ b/mods/skins/locale/template.txt @@ -0,0 +1,11 @@ +# textdomain: simple_skins + +Select Player Skin:= +Name: = +Author: = +Admin command to set player skin= +'s skin set to= +Set player skin= +Close= +Skins= +[MOD] Simple Skins loaded= diff --git a/mods/skins/meta/character_1.txt b/mods/skins/meta/character_1.txt new file mode 100644 index 0000000..7b2fffe --- /dev/null +++ b/mods/skins/meta/character_1.txt @@ -0,0 +1,2 @@ +name = "Farmer", +author = "isaiah658", diff --git a/mods/skins/meta/character_10.txt b/mods/skins/meta/character_10.txt new file mode 100644 index 0000000..ddc7581 --- /dev/null +++ b/mods/skins/meta/character_10.txt @@ -0,0 +1,2 @@ +name = "Farm Girl", +author = "isaiah658", diff --git a/mods/skins/meta/character_11.txt b/mods/skins/meta/character_11.txt new file mode 100644 index 0000000..e3c845f --- /dev/null +++ b/mods/skins/meta/character_11.txt @@ -0,0 +1,2 @@ +name = "Jerry", +author = "isaiah658", diff --git a/mods/skins/meta/character_12.txt b/mods/skins/meta/character_12.txt new file mode 100644 index 0000000..86f1f1a --- /dev/null +++ b/mods/skins/meta/character_12.txt @@ -0,0 +1,2 @@ +name = "Scary", +author = "isaiah658", diff --git a/mods/skins/meta/character_13.txt b/mods/skins/meta/character_13.txt new file mode 100644 index 0000000..e25e637 --- /dev/null +++ b/mods/skins/meta/character_13.txt @@ -0,0 +1,2 @@ +name = "Cool Dude", +author = "isaiah658", diff --git a/mods/skins/meta/character_14.txt b/mods/skins/meta/character_14.txt new file mode 100644 index 0000000..e6c6e63 --- /dev/null +++ b/mods/skins/meta/character_14.txt @@ -0,0 +1,2 @@ +name = "Knight", +author = "isaiah658", diff --git a/mods/skins/meta/character_15.txt b/mods/skins/meta/character_15.txt new file mode 100644 index 0000000..4f99bb4 --- /dev/null +++ b/mods/skins/meta/character_15.txt @@ -0,0 +1,2 @@ +name = "Derp Dirt", +author = "isaiah658", diff --git a/mods/skins/meta/character_16.txt b/mods/skins/meta/character_16.txt new file mode 100644 index 0000000..6214d58 --- /dev/null +++ b/mods/skins/meta/character_16.txt @@ -0,0 +1,2 @@ +name = "Ice", +author = "isaiah658", diff --git a/mods/skins/meta/character_17.txt b/mods/skins/meta/character_17.txt new file mode 100644 index 0000000..7e1218e --- /dev/null +++ b/mods/skins/meta/character_17.txt @@ -0,0 +1,2 @@ +name = "Robot", +author = "isaiah658", diff --git a/mods/skins/meta/character_18.txt b/mods/skins/meta/character_18.txt new file mode 100644 index 0000000..8e9297d --- /dev/null +++ b/mods/skins/meta/character_18.txt @@ -0,0 +1,2 @@ +name = "King", +author = "isaiah658", diff --git a/mods/skins/meta/character_19.txt b/mods/skins/meta/character_19.txt new file mode 100644 index 0000000..ec61eb0 --- /dev/null +++ b/mods/skins/meta/character_19.txt @@ -0,0 +1,2 @@ +name = "Diced", +author = "isaiah658", diff --git a/mods/skins/meta/character_2.txt b/mods/skins/meta/character_2.txt new file mode 100644 index 0000000..5cc134b --- /dev/null +++ b/mods/skins/meta/character_2.txt @@ -0,0 +1,2 @@ +name = "Waffles", +author = "isaiah658", diff --git a/mods/skins/meta/character_20.txt b/mods/skins/meta/character_20.txt new file mode 100644 index 0000000..e63411e --- /dev/null +++ b/mods/skins/meta/character_20.txt @@ -0,0 +1,2 @@ +name = "Glitch", +author = "isaiah658", diff --git a/mods/skins/meta/character_21.txt b/mods/skins/meta/character_21.txt new file mode 100644 index 0000000..c2512d0 --- /dev/null +++ b/mods/skins/meta/character_21.txt @@ -0,0 +1,2 @@ +name = "Pink Camouflage", +author = "isaiah658", diff --git a/mods/skins/meta/character_22.txt b/mods/skins/meta/character_22.txt new file mode 100644 index 0000000..69a730f --- /dev/null +++ b/mods/skins/meta/character_22.txt @@ -0,0 +1,2 @@ +name = "Biker", +author = "isaiah658", diff --git a/mods/skins/meta/character_23.txt b/mods/skins/meta/character_23.txt new file mode 100644 index 0000000..a84a7d2 --- /dev/null +++ b/mods/skins/meta/character_23.txt @@ -0,0 +1,2 @@ +name = "Jade", +author = "isaiah658", diff --git a/mods/skins/meta/character_24.txt b/mods/skins/meta/character_24.txt new file mode 100644 index 0000000..d49cd77 --- /dev/null +++ b/mods/skins/meta/character_24.txt @@ -0,0 +1,2 @@ +name = "Split", +author = "isaiah658", diff --git a/mods/skins/meta/character_25.txt b/mods/skins/meta/character_25.txt new file mode 100644 index 0000000..accb736 --- /dev/null +++ b/mods/skins/meta/character_25.txt @@ -0,0 +1,2 @@ +name = "Camouflage", +author = "isaiah658", diff --git a/mods/skins/meta/character_26.txt b/mods/skins/meta/character_26.txt new file mode 100644 index 0000000..e786110 --- /dev/null +++ b/mods/skins/meta/character_26.txt @@ -0,0 +1,2 @@ +name = "Earth", +author = "isaiah658", diff --git a/mods/skins/meta/character_27.txt b/mods/skins/meta/character_27.txt new file mode 100644 index 0000000..ba3d928 --- /dev/null +++ b/mods/skins/meta/character_27.txt @@ -0,0 +1,2 @@ +name = "Stone", +author = "isaiah658", diff --git a/mods/skins/meta/character_28.txt b/mods/skins/meta/character_28.txt new file mode 100644 index 0000000..b092b65 --- /dev/null +++ b/mods/skins/meta/character_28.txt @@ -0,0 +1,2 @@ +name = "Lab Coat", +author = "isaiah658", diff --git a/mods/skins/meta/character_29.txt b/mods/skins/meta/character_29.txt new file mode 100644 index 0000000..7bd505b --- /dev/null +++ b/mods/skins/meta/character_29.txt @@ -0,0 +1,2 @@ +name = "Skeleton", +author = "isaiah658", diff --git a/mods/skins/meta/character_3.txt b/mods/skins/meta/character_3.txt new file mode 100644 index 0000000..6a7c59d --- /dev/null +++ b/mods/skins/meta/character_3.txt @@ -0,0 +1,2 @@ +name = "Autumn", +author = "isaiah658", diff --git a/mods/skins/meta/character_30.txt b/mods/skins/meta/character_30.txt new file mode 100644 index 0000000..2031b24 --- /dev/null +++ b/mods/skins/meta/character_30.txt @@ -0,0 +1,2 @@ +name = "Winter Boy", +author = "isaiah658", diff --git a/mods/skins/meta/character_31.txt b/mods/skins/meta/character_31.txt new file mode 100644 index 0000000..cc65ae1 --- /dev/null +++ b/mods/skins/meta/character_31.txt @@ -0,0 +1,2 @@ +name = "Winter Girl", +author = "isaiah658", diff --git a/mods/skins/meta/character_4.txt b/mods/skins/meta/character_4.txt new file mode 100644 index 0000000..266adec --- /dev/null +++ b/mods/skins/meta/character_4.txt @@ -0,0 +1,2 @@ +name = "Cubed", +author = "isaiah658", diff --git a/mods/skins/meta/character_5.txt b/mods/skins/meta/character_5.txt new file mode 100644 index 0000000..fd4986d --- /dev/null +++ b/mods/skins/meta/character_5.txt @@ -0,0 +1,2 @@ +name = "Tux", +author = "isaiah658", diff --git a/mods/skins/meta/character_6.txt b/mods/skins/meta/character_6.txt new file mode 100644 index 0000000..3f039ee --- /dev/null +++ b/mods/skins/meta/character_6.txt @@ -0,0 +1,2 @@ +name = "Cool Guy", +author = "isaiah658", diff --git a/mods/skins/meta/character_7.txt b/mods/skins/meta/character_7.txt new file mode 100644 index 0000000..adbf474 --- /dev/null +++ b/mods/skins/meta/character_7.txt @@ -0,0 +1,2 @@ +name = "Cool Girl", +author = "isaiah658", diff --git a/mods/skins/meta/character_8.txt b/mods/skins/meta/character_8.txt new file mode 100644 index 0000000..72a6162 --- /dev/null +++ b/mods/skins/meta/character_8.txt @@ -0,0 +1,2 @@ +name = "Retro", +author = "isaiah658", diff --git a/mods/skins/meta/character_9.txt b/mods/skins/meta/character_9.txt new file mode 100644 index 0000000..9d3d7da --- /dev/null +++ b/mods/skins/meta/character_9.txt @@ -0,0 +1,2 @@ +name = "Jim", +author = "isaiah658", diff --git a/mods/skins/meta/character_900.txt b/mods/skins/meta/character_900.txt new file mode 100644 index 0000000..14e1901 --- /dev/null +++ b/mods/skins/meta/character_900.txt @@ -0,0 +1,2 @@ +name = "PICCORO", +author = "none", diff --git a/mods/skins/mod.conf b/mods/skins/mod.conf new file mode 100644 index 0000000..da6a90e --- /dev/null +++ b/mods/skins/mod.conf @@ -0,0 +1,4 @@ +name = skins +depends = default, player_api +optional_depends = sfinv, inventory_plus, intllib, unified_inventory +description = SKIN manager mod, Simple_Skin modified mod that allow players to set their individual skins. diff --git a/mods/skins/readme.md b/mods/skins/readme.md new file mode 100644 index 0000000..15cd437 --- /dev/null +++ b/mods/skins/readme.md @@ -0,0 +1,93 @@ +minetest mod Simple Skins +========================= + +Mod for skin appereance change of your player in a nice tab of your inventory + +Information +------------ + +This is a modification of origina Simple Skins mod, in sync with minenux project, +is a mod that's so easy to use you'll wonder why it hasn't been +done before... Just download and start to use it in your inventory. + +Must be named `skins` and uses SfInv or Inventory Plus mods, +and Unified Inventory if you use lasted original (master branch) +version when available to allow players to select a skin/texture from the list. + +![screenshot.jpg](screenshot.jpg) + +Original forum https://forum.minetest.net/viewtopic.php?id=9100 + +Technical Information +--------------------- + +This mod its more basic and minimalis, no preview and no download/upload, management, +it target is to be light for huge servers and be minimal for better performance. + +This version is fully compatible with 5.X and 4.X also 0.4.16 versions of minetest + +Based on Zeg9's Skins mod originally from https://github.com/Zeg9/minetest-skins/ and +with some help from PilzAdam. Also implements some minimal features backported from SkinDB +like preview (disabled by default). The preview is autogenerated (2d), unless others mods. + +#### Download + +You can clone this repository in your minetest mods directory or in your game. + +#### Depends + +* default +* sfinv (optional, autodetected) +* player_api (newer version only) +* inventory_plus (optional, autodetected) +* unified_inventory (optional, autodetected) + +#### Skin management + +You can download a skin from skin database, set a new skin converted +from others boxel games or create it from scrat. + +* **Download a mt-skin** It uses skins from Addi's **MT-Skin-DB** +skin database, currently at http://minetest.fensta.bplaced.net/ +* **Download a mc-skind** Uses minecraft 1.7 skins, for 1.8+ will need newer 5.X mt, +and some images must crop it from 64x64 to 64x32. + +To download a skin mt made or mc ones, just: + +1. go to the web page skin, and download it, will get you a `png` file, +2. put into the textures directory and rename it accordingly e.g `character_2.png` +3. pop into the meta directory and make a new `character_2.txt` empty file +4. fill the txt file with as described in [Structure and formats](#structure-and-formats) + +If you use the skindb download tool, that already generates all +the necessary files, with the requested names and formats. https://github.com/minetest-mods/skinsdb/tree/master/updater + +#### Structure and formats + +Each skin is made up of at least two files, a png file and a txt file, +the "png file" is placed in the `textures` directory and +the "txt file" in the `meta` directory. + +the format of the txt file is: + +``` +name = "Skin Name", +author = "author that make the skin", +``` + + +Change log: +----------- + +- 1.01- Replace all unlicensed skins with CC0 one's (many thanks isaiah658) +- 1.0 - Added skin_limit setting to limit skins loaded, sanitized skin description +- 0.9 - Added Unified Inventory support (thanks Opvolger) +- 0.8 - Added player model preview when viewing formspec (Minetest 5.4 dev only) +- 0.7 - Add some error checks, improve /setskin and tweak & tidy code +- 0.6 - Updated to use Minetest 0.4.16 functions +- 0.5 - Added compatibility with default sfinv inventory, disabled /skin command for now +- 0.4 - Added /skin command to set player skin, no longer dependent on Inventory+, also /setskin command for server admin to set custom skins for player. +- 0.3 - Now works with Minetest 0.4.10+ +- 0.2 - Added 3D_Armor mod compatibility +- 0.1 - Added addi's changes to highlight selected skin on list (thanks) +- 0.0 - Initial release diff --git a/mods/skins/screenshot.jpg b/mods/skins/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..77f013c63f52f85e72a4b5ceda0653c3291b623f GIT binary patch literal 84030 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 literal 0 HcmV?d00001 diff --git a/mods/skins/settingtypes.txt b/mods/skins/settingtypes.txt new file mode 100644 index 0000000..4265971 --- /dev/null +++ b/mods/skins/settingtypes.txt @@ -0,0 +1,5 @@ +# When true character model will appear in formspec with current skin as texture +skins_preview (Simple Skins Preview) bool true + +# Skin limit number to limit the number of skins read onto list +skins_limit (Skin Limit) int 300 diff --git a/mods/skins/sfinv.lua b/mods/skins/sfinv.lua new file mode 100644 index 0000000..9ca118a --- /dev/null +++ b/mods/skins/sfinv.lua @@ -0,0 +1,39 @@ + +local S = skins.translate + + +if skins.default_skin_tab then + + sfinv.register_page("skins:skins", {title = S("Skins"), + + get = function(self, player, context) + + local name = player:get_player_name() + + return sfinv.make_formspec(player, context,skins.formspec.main(name)) + end, + + on_player_receive_fields = function(self, player, context, fields) + + local event = minetest.explode_textlist_event(fields["skins_set"]) + + if event.type == "CHG" then + + skins.event_CHG(event, player) + + sfinv.override_page("skins:skins", { + + get = function(self, player, context) + + local name = player:get_player_name() + + return sfinv.make_formspec(player, context, + skins.formspec.main(name)) + end + }) + + sfinv.set_player_inventory_formspec(player) + end + end + }) +end diff --git a/mods/skins/textures/character_1.png b/mods/skins/textures/character_1.png new file mode 100644 index 0000000000000000000000000000000000000000..413a0949229115e7fc5dcddc5049f99cf9373d61 GIT binary patch literal 2542 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 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_11.png b/mods/skins/textures/character_11.png new file mode 100644 index 0000000000000000000000000000000000000000..dfdd35ec8d1afd9053ccf35f3e52e3d7f3694dc0 GIT binary patch literal 239 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 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_14.png b/mods/skins/textures/character_14.png new file mode 100644 index 0000000000000000000000000000000000000000..ce88dc3530d8e976a7040e0019b3de41e3119f3c GIT binary patch literal 1171 zcmV;E1Z?|>P)ZNH#zrl+QQb#}j>Zd_eldvOfGJUcr(JUcu*J3c->P*6`(Q&U=7T3cIOTU=XRTwGmUU7v44e0O+!cz1nx zccF1aetCI?e}9I5eujU4hk$^-n{K|JZoQmsrlzO7oo>CIZM~gty`68qoo&3HZoZvw zy`FBqo@~9IZ@-;zy`OEro^8FKaKD~#z@Bctpl-pRaKNB$z@TrypmD*VZ@{5%z@c!$ zpm4#VaKfQ+!lH4frlzK+r>Cc;sHdl=sHe@dw9T}${Qmp>|NK~~vh4r>00DGTPE!Ct z=GbNc00Q4hL_t(|UX_ytk1IP2h4GB=`u4uW@cvQ|Noq(Q}wP^+V*Q>PZXUa z$BLIKOzHeft~8b?BMnQ7QgZ(CO$S3nKU&J{!Ukx#;uQywr7?>etQ>9Jav~J@VPOM? zD>fX1GNO*PpDkVi=NsMucJKNY+0NoUFkt5dhGG*siyIg~^=6ak=giWTxrO^9D8`r) zfRv{EEo7rO|Ee=)j?%$v&!aR90mB5p?NEy38%2&Ab2Ja@EX(e`%O5-CC~pAF4D{Wy zrZWv(?%Z-tME^ap_Jx15t*&$V1DEG|pz-0E2Bg@q#_@Hc?qS$ltDCuIg0f77S3;n# zE@^n1dbS=W>YSx>duJP1`qmP?rK^7NqUtxvZUuQ(r$bF=8+2@DX}A8<$3)d_R7tjv!Zl@TV0*EG z{<9S%Ns`*lFZNEU06VI0P7UgDpb&Tt>$3(Keem@&VpE!-nKCRHKr8Wu_i2h9NSY43 zzn!G5L>mx-62j~(7+oXNU~@xY00EE`J^_PSR}cVygF{MMEQ#iHYQPLZBLpyXiT*Tt z4=_i!ZOs?rDWX3PFnfQnb6`P$v4*y1c+XNG!sE~uKzJ3A8G{!A=iH;Q^D1}^svc+$ zih&1M)}S;1iAiBi%u|D726A=4if|vy2nOm903-fczy~;PKr0X}a(2vx0k~x_o(3(q zvC1B}Q-BAI11KT@Ul1s)oV-Fjh!<@`1Y^7hCXL;he6$gf69(X*mhE+6juK7LU`n)K zWlbw5oA{;~^XLBLK~1h*ct99j$@{H;!ZT{=gG$mcR8xbiwPsW2=zQ(&)n*tdwA)fu zu)YGsvVbo;?|uKxb$e~|wGX==ZBcJ(P*YUiyjP2iEBb5r`yXaxCX9yr#$4{bap~GG l^>@1T$?m(K@4jE@{|9QjH+IB35%2&2002ovPDHLkV1mZ^Em;5n literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_15.png b/mods/skins/textures/character_15.png new file mode 100644 index 0000000000000000000000000000000000000000..e79c4a63ad49cf5bb0f17a3f39a7e477f31fd3c1 GIT binary patch literal 967 zcmXw%c}&v>6vw{>560}oY(N6oQaO~;6C6rR6okqlma95vuoOj(3CtnTLc$>(2(}zT zTY7M;D3qf>vqac9hHgWXZD5pbfXEDU(Z!CM0uvZ8_v4TK@!re#pYQv8UtVPlKa6be zVh?~E5gr;x%pjuN?QDsz45{u1NNF)q0v;jJ&VZT&9S1TmXgH{6pn(FlJG6di_Cf0b zbg@v+LI(>v8k8KU*if<1$-*sP7`bTjgp!3u56C^y=Z_91l)k8Apo@(T25!+I_d>H5 zw1o41$UV@(MjaD+I#gUJDX6DF#ev2j)!xv#qk)E&Ly+x5CkIswXt_`j8>w5IRdm#P zLr#N+i#A_W(4gj`@gVA%sPRQNfk%abfi^l6Z0P);JqQgON;VW!)DRh2P!r@t1S)g^ zP}0g$qUv+bDf1F!8FAOs_*Gc~X>w%El`|ztVK=kSmZzS&aXGg7)6*6C8AXY_%1>fG zzjU%9J-R_6to`gGd1idw)sL@T2uDi*Gz1b=B|cv)I)PR?%G}ZH0rg(A5vO33UW`!Z zC+?b5OcD`DIdS}W1ihF}0c^+-p}_*llg3ArrJdA z-=-4X)>q4izF8+T*~~uUh3d;P@vn!3;t0Ljbese8>}u`Ew?BRBtA&~EHl z+xF(U?YW2ZkE|s#516BYflY3Qj|`N_e(aW+@4FT~U34BeU&phV<$SQ+(Rp}+R3Psy zDF3pF`;J@LnsXm@Lw9UPddg;3!HLPooo4%t(TC6HRfE)$AG-e+4*F=1SA#aQua_iW zdHF>L#Z5U*7q#qs6k~Zxy6B>M*!3+9#!|`@LMH?%QB>OB=N4O^&7RViiH5A9Tto7U?{kf+qsd>y4a^P3+Z9qs(`)1E*e#L$ lKx$`R9nJbBbHE}@ARYd8&mCUQPVLsGNAUQey~jnR{{hP!lHULT literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_16.png b/mods/skins/textures/character_16.png new file mode 100644 index 0000000000000000000000000000000000000000..29a4a17603e6c12183097b0977dbdde9c2af65c1 GIT binary patch literal 837 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 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_20.png b/mods/skins/textures/character_20.png new file mode 100644 index 0000000000000000000000000000000000000000..ceda4c00469014a7a8fd016aa29c38e5b561dd16 GIT binary patch literal 1256 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 literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_23.png b/mods/skins/textures/character_23.png new file mode 100644 index 0000000000000000000000000000000000000000..6881a89e35e1674cae79173970ac9dfd8028990c GIT binary patch literal 2502 zcmV;%2|4zOP)P`a|aNF-`dPfVm*-c6Zr^Yg?52+h?O(s4q2Jk=5vL< znGUm5R!vRy+KTSjqY6}2#I1kd$@^ow#*Om70p$Fag6X0~ol zyF?xK@TPt^1fXP!CWbT}j0TLNw+s;J=lT`AawsJ8>8;~9G?3eQxEOlnSm5adFzj#6 zx>E>H1I+bm%p#Q#<^GHUwxXPmnxjp;nNK8DKc3iQP$wHy)WjuZv!$VO*VtM4y3Hh= zCej#nf?2sU{xeqV9{VjuXTb%iCHyu6!g`QPbO=7q?Z)|CKfi_S5Rl%aSs6Gm(^P>p zktXW@Je_K2n|D1C_GO&pcDX^LHp%aynL8!2RM?O6J6eMC zK57^*Gu^7~-TyadJjO3YO@0FNl@ z?_N9a49&C4gNS+aB2rtwdsWi>52VwofP9{wBliyG*wQ*QqCc45o~HyrB1;l9`TcZeatkT8e{pKvl7h;<({@(m?y$%*N+ z?07vVoH`@tjhPpy>k?^cLat>3rE#}7<}&9;+y{T$Z#=1keg_YL)rwejMA}U-+S=M+ z6^z^1k_2J|a5kK9e1n}_dJ0C$v(&p_!d@BSY0~YI{aPl_m~)Hc=x2*rJtX zyFtA0BE|bmgk-n`!HME!Bmv@Z!Y1W~5{^lWo+XS}#A)OfIINE3mrVj>d=lu~>+RY! zve~-z<6lTWKeC;9xsiLdb^E7(a0R0>>9Q&73AywQb_HTR4F6C!Daf+g(5vZ5<*imE zf(JO$d~Dx9r*Ej+H`K+N;T!A@40RoVUMh;okK``UDKPf+ci=b5Hg~Dt4jM{_GZb>~ z+=XUt|M<_{U;k6MT>db>oqf3h+}l6>d*`QrK~HS3pL@N76Xg0x`V? z1PB9Kj4#_xfuQ*qVZdVFV3!|0F__4LCJ&UyikCu3hqZVtbtV+Ii3DPXd$n)Vgmb)j z*^@wibh|w17DwH}2n$I;wHdcEB@3m5i{JnOcFM*BNE|evq20R0@xT_DgkcutfrYv{8^dvN2xP6V^ z2m@1vl2K@&V;n-sY(5q=(hnvbe6qK{gB=I}n%n(DLMd#Ra0`(QZA1kJ4nP3r@H|$y z-?|IFE7|Lg}YPmz~T@$xfQ1Oj@+{O{!FiE*y;a9ro!dcqMBD%|Zyo zoj}Z1-0z0oPWVdt=h7&iHFseM5-XSH;rR9p$977iB>ut(nnCxV7bYdF4hJN}7&XB# zF4+koVH+|7pn-@wku^9ZlhExL+3+Xcr>uj>#EZDia9sO0u%rJ17e2ly{i65vK6+;<6_!3#y?P*ZcHcmU2>{MSu^fLQhzVcK_okbV`eNN~ ziyv4*&oF literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_24.png b/mods/skins/textures/character_24.png new file mode 100644 index 0000000000000000000000000000000000000000..6e01c5c10ea18959b124bb60c81011fcaba5f975 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQv3lvA+A80ul!3Q&l#B*-tA!Qt7BG$5zY)5S5Q;?~Zj6j>zKuA z%w3X)x?9$KoqO|F(qGmbP0 Hl+XkK*l|+} literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_25.png b/mods/skins/textures/character_25.png new file mode 100644 index 0000000000000000000000000000000000000000..ec2781f79249341f43672ab2465952903f7abaa4 GIT binary patch literal 360 zcmV-u0hj)XP)02Y~}Y2td(T_{ zj3q&S!3+-1ZlnP@6FprVLn;`jo^a$kWFXLXG3FDuMRnsdyZU^C)-#%C6RxUtJc!;G z#O1v6)-{f67o_&N{Wsol_+gNV;c>Nh!85YXJlyKvm|Wbl*(D~~=k!_2=|6-*?U|HP zly~iU2;9ou>t5f22WQ%mvv4FO#tiITPOek literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_27.png b/mods/skins/textures/character_27.png new file mode 100644 index 0000000000000000000000000000000000000000..f30bab0e76a540bb8dd56a4ac633e2796024871a GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH0VEjOzbQrlDW;MjzhDN2vdL#H7#JAsJY5_^ zDsD|Vv$5=mf`IeIzmMlk-r6gvC{Z1;{G$7EFK6d~?_77U-#2>~AAkFIY!{!mMcnFa zgW{FmaSVmB6Q-=!V_s}jBb#w-_6d_o$4VOl9qt)a%k8*nr0_oIu{+bexEe_YiE_(e z{#{RE*v@_4u%-6>N00ew&-eGMMjO{CWqC(WIyR3fC0N@)J5aK)*Oryfgkf5v($hIW z(JdNRNEF2AVeQ|dIhIpf<^;)Aa~-++ zMDgWM-6cGQ3~UYx$F4uG{8F|^#rkrws^hl#?&tG9r)>K%U(Vz*`@7?NaWd@Fe#F}b z$hG~y%KS7D&P;vTxcSS0$f^fAwguDVEWG*WEM-4;i8=jW{Fy7hD+)uS3_#)Q>FVdQ I&MBb@0FW@KIRF3v literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_28.png b/mods/skins/textures/character_28.png new file mode 100644 index 0000000000000000000000000000000000000000..131e9f3aa78a9acb71564ac65251e590b3068ce5 GIT binary patch literal 376 zcmV-;0f+vHP)Uod*a(ey0K3{>mu`fFHO9 zKmf?@fqoHS$<#g&Zb*fc2q{5Q65$w-#`0VJO>+Rb{QN+?qx&eOq`x5`#)rozPylEj zSnHVp6ww2eWt`^$BtIZkL-kN*an!i6-mhoqzXB?)Z7WMQ7y+4PonWpetpgJCyKR_d z^e|vZ*Hx1ofDnCu8DQq`0a$BWw%$&GkDWq0$#)GL08iQmnmMrgme!LR?K;qP2Z0w- W@i=;cDVhWT0000XrflN}Qazq7jv*Dd-cDu~Vs#X7{#^L~ z^}0wY#^*--r@O|Vg0=kRA)78&qol`;+0F}#1YybcN literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_3.png b/mods/skins/textures/character_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6d93b648b794e44a951a2e0ae1182cc54892f96e GIT binary patch literal 1810 zcmV+t2krQYP)ZXTr7H8DR@^Xc~>WQRwjE|DvD<_cvmNfWiWbK zDS22Yds!)aSt^KTGJjqzie@r;SSh`%d%>}PysUb@t$TV|D!#6K!LonAuztU;e0y6f zz_5M7vVgm*dA+TBz^{G4uz!48DtcNfc~~ikWiohHCc3M6x~h4>v3|d=e0^OlbyOvJ zSt-D;e!s7MzOQ_|t$Vzzd%dlCe_k$kS0{T~DTZS&eO)YgS0;Q~D}!JxeqAkzXEKOo zF?d)gif1%-R3v^~EQw|_eqJqiRV92}D|%Qczp#FbXfumxHH>LBc2y;JRwsH{DE4G0mth(ylVhr!3B?FT%5cy{vi;qTUgv;J&VV zzp#D5vVhO3Fc75Q52M}^rs2J=d%dlE%cd*TuQbrCF}kXF5~t!Hc9|u7pcALzlY zsV~v1Fwd(n5T)NEd7KiZ;2*K;6Q|-MdY&J3nSfs|(5x`it}}B{BG9TY&#ErYs4Whm z-4m$e52W7>q1+Lq-_WWs(yTGit1r^6F%YEQAhPTdrr^n>DbcMl(XBGhs4fhk+aR&) z52N1?q}~yw-x8f1>*^G)q-v&Ob<+csAC_4~Nyyk>Ha zqy7nnROs24aQL$dNNS81msccHCaoQMjKnHt*f`9 zf{Ldagmk2_skx=4uC+}C)!xyGF6nOQvAuoG*7mEQ;8x8*esE~Ge`I8|xqnOr1x5`e zogOcZx7Zdtprwyru-ZtD>&lz@yY49Jv{-pWBIeh zxws@Qc1Y#N$R)1iT1qFU^*5&{b!WocyCgO@IyAZpiF@S-oeT|iJ@oaA*xHuIR{PXx z@VZO4i)dgmzN-9WB?h<@+x+J3yQh{GddBe91@(LBl)P4c63iNDhm4fUyDcB;S_Jp} zNSzS~K4H6Ey~NMD>cK~kAPN9@vQ5tXQrnJdJF2a)_U?E0-uC+DJl{>F**V*`ZPd2= zuhd(=2?xKCbi=6!1qTJ&Z^Lf4&o@h34``kZIY;bAerTBQig9C(Ec^=ykBE#4{w&yM z!%qwFoa?tQnsHZ*IA;U=JZK{?OuP8^2rgZY_;myUSFT=Lc;(tUcAXQDi+gMzTzGO5I4aq@S1D z7RSj&qms7z4Rg3@L$#qRv~}J?=bi^MJ%ek0ewiX`pO%R>ke!l~tMXJtenFw0W?A_~ zLw$wYh|No;`30Pz73wxup!)7%g>$533S&Bk^6>l?Ddpbt}6VWSoLzMLS7tp)+11GhLq z9W=B9L|2e7DU?UwCUV(8r7jJn(t0l&Ms8HzogOMC6T!sb^bN z&Il=c()3Z0<*wb?*4^1QotakMxi+2IHbrsvUD?*{8J5d>LPX-`RaI4KO_a4;Z6NAf zXF4xQAz5=f&>+T=AirP+hi5m^fSeVcE{-7;jCapp0b}x|7pA#Ao>F_6dfi&-3mF~(0$tFwb&j%J% z^S;Qswc*508G|o(^X@Pn7Ocp5^5ft;zXEo)!?jNNPngWQ81)(iuLz%hVLk2Z+PKF+ PH#2y;`njxgN@xNAv&?_l literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_31.png b/mods/skins/textures/character_31.png new file mode 100644 index 0000000000000000000000000000000000000000..1b7b10df369f3366aca24898817b0b598582df98 GIT binary patch literal 675 zcmV;U0$lxxP)i zUOb)Ai~s-t0d!JMQvg8b*k%9#0eneBK~#9!)yzYJra=&d;YyS~8*O`Rd+vXv&Yx}j zS;Q`0HL*7KCQFL>=ZROBb}WGS&aUgv`r3g=8)5x*0#zkr%@AEXV8*Ty5Kl9(c7b~e zR7YGbPz}7obY*qPn59*~G^-9%7qRpUzR*uHqkw4$H|OTz+wYGW`l#4e7l9bJ-uG|K zRBYj8uR9_QkSBlDMI2=Sdq{Hq|4#O8<9Jmtl!tL-75Xm;cd^k`~|64l(C1cqC&n$L9o)nUi=!w%ujXFf%aE@FDu#KoA7$vw=V#oa4*@ z5BTA}=5w4I7>lkI2rlXN0`)O`Nor!@7(PRI%$b4k4CWX$whyqkPJ~WWcsc+8002ov JPDHLkV1l<66gmI^ literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_4.png b/mods/skins/textures/character_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0d878bd1e9d1e6b9368d535349c24a05ab5914cb GIT binary patch literal 202 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 HDWM4fzEx4_ literal 0 HcmV?d00001 diff --git a/mods/skins/textures/character_9.png b/mods/skins/textures/character_9.png new file mode 100644 index 0000000000000000000000000000000000000000..96eca829b621c8edba2147ad7ee28af9f500083c GIT binary patch literal 1648 zcmV-$29NoPP)bsM2c%XiD^1+T050= zLWgEJxUYD)uy?qxcebu}n07^vZ$O4-IGcJ%xvzJ&t#yZIIE-yQjch)QY&?i*I*e>R zy0Lh*taP@mc5q!ins`QXUO&39c)PNBgk(09b3u%4K8|ibxUhJ*u6B%TJaJtCcZFp(h-*5CYCDo~KXF_>i)%ZW zctyLidZ&$5y0Uq;u64Puc(<>165?q}YU!OjzFFva;6knedU!D?Mn?bHJxUY5;U7dVd-pWNM&TvgJzED{C&~rlbe_NxNmX{SJlL74D@5=J$8< z2ZuZL5J00DGBwaDwS$iB8d4S^Kx)AD`U9gwO9E0@lEjaztx-kCeli{S(wTvt%$+mh5RFhqXv*LRR7ATiuLG?Ab6IPW2}>NjL*p{`4%2U zk#?%HZPLi&^=#yrnVA{&GrZT|26+wQfvT@m4J!IO{wGP3YFrZc3n=0V*M z_SdA5QawqUrq#H&ul-g?X7YZr1K?_&s4?h^Rj&w~b8(V1|EtDYf)f537DPjoGw?`& z|5*%wtzdY>sWeHO)wuA((J&m-1VVkB8`V6sVR6cP4t6eb6Us&LWIW|!#h9Kcg7)v* zf}j_67Fvs+UatmVFr5>K41@WJ{5VombMs1=hSh?iMN4*RIS90_TdV+7%Zgr*u`7lI ziB-W{9&Z^aIMEQTDW@WF)2=gMZI*2?5!0aDL|}k71xE%1OF8I~AdXe+)Nm|DsyH5Y zGqCFoMi(G329c#{wjgG*n+*bOF&IEA2Zp0LksojGICXnko@O$;f*fc7mLVe}qijzX zI@9}w*7_i;9X>NLzEi(2tkl{tPlJIO<~!{|#KzJP*b98`FVE}n?^4_kS|%R3;Walr zEOD3^j*dr&trb*mEL%FkCb<9fgbjN?3DOJYkR%EEyp{qLxydu-#7lJ^DaUdwg2=!a zHoz%z3>t$V=nQ>7^lvL(Dz{aof)wo0g<##S2Rs7;=egWNz=j3vB|t1S8?;G+Uj?E> zvZaF20V`krOop0t{QWU~VwL1hS0awpYjnD%0GZJr-pJqo+8KzHw?BI=6W=AJ6yp2zLo@v-1^KC{>E5DNWS@0W u)M{C_|D}+~75YlN`x=N1B0`QIEBrUodW#xq_DuQ!0000axZcUA3h$QSxcd^3;wDLgkMS_BP z4hf_RB=Q9ky+U<77KrRk+_~3%X)|c_m7zCx#3D!0rJ#*JX-cYR&w!ww1oEPq7vQ%5 zs1*avY+XmrsyU-Q4^M**{6lcTGy-q-B(4;yuz1&^eR09NSHMHMU|n&JK{cfdv;c); zP)+HAqOe>G)DdhO4)F!F&ugMDAc6va3a-GPLJ3VFAfPEw45}%w{mLIqbrdCCH7$Ao O00006niV}OoNYu;;cP2f{A|XY70ovO?0R?ZtmZq-ulRC`MRTV{ zeBQV34Fm`TJ%(u+hLwm#I;OP)0W%}Y1RR?|<eA}{=ORJBe7LiCf<=@JWL>4)*jRdZ z$uYeyx^T0l-eJ3ESJm~Fy6erg0#aUYs(sq9L}0<8!MlBj9}FH6$n`H&f-K!=slC}+ zCrj6wzo@b1T5H|?!9&{cp#RX_!6Vvmum3P!X{`1r#mpd&02mO703(qYGfEdF*kvR^ za9och z3*W#k$8mkkPm&8i0~N!*B?`eVsQ>@~07*qo IM6N<$f*WS`JOBUy literal 0 HcmV?d00001 diff --git a/mods/skins/unified_inventory.lua b/mods/skins/unified_inventory.lua new file mode 100644 index 0000000..cbd7c89 --- /dev/null +++ b/mods/skins/unified_inventory.lua @@ -0,0 +1,48 @@ + +local S = skins.translate + + +unified_inventory.register_button("skins", { + type = "image", + image = "inventory_plus_skins.png", + tooltip = S("Skins") +}) + + +unified_inventory.register_page("skins", { + + get_formspec = function(player, perplayer_formspec) + + local formheadery = perplayer_formspec.form_header_y + local F = minetest.formspec_escape + local player_name = player:get_player_name() + local formspec = "label[0," .. formheadery .. ";" .. F(S("Skins")) .."]" + + formspec = formspec .. "listcolors[#00000000;#00000000]" + formspec = formspec .. skins.formspec.main(player_name) + + return {formspec = formspec, draw_inventory = false} + end +}) + + +minetest.register_on_player_receive_fields(function(player, formname, fields) + + if skins.sfinv then + + local name = player:get_player_name() + + if fields.skins then + unified_inventory.set_inventory_formspec(player, "skins") + end + + local event = minetest.explode_textlist_event(fields["skins_set"]) + + if event.type == "CHG" then + + skins.event_CHG(event, player) + + unified_inventory.set_inventory_formspec(player, "skins") + end + end +end)