From 494ed547857d25b09428cb8d887592c650ad473b Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Tue, 7 Feb 2017 01:17:00 +0100 Subject: [PATCH] Add purple shulker box --- mods/mcl_chests/init.lua | 79 ++++++++++++++++++ .../mcl_chests_purple_shulker_box_bottom.png | Bin 0 -> 255 bytes .../mcl_chests_purple_shulker_box_side.png | Bin 0 -> 646 bytes .../mcl_chests_purple_shulker_box_top.png | Bin 0 -> 633 bytes 4 files changed, 79 insertions(+) create mode 100644 mods/mcl_chests/textures/mcl_chests_purple_shulker_box_bottom.png create mode 100644 mods/mcl_chests/textures/mcl_chests_purple_shulker_box_side.png create mode 100644 mods/mcl_chests/textures/mcl_chests_purple_shulker_box_top.png diff --git a/mods/mcl_chests/init.lua b/mods/mcl_chests/init.lua index e5302004..28dbc65d 100644 --- a/mods/mcl_chests/init.lua +++ b/mods/mcl_chests/init.lua @@ -303,4 +303,83 @@ minetest.register_craft({ } }) +-- Shulker boxes +local boxtypes = { + purple = "Purple Shulker Box", +} + +for color, desc in pairs(boxtypes) do + minetest.register_node("mcl_chests:"..color.."_shulker_box", { + description = desc, + tiles = {"mcl_chests_"..color.."_shulker_box_top.png", "mcl_chests_"..color.."_shulker_box_bottom.png", + "mcl_chests_"..color.."_shulker_box_side.png", "mcl_chests_"..color.."_shulker_box_side.png", + "mcl_chests_"..color.."_shulker_box_side.png", "mcl_chests_"..color.."_shulker_box_side.png"}, + groups = {cracky=2, deco_block=1, shulker_box=1}, + is_ground_content = false, + paramtype2 = "facedir", + sounds = mcl_core.node_sound_stone_defaults(), + stack_max = 1, + drop = "", + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "size[9,8.75]".. + mcl_core.inventory_header.. + "background[-0.19,-0.25;9.41,10.48;crafting_inventory_chest.png]".. + "image[0,-0.2;5,0.75;fnt_shulker_box.png]".. + "list[current_name;main;0,0.5;9,3;]".. + "list[current_player;main;0,4.5;9,3;9]".. + "list[current_player;main;0,7.74;9,1;]".. + "listring[current_name;main]".. + "listring[current_player;main]") + local inv = meta:get_inventory() + inv:set_size("main", 9*3) + end, + after_place_node = function(pos, placer, itemstack, pointed_thing) + local nmeta = minetest.get_meta(pos) + local ninv = nmeta:get_inventory() + local imeta = itemstack:get_metadata() + local iinv_main = minetest.deserialize(imeta) + ninv:set_list("main", iinv_main) + ninv:set_size("main", 9*3) + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + local meta = minetest.get_meta(pos) + meta:from_table(oldmetadata) + local inv = meta:get_inventory() + local items = {} + for i=1, inv:get_size("main") do + items[i] = inv:get_stack("main", i):to_string() + end + local data = minetest.serialize(items) + local boxitem = ItemStack("mcl_chests:"..color.."_shulker_box") + boxitem:set_metadata(data) + minetest.add_item(pos, boxitem) + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + -- Do not allow to place shulker boxes into shulker boxes + local group = minetest.get_item_group(stack:get_name(), "shulker_box") + if group == 0 or group == nil then + return stack:get_count() + else + return 0 + end + end, + }) + + minetest.register_craft({ + type = "shapeless", + output = 'mcl_chests:'..color..'_shulker_box', + recipe = { 'group:shulker_box', 'mcl_dye:'..color } + }) +end + +minetest.register_craft({ + output = 'mcl_chests:purple_shulker_box', + recipe = { + {'mcl_mobitems:shulker_shell'}, + {'mcl_chests:chest'}, + {'mcl_mobitems:shulker_shell'}, + } +}) diff --git a/mods/mcl_chests/textures/mcl_chests_purple_shulker_box_bottom.png b/mods/mcl_chests/textures/mcl_chests_purple_shulker_box_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..bb1caf37cacb82cbe8a40a366301db0e2f9b7bce GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^Z_ z+uel$41PNAu4iCi;4JWnEM{QfI|9OtQ?>b|85kJYOFVsD*&i~oGjQ@9SU6vRfq|jk z)5S5w%}T*zQ?&Q>}6&M_qJzvJC||6Jb|85kJYOFVsD*&i~oGjOqRN2;D>U|?eN zba4#vIKFn;-aIBpo|f;tD>Z_acCdJs%c`o%mi#fX$?jpRl}r;?;h0ovRkK^J`pwOy zYoD#YTO=NKZu^hrH?MrL49mAOPyPQT{L9zlyEdK(m*3x?y3hUJ;ZFhAet++-T@(Jr zp5fG$EY_s{->)lwS?=6lr=_@|a~{K~y=EH9uMVu&XgV0L7P5CrF@rk{ z`oCT|-d$;xr%`lI)JfFk#euMeHLN^*>wVRBJ#yOeErB6p|0AwuIg9oy7c-`~E7mr2 zu2}x~4_SlJKd=kZ7rT6CAu3~I^BC%m3pG4U*)u^|7Caw>E z@V1u4AxKUs;NkJ?UP;*(2hJMWu*`2cdxF!hE2D6p1@jUgb(_@r-qTy>tYns-T6ME7 zH{Reqiv*{_!z-^om(-og>YiUEa5c%zbt!`ri=V>srfVDtH(oXJtx#ZbJ^y$4Jcbkh zJ=hr^9B0$a4w(_F^&-@aEnxC*t_9se2bMMMcKW=#Q_i5~)t=%%@&-?q%@#I$_6TI&T|0(^TJW2TbI=)lU#}=NIUw@CE`O{?Ki|hmdKI;Vst0IER~=l}o! literal 0 HcmV?d00001 diff --git a/mods/mcl_chests/textures/mcl_chests_purple_shulker_box_top.png b/mods/mcl_chests/textures/mcl_chests_purple_shulker_box_top.png new file mode 100644 index 0000000000000000000000000000000000000000..04c95ef2c6ed59853062b38d54451e0ed8016489 GIT binary patch literal 633 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^Z_ z+uel$41PNAu4iCi;4JWnEM{QfI|9OtQ?>b|85kJYOFVsD*&i~oGjOWr$fgA_Ffjh~ zba4#vIKFn;Mn7gp9+&t0D>YWU;3z4Xq8Yr*`^5cC85bU>eiPCZIN7DQFSg(I+nalz zKK|Hv|IO*P&wBs9w|`e%pZ)b+rTLrr{{(A)Z;6d~a&`Xt`G@zY|9kw*BIlcY9N$*E zi}j2e#;b)pY`^v2zkK`TzmMjejlN&lJl-Wc8!h7d(fsdI>C;^2tYz-+O1!}L zR@Z5j#rOX{>oje6^*l93xZRxmpoWlR#NqDzuxp;>s~f^YFxB> zs-sYNz3}4>Gl#jlrk|#H%(XB6ATc_lzb38xv(UV{jhb9^KAb0H~E=AP8Plx&QKt@TB~>eyXf`n@0`~#Qm9^a kY5&jtjHgcTuKu~7K~I=@FVdQ&MBb@02mP%o&W#< literal 0 HcmV?d00001