From 2416af7facb2eb4b335bfea5936a721f8cfe3d53 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 3 Aug 2017 22:22:17 +0200 Subject: [PATCH] Add new container groups for large chests --- GROUPS.md | 3 +++ mods/ITEMS/mcl_chests/init.lua | 4 ++-- mods/ITEMS/mcl_hoppers/init.lua | 12 ++++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/GROUPS.md b/GROUPS.md index c1b6f4eb5..dd95ed501 100644 --- a/GROUPS.md +++ b/GROUPS.md @@ -137,6 +137,9 @@ These groups are used mostly for informational purposes * `container=4`: Furnace-like, has lists `"src"`, `"fuel"` and `"dst"`. It is expected that this also reacts on `on_timer`; the node timer must be started from other mods when they add into `"src"` or `"fuel"` + * `container=5`: Left part of a 2-part horizontal connected container. Both parts have a `"main"` inventory + list. Both inventories are considered to belong together. This is used for large chests. + * `container=6`: Same as above, but for the right part. * `container=1`: Other/unspecified container type * `spawn_egg=1`: Spawn egg diff --git a/mods/ITEMS/mcl_chests/init.lua b/mods/ITEMS/mcl_chests/init.lua index 661e29764..78a79501b 100644 --- a/mods/ITEMS/mcl_chests/init.lua +++ b/mods/ITEMS/mcl_chests/init.lua @@ -146,7 +146,7 @@ minetest.register_node("mcl_chests:"..basename.."_left", { tiles = {"default_chest_top_big.png", "default_chest_top_big.png", "mcl_chests_chest_right.png", "mcl_chests_chest_left.png", "default_chest_side_big.png^[transformFX", "default_chest_front_big.png"}, paramtype2 = "facedir", - groups = {handy=1,axey=1, container=2,not_in_creative_inventory=1, material_wood=1}, + groups = {handy=1,axey=1, container=5,not_in_creative_inventory=1, material_wood=1}, drop = drop, is_ground_content = false, sounds = mcl_sounds.node_sound_wood_defaults(), @@ -254,7 +254,7 @@ minetest.register_node("mcl_chests:"..basename.."_right", { tiles = {"default_chest_top_big.png^[transformFX", "default_chest_top_big.png^[transformFX", "mcl_chests_chest_right.png", "mcl_chests_chest_left.png", "default_chest_side_big.png", "default_chest_front_big.png^[transformFX"}, paramtype2 = "facedir", - groups = {handy=1,axey=1, container=2,not_in_creative_inventory=1, material_wood=1}, + groups = {handy=1,axey=1, container=6,not_in_creative_inventory=1, material_wood=1}, drop = drop, is_ground_content = false, sounds = mcl_sounds.node_sound_wood_defaults(), diff --git a/mods/ITEMS/mcl_hoppers/init.lua b/mods/ITEMS/mcl_hoppers/init.lua index ea2aacde7..f7c537b42 100644 --- a/mods/ITEMS/mcl_hoppers/init.lua +++ b/mods/ITEMS/mcl_hoppers/init.lua @@ -285,7 +285,7 @@ minetest.register_abm({ local upnode = minetest.get_node(uppos) if not minetest.registered_nodes[upnode.name] then return end local g = minetest.registered_nodes[upnode.name].groups.container - if g == 2 or g == 3 then + if g == 2 or g == 3 or g == 5 or g == 6 then -- Typical container inventory mcl_util.move_item_container(uppos, "main", -1, pos) elseif g == 4 then @@ -348,17 +348,17 @@ minetest.register_abm({ local abovenode = minetest.get_node(above) if not minetest.registered_nodes[abovenode.name] then return end local g = minetest.registered_nodes[abovenode.name].groups.container - if g == 2 or g == 3 then - -- Typical container inventory - mcl_util.move_item_container(above, "main", -1, pos) - elseif g == 4 then + if g == 4 then -- Furnace output mcl_util.move_item_container(above, "dst", -1, pos) + else + -- Typical container inventory + mcl_util.move_item_container(above, "main", -1, pos) end -- Move an item from the hopper into the container to which the hopper points to local g = minetest.registered_nodes[frontnode.name].groups.container - if g == 2 then + if g == 2 or g == 5 or g == 6 then mcl_util.move_item_container(pos, "main", -1, front) elseif g == 3 then -- Put non-shulker boxes into shulker box