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 e5302004a..28dbc65de 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||6JPx#24YJ`L;wH)0002_L%V+f000SaNLh0L01m_e01m_fl`9S#00007bV*G`2jKz- z015;PStZQ?00IU{L_t(Y$E}vVZUR9Jg!c`pC{m?}1W9)tB_$nn{4_jkj0SxfW)~y~ zl65+KyB>S&*`=-KtKD)JR?fHhr`go>IaY5zH)a3ySM>GAy0OStAHR=fzDNGU@=(_M z_lte3SM)ys%G7EFVvqaldHOlIzkVtqu!)`k%DpxyBkI7fD1yOXCRDwYa{xeerCF<0 zfg%!DFZ$|1-KjcmD01EvLKQ^lz*eDr1q=?aO(weHLbUc^0BFDB3WFXvht$z%lt&?b zfQhK55vlssV=N7_hMp7VXcZAOuCv{imJ)$p1(O0pQ05 zDQi@iT`K5RHU?0W`wF0oQoyEyyF&B3i5@U~>b!H}3a5gh)>^M&0E7o2z91CiQ#96r zpKsGDKMnib z$7AYLkW1VX{B`gnk`wo?4$51`q0Jw!-VX!vlM~Sg0Jw-1mC7IYt*?*VZzys=_C%$x g`7Z$B<=eabzaQ%Z4{K31DgXcg07*qoM6N<$f~r9i=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 zcmV-<0*3vGP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01m_e01m_fl`9S#00007bV*G`2jKz- z00|{*9cEAf00H?)L_t(Y$E}vJP6I&IJE-?C`X<7M^|DGu@v>M%yOb-|?l!y$MTY(_5dRm4)~i5VbeI^mQ(mzG7GtpksWVbBikEkdd| z_y0@>0H7la&9cC6p;;f)-8!g&n?-O_W!H4zp>}k7?!PXV`mX7KNhr}eO;L%6;j2y-fmO=I`=CaRselkKD8*O->pF0wob~Dvaq zE=4^LRsfB?>CR{!nAUkne0j}NZvpaov7!Sit?S;L%){dz%qMn_si`2Bx+nN_@Da(O zbWsPxJB&k{53kt|1M!m+(N_R)5vwYVzwTSFuiVclG9Y`Z(!cq?0m{p}d-=ZrE)xT( T?M;5S00000NkvXXu0mjf7!eqr literal 0 HcmV?d00001