From f918b4f04a0ddd01778ec7538342346a991abf3f Mon Sep 17 00:00:00 2001 From: rasmus123d <59487370+RasmusKD@users.noreply.github.com> Date: Sun, 16 Aug 2026 11:06:37 +0200 Subject: [PATCH] Treat copper chests as containers in pipes All eight variants run through ChestBlock and the ordinary chest state, so doubles and insertion already behave like chests; the only thing missing was membership in the container checks. The copper_chests tag covers the family in the switch default, so the fast path for everything else is untouched. --- src/main/java/com/sk89q/craftbook/mechanics/pipe/Pipes.java | 3 ++- src/main/java/com/sk89q/craftbook/util/InventoryUtil.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sk89q/craftbook/mechanics/pipe/Pipes.java b/src/main/java/com/sk89q/craftbook/mechanics/pipe/Pipes.java index 19b134e53..182dbbe2a 100644 --- a/src/main/java/com/sk89q/craftbook/mechanics/pipe/Pipes.java +++ b/src/main/java/com/sk89q/craftbook/mechanics/pipe/Pipes.java @@ -360,7 +360,8 @@ private void startPipe(Block block, List items, boolean request) { || facType == Material.CHISELED_BOOKSHELF || facType == Material.CRAFTER || facType == Material.DECORATED_POT - || Tag.SHULKER_BOXES.isTagged(facType)) { + || Tag.SHULKER_BOXES.isTagged(facType) + || Tag.COPPER_CHESTS.isTagged(facType)) { for (ItemStack stack : ((InventoryHolder) fac.getState()).getInventory().getContents()) { if (!ItemUtil.isStackValid(stack)) diff --git a/src/main/java/com/sk89q/craftbook/util/InventoryUtil.java b/src/main/java/com/sk89q/craftbook/util/InventoryUtil.java index 0eacd45b0..60512273e 100644 --- a/src/main/java/com/sk89q/craftbook/util/InventoryUtil.java +++ b/src/main/java/com/sk89q/craftbook/util/InventoryUtil.java @@ -1,6 +1,7 @@ package com.sk89q.craftbook.util; import org.bukkit.Material; +import org.bukkit.Tag; import org.bukkit.block.Block; import org.bukkit.block.BrewingStand; import org.bukkit.block.Chest; @@ -371,7 +372,7 @@ public static boolean doesBlockHaveInventory(Block block) { case CRAFTER: return true; default: - return false; + return Tag.COPPER_CHESTS.isTagged(block.getType()); } }