diff --git a/fabric/src/main/java/com/howlite/cobblemoncards/fabric/FabricCobblemonCards.java b/fabric/src/main/java/com/howlite/cobblemoncards/fabric/FabricCobblemonCards.java index e126537..2f4ff07 100644 --- a/fabric/src/main/java/com/howlite/cobblemoncards/fabric/FabricCobblemonCards.java +++ b/fabric/src/main/java/com/howlite/cobblemoncards/fabric/FabricCobblemonCards.java @@ -340,6 +340,9 @@ public MerchantOffer getOffer(Entity entity, RandomSource random) { private static boolean isChestLootTable(net.minecraft.resources.ResourceLocation location) { if (location == null) return false; String path = location.getPath().toLowerCase(java.util.Locale.ROOT); - return path.startsWith("chests/") || path.contains("/chests/") || path.endsWith("_chest") || path.contains("chest"); + // Block drop tables (blocks/chest, blocks/trapped_chest, ...) must never match + if (path.startsWith("blocks/")) return false; + // But accept chest loot tables (chests/simple_dungeon, chests/village/village_weaponsmith, mymod:structures/chests/ruins, ...) + return path.startsWith("chests/") || path.contains("/chests/"); } } diff --git a/neoforge/src/main/java/com/howlite/cobblemoncards/neoforge/NeoForgeCobblemonCards.java b/neoforge/src/main/java/com/howlite/cobblemoncards/neoforge/NeoForgeCobblemonCards.java index 3432536..2f4c6a7 100644 --- a/neoforge/src/main/java/com/howlite/cobblemoncards/neoforge/NeoForgeCobblemonCards.java +++ b/neoforge/src/main/java/com/howlite/cobblemoncards/neoforge/NeoForgeCobblemonCards.java @@ -392,6 +392,9 @@ public void onAddReloadListeners(AddReloadListenerEvent event) { private static boolean isChestLootTable(ResourceLocation location) { if (location == null) return false; String path = location.getPath().toLowerCase(java.util.Locale.ROOT); - return path.startsWith("chests/") || path.contains("/chests/") || path.endsWith("_chest") || path.contains("chest"); + // Block drop tables (blocks/chest, blocks/trapped_chest, ...) must never match + if (path.startsWith("blocks/")) return false; + // But accept chest loot tables (chests/simple_dungeon, chests/village/village_weaponsmith, mymod:structures/chests/ruins, ...) + return path.startsWith("chests/") || path.contains("/chests/"); } }