From d6e05e03904d2355656da73c10f0731b3f61e138 Mon Sep 17 00:00:00 2001 From: TheShadowZone12 Date: Thu, 28 Aug 2014 09:01:22 -0500 Subject: [PATCH] first commit --- README.txt | 12 ++ chest.lua | 141 ++++++++++++++++ craft.lua | 102 +++++++++++ depends.txt | 1 + init.lua | 243 +++++++++++++++++++++++++++ textures/girlygirl_brick.png | Bin 0 -> 555 bytes textures/girlygirl_cactus_side.png | Bin 0 -> 748 bytes textures/girlygirl_cactus_top.png | Bin 0 -> 694 bytes textures/girlygirl_chest_front.png | Bin 0 -> 702 bytes textures/girlygirl_chest_lock.png | Bin 0 -> 727 bytes textures/girlygirl_chest_side.png | Bin 0 -> 659 bytes textures/girlygirl_chest_top.png | Bin 0 -> 581 bytes textures/girlygirl_cobble.png | Bin 0 -> 760 bytes textures/girlygirl_diamondaxe.png | Bin 0 -> 180 bytes textures/girlygirl_diamondpick.png | Bin 0 -> 300 bytes textures/girlygirl_diamondshovel.png | Bin 0 -> 203 bytes textures/girlygirl_diamondsword.png | Bin 0 -> 255 bytes textures/girlygirl_ladder.png | Bin 0 -> 410 bytes textures/girlygirl_leaves.png | Bin 0 -> 397 bytes textures/girlygirl_magenta.png | Bin 0 -> 522 bytes textures/girlygirl_sand.png | Bin 0 -> 650 bytes textures/girlygirl_sapling.png | Bin 0 -> 328 bytes textures/girlygirl_stick.png | Bin 0 -> 204 bytes textures/girlygirl_stone_brick.png | Bin 0 -> 726 bytes textures/girlygirl_tree.png | Bin 0 -> 669 bytes textures/girlygirl_tree_top.png | Bin 0 -> 794 bytes textures/girlygirl_wood.png | Bin 0 -> 333 bytes textures/heart.png | Bin 0 -> 876 bytes tools.lua | 52 ++++++ tree.lua | 25 +++ 30 files changed, 576 insertions(+) create mode 100644 README.txt create mode 100644 chest.lua create mode 100644 craft.lua create mode 100644 depends.txt create mode 100644 init.lua create mode 100644 textures/girlygirl_brick.png create mode 100644 textures/girlygirl_cactus_side.png create mode 100644 textures/girlygirl_cactus_top.png create mode 100644 textures/girlygirl_chest_front.png create mode 100644 textures/girlygirl_chest_lock.png create mode 100644 textures/girlygirl_chest_side.png create mode 100644 textures/girlygirl_chest_top.png create mode 100644 textures/girlygirl_cobble.png create mode 100644 textures/girlygirl_diamondaxe.png create mode 100644 textures/girlygirl_diamondpick.png create mode 100644 textures/girlygirl_diamondshovel.png create mode 100644 textures/girlygirl_diamondsword.png create mode 100644 textures/girlygirl_ladder.png create mode 100644 textures/girlygirl_leaves.png create mode 100644 textures/girlygirl_magenta.png create mode 100644 textures/girlygirl_sand.png create mode 100644 textures/girlygirl_sapling.png create mode 100644 textures/girlygirl_stick.png create mode 100644 textures/girlygirl_stone_brick.png create mode 100644 textures/girlygirl_tree.png create mode 100644 textures/girlygirl_tree_top.png create mode 100644 textures/girlygirl_wood.png create mode 100644 textures/heart.png create mode 100644 tools.lua create mode 100644 tree.lua diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..59d1e75 --- /dev/null +++ b/README.txt @@ -0,0 +1,12 @@ +So I know there are girls out there who wish there was a mod made for them +well wish no more cause straight from cg72 and shadowzone comes the.. + + GIRLYGIRL MOD!!!!!!!!!! + +Have fun playing with pink building blocks and no more wishing they wouldn't focus so much on guys!!!!!!!!!! + +The items included.. + +pink wood,cactus,ladders,chest,sand,bricks,tree,cobble,stone,tools(like picks,axes,shovels,swords),hearts,saplings. + + diff --git a/chest.lua b/chest.lua new file mode 100644 index 0000000..16b69ac --- /dev/null +++ b/chest.lua @@ -0,0 +1,141 @@ +chest_formspec = + "size[8,9]".. + "list[current_name;main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]" + +function get_locked_chest_formspec(pos) + local spos = pos.x .. "," .. pos.y .. "," ..pos.z + local formspec = + "size[8,9]".. + "list[nodemeta:".. spos .. ";main;0,0;8,4;]".. + "list[current_player;main;0,5;8,4;]" + return formspec +end + + +minetest.register_node("girlygirl:chest", { + description = "Chest", + tiles = {"girlygirl_chest_top.png", "girlygirl_chest_top.png", "girlygirl_chest_side.png", + "girlygirl_chest_side.png", "girlygirl_chest_side.png", "girlygirl_chest_front.png"}, + paramtype2 = "facedir", + groups = {choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + is_ground_content = false, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec",chest_formspec) + meta:set_string("infotext", "Chest") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +local function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +minetest.register_node("girlygirl:chest_locked", { + description = "Locked Chest", + tiles = {"girlygirl_chest_top.png", "girlygirl_chest_top.png", "girlygirl_chest_side.png", + "girlygirl_chest_side.png", "girlygirl_chest_side.png", "girlygirl_chest_lock.png"}, + paramtype2 = "facedir", + groups = {choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + is_ground_content = false, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", "Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") and has_locked_chest_privilege(meta, player) + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, + on_rightclick = function(pos, node, clicker) + local meta = minetest.get_meta(pos) + if has_locked_chest_privilege(meta, clicker) then + minetest.show_formspec( + clicker:get_player_name(), + "girlygirl:chest_locked", + get_locked_chest_formspec(pos) + ) + end + end, +}) + diff --git a/craft.lua b/craft.lua new file mode 100644 index 0000000..ecdcc39 --- /dev/null +++ b/craft.lua @@ -0,0 +1,102 @@ +minetest.register_craftitem("girlygirl:girlystick", { + description = "Girly Stick", + inventory_image = "girlygirl_stick.png", +}) + +minetest.register_craft({ + output = 'girlygirl:girlystick 2', + recipe = { + {'default:stick'}, + {'dye:magenta'}, + {'default:stick'}, + } +}) + + +minetest.register_craft({ + output = 'girlygirl:wood 8', + recipe = { + {'girlygirl:tree'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:pick', + recipe = { + {'default:pick_diamond'}, + {'girlygirl:stick'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:stonebrick', + recipe = { + {'default:stonebrick'}, + {'girlygirl:girlystick'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:chest', + recipe = { + {'default:chest'}, + {'girlygirl:girlystick'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:chest_locked', + recipe = { + {'default:chest_locked'}, + {'girlygirl:girlystick'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:cobble', + recipe = { + {'default:cobble'}, + {'girlygirl:girlystick'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:tree', + recipe = { + {'default:tree'}, + {'girlygirl:girlystick'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:leaves', + recipe = { + {'default:leaves'}, + {'girlygirl:girlystick'}, + } +}) + + +minetest.register_craft({ + output = 'girlygirl:sand', + recipe = { + {'default:sand'}, + {'girlygirl:girlystick'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:brick', + recipe = { + {'default:brick'}, + {'girlygirl:girlystick'}, + } +}) + +minetest.register_craft({ + output = 'girlygirl:magenta_block', + recipe = { + {'plasticbox:plasticbox'}, + {'girlygirl:girlystick'}, + } +}) 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..0f1f0c4 --- /dev/null +++ b/init.lua @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +local cylbox = {} +local detail = 16 +local sehne +for i = 1, detail-1 do + sehne = math.sqrt(0.25 - (((i/detail)-0.5)^2)) + cylbox[i]={(i/detail)-0.5, -0.5, -sehne, (i/detail)+(1/detail)-0.5, 0.5, sehne} +end + +------------------------------------------------------------------ +------------------------------------------------------------------ +------------------------------------------------------------------ +------------------------------------------------------------------ +------------------------------------------------------------------ + +dofile(minetest.get_modpath("girlygirl").."/chest.lua") +dofile(minetest.get_modpath("girlygirl").."/craft.lua") +dofile(minetest.get_modpath("girlygirl").."/tools.lua") +dofile(minetest.get_modpath("girlygirl").."/tree.lua") + +------------------------------------------------------------------ +------------------------------------------------------------------ +------------------------------------------------------------------ +------------------------------------------------------------------ +------------------------------------------------------------------ + +minetest.register_node("girlygirl:magenta_block", { + description = "Girly Magenta Block", + tiles = {"girlygirl_magenta.png"}, + is_ground_content = true, + groups = {cracky=3, stone=1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("girlygirl:stonebrick", { + description = "Stone Brick", + tiles = {"girlygirl_stone_brick.png"}, + groups = {cracky=2, stone=1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("girlygirl:sand", { + description = "Sand", + tiles = {"girlygirl_sand.png"}, + is_ground_content = true, + groups = {crumbly=3, falling_node=1, sand=1}, + sounds = default.node_sound_sand_defaults(), +}) + +minetest.register_node("girlygirl:brick", { + description = "Brick Block", + tiles = {"girlygirl_brick.png"}, + is_ground_content = false, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("girlygirl:tree", { + description = "Tree", + tiles = {"girlygirl_tree_top.png", "girlygirl_tree_top.png", "girlygirl_tree.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + on_place = minetest.rotate_node, + paramtype = "light", + drawtype = "nodebox", + selection_box = { + type = "fixed", + fixed = cylbox, + }, + node_box = { + type = "fixed", + fixed = cylbox, + }, +}) + +minetest.register_node("girlygirl:leaves", { + description = "Leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"girlygirl_leaves.png"}, + paramtype = "light", + waving = 1, + is_ground_content = false, + groups = {snappy=3, leafdecay=3, flammable=2, leaves=1}, + drop = { + max_items = 1, + items = { + { + items = {'girlygirl:sapling'}, + rarity = 5, + }, + { + items = {'girlygirl:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("girlygirl:sapling", { + description = "Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"girlygirl_sapling.png"}, + inventory_image = "girlygirl_sapling.png", + wield_image = "girlygirl_sapling.png", + paramtype = "light", + walkable = false, + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} + }, + groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) + + +minetest.register_node("girlygirl:cactus", { + description = "Cactus", + drawtype = "nodebox", + tiles = {"girlygirl_cactus_top.png", "girlygirl_cactus_top.png", "girlygirl_cactus_side.png"}, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = cylbox, + }, + node_box = { + type = "fixed", + fixed = cylbox, + }, + groups = {snappy=1,choppy=3,flammable=2}, + sounds = default.node_sound_wood_defaults(), + on_place = minetest.rotate_node +}) + +minetest.register_abm({ + nodenames = {"girlygirl:cactus"}, + neighbors = {"group:sand"}, + interval = 50, + chance = 20, + action = function(pos, node) + pos.y = pos.y-1 + local name = minetest.get_node(pos).name + if minetest.get_item_group(name, "sand") ~= 0 then + pos.y = pos.y+1 + local height = 0 + while minetest.get_node(pos).name == "girlygirl:cactus" and height < 10 do + height = height+1 + pos.y = pos.y+1 + end + if height < 4 then + if minetest.get_node(pos).name == "air" then + minetest.set_node(pos, {name="girlygirl:cactus"}) + end + end + end + end, +}) + +minetest.register_node("girlygirl:fence_wood", { + description = "Wooden Fence", + drawtype = "fencelike", + tiles = {"girlygirl_wood.png"}, + inventory_image = "girlygirl_fence.png", + wield_image = "girlygirl_fence.png", + paramtype = "light", + is_ground_content = false, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("girlygirl:ladder", { + description = "Ladder", + drawtype = "signlike", + tiles = {"girlygirl_ladder.png"}, + inventory_image = "girlygirl_ladder.png", + wield_image = "girlygirl_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + climbable = true, + is_ground_content = false, + selection_box = { + type = "wallmounted", + }, + groups = {choppy=2,oddly_breakable_by_hand=3,flammable=2}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("girlygirl:wood", { + description = "Wooden Planks", + tiles = {"girlygirl_wood.png"}, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("girlygirl:cobble", { + description = "Cobblestone", + tiles = {"girlygirl_cobble.png"}, + is_ground_content = true, + groups = {cracky=3, stone=2}, + sounds = default.node_sound_stone_defaults(), +}) + + + diff --git a/textures/girlygirl_brick.png b/textures/girlygirl_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..16c0ac2f143741a83e847f295520915b8e4f5644 GIT binary patch literal 555 zcmV+`0@VG9P)x=xXx!_pw0K=wH=E!QA zoMLZd*V~e9TSp$xf-?^RtRg!W>1BRMZZQYK3P0t-q={{T~f{*{b3b7BAh002ovPDHLkV1g(P1q%QG literal 0 HcmV?d00001 diff --git a/textures/girlygirl_cactus_side.png b/textures/girlygirl_cactus_side.png new file mode 100644 index 0000000000000000000000000000000000000000..d16f75ff396f2fcd89b2c1fb7f07633fca3d2406 GIT binary patch literal 748 zcmV>H7%q5^0!P=+XJq;u2$O}_d1up6f}J22ccuaO?T{x z`xQ!sQroz~J$;33ahJZrq*YpSN7IMKjj0VynH0W_U#ScnPbUNoh0+bT+;H0+ckM~< zC{-$zH{x!On9-6eE%`d06*i`=R$5_JR}l2wvn6iVchBK?R99PVC^w)e5EO z(`!OcN3GT|p-}2898Mp|W!_E)^>l2Dy9B|UX_=-{<#0Tz<3XWq+}?OlsZv_95OMoV){f^TV>!>JRvutr=v1ZsuW5) z;-ZcT=i(Q_+4#AhhqR2!G|lST5f=r)fpkPJ)77>)E~pH^vGkGkdN!u58k;;d-0B5g zZBQBb$wl)XcEz7&b&YAc;F71!tJN;LysU-wdd9TWhBn6qxe;@w-Ai9-JEG-M*Zw}&v;Zz?v{W2 e=r?ikeg6U~RQTiT6P7Um00007kHIAP`WHFY48?XrWLLf7K#XMWNuO-uxfLvtA@Z*(}@1X0kh(OlCbKE`Dy$;q$=z zd7kJ!Z!cbP*%g}x`kESIk=nvcp;RsPz5_SIZTHiAU?dZ_B?_fXE|bg6l`5rErOK;e zOQ`~DdcIG;)zi_{cEzS>5&l}-Pw(mJNVFuH2Ku@#DOC!kSR~OhQ<$15ol3Oyb;S?T zFAVg-)Uj*fmZv5PQxRCzPJqpfA2ucvJ{?8)RNrgC!+(=XK)ni>*KvB=}}kwi=Mm3J3C9Yd>{ z8YYg6WoAxb`E;I3TdlSgu6vUHY-sg7#K-9)L#twuLTTTDeFrkRSnMUwd)bTDtf-tR zlzKYnA^wzpr?0D4FPUo#AB7L)<~|J{U#y`9vB>`~zU&2EZIv^xg*Qyi)M|IqJBC)h zpMIdJp-{@r&78Oz-cnx}M!)-JQ8|;zjXYbj$0C(8+hNDo>F1gn+LC1^YgY7hM1Od& zm^m?a=&6aBLQltrbxjSW(+j*)xw%@c?>Pf260P$Zr;cTEGlku-C(+V%$-s(D14Cx^}~!o{pZ5o8h)v zt#W4S*w~@m93+}*3nQ7U=?(GUM&QTvp$+RctotqfMO&g&8Odyg>-HU(nA#3IrjCs~ c^CbM>Un}z)_Q4h6X8-^I07*qoM6N<$g49D!y#N3J literal 0 HcmV?d00001 diff --git a/textures/girlygirl_chest_front.png b/textures/girlygirl_chest_front.png new file mode 100644 index 0000000000000000000000000000000000000000..428cbb34203eb57a01a148b26d77a288b1d0293a GIT binary patch literal 702 zcmV;v0zv(WP)%;z+}C1%MDUac zp65KA^F1Mcd^^UaR2a6!of&x$@)lVj3F2rbY*gZjwy@S`R8uqu{gsZ?WbU<3-_eyj zsz#$!8R#ihDl>4}38l)Zu@FTRuNCTerfdq%1y5u{p1Ci)gsYMInnVb!ui>7E@M zcIdSv@k~dmbu2y-^er4G>RXV@4%5_XwMG;l%%q{;a?Z0ZIj0e2Ql~tnGP7w{S1#99 zn95};wL3O#*byGhh32nG4BInt&=MXu;zB~6fUsAK3yCnEi~W``u4z!r#WNjY8l~aJ zJ$~EgY%Z3Ka4KUdWq;1yl9MU7CS2(8aL!i6uzfJ(g`N<sc(w(a@shtFMn`&Es`SYe>6tK*mNf0D*gtt+?gJeVl`?04~-Z6CPm={L`k1c~5v zYc}m#()Xu-Kq8^5qpy3o@!S;`tbhBS;ajUb*YWbT%dWbp(OA+~D5YA|Q7R2G?ch)q#JLXW%8l&1iok*zmt#6{adP6ORu~Q|c&@1(lgbRBP-SE0hXTnfCuopU^m`iPEE3tCo!w z3Z)f8m6_VyU0YTRB@#OxDoves(jRWqNrd>xo#?AA))o%{`uh=k^}*YIw9JotY*xIo k$o+~3GjSz5Aa#Ab_hyIRJLXldKD z?YeFHOOkl9DpfiX9}2Gc^~lk;eo|98aFfgB3Q@e(m4rsgv_~wOHt#XZW?i%HuM1cG zV%4e*YiEA2YQusli)PH3G;3VA*At3Anlb#{6$eYgULp1+!h7rD`7vRy;6}z=gO{#y zVTuB+o_MkZz4yz3dr11ic^EID=gHG}#so0ZG8bktR42a&5M(lC5q zTvG*gH9PKFG@~L_QI^R;uBV|-A(BOj-5$tvwRN;*N5KCUtED5;)wFj2P06D~CCGFY zqFmv&T`g@b9TnyOLGQP*M-iomw#JRv)zZ>7YFMT#*Yl?>qlP6C+y2qkaohubw?;J) z;)fg2ms`vaFqE=-k30GPY~LE;$2;82SQyxE<*lwbS^;5c(7$ox6P)6Cn{%1W_PG2vX4S z06YW|Z$S$s4?smlO+i70ghUMm0?H6Yk>e1{-mEv{+4=WTtm7bY%PXCG&pG$pkiK}B z(tZ>UX3}X-8H6&Y2xLK8_QG)|-IxjYYnB7ewCx|wMeEVWUwx`ldR3E2tFvcEtJCSh zZ8x+!OKW>}{P@lHqAD{Oz2i+$E)zt#rM22ZXHbY%8h0IPw4OM1?3A5cmhQ|&`8D_z zptiVXR9h$&S8N7@!6Zq~dok3xd*1S)dnQRCy5$X>-ib4nQfa2KQ7Uu>kDNGmD!d$p z>Cbfv|Mb#cE?iF1BBRVeI3J`%CagxO&V|*$gl3fP%!N%7!`Dyv?Si*Ushxyd1^bbU zk;g4JBfqYBe}@+%&pHlf+a>Sq27&m+k;zOZok1pC>yL7cR%vcBS!wL4ROWv9 z;b$=|2bIzT?}D|~U=-y#z1qUsrP@L!bK=at+8_P~nT*O@t-5l&6y*vL6rw0sDNQE( zYK>NuGbB+A3bSj<`*sy(GMT0IwT!`_u~C`pu1>DXWZ~d7xHJcqQfp(9oVie#=?q{n zsx3?sU6NUipwnw@w7Tno{|#1SqtjcvRES%NLy{?iPH&P7CTCU}t;R-S_P?R8(>OAv zty6>1U58d0jnkf)9)TK&xG{lqvX41+~3^>=&zTY58Jo> t{E(l{IqCRdm!}=id+DgyCiTIde*qE-1y5K-b(#PG002ovPDHLkV1m7xF@pdA literal 0 HcmV?d00001 diff --git a/textures/girlygirl_chest_top.png b/textures/girlygirl_chest_top.png new file mode 100644 index 0000000000000000000000000000000000000000..251f2bb5f1f2a47745c2b39b94f739ff52e53629 GIT binary patch literal 581 zcmV-L0=oT)P)$zw-IoWh2ytyAR#{0aG?)cFYi zM7mV&Q>G45qzViJ*$A>$J06WFGR0^o0ZbOeBY5w-@7>2xfBdu7T@qfd)cXrv5W0po z5QBQS2p=Z(>y_|*&ml9E`Tq4fMfJ2sXD>W6nv5p!#JFg{;C`cLyC%uhH)=G{BcU~Ec{&Mf5JtDWa2S$Ne-p=)HIXG0BR$*q1aQiqeg|vtI7>I=$_!D{=%QG>Nm4P;cnw!Z+-I( TOF=yY00000NkvXXu0mjfXsZyF literal 0 HcmV?d00001 diff --git a/textures/girlygirl_cobble.png b/textures/girlygirl_cobble.png new file mode 100644 index 0000000000000000000000000000000000000000..30a0f52f74b685442dc062ad3c369fc932112fb0 GIT binary patch literal 760 zcmVdN&hFEZzC(Wa>_IBC zqkd;tFHC+swYKq#RBFN=vza-wa#aa=y!y{h?_c~M?x*2Fzg@OV7jAq6;Jh`aploIW z=x%y{zI~NRk<;u%q!N-5#@q3U#f*3H=@cVc!Mw6OCsVPzwjGFQqC8zV%nKzPZY4C8 zP>fLW^4`yc(O#qF?d}0MO?z{-iZSX?oyF}SZifKs^}59kM%bq-Rq|-@evm}~Dhrk8 z8_(PENzoVqAR)b|_4U#%?iv8%c3@8w_Sc&Hed62P46{CW4Oh#JnI8`*8w1v zJnDDIES$oHB=5sml1|{B-{~FpJJR?{wTO zN=QEo0c^djFD}#|b?9ARUTW00jS~_d2LA!Uyh$V9xN6-100009jrg z%Jf)L_?Y=0AD;LlkqS)wbra+|Hg41UFDts^|Nn67pYwIj`gzUyf3j;|;Mp%%d^8yt Y0v?%pPFptX63|8lPgg&ebxsLQ07aBRCjbBd literal 0 HcmV?d00001 diff --git a/textures/girlygirl_diamondpick.png b/textures/girlygirl_diamondpick.png new file mode 100644 index 0000000000000000000000000000000000000000..4ae832317a23a7876505f8501397e989ef61f92b GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAQ1G6o zi(`nz>Ewh30tSa9{@>O6=RWbq((@jZ7z>)O`29Vf8P(B_}V^D&w;HiNT$H| z|33rcn3}Jm>-sw`DFl1vW&tv)StsP4P;e(nvKZOkjQKUm%N?EGwhZ-$}eXZdHmVvBOso^Uy9 v_WeI`(bead!pWNz!kn6B$qbuv+n5*v7_*lCwN*X@^eKaEwh30tS;-J=}lmE5D38aN*BOedfoy z#cqpu4lJL!fU(6SS%QH(@mTb;o+BB@IF9`H;o;%u(>DHd&C+#B+8T%8maqT+hUfqL zUt;n7|NfIR|DX8iC!+D;@{jjRj{N-puiO0pe#!Z2{>5w7o~l<@J@=nqZlBsc)>%qx z3eKKr^qRt0zs2uw{f8f4>vgTe~DWM4f DS{QBz literal 0 HcmV?d00001 diff --git a/textures/girlygirl_ladder.png b/textures/girlygirl_ladder.png new file mode 100644 index 0000000000000000000000000000000000000000..62439a551ec2ae16a2f5779fbca84ac1b85b086c GIT binary patch literal 410 zcmV;L0cHM)P)s$mNTMb&50iOM=GsV50~5r;-5uC0_F3?mYO$=g3MIvqY!ynX zS}c!y`p-gTbysCm84N82Kw2{xL^fd@(ek^rgYLKf1mMA`)ATyb8M8>C5yT-Q6(fa4 z&d5$IngDEEABbr$e7!aPn280aYx^otAxpVMgcP(pZ)8&$yivfj+v3@8B?GSd_q<0o zGyNJuh_MGh4v<2U(XC{_=FQ;ObUmKXxpdSu-bQ;Nk%ibL+ zq2tCLQb_W44m)xQ;t-`2rk+j)?A#syvxD>XigIiRKMrX7JyvFy3B!;VuZn+a07*qoM6N<$ Ef@tQac>n+a literal 0 HcmV?d00001 diff --git a/textures/girlygirl_leaves.png b/textures/girlygirl_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..0217c982916450284213032132a9dbebecce667d GIT binary patch literal 397 zcmV;80doF{P)HQ{%RY;gJ`FH{VIL^?%5vEK4PyoQnN-jsNbw{R5?Hj?g0Mp`=0KhN+Fv5!C z>`&d7HFKQ(HL*C(P;V|@j`OD3e8IFpuIHB_{*#%c_nSn`ay>&nKV)qOnt_hh9o5Y+ z-I4uzcCDBemtvUqjVJ(YNP=dQvoSGxkTU;FEHZp*@x@5(yVf0FVvInP6Pxzt@$n2P zSgvnUFyg&TAGQZ#t?fYHfp?iVFS>wdHYqbC|K(GMnN rzT8E@<#I&4;41F*f8~Z+yup)Sgl7faB%cNu00000NkvXXu0mjf#&oHY literal 0 HcmV?d00001 diff --git a/textures/girlygirl_magenta.png b/textures/girlygirl_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..f390bc62f0747c25a4eb8b0f8e03feccb17a427d GIT binary patch literal 522 zcmV+l0`>igP)_{5BP{%K4vzk1fYDo*Ccyy) zfZOfH$?IC?*3gJ(uU%RCZGJDx(Pn9p5C~BL2M)-Pwwtjh!BzY^PQWt&b_2)(9?45B`Fb6Rrc2^%1`%jcPCt-^h$l@wPM5wUQ1Jl}Em?c3dt zeVCi4hr3r4)ykzhwY==Z+Gvrn9_v}IEF>%pz0BOhV}!8qKT2F~0JO}ZL;wH) M07*qoM6N<$g6f<01ONa4 literal 0 HcmV?d00001 diff --git a/textures/girlygirl_sand.png b/textures/girlygirl_sand.png new file mode 100644 index 0000000000000000000000000000000000000000..3dd2b76581da4b839c3081f863adc391e30d890b GIT binary patch literal 650 zcmV;50(Jd~P)&uMx((7^>O(K-|3CDfq$p4n zXaU!C9Iw|iI~qx34%%#VAwZCN{60}~_xqnNsx0>}bYmoJBLH3KZS zC8K=@Kz>dHQKc@KxEnx(GPQzk2rzVP`i^qS)U{Bi6LjPt&q5@#4AgV}IEEQCuHX2-tygKP&X1Lk1d3QxOh9>9fME5EpQ91ql zjGGg}*ff7V5*5!z|8_)FsB^}v1JJ)2DaVz%7UFJTeLSI}iksot+70fwHQMyoX8`J2 zTAVW)JHi;TY>Yqc2zg3`F(N@4@l;suUJzBrpLcjM!Wf(LB8`#SgqF%T3DPNEjeJ-D z*u1|&RFHF{s9a=vbu5+kVqcS%EA>=J_cP=BU271zP&o%nmG#q!HnGQ-+n}b;O5wx&&U?i=b3arv%THZ zjR8cO2gg4?5qAUI+da6m9u~?WA*$%0NZ(PX3tDaavLT(c3*4Gh^WO*Je#7wnt7hEejIWjD kzlr|sc*#ppq&lL?7m*D>x;9KqHvj+t07*qoM6N<$f_+aZuK)l5 literal 0 HcmV?d00001 diff --git a/textures/girlygirl_sapling.png b/textures/girlygirl_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..2c17160dc5b01738f7eb4de2be5b5c4101b559fe GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^@P(&~V~EA+t&{fhF$M~>?(g>a<07Kr;_{aDO4Mt{DJs(b3&a8| zJA6fiJ~BmjT^EqOdCIJ-cmA;qf!%M`t(o!a*||A0i_`f27@M6@F^X{i%_YO_)%U_n zV)g;H>}}`2&q=kID;Qfj_sSy0xX8FnJvOmz*+DazWM_S1ke;#1>7r>!ZB*P;A?IaY z?!xWLk(VrFA~#g64!^hgY~-di@3~Ue-y~*ed2Gwy=X%fFA$= literal 0 HcmV?d00001 diff --git a/textures/girlygirl_stick.png b/textures/girlygirl_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..b2f5a2b27018d2f6cbd6a31fcf9d0e5228177f49 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5FvruyF~s8Z*-N{58w_|{FJ>Qcn5ogdfiYQu>zL!0HBFfdIQCok z9bUc0<9V1M*Yd+_j%x}rKRUv|yFm9}Zu-)!X9ql%UpMb`Jkli|#!$8FhzIXEwxS=# v2?y6RYS-~hc@VuoM4ge}&u$X?|77bt6?2idwSU$C?Pc(E^>bP0l+XkK=xs)r literal 0 HcmV?d00001 diff --git a/textures/girlygirl_stone_brick.png b/textures/girlygirl_stone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..c018269811d96f86bcdec16cb42519fa1e0311da GIT binary patch literal 726 zcmV;{0xA88P)aH$#W4n9YV-Lm&AwWifXe74m*&v}r zS!Bm!@B%za7I}bdvqnf!HXugIa1qQ9B1`e5%k9h9-F8>8D36)c=15hi&N=^oKJoI& zAC~PAzCidM0JbvN%3>=6+l*2#QEB9Ig#f@mTHSaWYlVL$z?6o?=>*|>6oUnJV>thq zQ;wH-(nAP=S#2;y#rZ!IlA{CU$MZhE@R|KJ2cRh%@X2+IgF42#_Fg9FhHU_bh32b+ z9<$eDB*1Jl$5=}eG-<0nD$Io{bg5kdJbdAA@1}I}7Gb-NjDrT>TfBt;$~hFBq6e?2$JxN83M$!N59!E z8Q?iM%6y4R95BtpeU6{Kpci%iXXM4ZJnp|?UM;>buyvV%=JwGc;nh0V>s^d7jEf1K zC}p(LYzA&K@=kmc&vW<=ml?fYk1|_gt!4Ud1O`s>54$a$lv+}$*|BUFQ6N?`7?XPXXiR1)(`X-U;qFB07*qo IM6N<$f)7|w(f|Me literal 0 HcmV?d00001 diff --git a/textures/girlygirl_tree.png b/textures/girlygirl_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..c60102cb9d2208b8ebaf02ea6659b9fc231135cf GIT binary patch literal 669 zcmV;O0%HA%P)9T0;s22?)pB z(}#?~Qf;)=@v5`($v@5C*{kE|_gJ+wwx+Q)F-Iy>@^AMa-*$iTb2`zwCyXd>^Dk6{ zpVJ8is7%2v^u!#=IWxqOoHM2Iyv=7SE%EBGY7h~Yv|_{%b3zrNu{B;D0JqSw#Fa=Q zrbNt%d+a&*mXs2g`D+FPR zGlhD-Pj4R`IWJe7SW5NmO!cP+r{%(HvFFG5#@F%_r};wpnDFAC0JyI`DoP@A4IQm} zBIbz3oOqvqar7@-*G-)f!x$#!v~ciyzLZDK>y^qBJlh?880q7Pif#x~TDYt?GWk)U z8KX+dnL<5A47atXu{BFx8ROQ{%>tW+K8&=sA(MD<&v^AXwRB_XZe$8q9qX;iNF)E!I8>@Or>;H z#;UEzREqH}rQ49H6fG2~Owik4ShOVvSwTm4sa(w@KjypsDMivJQJUN4Gq=s0Pi9UL z29&nK2TvO;y0jI0=>R1Zg8z$w5i>4~KM*2ds_5Z!C9jF36wm;Twlt8vsJ< z@wKH$`v?TG_6^3jgxWEkPHC50bT_4$RruDk_~Qn9j zvf@)S=h@ja@R4R#@v)wyD8ZyXP<}2RMFg2 z09m7SZzxl^dE3pPMJ0Ll&-=?_cg%B zz}zf3?@#Ee4gmAb0vjEbt9f^Q!N1idSM`j_)wIDP9(9i*fRCPoY!4Sb2U)=|Ehv&c zZL~Dr;A5b2H7mPjZkAt?5)r5Q<9KI2lj|<2OxRHwK6n6>RAe$m35kyZ6IvE+`PH5O Y12K$%^{$;j0ssI207*qoM6N<$f@d^quK)l5 literal 0 HcmV?d00001 diff --git a/textures/girlygirl_wood.png b/textures/girlygirl_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..c4651de4f6d9c0fe93f5da199ad8728daa945909 GIT binary patch literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F5he4R}c>anMpx}Q` z7sn8d^T|3P-RTXD^Xu!43=B3HZ$5lefI+a4LCm%;)WSVh?qFO|U2RXI0yFdBv+dg@ zConwTIALnRx$foq6Q0`r``MGm#mvmi9dq%x{rrnhR3uakd=ncbieEm?jZRcHu}rD{ z5m}+gb4=$cM~eMIR)#c*4Ldp_>;8P6Iloo>omPjwqSA~8R^N+2;~sdaE>Yc((NH0B zcJ~Yhxg9#@^7q=LIX{YpF@zs3`gK=yjbRt}h8bKh6?Uh8U7EY?klT)sdZ0mt`!czs zW+Z&oKE$@huI;$Orf1^*@ijmR*Vs7GY!>G!`zn4VonQTULI_7EgWHoQy`l=sE7{oC Z7$$la|K~I7$Oi@mgQu&X%Q~loCIBrmfg%6^ literal 0 HcmV?d00001 diff --git a/textures/heart.png b/textures/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..d568dd3257b86c07178894678a21f574ea542006 GIT binary patch literal 876 zcmV-y1C#uTP)eZUnEfp%!#A@G3`PlE43|nEXD2_JtLZytc@!;v{!SBJrG|zHr z-&(&#Zg@8;7Nak1+uNTp%BpHE^)#H$6F>dRGFD|}Sb6)hT3eAPQXkKcCYH3mxFniC z?drX;b;Y~Fnx$s%5@~(f=B;bB7u8N>R$28EzbahuItPEPF{*dVVQG!Wyyj-ECsNUQ zruJW?NY3pQR}3c#|rkKq&jLUf^_rL9t>{#YJPnyT^JP@kXpR;gMryg+k8 zEz6=t8zYpEsZ6t_Ue0F-rz4DZ1;ju>W!7H0hc(mIUDI7ANKDC;UUf~eL_sMGh*VOg zS(+`>ViB5fGQ{vuKzw_O(<2XFVgbMs3)97V)v4_cTLcNr7LMh~M;#$BZ_GNJkjkEhKKkkb9za5Z z;2*xkT_|WbLA)6w`FxHUIm7U_kJ673=D{QE>H{47-T!M)L=hk3Bb?y0cpp341aMx# zwI3E(hR?8Xj&TeLiT|~M4LEQ}0}WC`6*lbu?EVC9X0jLT@JVj~0000