Skip to content

Instantly share code, notes, and snippets.

@Jordach
Last active February 11, 2017 22:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jordach/9f504ebd806bf1cc76849a923766b538 to your computer and use it in GitHub Desktop.
Save Jordach/9f504ebd806bf1cc76849a923766b538 to your computer and use it in GitHub Desktop.
-- wardrobe formspec
wardrobe = {}
wardrobe.player_materials = {}
wardrobe.formspec_selections = {}
wardrobe.formspec_selections["singleplayer"] = {1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
--clothing
wardrobe.undershirt_names = {}
wardrobe.shirt_names = {}
wardrobe.under_trousers = {}
wardrobe.trousers = {}
wardrobe.sock_names = {}
wardrobe.shoe_names = {}
wardrobe.accessories = {}
--biological features
wardrobe.mouth_parts = {}
wardrobe.hair_styles = {}
wardrobe.eyes = {}
-- preset names
wardrobe.shirt_names[1] = "Sam's Shirt"
wardrobe.shirt_names[2] = "Plain T-Shirt"
wardrobe.shirt_names[3] = "Tank"
wardrobe.shirt_names[4] = "Tank2"
function wardrobe.formspec_meta(
eye,
hair,
ushirt, ushirt2,
utrou, utrou2,
socks, socks2,
jacket, jacket2,
trous, trous2,
shoes, shoes2,
acc1, acc2, acc3, acc4, acc5, acc6 )
local formspec =
"size[14,10]"..
"label[1, 0; "..wardrobe.shirt_names[ushirt].."]"..
"button[1, 1; 1, 1; shirtdown; <-]"..
"field[2.05, 1.32; 1.75, 1; entry1; ; RRGGBB]"..
"button[3.27, 1; 1, 1; shirtup; ->]"..
"button[8.27, 1; 1, 1; exit; Exit]"
return formspec
end
minetest.register_node("wardrobe:node", {
description = "Wardrobe",
tiles = {"wardrobe.png"},
groups = {crumbly=3},
after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos)
local pchoices = {}
local pname = placer:get_player_name()
meta:set_string("formspec", wardrobe.formspec_meta(unpack(wardrobe.formspec_selections[pname])))
end,
on_receive_fields = function(pos, formname, fields, sender)
if(fields.quit) then return end
local pname = sender:get_player_name()
print (wardrobe.formspec_selections[pname][3])
local meta = minetest.get_meta(pos)
if (fields.shirtdown) then
wardrobe.table_incrementer(3, 1, false, sender)
meta:set_string("formspec", wardrobe.formspec_meta(unpack(wardrobe.formspec_selections[pname])))
--minetest.show_formspec(pname, formname, wardrobe.formspec_meta(unpack(wardrobe.formspec_selections[pname])))
end
if fields.shirtup then
wardrobe.table_incrementer(3, 1, true, sender)
print (wardrobe.formspec_selections[pname][3])
meta:set_string("formspec", wardrobe.formspec_meta(unpack(wardrobe.formspec_selections[pname])))
--minetest.show_formspec(pname)
end
end,
})
function wardrobe.table_incrementer(arraynum, by, operator, player)
if operator then
wardrobe.formspec_selections[player:get_player_name()][arraynum] = wardrobe.formspec_selections[player:get_player_name()][arraynum] + by
else
wardrobe.formspec_selections[player:get_player_name()][arraynum] = wardrobe.formspec_selections[player:get_player_name()][arraynum] - by
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment