From c5a64ecec76ec09168637a1522e04df6df9b2caa Mon Sep 17 00:00:00 2001 From: DonBatman Date: Tue, 24 Jan 2017 09:17:33 -0800 Subject: [PATCH] First upload --- depends.txt | 1 + init.lua | 555 ++++++++++++++++++++ models/appearance_character.b3d | Bin 0 -> 71369 bytes textures/appearance_blank.png | Bin 0 -> 133 bytes textures/appearance_female.png | Bin 0 -> 2395 bytes textures/appearance_female_belt.png | Bin 0 -> 183 bytes textures/appearance_female_eyes.png | Bin 0 -> 168 bytes textures/appearance_female_face.png | Bin 0 -> 183 bytes textures/appearance_female_hair.png | Bin 0 -> 936 bytes textures/appearance_female_overlay.png | Bin 0 -> 2049 bytes textures/appearance_female_pants.png | Bin 0 -> 363 bytes textures/appearance_female_shirt.png | Bin 0 -> 922 bytes textures/appearance_female_shoes.png | Bin 0 -> 340 bytes textures/appearance_female_skin.png | Bin 0 -> 522 bytes textures/appearance_form_background.png | Bin 0 -> 144 bytes textures/appearance_male.png | Bin 0 -> 2449 bytes textures/appearance_male_belt.png | Bin 0 -> 240 bytes textures/appearance_male_eyes.png | Bin 0 -> 153 bytes textures/appearance_male_face.png | Bin 0 -> 157 bytes textures/appearance_male_hair.png | Bin 0 -> 874 bytes textures/appearance_male_overlay.png | Bin 0 -> 2272 bytes textures/appearance_male_pants.png | Bin 0 -> 417 bytes textures/appearance_male_shirt.png | Bin 0 -> 1197 bytes textures/appearance_male_shoes.png | Bin 0 -> 301 bytes textures/appearance_male_skin.png | Bin 0 -> 801 bytes textures/appearance_preview_belt.png | Bin 0 -> 175 bytes textures/appearance_preview_eyes.png | Bin 0 -> 146 bytes textures/appearance_preview_face.png | Bin 0 -> 147 bytes textures/appearance_preview_hair.png | Bin 0 -> 259 bytes textures/appearance_preview_pants.png | Bin 0 -> 342 bytes textures/appearance_preview_shirt.png | Bin 0 -> 293 bytes textures/appearance_preview_shoes.png | Bin 0 -> 196 bytes textures/appearance_preview_skin.png | Bin 0 -> 395 bytes textures/appearance_skin01.png | Bin 0 -> 137 bytes textures/appearance_skin02.png | Bin 0 -> 137 bytes textures/appearance_skin03.png | Bin 0 -> 136 bytes textures/appearance_skin04.png | Bin 0 -> 136 bytes textures/appearance_skin05.png | Bin 0 -> 136 bytes textures/appearance_skin06.png | Bin 0 -> 136 bytes textures/appearance_skin07.png | Bin 0 -> 136 bytes textures/appearance_skin08.png | Bin 0 -> 136 bytes textures/appearance_skin09.png | Bin 0 -> 136 bytes textures/appearance_skin10.png | Bin 0 -> 136 bytes textures/appearance_wardrobe_front.png | Bin 0 -> 722 bytes textures/appearance_wardrobe_inv.png | Bin 0 -> 3965 bytes textures/appearance_wardrobe_mirror.png | Bin 0 -> 649 bytes textures/appearance_wardrobe_top.png | Bin 0 -> 704 bytes textures/character_1_preview.png | Bin 0 -> 783 bytes textures/gui_formbg.png | Bin 0 -> 143 bytes textures/gui_hb_bg.png | Bin 0 -> 143 bytes textures/misc/appearance_clothes.png | Bin 0 -> 1914 bytes textures/misc/appearance_female.xcf | Bin 0 -> 16063 bytes textures/misc/appearance_female_hair.png | Bin 0 -> 715 bytes textures/misc/appearance_female_overlay.png | Bin 0 -> 726 bytes textures/misc/appearance_female_shirt.png | Bin 0 -> 721 bytes textures/misc/appearance_female_skin.png | Bin 0 -> 279 bytes textures/misc/appearance_male_female.xcf | Bin 0 -> 10904 bytes textures/misc/character.xcf | Bin 0 -> 26923 bytes textures/misc/character_163.png | Bin 0 -> 1662 bytes textures/misc/preview_character.xcf | Bin 0 -> 4603 bytes textures/wieldhand.png | Bin 0 -> 668 bytes 61 files changed, 556 insertions(+) create mode 100644 depends.txt create mode 100644 init.lua create mode 100644 models/appearance_character.b3d create mode 100644 textures/appearance_blank.png create mode 100644 textures/appearance_female.png create mode 100644 textures/appearance_female_belt.png create mode 100644 textures/appearance_female_eyes.png create mode 100644 textures/appearance_female_face.png create mode 100644 textures/appearance_female_hair.png create mode 100644 textures/appearance_female_overlay.png create mode 100644 textures/appearance_female_pants.png create mode 100644 textures/appearance_female_shirt.png create mode 100644 textures/appearance_female_shoes.png create mode 100644 textures/appearance_female_skin.png create mode 100644 textures/appearance_form_background.png create mode 100644 textures/appearance_male.png create mode 100644 textures/appearance_male_belt.png create mode 100644 textures/appearance_male_eyes.png create mode 100644 textures/appearance_male_face.png create mode 100644 textures/appearance_male_hair.png create mode 100644 textures/appearance_male_overlay.png create mode 100644 textures/appearance_male_pants.png create mode 100644 textures/appearance_male_shirt.png create mode 100644 textures/appearance_male_shoes.png create mode 100644 textures/appearance_male_skin.png create mode 100644 textures/appearance_preview_belt.png create mode 100644 textures/appearance_preview_eyes.png create mode 100644 textures/appearance_preview_face.png create mode 100644 textures/appearance_preview_hair.png create mode 100644 textures/appearance_preview_pants.png create mode 100644 textures/appearance_preview_shirt.png create mode 100644 textures/appearance_preview_shoes.png create mode 100644 textures/appearance_preview_skin.png create mode 100644 textures/appearance_skin01.png create mode 100644 textures/appearance_skin02.png create mode 100644 textures/appearance_skin03.png create mode 100644 textures/appearance_skin04.png create mode 100644 textures/appearance_skin05.png create mode 100644 textures/appearance_skin06.png create mode 100644 textures/appearance_skin07.png create mode 100644 textures/appearance_skin08.png create mode 100644 textures/appearance_skin09.png create mode 100644 textures/appearance_skin10.png create mode 100644 textures/appearance_wardrobe_front.png create mode 100644 textures/appearance_wardrobe_inv.png create mode 100644 textures/appearance_wardrobe_mirror.png create mode 100644 textures/appearance_wardrobe_top.png create mode 100755 textures/character_1_preview.png create mode 100644 textures/gui_formbg.png create mode 100644 textures/gui_hb_bg.png create mode 100644 textures/misc/appearance_clothes.png create mode 100644 textures/misc/appearance_female.xcf create mode 100644 textures/misc/appearance_female_hair.png create mode 100644 textures/misc/appearance_female_overlay.png create mode 100644 textures/misc/appearance_female_shirt.png create mode 100644 textures/misc/appearance_female_skin.png create mode 100644 textures/misc/appearance_male_female.xcf create mode 100644 textures/misc/character.xcf create mode 100755 textures/misc/character_163.png create mode 100644 textures/misc/preview_character.xcf create mode 100644 textures/wieldhand.png diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/depends.txt @@ -0,0 +1 @@ +default diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..0ff205c --- /dev/null +++ b/init.lua @@ -0,0 +1,555 @@ +-- Mod: appearance +-- File: init.lua +-- License: CC BY-NC-SA 4.0 +-- Attribution: Don Michaud +-- Revision: 160813 + +appearance = {} +local DATAFILE = "appearance.dat" +local DATAPATH = minetest.get_worldpath() .. "/" .. DATAFILE + +-- =================================================================== +-- Save/Read file functions + +function read_appearance() + local f, err = io.open (DATAPATH, "r") + if err then return end + if f then + local data = minetest.deserialize (f:read("*a")) + f:close() + return data + end +end + +function save_appearance() + local file = io.open (DATAPATH, "w") + file:write (minetest.serialize (appearance)) + file:close() +end + +-- =================================================================== +-- Load appearance data. + +local f, err = io.open (DATAPATH, "r") +if f then + appearance = read_appearance() + f:close() +end + +-- =================================================================== +-- Base Textures + +local APMALE = "appearance_male_" +local APFEMALE = "appearance_female_" + +local mskin = APMALE .. "skin.png" +local mpants = APMALE .. "pants.png" +local mshirt = APMALE .. "shirt.png" +local mshoes = APMALE .. "shoes.png" +local mface = APMALE .. "face.png" +local meyes = APMALE .. "eyes.png" +local mbelt = APMALE .. "belt.png" +local moverlay = APMALE .. "overlay.png" +local mhair = APMALE .. "hair.png" + +local fskin = APFEMALE .. "skin.png" +local fpants = APFEMALE .. "pants.png" +local fshirt = APFEMALE .. "shirt.png" +local fshoes = APFEMALE .. "shoes.png" +local fface = APFEMALE .. "face.png" +local feyes = APFEMALE .. "eyes.png" +local fbelt = APFEMALE .. "belt.png" +local foverlay = APFEMALE .. "overlay.png" +local fhair = APFEMALE .. "hair.png" + +-- =================================================================== +-- Function to set a player's appearance + +function appearance_update (name) + local player = minetest.get_player_by_name (name) + if appearance and appearance [name] then + local apname = appearance [name] + + local skintex = apname.skin + local pantstex = apname.pants + local shirttex = apname.shirt + local shoestex = apname.shoes + local facetex = apname.face + local eyestex = apname.eyes + local belttex = apname.belt + local overlaytex = apname.overlay + local hairtex = apname.hair + + player:set_properties ({ + mesh = "appearance_character.b3d" , + textures = { +skintex .. pantstex .. shirttex .. shoestex .. +facetex .. eyestex .. belttex .. overlaytex .. +hairtex + } , + visual = "mesh" , + visual_size = { x=1, y=1} , + }) + end +end + +-- =================================================================== +-- Chat Commands + +local colors_table = { + { "black" , "Black" , "#000000b0" } , + { "blue" , "Blue" , "#015dbb70" } , + { "brown" , "Brown" , "#a78c4570" } , + { "cyan" , "Cyan" , "#01ffd870" } , + { "darkgreen" , "Dark Green" , "#005b0770" } , + { "darkgrey" , "Dark Grey" , "#303030b0" } , + { "green" , "Green" , "#61ff0170" } , + { "grey" , "Grey" , "#5b5b5bb0" } , + { "magenta" , "Magenta" , "#ff05bb70" } , + { "orange" , "Orange" , "#ff840170" } , + { "pink" , "Pink" , "#ff65b570" } , + { "red" , "Red" , "#ff000070" } , + { "violet" , "Violet" , "#2000c970" } , + { "white" , "White" , "#abababc0" } , + { "yellow" , "Yellow" , "#e3ff0070" } , +} + +-- =================================================================== + +local function change_appearance(name,fields) + local f = minetest.serialize(fields) + for i in ipairs(colors_table) do + local col = colors_table[i][1] + + if string.find(f,"sex") ~= nil then + if string.find(f, "female") ~= nil then + appearance[name].sex = "female" + appearance[name].skin = fskin.."^" + appearance[name].pants = fpants.."^" + appearance[name].shirt = fshirt.."^" + appearance[name].shoes = fshoes.."^" + appearance[name].face = fface.."^" + appearance[name].eyes = "("..feyes.."^[colorize:blue:220)^" + appearance[name].belt = "("..fbelt.."^[colorize:blue:220)^" + appearance[name].overlay = foverlay.."^" + appearance[name].hair = fhair + else + appearance[name].sex = "male" + appearance[name].skin = mskin.."^" + appearance[name].pants = mpants.."^" + appearance[name].shirt = mshirt.."^" + appearance[name].shoes = mshoes.."^" + appearance[name].face = mface.."^" + appearance[name].eyes = "("..meyes.."^[colorize:blue:220)^" + appearance[name].belt = "("..mbelt.."^[colorize:blue:220)^" + appearance[name].overlay = moverlay.."^" + appearance[name].hair = mhair + end + elseif string.find(f,"skin") ~= nil then + local b = string.find(f, "%d" ) + local c = tonumber(string.sub(f, b, b + 1)) + if c ~= nil then + appearance.skin_col = c + if appearance[name].sex == "male" then + appearance[name].skin = "("..mskin.."^[colorize:#4b2700:"..tostring(c*20)..")^" + else + appearance[name].skin = "("..fskin.."^[colorize:#4b2700:"..tostring(c*20)..")^" + end + + end + elseif string.find(f,"eyes") ~= nil then + if string.find(f, col) ~= nil then + appearance.eyes_col = col + if appearance[name].sex == "male" then + appearance[name].eyes = "("..meyes.."^[colorize:"..col..":220)^" + else + appearance[name].eyes = "("..feyes.."^[colorize:"..col..":220)^" + end + end + elseif string.find(f,"hair") ~= nil then + if string.find(f, col) ~= nil then + appearance.hair_col = col + if appearance[name].sex == "male" then + appearance[name].hair = "("..mhair.."^[colorize:"..col..":220)" + else + appearance[name].hair = "("..fhair.."^[colorize:"..col..":220)" + end + end + elseif string.find(f,"shirt") ~= nil then + if string.find(f, col) ~= nil then + appearance.shirt_col = col + if appearance[name].sex == "male" then + appearance[name].shirt = "("..mshirt.."^[colorize:"..col..":200)^" + else + appearance[name].shirt = "("..fshirt.."^[colorize:"..col..":200)^" + end + end + elseif string.find(f,"pants") ~= nil then + if string.find(f, col) ~= nil then + appearance.pants_col = col + if appearance[name].sex == "male" then + appearance[name].pants = "("..mpants.."^[colorize:"..col..":200)^" + else + appearance[name].pants = "("..fpants.."^[colorize:"..col..":200)^" + end + end + elseif string.find(f,"shoes") ~= nil then + if string.find(f, col) ~= nil then + appearance.shoes_col = col + if appearance[name].sex == "male" then + appearance[name].shoes = "("..mshoes.."^[colorize:"..col..":150)^" + else + appearance[name].shoes = "("..fshoes.."^[colorize:"..col..":240)^" + end + end + elseif string.find(f,"belt") ~= nil then + if string.find(f, col) ~= nil then + appearance.belt_col = col + if appearance[name].sex == "male" then + appearance[name].belt = "("..mbelt.."^[colorize:"..col..":220)^" + else + appearance[name].belt = "("..fbelt.."^[colorize:"..col..":220)^" + end + end + else + return + end + end + appearance_update(name) + save_appearance() +end + +-- =================================================================== + +local appearance_form_mirror = + "size[8.5,6;]".. + --"bgcolor[#40a7dc;true]".. + "background[0,0;8.5,6.25;appearance_form_background.png]".. + + --Sex + "label[0.5,0.5;Male or Female]".. + "image_button[2.5,0.5;1,1;appearance_male.png;sex_male;]".. + "image_button[4,0.5;1,1;appearance_female.png;sex_female;]".. + + --Skin + "label[0.5,1.5;Skin Color]".. + "image_button[0.5,2;0.5,0.5;appearance_skin01.png;skin_01;]".. + "image_button[1,2;0.5,0.5;appearance_skin02.png;skin_02;]".. + "image_button[1.5,2;0.5,0.5;appearance_skin03.png;skin_03;]".. + "image_button[2,2;0.5,0.5;appearance_skin04.png;skin_04;]".. + "image_button[2.5,2;0.5,0.5;appearance_skin05.png;skin_05;]".. + "image_button[3,2;0.5,0.5;appearance_skin06.png;skin_06;]".. + "image_button[3.5,2;0.5,0.5;appearance_skin07.png;skin_07;]".. + "image_button[4,2;0.5,0.5;appearance_skin08.png;skin_08;]".. + "image_button[4.5,2;0.5,0.5;appearance_skin09.png;skin_09;]".. + "image_button[5,2;0.5,0.5;appearance_skin10.png;skin_10;]".. + + --Eyes + "label[0.5,2.5;Eye Color]".. + "image_button[0.5,3;0.5,0.5;wool_black.png;eyes_black;]".. + "image_button[1,3;0.5,0.5;wool_blue.png;eyes_blue;]".. + "image_button[1.5,3;0.5,0.5;wool_brown.png;eyes_brown;]".. + "image_button[2,3;0.5,0.5;wool_cyan.png;eyes_cyan;]".. + "image_button[2.5,3;0.5,0.5;wool_dark_green.png;eyes_darkgreen;]".. + "image_button[3,3;0.5,0.5;wool_dark_grey.png;eyes_darkgray;]".. + "image_button[3.5,3;0.5,0.5;wool_green.png;eyes_green;]".. + "image_button[4,3;0.5,0.5;wool_grey.png;eyes_gray;]".. + "image_button[4.5,3;0.5,0.5;wool_magenta.png;eyes_magenta;]".. + "image_button[5,3;0.5,0.5;wool_orange.png;eyes_orange;]".. + "image_button[5.5,3;0.5,0.5;wool_pink.png;eyes_pink;]".. + "image_button[6,3;0.5,0.5;wool_red.png;eyes_red;]".. + "image_button[6.5,3;0.5,0.5;wool_violet.png;eyes_violet;]".. + "image_button[7,3;0.5,0.5;wool_white.png;eyes_white;]".. + "image_button[7.5,3;0.5,0.5;wool_yellow.png;eyes_yellow;]".. + + --Hair + "label[0.5,3.5;Hair Color]".. + "image_button[0.5,4;0.5,0.5;wool_black.png;hair_black;]".. + "image_button[1,4;0.5,0.5;wool_blue.png;hair_blue;]".. + "image_button[1.5,4;0.5,0.5;wool_brown.png;hair_brown;]".. + "image_button[2,4;0.5,0.5;wool_cyan.png;hair_cyan;]".. + "image_button[2.5,4;0.5,0.5;wool_dark_green.png;hair_darkgreen;]".. + "image_button[3,4;0.5,0.5;wool_dark_grey.png;hair_darkgray;]".. + "image_button[3.5,4;0.5,0.5;wool_green.png;hair_green;]".. + "image_button[4,4;0.5,0.5;wool_grey.png;hair_gray;]".. + "image_button[4.5,4;0.5,0.5;wool_magenta.png;hair_magenta;]".. + "image_button[5,4;0.5,0.5;wool_orange.png;hair_orange;]".. + "image_button[5.5,4;0.5,0.5;wool_pink.png;hair_pink;]".. + "image_button[6,4;0.5,0.5;wool_red.png;hair_red;]".. + "image_button[6.5,4;0.5,0.5;wool_violet.png;hair_violet;]".. + "image_button[7,4;0.5,0.5;wool_white.png;hair_white;]".. + "image_button[7.5,4;0.5,0.5;wool_yellow.png;hair_yellow;]".. + + "button_exit[6.5,5;1.5,1;exit;Exit]" + +local appearance_form_wardrobe = + "size[8.5,6;]".. + --"bgcolor[#0000;false]".. + "background[0,0;8.5,6.25;appearance_form_background.png]".. + + --Shirt + "label[0.5,0.5;Shirt Color]".. + "image_button[0.5,1;0.5,0.5;wool_black.png;shirt_black;]".. + "image_button[1,1;0.5,0.5;wool_blue.png;shirt_blue;]".. + "image_button[1.5,1;0.5,0.5;wool_brown.png;shirt_brown;]".. + "image_button[2,1;0.5,0.5;wool_cyan.png;shirt_cyan;]".. + "image_button[2.5,1;0.5,0.5;wool_dark_green.png;shirt_darkgreen;]".. + "image_button[3,1;0.5,0.5;wool_dark_grey.png;shirt_darkgray;]".. + "image_button[3.5,1;0.5,0.5;wool_green.png;shirt_green;]".. + "image_button[4,1;0.5,0.5;wool_grey.png;shirt_gray;]".. + "image_button[4.5,1;0.5,0.5;wool_magenta.png;shirt_magenta;]".. + "image_button[5,1;0.5,0.5;wool_orange.png;shirt_orange;]".. + "image_button[5.5,1;0.5,0.5;wool_pink.png;shirt_pink;]".. + "image_button[6,1;0.5,0.5;wool_red.png;shirt_red;]".. + "image_button[6.5,1;0.5,0.5;wool_violet.png;shirt_violet;]".. + "image_button[7,1;0.5,0.5;wool_white.png;shirt_white;]".. + "image_button[7.5,1;0.5,0.5;wool_yellow.png;shirt_yellow;]".. + + --Pants + "label[0.5,1.5;Pants Color]".. + "image_button[0.5,2;0.5,0.5;wool_black.png;pants_black;]".. + "image_button[1,2;0.5,0.5;wool_blue.png;pants_blue;]".. + "image_button[1.5,2;0.5,0.5;wool_brown.png;pants_brown;]".. + "image_button[2,2;0.5,0.5;wool_cyan.png;pants_cyan;]".. + "image_button[2.5,2;0.5,0.5;wool_dark_green.png;pants_darkgreen;]".. + "image_button[3,2;0.5,0.5;wool_dark_grey.png;pants_darkgray;]".. + "image_button[3.5,2;0.5,0.5;wool_green.png;pants_green;]".. + "image_button[4,2;0.5,0.5;wool_grey.png;pants_gray;]".. + "image_button[4.5,2;0.5,0.5;wool_magenta.png;pants_magenta;]".. + "image_button[5,2;0.5,0.5;wool_orange.png;pants_orange;]".. + "image_button[5.5,2;0.5,0.5;wool_pink.png;pants_pink;]".. + "image_button[6,2;0.5,0.5;wool_red.png;pants_red;]".. + "image_button[6.5,2;0.5,0.5;wool_violet.png;pants_violet;]".. + "image_button[7,2;0.5,0.5;wool_white.png;pants_white;]".. + "image_button[7.5,2;0.5,0.5;wool_yellow.png;pants_yellow;]".. + + --Shoes + "label[0.5,2.5;Shoes Color]".. + "image_button[0.5,3;0.5,0.5;wool_black.png;shoes_black;]".. + "image_button[1,3;0.5,0.5;wool_blue.png;shoes_blue;]".. + "image_button[1.5,3;0.5,0.5;wool_brown.png;shoes_brown;]".. + "image_button[2,3;0.5,0.5;wool_cyan.png;shoes_cyan;]".. + "image_button[2.5,3;0.5,0.5;wool_dark_green.png;shoes_darkgreen;]".. + "image_button[3,3;0.5,0.5;wool_dark_grey.png;shoes_darkgray;]".. + "image_button[3.5,3;0.5,0.5;wool_green.png;shoes_green;]".. + "image_button[4,3;0.5,0.5;wool_grey.png;shoes_gray;]".. + "image_button[4.5,3;0.5,0.5;wool_magenta.png;shoes_magenta;]".. + "image_button[5,3;0.5,0.5;wool_orange.png;shoes_orange;]".. + "image_button[5.5,3;0.5,0.5;wool_pink.png;shoes_pink;]".. + "image_button[6,3;0.5,0.5;wool_red.png;shoes_red;]".. + "image_button[6.5,3;0.5,0.5;wool_violet.png;shoes_violet;]".. + "image_button[7,3;0.5,0.5;wool_white.png;shoes_white;]".. + "image_button[7.5,3;0.5,0.5;wool_yellow.png;shoes_yellow;]".. + + --Belt + "label[0.5,3.5;Belt Color]".. + "image_button[0.5,4;0.5,0.5;wool_black.png;belt_black;]".. + "image_button[1,4;0.5,0.5;wool_blue.png;belt_blue;]".. + "image_button[1.5,4;0.5,0.5;wool_brown.png;belt_brown;]".. + "image_button[2,4;0.5,0.5;wool_cyan.png;belt_cyan;]".. + "image_button[2.5,4;0.5,0.5;wool_dark_green.png;belt_darkgreen;]".. + "image_button[3,4;0.5,0.5;wool_dark_grey.png;belt_darkgray;]".. + "image_button[3.5,4;0.5,0.5;wool_green.png;belt_green;]".. + "image_button[4,4;0.5,0.5;wool_grey.png;belt_gray;]".. + "image_button[4.5,4;0.5,0.5;wool_magenta.png;belt_magenta;]".. + "image_button[5,4;0.5,0.5;wool_orange.png;belt_orange;]".. + "image_button[5.5,4;0.5,0.5;wool_pink.png;belt_pink;]".. + "image_button[6,4;0.5,0.5;wool_red.png;belt_red;]".. + "image_button[6.5,4;0.5,0.5;wool_violet.png;belt_violet;]".. + "image_button[7,4;0.5,0.5;wool_white.png;belt_white;]".. + "image_button[7.5,4;0.5,0.5;wool_yellow.png;belt_yellow;]".. + + "button_exit[6.5,5;1.5,1;exit;Exit]" + +-- =================================================================== +-- Sets Player appearance on first join + +-- minetest.register_on_newplayer (function (player) + +local function newplayer (player) + local name = player:get_player_name() + appearance [name] = { + sex = "male", + skin = mskin.."^", + skin_col = "4", + pants = mpants.."^", + pants_col = "blue", + shirt = mshirt.."^", + shirt_col = "green", + shoes = mshoes.."^", + shoes_col = "black", + belt = mbelt.."^", + belt_col = "black", + face = mface.."^", + eyes = meyes.."^", + eyes_col = "blue", + overlay = moverlay.."^", + hair = mhair, + hair_col = "brown", + } + + save_appearance() + default.player_register_model("appearance_character.b3d", { + animation_speed = 30, + --textures = tex, + + 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}, + }, + }) + --minetest.show_formspec(name, "appearance", appearance_form) + minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = player:get_player_name() + if formname == "appearance" then + change_appearance(name,fields) + end + end) +end + +-- =================================================================== +-- Update appearance when the player joins + +minetest.register_on_joinplayer (function (player) + local name = player:get_player_name() + + if appearance [name] then + appearance_update (name) + else + newplayer (player) + end +end) + +-- =================================================================== +--mirror and wardrobe nodes +minetest.register_node("appearance:wardrobe",{ + description = "Wardrobe - Change clothes", + drawtype = "normal", + inventory_image = "appearance_wardrobe_inv.png", + wield_image = "appearance_wardrobe_inv.png", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"appearance_wardrobe_top.png", + "appearance_wardrobe_top.png", + "appearance_wardrobe_top.png", + "appearance_wardrobe_top.png", + "appearance_wardrobe_top.png", + "appearance_wardrobe_front.png", + }, + groups = {cracky = 2}, + on_place = function(itemstack, placer, pointed_thing) + local pos = pointed_thing.above + local node = minetest.get_node(pos) + local unode = minetest.get_node({x = pos.x, y = pos.y + 1, z = pos.z}) + local facedir = minetest.dir_to_facedir(placer:get_look_dir()) + if minetest.get_node(pointed_thing.under).name == "appearance:wardrobe" then + minetest.show_formspec(placer:get_player_name(), "appearance_wardrobe", appearance_form_wardrobe) + minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = placer:get_player_name() + if formname == "appearance_wardrobe" then + change_appearance (name,fields) + end + end) + elseif minetest.get_node(pointed_thing.under).name == "appearance:mirror" then + minetest.show_formspec(placer:get_player_name(), "appearance_mirror", appearance_form_mirror) + minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = placer:get_player_name() + if formname == "appearance_mirror" then + change_appearance (name,fields) + end + end) + elseif minetest.get_node(pointed_thing.under).name ~= "appearance:wardrobe" + or minetest.get_node(pointed_thing.under).name ~= "appearance:mirror" then + if unode.name == "air" then + minetest.set_node(pos, {name = "appearance:wardrobe", param2 = facedir}) + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "appearance:mirror", param2 = facedir}) + else + minetest.chat_send_player(placer:get_player_name(), "Not enough room there!") + return + end + end + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + local unode = minetest.get_node({x = pos.x, y = pos.y + 1, z = pos.z}) + if unode.name == "appearance:mirror" then + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "air"}) + end + end, + on_rightclick = function(pos, node, player, itemstack, pointed_thing) + minetest.show_formspec(player:get_player_name(), "appearance_wardrobe", appearance_form_wardrobe) + minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = player:get_player_name() + if formname == "appearance_wardrobe" then + change_appearance (name,fields) + end + end) + end, +}) + +minetest.register_node("appearance:mirror",{ + description = "Mirror - Change appearance", + drawtype = "nodebox", + tiles = {"appearance_wardrobe_top.png", + "appearance_wardrobe_top.png", + "appearance_wardrobe_top.png", + "appearance_wardrobe_top.png", + "appearance_wardrobe_top.png", + "appearance_wardrobe_mirror.png", + + }, + paramtype = "light", + paramtype2 = "facedir", + drops = "appearance:wardrobe", + groups = {cracky = 2, not_in_creative_inventory = 1}, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0.4375, 0.5, 0.5, 0.5}, + } + }, + on_rightclick = function(pos, node, player, itemstack, pointed_thing) + minetest.show_formspec(player:get_player_name(), "appearance_mirror", appearance_form_mirror) + minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = player:get_player_name() + if formname == "appearance_mirror" then + change_appearance (name,fields) + end + end) + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + local unode = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z}) + if unode.name == "appearance:wardrobe" then + minetest.set_node({x = pos.x, y = pos.y - 1, z = pos.z}, {name = "air"}) + end + end, +}) + +minetest.register_craft({ + output = "appearance:wardrobe", + recipe = { + {"group:stick", "default:glass", "group:stick"}, + {"group:wood", "group:stick", "group:wood"}, + {"group:wood", "group:wood", "group:wood"} + } +}) + + + + + + + + + + + + + + + + + diff --git a/models/appearance_character.b3d b/models/appearance_character.b3d new file mode 100644 index 0000000000000000000000000000000000000000..a46d9f5cba670b7dffc1b71f23be7ca48a56b178 GIT binary patch literal 71369 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 Jf3JIQ{vW#a{jdN4 literal 0 HcmV?d00001 diff --git a/textures/appearance_blank.png b/textures/appearance_blank.png new file mode 100644 index 0000000000000000000000000000000000000000..0be5786c2adca8dcc40d596ae9fd849ca730896a GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^JZv^(q?yd7K3vk;M!Q z+`=Ht$S`Y;1W=H@#M9T6{Q(CXx20-ZoUk%bNX*m4F+}5h@}K|n8TAvA5+p(mibNO~ YZ1kDrBpR>k0aY+~y85}Sb4q9e0Doy5KmY&$ literal 0 HcmV?d00001 diff --git a/textures/appearance_female.png b/textures/appearance_female.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab2a25c4f91abc743d589ab7654012ea359c3e7 GIT binary patch literal 2395 zcmV-h38eOkP)3QJEVQ5Fj z!IL_q=c8dzh~R_FIE`yyiVEZD56In~MPYFsEUtmD*xnx%e&$n|EGDkqKw|7PM8$$< zn*&1xA7sXbZGx*qC@kGW{@br%Z?1*N2*Nf(Wt{L>kWm0|%SD*$ zIY`&>W9m9ER=?Xpgl+CZL;~8;*TJ-5NVfv%c`qRVQi5;=F?|%)S`N88KF7mkT+v4{ ze)T%i=Pv^QwjSKY<6Add2CNAYnJi9Uy8-p+NjSw#NZafg3A`W93v(ORS`HfvbJ+aP zzfsArx6ODxq(?5ijge{q2<6y%_)P<4+95(%22y7)0RUq92xv@&lwMDoKzgYJ3FBaj zisEC!k*?zmCG#@;_rN=V`Q8I-aK5ll^>@Mr-W3v+Oa z`2Y#RHc?o*2U-m|BR<|e}%pI45%JMiQ}hm>Vr=) z_U^|}(uX011FxD{DZS7^2H+#bb>LM@P_95feF5sP#$Y^IhO?dbwZkl7d-*=B7f+CU zZ4%ny*Zd<IO8^SWc z)C5wQ8Kg2h~CHGyc1lKD0itKsO)a`^odcH=~zQ2jb zby`3u?JC$j67KUD6nzw_sTr`i2G2JAT0N@%$`kNx6D+PFH8lgTT4>eK*N+y2(twWK zKQ@6=AAE}A?|uw*^jM(m5w@6+LV&AD=#$e>51)Xs5{(w{Z~&knJO;PCjl$x5Q-M;; zO!|#1DuoxV)xM9iTY4^dQb%I!bby8?Em)j~TmBsgkAXN9$mldc?r1>WjR(s89<+eP zwK@%u5o&-BLSGB&h8ctAez#gcSj-O;q87mxmv&?v<5#a^_{IAIZn=o92X{dz@3|K5trsc4c={My5AMP(7hhfg%=H`|-@1vdhu>iQ>UHR6 zF817)hb_gKqN2RAgxu{}- zi$~du_>m!DzvpI`X!m(k53c(-tDs|CVACBKf1g*l|oUV^ZUaPDp=cX@Fh8w+zyWAP~F z5WJTosgo8s#XNF%X2JgPm(K2PU4_@$T{hqp^8=Yf^i&G(Xn{Wk7M9UqjY;9aSp7bD zf3v&WY>jobPf)eSYE$BV<`6x3gCGQiPw>0ssn+78>mFFn)iH0$UI6hT12nx5p1% zx`N@e({PHL@cOXFNk4mn^$QZ_+D{D&67AgGP74yduV#1oAS_6rYG2tVXiSBE=FK+l zZhJ(8q0C;Q-cQ-&pbxjV0!E-A> zO}Qxp0UIGqIR{l#6qoP&@2L$lt8FxZ>Pn5<)P}?Jz!F1H4~>DTiGxW2 zYhx9;uRcd{`97$kf^yzGU8WSmD8brTZTcKb3{~fRjT!b_7hc7JJ~@r?_dh}M#N@#Y zfLku2us9Fv`ATSktn~(A3{ENBzMY_fX~3&`MT!8P)RD?$K^PB30k1mSr*X~ab_fde z>jn=r0P3MJjKBX$C=twk^?3mM+UNAi=};ngAOj$!1XB~C1&Sqx8vfQNr;#{55&B*v zq9Q3W4d~_vc@-;gb^I4R|Fr?!>p+U2=Q<5l-|qik$x5)h2sCEA2@$XADG>ImalYmq z>XXwAn((s^Kuz^)MGa5tk*oWG4M4loB1&~Xuo}?r0r&gi|6d9N_#f8URImgoY9{~y N002ovPDHLkV1ftiO^g5l literal 0 HcmV?d00001 diff --git a/textures/appearance_female_belt.png b/textures/appearance_female_belt.png new file mode 100644 index 0000000000000000000000000000000000000000..faea7b2163eef7431e36e8c9f8556eb0c4871f0a GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#0S7a`0KaC5><6Hbi>HfYNXEUl7Yw-?3>cUXlmvgU z<@#&y^jpr+{O+HIT_^6&P;5~FDg=QK)lV}I#!Uab*6{c?b{XE)7O>#0SCVTr(A2s`S(B}Q%@Jikc@k8PZ{zt2naAZUi`f> z|1*=RU4hVBRpYB-(I9K{YqtoOmVGUcDQ@QlavhAs-3qyKQ%>HS1>`Y!y85}Sb4q9e E09`gMzW@LL literal 0 HcmV?d00001 diff --git a/textures/appearance_female_face.png b/textures/appearance_female_face.png new file mode 100644 index 0000000000000000000000000000000000000000..2d52726eea0c97946ea271349303394c00b1eaac GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#0SCVTr$Ew$M=yXvE}kxqAsP4HUN+=nP~>58`1=36 z4PVXCTQ}}&6JuKxG#>EtK+dmeJ+CNJCf_h*ao>UqpS6CM~a YM{)_rzL|G#3y{a)>FVdQ&MBb@013xDJOBUy literal 0 HcmV?d00001 diff --git a/textures/appearance_female_hair.png b/textures/appearance_female_hair.png new file mode 100644 index 0000000000000000000000000000000000000000..912dfea2cfb4aa2760f4475ba2931b635cead2b8 GIT binary patch literal 936 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 E07V&&@c;k- literal 0 HcmV?d00001 diff --git a/textures/appearance_female_shirt.png b/textures/appearance_female_shirt.png new file mode 100644 index 0000000000000000000000000000000000000000..9d1ca42c2ba4688a4d9a2a61f2e45c60ccaa2c84 GIT binary patch literal 922 zcmV;L17-Y)P)&ZU^6nw#O(wBPB?Lw1124Qko|$={ z@B2K@ybuu)5fKp)5fKp)5fKp)@wp)e8Jx=BmH?|Jd>h-xqIq0==uPMHcVu$E&*Gl5 zL+@p5H%6=GryBudyLCQWfePE7oB;7b2H8rxZ!-S*3GiV4`%s?c))wTXKEai}Iq|VN z^~=^x>AuvsG5_7bJ&KR{baMGSa@cna5+Oe7lQ=*AHK*fQ@&3;~mH-9E2H=ZSy2qyA z*i7n1*r7xMr%=R_9zn(!J_QEx$D8}IB&(dL&j7Go{Flqwa{}Px)_(rmDk$6ESC{1R zy$1n!6k7-2M16(}=FuL37WW(ze^#Ezr9RHjxh0&p0<4ys-w84X3F!fFI5EjzqZZ&$ zEyGG2R^nv<Z^4GrUF&AsU^LgDx z({+5$Q*%|@3E3Oz)H~;gx(M~7(`ie(s{ixrCAsDMSkfi8wjeugI_>)LP35lKNsMl+ zw_*PeF6l-bOL}Tq*>53oFDk6wU7wG03&U2pR1+sxOKXtCbQQ%kI!YCy~RYvxID=G8sf znF3Qmj8d%L94Dt#fpiK*RRjT+v3Irqq3;0~*RO}d)J|-3bzid(=GGSEv`BJk=10*= zi*zuKC0!=<3H8iQm#T~F*QFI0RE@B@n%+KfGogppo&_7s+6^_nIotmpFmw$7@HK(2 z2`uSSbA5h$u_U|e!%z7IS!ztFx}o`!4R4bTZ!=UQ-X*M2t*Hj!d!A|q#}2jmjRs>4 wR2z8&bf5D3MvkwEo=9k|S<)T&ml&4+0Ts?xv*ISg+W-In07*qoM6N<$f)&QHjQ{`u literal 0 HcmV?d00001 diff --git a/textures/appearance_female_shoes.png b/textures/appearance_female_shoes.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e549da266c51830036b685031d0fa1cda1b938 GIT binary patch literal 340 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 P00000NkvXXu0mjf)AVot literal 0 HcmV?d00001 diff --git a/textures/appearance_male_belt.png b/textures/appearance_male_belt.png new file mode 100644 index 0000000000000000000000000000000000000000..3396393545439e28e816d9ff531e86ff9a086d30 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{QH!U~YoL&tr;B4q#=W=440#zCIG8v5G`Hmu psGIaHi;01uAmjF1pb~}y+RV$`*nfJ69DD=fdb;|#taD0e0stQYBvAkW literal 0 HcmV?d00001 diff --git a/textures/appearance_male_face.png b/textures/appearance_male_face.png new file mode 100644 index 0000000000000000000000000000000000000000..764104e250f48b7c195f6f5ea438f5a3de7570d4 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{QMBZ!a1OGAIZzJF*1sSF}kK5?r{*h2d~sdF~}C z28IK!lS0rzW#wtK$vh$7o zLC*FfuyYyjVa30MO1-qb?0g1&C)<)s;O4=h-hCBVpaNCRymM!Gpkgc#EwD< zB%w#orBFVZpdSXe0>2n!(Q!X4D*c8-M?9HbY3N@O{9D<0=Vi7WJX}NARcBm zh`6xEgQgdejZW791gbXgmG{qytePI6>Z6lp;$cQ`erxX&rOB{eKizi-21*T^RQpRN z2P9^X%qVA80WjOxRn81#=7M)u(fwYY2QBS zZ2wM*Fwcj}yx7<|2=*y8-OEs>Dq)b48saa<2cbnjTd&jcFv)q4m|i&p7@NBXv~&if z+E)j0zgtX`{=QI9P*6}%P*6}%P*6}%Q1D;i4+Jx}fx~P7)&Kwi07*qoM6N<$f`15= AT>t<8 literal 0 HcmV?d00001 diff --git a/textures/appearance_male_overlay.png b/textures/appearance_male_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..6c98116724a4e1f1622372c95f33960cfc4ed62e GIT binary patch literal 2272 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 II;Vst0HGwU9RL6T literal 0 HcmV?d00001 diff --git a/textures/appearance_male_shirt.png b/textures/appearance_male_shirt.png new file mode 100644 index 0000000000000000000000000000000000000000..6854067b5bf5c4ea7d4bbaab8ba0150d3321a307 GIT binary patch literal 1197 zcmV;e1XBBnP)4wH&pgk}^NbJz&-2h) zBc()2$(uKC{xqhqU%xJ8SrSDNT5Ddve*Ihj;68N%x~@YA@q^v-JfxH?%K|`_Wk@Lz zLeMk~09xz6^sluhiXxIE;o;%ox8oI0od6*O#+V=M(=;*9v#s{BEEr?ZTC>?~aNS?4 z#V`y2jN|yz@BHH(5XUj!zkmPfnK1^X6k2PBVL)qbJ3>myG);f$KZ+tQmkW;L{BqKs zl>YxHLmM&KA(B_?%gBbA3l6ow%aZ9JR_xK7zTt8D5aR^nZEA{g1~Zv z)|xEK=(^5U-uHc`X|i{ulxVGS9EW9DP)gxAj(uNB`2!a{`3OiU3BwSrH9-&{gkYX$ zZf|dw>pQo%x6Ad%f*?R^O&Esuu2PD_;eb+#EX#=Fm^{y!=b6oB1Hfjp!Sg&jE^!>= zIF9|M@B09RVQ4ufP1ENefn`}ZpU?QdPhHpezK`p=1VO;Zj~^F+APDHXj&U4qC9ikN zvLp;cx~?M#0;Xv~2w@5Ca=F+JiQ^cpHA#|iI-LM$+ZNY#8OM<*ifG%G&1S>-d}g=X zJ%0j(5Tt2}F@_f}UT}YZ&*5;Osw(#TJpgxicN`7}>bmCDt5-BlLl6Xv<492yOw&Xd zh8SarqKK~RNRouU?-4@K_dRKv5(EKZ7%~h4MNx1%orvR@Wm(9wjBy-oTrXd~{3Vk7 z?F7v8j4_5F2&n6tX__d@l046C6|*d(EK7_r)OC%NlD_XT#&9~FP)adPlkF7G^Q@dc zJUrmKE|<#%&+{nD5~UQ!$>!P&+&LfDP;+(X@{#u$#r zBb&{J%jIIZz;PVvx(49=`}a@2tv)#iT<0~8WA5(mNRkB4^Vn{;R+5q=p=lcOJhzfJ zjw5NBBBkW!=7wPyh~wBw8OL$xx{fdm8OISJ1Z~^erRHDX0Yy>Rxo+E* z{eDjrMRq$Ih5^@gX_|&C%jo-_qA0k(zh}GMKH>o1_iZQq9USlnb2ek-Iw5}i00000 LNkvXXu0mjfzQICy literal 0 HcmV?d00001 diff --git a/textures/appearance_male_shoes.png b/textures/appearance_male_shoes.png new file mode 100644 index 0000000000000000000000000000000000000000..4759cbfcab75e29b2a3a3e39108ac2fe9c53a310 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#0lN&Zyjg{NuOm=sm#2$kNXEUl*EjMWG7w$RD{Lu$fu zuibTL$r6T`bqB-66t&h&RLXZSYd9{@RmXIb;o4T`j``sMFH{wjl#~`N$(DY5>!(1- z8RS}Q> oT_2_%EtW8xEAKYpn)f%hC)U#qYNoNdTSH&|PKX66fg(ME#@GXRpY3q;u%S8hL$ekQ>6W*0}4 zBnSZ!C2lkkaa}Ton*ae*?S7gmo!vGz0LBBvC*HvzlsO_GE(KGZb2t})$Qd9&DiU0h zLJZ;})O*VIHrYfr`~<{Vvl{}kms8_rgSgp)3_HRI{e#xZg0)r_Y}o9oh3V(F^QOUb z`PTjV_`7*?Q9WH~@LakvTbuXs^$T-R%%z*N0~7u=t2VZFm^hc!3@*05bq(G3fQ#4f z3BdcMCzhR`>=L5hv$3@^P##btV0vO4GvnxOe|q!Mq9m(@L+BLveD|QD+FLU{kqi_8 zwMtOE$5aWOl28_evH&xDk>m3=>t9-|e`(?KHonNgtUE7sN=y~?o)52{+rW9i+VV5g z;OhxO94<*wUlM$W$qVNJ2)O! z@{O-Fre?@DzH;sEBl+tb&{NmSnq7HpgAf9}_btK2DPXAYoZ2ymZ@)1$(?0}scDE5+ z6=Z#^3QvsyQzL4m0JYy`ukoib|4*^HIA^Pib3<1?k1)arLn?>+5$~5C8wg2r3>Q~I ztJwYys(YPhBW{inrwstgolVRX7bQe#c1*JWQVjL;9UayiaoVVwu=_Q}krsT?9IsZo z=s#A1J*+4z1`dXzG($p!2EQl9?8uVJWBynU_vigrV(K_A4%zQR93nu(p&|TTKcFuO zh#ZKZ8Y&rnC^B4UZ-3HYM2@2 f&gM@&=O}&vhq^-nc9o3r00000NkvXXu0mjf`fy>9 literal 0 HcmV?d00001 diff --git a/textures/appearance_preview_belt.png b/textures/appearance_preview_belt.png new file mode 100644 index 0000000000000000000000000000000000000000..1996e2b8a956c67927d976dabd58ecf75e9ad526 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPN2fKirw(y(fTY*A0o-U3d9>++ieXA))_#}EWAv+-Q!LG&0+9# L^>bP0l+XkKlxQzw literal 0 HcmV?d00001 diff --git a/textures/appearance_preview_eyes.png b/textures/appearance_preview_eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..b583c786c638d87290624217414e1176af8b791a GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPN2fKhg>ovvM)<7Y7PZ!4!kK@S+609aHlkWddPVH|B kG~jYOs3F1HEXBaEb1RGd%#X&8fl3)XUHx3vIVCg!02rGg``ClT%eGGr;B5V$MNI@3Dzx)|AD~2=Z1y^ j>*55Fo~A&99}EmD)7gJ2-x7%cs%7wW^>bP0l+XkKh;1ZI literal 0 HcmV?d00001 diff --git a/textures/appearance_preview_hair.png b/textures/appearance_preview_hair.png new file mode 100644 index 0000000000000000000000000000000000000000..520c906bb0290d072f0e0152541d10c59632b993 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPN2fKi*lB2B8C7{p*PZ!4!kK=F8?d4;1lxThUeYSjA zYNw0q!e{^VJ)4~jn`Eu6=ZB?v&pi`7Z_XTvDj_H!XNK-k1Iik~g4@b}B@sX1de0I)Y y0_WcYrhA?WDgE|c-MjtIlO3<8tO9~x`SR-p4V-ozn0FTFHU>{uKbLh*2~7aF$6f*e literal 0 HcmV?d00001 diff --git a/textures/appearance_preview_pants.png b/textures/appearance_preview_pants.png new file mode 100644 index 0000000000000000000000000000000000000000..fa30674b1efd0b29d8e9c41603b2d21d823bbcf8 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPN2fKhAw?LmdKI;Vst0G4co9smFU literal 0 HcmV?d00001 diff --git a/textures/appearance_preview_shirt.png b/textures/appearance_preview_shirt.png new file mode 100644 index 0000000000000000000000000000000000000000..2b39a3d0e1451d0e2b286055d8296cf0b8539ff0 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPN2fKi*;J>rFM}R_`JY5_^JdP(PNU$z$XlxAJG5?|c zW((%S_owsl82ox~%+|(#m#60hS8BfTpa0uf7qYn-SG`UD_5Uv`GxKs5W@e+mZ*SJO zO+NZxQc^-f;*p)<-}*hG!Mw{^_{0xnlqGk(wLhP9O0a~nCoSQCuKNYnGmiwA3r_Ni zi!V^;DG^_|`$4YaDmk$d<}|{9g%p@V<#<36mjO!WI_5U>AC}TXy8u0Bt i_u|NMkshX5j0{5F^YSN2=EMSB&*16m=d#Wzp$P!)cw;L7 literal 0 HcmV?d00001 diff --git a/textures/appearance_preview_shoes.png b/textures/appearance_preview_shoes.png new file mode 100644 index 0000000000000000000000000000000000000000..23ab0b224dd983c48798f4752dfba940e86f9d78 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPN2fKirl#|i&exOjGr;B5V$MLsk4Y>{&@Hk(Tf05vP zZmRS1D7hr31$UWz^)EQ)3$dM4P*PI*A9T(+`>mPrF^L`42hPp(eE;|A&U1}h#RMJK lPPJ5LNON-uIQ3kfzmZqs=J9Rw>*Wb)!`^l%95YvfQ630mSfyLQ9300zxZ37Uep)_?A?`EUQ&@K3#* zyY1ZG-@CN+UpKzou-Y@nbMu@dmMn_eMc*d1JictaGPFkOYgpFi!ua>=&xb#6pWV%? zUS=zBd>T;kHHjuRmWrLbFKt>i!T0ctx3!$tqNa6+*X(j&ly+?qc$NO)Y>m+clhcLQ znhsn%`R(7?bxdo^+(Q(#PtBb!{g3NYP4!CGNTx#%58ACQdwyJfwm;jiX=x3UEZSG@ zad!y_omLsRddC^=5K+N}pX8+71&gnp|vd$@?2>@fKn`Zz3 literal 0 HcmV?d00001 diff --git a/textures/appearance_skin01.png b/textures/appearance_skin01.png new file mode 100644 index 0000000000000000000000000000000000000000..ca2e08152694e686ec3aec489de92644686f6e5e GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=*pj^6U4S$Y{B+)352QE?JR*x3 z7`TN&n2}-D90{Nxdx@v7EBgZuHUSoOq0?mwKp`&Z6z(~s7(sT?@cz{bJN Zz;G#%*=pOTDs`X=22WQ%mvv4FO#t!h9)SP= literal 0 HcmV?d00001 diff --git a/textures/appearance_skin02.png b/textures/appearance_skin02.png new file mode 100644 index 0000000000000000000000000000000000000000..4e27680cb1327c38abe50a46bcf653b9a50df833 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=*pj^6U4S$Y{B+)352QE?JR*x3 z7`TN&n2}-D90{Nxdx@v7EBgZuHUT!VLS>N|Kp`&Z4d(tg#msT?@cz{bJN Zz;MisnOjDm(+{YE!PC{xWt~$(69CIU9B%*s literal 0 HcmV?d00001 diff --git a/textures/appearance_skin03.png b/textures/appearance_skin03.png new file mode 100644 index 0000000000000000000000000000000000000000..ca8c70f4011962c6ae77ebb300ffdb6cef18b218 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=*pj^6U4S$Y{B+)352QE?JR*x3 z7`TN&n2}-D90{Nxdx@v7EBgZuHUT!)uX97)fI_04E{-7_*OTvMsz}&*h ZuuF^S&Wo>SY=8fbkF$ Z!@5aK>kXZj Z4AbT@1!;CEECVWF@O1TaS?83{1OP#5Acz0} literal 0 HcmV?d00001 diff --git a/textures/appearance_skin07.png b/textures/appearance_skin07.png new file mode 100644 index 0000000000000000000000000000000000000000..bf2b893f4fdb1e6e7530ad3e942bf85133fa5c6b GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=*pj^6U4S$Y{B+)352QE?JR*x3 z7`TN&n2}-D90{Nxdx@v7EBgZuHUV}$2dla6Kp|027sn8e>&a_+%Kx2jV3{FtfgzER Yq050u$^F5G2|xu5p00i_>zopr0PE5p1^@s6 literal 0 HcmV?d00001 diff --git a/textures/appearance_skin08.png b/textures/appearance_skin08.png new file mode 100644 index 0000000000000000000000000000000000000000..4133c603a2f7cea98943dbab650b19f6d8621344 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=*pj^6U4S$Y{B+)352QE?JR*x3 z7`TN&n2}-D90{Nxdx@v7EBgZuHUSRSY`KaPKp|027sn8e>&a)nng2T9z%oPP0z)Dr ZL!Bz)=ko!FPXZM%c)I$ztaD0e0ss%YAbbD- literal 0 HcmV?d00001 diff --git a/textures/appearance_skin09.png b/textures/appearance_skin09.png new file mode 100644 index 0000000000000000000000000000000000000000..d603556133ca2307e50b072d4d7825a12f545e06 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=*pj^6U4S$Y{B+)352QE?JR*x3 z7`TN&n2}-D90{Nxdx@v7EBgZuHUSRNvXvQYfI_04E{-7_*OPln1Ad)vV3{FtfgzER Yp{SSf*yLKp5}*PGPgg&ebxsLQ00xd9cK`qY literal 0 HcmV?d00001 diff --git a/textures/appearance_skin10.png b/textures/appearance_skin10.png new file mode 100644 index 0000000000000000000000000000000000000000..cf6c5222a70c729717081abd4c490a786d8fde13 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=*pj^6U4S$Y{B+)352QE?JR*x3 z7`TN&n2}-D90{Nxdx@v7EBgZuHUSRRfPx5+a#2qg#}JO|$zO~`{+w@MnIUn3A(4?G Wt&nlLfLBi}NQI}XpUXO@geCyTJRP3^ literal 0 HcmV?d00001 diff --git a/textures/appearance_wardrobe_front.png b/textures/appearance_wardrobe_front.png new file mode 100644 index 0000000000000000000000000000000000000000..da35376db0847b74958a38cbdb25f1837e7b93ec GIT binary patch literal 722 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 XU-pd02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00HqyL_t(I%Vp9_cGNHwgyH|b z^swc?QW!E}6)b`YV}|UDjgd}UmKfOSB!>ljr>d?bKflPV1{2{9j8Jq}Y;-gQV-BWH z#to)H4(0ybv7``&TL|}WKZrsby<)pxCb2I_vg;Kt|-^$^$pj$AS#&HBUunUf~{?29k}O- z=(%}aH&VQAu81h6@308wel-lbg6lK{WnCNj!nK~8^#cZXXKPQSoapx(+7;i&JaI}y zO8?_h;Y!}x6DcM3{f4`+_XFqXGAvHX@}5F3U=!%<(dD-49AF=dnalQF1MB_T$i@9 zb}1QC#mv~&jhrv6P-`P1a*B+3VCJ|xd*2!3Kz@Dox$9v63o0O{jAP(B@G!=JxeI$% jeC&+75{n|oq)+$e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00JmUL_t(I%O%M@a@;r&fYGmi z0FpCOxVLcNgZZwG_7q#?@=Bu_5Zlbbh|Oqj*di+OC!$H{KROmK%BgKmxG4FYt$7LNg~CZFR;gyDzrd<5+* zy8pE`0i2kI3h~aBLC*zItY+N0flfA2Y=gcT z^D4B;P)+&~lqq8rRYkuGBVa$EO9IKc964aHi1Q*d@MD9YzZUZeDv6kqF>y`28TkP< mg}Diyll)Iyav0zy^-CSYY@VvYa0{GNKyOrYG@^{kshUoVYKgS3{312H=iPlyy(=jy@Xq=LsML zFHG`4;$B!QA zw(k*y$DX_VFM?4K0R$n0!0gTeae4;>g7>KEIQOCVFuw)y02Vgx!S^riGOcRT5J2GK z>DQQj`cKZn$_rmOtM;Kd1 zj*qP+@LPkxak2jk!B1c9SktzEFxeanxfS2FhI-HA7D`tkO(sup08&5y}z5$pvh$Mrsb%@IV_~nPU z*W3r;0W?l=p+IC#W<6#d&Tovman#P*|2ed&B&beNogR`bVk-%d04N$uoSzIo#u7y4 zu{8nlk`EH-@vrGhb?G_SwtiQ>jq6p(fAkG_);Am<4}3Sw8GHg)1i45r?QgZ zsV8>G^PH-xD2f8$(68$nxV&1R?|aI!WOH+qwjGW!&vVMML}dK9{tcF*vviV{gYf_W N002ovPDHLkV1k_=c3=Pi literal 0 HcmV?d00001 diff --git a/textures/gui_formbg.png b/textures/gui_formbg.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7c18c77d475855ac3a89186fb44e030bd58098 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEN|+{G fX$WLy>tN|+{G fX$WLy>tDBAtL}@S#Q?DiopZkPo$quD zU$Om>B0jqIEoymD?^nD8_R!%M>G(?(fFt_~P5$3G;H9yD6^J7aI10d#9odl`*-KzC z#(44K)@*UjpJ)I zfBE@mhn_qCqfsnI3GKww&K$vlD98pH+XPIe(23&GhxeYi|95`%X56}3(jTRSCi15r z-+HdO!92R)T!TppM7n*`G$n+9QVJ2Fs;Vb$INhA1v&X+FUox0fF?SB7gvIroBvYVZ zdUper)5S33ANJLJQ& zhv-4+gcuwlc$Cr|7lc5J0a1$4cmGVZkS`lz8&QQ&-nLx%<@TXEc;^ReaqwzFs3VdJ z^RYt`=r5+sD@!x+WXlFu1;jvTVR^lv+HMI%+Nmd9(6};?3>ChPNCG$r62U{dpwXg; zI?_x$DuuuP?EVuuLJ30j6~UFAQwU0@owNHW2*K~4`wkrhM1&YTx)8FF##)bB63}4h zo(mtGIH;QoADoDG?m>fE60G%PBaJQuv#Lmjn&aOXkPbDAuV)NTWh}mt;jAYg8N3f< zBSq3vWG6MIQ1s6vNCIY6Aqga_9iODf6j5N|^^E1S{il~eHh7JC?>fXtZ}Ba($@1jrW*b?%st9c~s$ z210emkq#A;D|33s66(8_V#Uyw9Rlk6jwk^?kJ#4ZrozJM1m=;&(>ddR)JPO&H(PXH z;mbg8%`m&;7>-hA_bkJ=^QQ+O#y~zei&7fdhxo&m2N97D30-GUMAsk)h#;a-nPRZ2 zkszEnpL74Cl9l&*?0(#^cD@I|_TOrbzt?B?X3fcWhfHqI$<`vSj112hToox+4LHTZ z@r2o?Ww4&mOgyp*^$skb>oHu;$d?k@sVAn9$<3PndWv{qX}!Sid7_S}D7^Ci0$6zl z5{wa1iXvEbe5JxV&-6xvNfgzV#mB(j^+2+qDN9SXsF`gBOeR!!EV>Y?ZHLZ<=Dwqsr;N91 z(t&2@?-fA;?ZmVAT7jPidJ8GHFHKlFlQX+xNeB8_xSQby`rGH z^T_a2)@AaXrrc=I3qmvY%pX|XG_d^b9_2<$GSrN(RoL27-g6{F#q3^7ebXo)^D zzB*_0ZbG@yK0^RR9-aIM!F7&`5Ti#9{c_f!!?hJ4xY|>1I8c$@YYtyW%3CeHcQVGG z)SZ|bXv$kHzKQH!o1;>}l>t|KCLeoxBg6bNM{g}*cDF?v#qRZnK;Y(YcLm_iANHQ; z$Yr(;U4Qh*^}h{(h&lwSZYL?z8s2^C0wS>B|BqJfwn$g#Wv{TRUm7I3!aXPSf`}vjLGjKqc z)dRueW{5!a7Vj#w?jOkFheAo445bXt&GEHoa}_!%*_hWM;O?CMs|gZ>!fRW38fSP@cYA%_Z|^BIQMnJ^wWmq zT$ep8?A>cgwV@ez+CC83yV0_6Dm%#Z^m>D@J+mo@c2rwC6w3xX3rGTccN_8*^W_J? zT1%Ry)OAgkWnWkD@3zjki!V(1^jFAPxc+Fb*ZMeS^xk507*qoM6N<$g35K1 A$N&HU literal 0 HcmV?d00001 diff --git a/textures/misc/appearance_female.xcf b/textures/misc/appearance_female.xcf new file mode 100644 index 0000000000000000000000000000000000000000..82ff62e7cc98c4a3e055f5d0c5e6dd8ad5b084fa GIT binary patch literal 16063 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 literal 0 HcmV?d00001 diff --git a/textures/misc/appearance_female_hair.png b/textures/misc/appearance_female_hair.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a4681b1d6b77fa8edc98ee7c3b9a66ed1c2007 GIT binary patch literal 715 zcmV;+0yO=JP)vh$V)diS3Fe!Tw{O6cP3lzXm?w%bD6Z2vRcAQD(o| zAeJhlaAyD_8sqmW{;1+*26Va+jj^l!x3^!drY~G(4?_DgTuhyPg|Lw{9(1?}Krrlb zQ&(jB*i)c(0J65Yt<2bMa9b)KP)%QpYX?AfKsEW8T6+qFv$?f-Kn3nrF+8_rWGC25 z5fq)*eLKtu@cVr8dW`(2Qr8A&Gyt+oPdJ-fOTzH&=i)f#0NJI-gzL|LqsgfET@3fo x@AJv1cRZ8ei|0>YO1>S}h*^w)$Gy`~`U}l2oehlSu{i($002ovPDHLkV1ihVLlOW0 literal 0 HcmV?d00001 diff --git a/textures/misc/appearance_female_overlay.png b/textures/misc/appearance_female_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..044abbaef7aa153f6e95bef230b2aac996052a56 GIT binary patch literal 726 zcmV;{0xA88P)rEH}lOy4c=rR~Z2* zV{GK9BFLT2J-g?xe3ZMESF)13_lOj!0{#F%9LMPcAfw~L^(Uui ztnB@!>I8`3^B_eV0GQ9`0DyM8U1;`U=|+Hz5D`28oSdF9?hV=# zP$hZrO-WEb1bCv8B{-R`sTdlB00jWou`^YmKN#}wY@PSF#^ZBS2Uiz&eG@yMhQMfa zy;QNzA08by@{p-Dsq7PEdQ$-xuPk#MoT#5#lMG2!eL|65Sprvw`pV^U^c_s(zC@v9M#Bnbro!!X!?LxAhpv_BX!0QeF38C%z}>81!E zgrv8?%6fooUS{9v_5c7c%V)H9Ozgh@004M=xGx2m|5Sp2PPfO37SbOKSrjg)IM2b# zq|@yo@V&yU-*mhc0*cB~;Cm_1!1pLWxfR(b$?t0XvV6vl`L43;DNR6K`@r`=2*Fbn zrrr>R3p_sDBaUN;SKC?;5cnSbdiB}b+dp7YxS-;>-F0kQMpzUs{^$d=^8i8!zI^-s zv+Sf+wLq;2n9XKsDHL_CW7GUUHFXI1cyYPb`YtX%;Y~{97eo6gZ(pX%_W%F@07*qo IM6N<$g7h;<6#xJL literal 0 HcmV?d00001 diff --git a/textures/misc/appearance_female_shirt.png b/textures/misc/appearance_female_shirt.png new file mode 100644 index 0000000000000000000000000000000000000000..52f395383e52bcaf3a7c8fc08a308793d8c6e56f GIT binary patch literal 721 zcmV;?0xtcDP)1RWzK*?~RD4(x!)R_NT{fz%(;0VxRBlT2M~@3yOqfRt{r zD|ajCx^ULnoPFnfl)IK!vXZ;^b#%{j@7G-j442!RYep#re*hp&)9e9|({bVYqvI1& z_4|(L1c=~^AVnJhn9t_`fL5zjYWq(Tz`^s~zP-6-x+FAgBS1!o2p#~Aj!y{p2I~n> zNfCTq5{wT4p6Fx=PNu6X#DWlD0N{IWt_t+}1O9y_42{v~^t}zPF7Em|c0LP%;qdC0 ziFJPe;INj5OebSypCHpa2DrGg%yDp{emWWFNK*9)WqM-?@I5!TgFCx>xmb_FfK4Z3 zB|vKl5Tyv7&qZOtRwcmrK0pRuN2i?xZLjmoyl+$zd?VnM2_U1&NddRiBt>152R z^cwY@==2R7i0Ztr(+F*(9o|1UBz1_XTQ$}tjlTiDY|aF606f}s{1xNch|^%*m@L|> zdUf&2Ynk!J?*!|{q|9FT&TrZAs}aB$V*o%1A^!~lzUQ)De?S1>dlcquea~g0y zr;8{IO0$05@kR(JD@#!rWI&@ZVEp7(X8)WnGEZna@04ZFXaaQYqc8xa6hD(V^M)i| z;NkubX_`X3+O~p#C=A%wi_fi{-93`T3nrf1ea~f8geCFfMIT_D2T)4!( zfmRbRo6WLPDC&IAWyODLbO`u(cD~a3&dxvKO)BIM@kJ%>IXj^c00000NkvXXu0mjf DZx2MY literal 0 HcmV?d00001 diff --git a/textures/misc/appearance_female_skin.png b/textures/misc/appearance_female_skin.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f9be1e3cea72ecd36cf33fd2f9e477ecf55a2f GIT binary patch literal 279 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 F{|45hQ9u9y literal 0 HcmV?d00001 diff --git a/textures/misc/character.xcf b/textures/misc/character.xcf new file mode 100644 index 0000000000000000000000000000000000000000..30e7f1bce15297fc8edcd4cd223dc52720fe8e0f GIT binary patch literal 26923 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 AxBvhE literal 0 HcmV?d00001 diff --git a/textures/misc/character_163.png b/textures/misc/character_163.png new file mode 100755 index 0000000000000000000000000000000000000000..87d3bbe7f26b848c4c48ebe56e46daa6ae3913ee GIT binary patch literal 1662 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 GU)kU9IMTHM literal 0 HcmV?d00001 diff --git a/textures/wieldhand.png b/textures/wieldhand.png new file mode 100644 index 0000000000000000000000000000000000000000..9007274f31dcc0ee807f8915258effcf4777af2b GIT binary patch literal 668 zcmV;N0%QG&P)kdg00002VoOIv0L4Lr z6%7CY010qNS#tmY3ljhU3ljkVnw%H_000McNliru-w7NM3^GCGS;qhX0xd~IK~zY` z?US)?6G0G$znNR#**K0OqDX**Qc+w<$rI2+2L%!muR%e|h>jv}z!OmO3RJiQp+q4x zkT|i==ewJsxbw*%d@&Ub+pM(u=i7g0{)PYR-!Hjdk~aH&c6rB)v%dqRJmV{0cyECn zVt1eZINsY3kOEIRw1k+R2O>Zm%jciAHvptOxgpV zcRj{I%qvV35R{03U_LKGGVV%Z&Y9#?R9@joQ?5h+I6k>1%Bi@|FhE%LeYra&y}fZa zU`#F*)yf-dkmD5OE6R1hkt2Do-=>B)rAq*u)7SAz>esFc-*S)IiPy05H`Q7PugMqz zQG0tGVq?bmmw(5)E^IMjB$3yt(`FV0TL%}LIDi>*9B)0;4K3L{WD^JADC*0!Nqb7h zW)2*oPP48AHb$xq9e{C0pHgBBC#O%sf&+iDqWKAF;?PlJ16L;i0000HCE literal 0 HcmV?d00001