From 79079d5b4d6ed11efe33438fc6b400614092821d Mon Sep 17 00:00:00 2001 From: Jenny Date: Sat, 17 May 2025 09:56:36 +0200 Subject: [PATCH] damage bar, size in hover text --- gradle.properties | 2 +- .../com/smthng/quantumbags/QuantumBag.java | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index a3f7143..4e794c5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,7 +38,7 @@ mod_name=QuantumBags # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=All Rights Reserved # The mod version. See https://semver.org/ -mod_version=0.0.3 +mod_version=0.0.4 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/com/smthng/quantumbags/QuantumBag.java b/src/main/java/com/smthng/quantumbags/QuantumBag.java index 2a15010..2e65bc4 100644 --- a/src/main/java/com/smthng/quantumbags/QuantumBag.java +++ b/src/main/java/com/smthng/quantumbags/QuantumBag.java @@ -25,7 +25,7 @@ public class QuantumBag extends Item { ForgeConfigSpec.ConfigValue size; public QuantumBag(Properties pProperties, ForgeConfigSpec.ConfigValue size) { - super(pProperties); + super(pProperties.durability(100)); this.size = size; } @@ -101,7 +101,7 @@ public class QuantumBag extends Item { stored.setCount(stored.getCount() - 1); setStoredStack(item, stored); drop.setCount(1); - player.level().addFreshEntity(player.drop(drop, false, true)); + player.drop(drop, false, true); return false; } else { return true; @@ -186,13 +186,23 @@ public class QuantumBag extends Item { return itemStack; } + @Override + public int getDamage(ItemStack stack) { + int maxDamage = ServerConfig.SPEC.isLoaded() ? size.get() : 1; + float percentage = (float) storedItemCount(stack) / maxDamage; + if (percentage != 1) { + return (int) Math.ceil(100 - (100 * percentage)); + } else { + return 1; + } + } + @Override public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) { if (hasStoredItem(pStack)) { ItemStack stored = getStoredStack(pStack); if (!stored.getItem().equals(Items.AIR)) { - pTooltipComponents.add(Component.literal(stored.getCount() + " ").withStyle(ChatFormatting.GRAY).append(Component.translatable(stored.getDescriptionId()).withStyle(ChatFormatting.WHITE))); - //pTooltipComponents.add(Component.translatable(stored.getDescriptionId()).append(Component.literal(" : " + stored.getCount())).withStyle(ChatFormatting.DARK_BLUE)); + pTooltipComponents.add(Component.literal(stored.getCount() + "/" + size.get() + " ").withStyle(ChatFormatting.GRAY).append(Component.translatable(stored.getDescriptionId()).withStyle(ChatFormatting.WHITE))); } } super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced);