From f3e4ce256e51e5c0a91c12a358f2c70048e8a099 Mon Sep 17 00:00:00 2001 From: Kat Date: Wed, 15 Jul 2026 00:06:39 -0400 Subject: [PATCH 1/3] Fix: Fix Collection Case sounds being played to other players & prevent Collection Case scrolling when there is nothing to scroll through --- .../glowcase/item/CollectionCaseItem.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java b/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java index a11f0a4c..e38375fe 100644 --- a/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java +++ b/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java @@ -3,7 +3,6 @@ import dev.hephaestus.glowcase.Glowcase; import dev.hephaestus.glowcase.item.component.CollectionComponent; import dev.hephaestus.glowcase.util.CollectableStack; -import java.util.List; import java.util.function.Consumer; import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; @@ -31,11 +30,11 @@ public boolean bundleInteract(ItemStack caseStack, ItemStack otherStack, ClickAc if (!retrievedStack.isEmpty() && collection.isSelectedCollected()) { // Retrieve Collectable otherStackSetter.accept(retrievedStack); caseStack.set(Glowcase.COLLECTION_COMPONENT.get(), collection.retrieveSelectedStack(player.isCreative())); - playRetrieveSound(player); + if (player.isLocalPlayer()) playRetrieveSound(player); return true; } else if (player.isCreative() && tooltipVisible && collection.hasSelection()) { // Remove Collectable caseStack.set(Glowcase.COLLECTION_COMPONENT.get(), collection.withoutSelectedStack()); - playRemoveSound(player); + if (player.isLocalPlayer()) playRemoveSound(player); return true; } } else { // Insertion Actions @@ -43,11 +42,11 @@ public boolean bundleInteract(ItemStack caseStack, ItemStack otherStack, ClickAc if (collectionIndex != -1) { // Collect Collectable otherStack.shrink(collection.collectables().get(collectionIndex).getStack().getCount()); caseStack.set(Glowcase.COLLECTION_COMPONENT.get(), collection.collectStack(collectionIndex)); - playCollectSound(player); + if (player.isLocalPlayer()) playCollectSound(player); return true; } else if (player.isCreative()) { // Add Collectable caseStack.set(Glowcase.COLLECTION_COMPONENT.get(), collection.withStackAfterSelection(otherStack)); - playAddSound(player); + if (player.isLocalPlayer()) playAddSound(player); return true; } } @@ -68,7 +67,7 @@ public boolean overrideOtherStackedOnMe(ItemStack caseStack, ItemStack otherStac @Override public void scroll(ItemStack caseStack, Player player, int amount) { CollectionComponent collection = caseStack.get(Glowcase.COLLECTION_COMPONENT.get()); - if (collection != null) { + if (collection != null && collection.collected() > 1) { if (amount > 0) { for (int i = 0; i < amount; i++) { collection = collection.selectPrevious(!player.isCreative()); @@ -80,14 +79,12 @@ public void scroll(ItemStack caseStack, Player player, int amount) { } caseStack.set(Glowcase.COLLECTION_COMPONENT.get(), collection); } - playScrollSound(player); + if (player.isLocalPlayer()) playScrollSound(player); } } @Override public void appendHoverText(ItemStack stack, TooltipContext context, TooltipDisplay displayComponent, Consumer textConsumer, TooltipFlag type) { - super.appendHoverText(stack, context, displayComponent, textConsumer, type); - CollectionComponent collection = stack.get(Glowcase.COLLECTION_COMPONENT.get()); textConsumer.accept(Component.translatable("item.glowcase.collection_case.tooltip.0").withStyle(ChatFormatting.GRAY)); if (type.isCreative()) textConsumer.accept(Component.translatable("item.glowcase.collection_case.tooltip.creative.0").withStyle(ChatFormatting.DARK_GRAY)); From 774eac1316e540eb61d754fadbe4c7f0192f042c Mon Sep 17 00:00:00 2001 From: Kat Date: Wed, 15 Jul 2026 00:41:02 -0400 Subject: [PATCH 2/3] Revert: Undo no scrolling if it isn't possible to scroll --- .../java/dev/hephaestus/glowcase/item/CollectionCaseItem.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java b/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java index e38375fe..51c4a84f 100644 --- a/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java +++ b/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java @@ -67,7 +67,7 @@ public boolean overrideOtherStackedOnMe(ItemStack caseStack, ItemStack otherStac @Override public void scroll(ItemStack caseStack, Player player, int amount) { CollectionComponent collection = caseStack.get(Glowcase.COLLECTION_COMPONENT.get()); - if (collection != null && collection.collected() > 1) { + if (collection != null) { if (amount > 0) { for (int i = 0; i < amount; i++) { collection = collection.selectPrevious(!player.isCreative()); From bf7b6207c0a44276bb32fa3cd4f67aa473eb6b12 Mon Sep 17 00:00:00 2001 From: Kat Date: Fri, 17 Jul 2026 12:17:11 -0400 Subject: [PATCH 3/3] Refactor: Readd tooltip super method call --- .../java/dev/hephaestus/glowcase/item/CollectionCaseItem.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java b/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java index 51c4a84f..5f2cb4de 100644 --- a/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java +++ b/src/main/java/dev/hephaestus/glowcase/item/CollectionCaseItem.java @@ -85,6 +85,8 @@ public void scroll(ItemStack caseStack, Player player, int amount) { @Override public void appendHoverText(ItemStack stack, TooltipContext context, TooltipDisplay displayComponent, Consumer textConsumer, TooltipFlag type) { + super.appendHoverText(stack, context, displayComponent, textConsumer, type); + CollectionComponent collection = stack.get(Glowcase.COLLECTION_COMPONENT.get()); textConsumer.accept(Component.translatable("item.glowcase.collection_case.tooltip.0").withStyle(ChatFormatting.GRAY)); if (type.isCreative()) textConsumer.accept(Component.translatable("item.glowcase.collection_case.tooltip.creative.0").withStyle(ChatFormatting.DARK_GRAY));