From e622b3d9bb61b7ae9d961aa640867cf54bf2647b Mon Sep 17 00:00:00 2001 From: Cynthia Foxwell Date: Mon, 25 Mar 2024 13:05:04 -0600 Subject: [PATCH] Add blacklist item tag (`#scout:blacklist`) (fixes GH-5) --- src/main/java/pm/c7/scout/ScoutUtil.java | 8 +++++++- src/main/java/pm/c7/scout/screen/BagSlot.java | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/pm/c7/scout/ScoutUtil.java b/src/main/java/pm/c7/scout/ScoutUtil.java index 5be812d..fc3f19e 100644 --- a/src/main/java/pm/c7/scout/ScoutUtil.java +++ b/src/main/java/pm/c7/scout/ScoutUtil.java @@ -3,11 +3,15 @@ package pm.c7.scout; import dev.emi.trinkets.api.SlotReference; import dev.emi.trinkets.api.TrinketComponent; import dev.emi.trinkets.api.TrinketsApi; +import net.minecraft.block.Block; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.inventory.Inventory; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtList; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.screen.slot.Slot; import net.minecraft.util.Identifier; @@ -25,7 +29,9 @@ import java.util.Optional; public class ScoutUtil { public static final Logger LOGGER = LoggerFactory.getLogger("Scout"); public static final String MOD_ID = "scout"; - public static final Identifier SLOT_TEXTURE = new Identifier("scout", "textures/gui/slots.png"); + public static final Identifier SLOT_TEXTURE = new Identifier(MOD_ID, "textures/gui/slots.png"); + + public static final TagKey TAG_ITEM_BLACKLIST = TagKey.of(RegistryKeys.ITEM, new Identifier(MOD_ID, "blacklist")); public static final int MAX_SATCHEL_SLOTS = 18; public static final int MAX_POUCH_SLOTS = 6; diff --git a/src/main/java/pm/c7/scout/screen/BagSlot.java b/src/main/java/pm/c7/scout/screen/BagSlot.java index f3fe2d4..ef6a4b9 100644 --- a/src/main/java/pm/c7/scout/screen/BagSlot.java +++ b/src/main/java/pm/c7/scout/screen/BagSlot.java @@ -6,6 +6,7 @@ import net.minecraft.inventory.Inventory; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; +import pm.c7.scout.ScoutUtil; import pm.c7.scout.config.ScoutConfig; import pm.c7.scout.item.BaseBagItem; @@ -36,6 +37,10 @@ public class BagSlot extends Slot { if (stack.getItem() instanceof BaseBagItem) return false; + if (stack.isIn(ScoutUtil.TAG_ITEM_BLACKLIST)) { + return false; + } + if (stack.getItem() instanceof BlockItem blockItem) { if (blockItem.getBlock() instanceof ShulkerBoxBlock) return enabled && inventory != null && ScoutConfig.allowShulkers;