From 008b009824ec712e2d460b51936623d4d6cad526 Mon Sep 17 00:00:00 2001 From: IM23a-spirgif Date: Wed, 28 May 2025 16:12:05 +0200 Subject: [PATCH 1/2] Added tooltips for all Stalinium tools. Enhanced usability with shift-based detailed descriptions. --- .../stalinium/item/StaliniumAxeItem.java | 13 +++++++++++++ .../stalinium/item/StaliniumHoeItem.java | 17 +++++++++++++---- .../stalinium/item/StaliniumPickaxeItem.java | 13 +++++++++++++ .../stalinium/item/StaliniumShovelItem.java | 13 +++++++++++++ .../stalinium/item/StaliniumSwordItem.java | 17 +++++++++++++---- .../resources/assets/stalinium/lang/en_us.json | 17 ++++++++++++++++- 6 files changed, 81 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/krituximon/stalinium/item/StaliniumAxeItem.java b/src/main/java/net/krituximon/stalinium/item/StaliniumAxeItem.java index ee7591e..08763c4 100644 --- a/src/main/java/net/krituximon/stalinium/item/StaliniumAxeItem.java +++ b/src/main/java/net/krituximon/stalinium/item/StaliniumAxeItem.java @@ -1,8 +1,10 @@ package net.krituximon.stalinium.item; import net.krituximon.stalinium.util.PlacedLogStorage; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.BlockTags; @@ -12,6 +14,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.AxeItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; @@ -127,4 +130,14 @@ public class StaliniumAxeItem extends AxeItem { stack.setDamageValue(oldDamage); return res; } + + @Override + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + if(Screen.hasShiftDown()) { + tooltipComponents.add(Component.translatable("item.stalinium_axe.tooltip_shift")); + } else { + tooltipComponents.add(Component.translatable("item.stalinium_axe.tooltip")); + } + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + } } diff --git a/src/main/java/net/krituximon/stalinium/item/StaliniumHoeItem.java b/src/main/java/net/krituximon/stalinium/item/StaliniumHoeItem.java index c1d77e7..b4b95b2 100644 --- a/src/main/java/net/krituximon/stalinium/item/StaliniumHoeItem.java +++ b/src/main/java/net/krituximon/stalinium/item/StaliniumHoeItem.java @@ -1,16 +1,15 @@ package net.krituximon.stalinium.item; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.HoeItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.*; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; @@ -86,5 +85,15 @@ public class StaliniumHoeItem extends HoeItem { public boolean isDamaged(ItemStack stack) { return false; } + + @Override + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + if(Screen.hasShiftDown()) { + tooltipComponents.add(Component.translatable("item.stalinium_hoe.tooltip_shift")); + } else { + tooltipComponents.add(Component.translatable("item.stalinium_hoe.tooltip")); + } + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + } } diff --git a/src/main/java/net/krituximon/stalinium/item/StaliniumPickaxeItem.java b/src/main/java/net/krituximon/stalinium/item/StaliniumPickaxeItem.java index c58ef80..5f5e1fb 100644 --- a/src/main/java/net/krituximon/stalinium/item/StaliniumPickaxeItem.java +++ b/src/main/java/net/krituximon/stalinium/item/StaliniumPickaxeItem.java @@ -1,7 +1,9 @@ package net.krituximon.stalinium.item; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.RandomSource; @@ -10,6 +12,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PickaxeItem; import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.DropExperienceBlock; @@ -86,4 +89,14 @@ public class StaliniumPickaxeItem extends PickaxeItem { public boolean isDamaged(ItemStack stack) { return false; } + + @Override + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + if(Screen.hasShiftDown()) { + tooltipComponents.add(Component.translatable("item.stalinium_pickaxe.tooltip_shift")); + } else { + tooltipComponents.add(Component.translatable("item.stalinium_pickaxe.tooltip")); + } + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + } } \ No newline at end of file diff --git a/src/main/java/net/krituximon/stalinium/item/StaliniumShovelItem.java b/src/main/java/net/krituximon/stalinium/item/StaliniumShovelItem.java index 450f9c7..b8310fd 100644 --- a/src/main/java/net/krituximon/stalinium/item/StaliniumShovelItem.java +++ b/src/main/java/net/krituximon/stalinium/item/StaliniumShovelItem.java @@ -1,6 +1,8 @@ package net.krituximon.stalinium.item; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.tags.BlockTags; import net.minecraft.world.effect.MobEffectInstance; @@ -10,6 +12,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ShovelItem; import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; @@ -79,4 +82,14 @@ public class StaliniumShovelItem extends ShovelItem { stack.setDamageValue(oldDamage); return res; } + + @Override + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + if(Screen.hasShiftDown()) { + tooltipComponents.add(Component.translatable("item.stalinium_shovel.tooltip_shift")); + } else { + tooltipComponents.add(Component.translatable("item.stalinium_shovel.tooltip")); + } + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + } } \ No newline at end of file diff --git a/src/main/java/net/krituximon/stalinium/item/StaliniumSwordItem.java b/src/main/java/net/krituximon/stalinium/item/StaliniumSwordItem.java index 99b8da6..4d64f03 100644 --- a/src/main/java/net/krituximon/stalinium/item/StaliniumSwordItem.java +++ b/src/main/java/net/krituximon/stalinium/item/StaliniumSwordItem.java @@ -1,8 +1,10 @@ package net.krituximon.stalinium.item; import net.krituximon.stalinium.Stalinium; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.Holder; import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.InteractionHand; @@ -12,10 +14,7 @@ import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.SwordItem; -import net.minecraft.world.item.UseAnim; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.*; import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; @@ -102,4 +101,14 @@ public class StaliniumSwordItem extends SwordItem { public boolean isDamaged(ItemStack stack) { return false; } + + @Override + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + if(Screen.hasShiftDown()) { + tooltipComponents.add(Component.translatable("item.stalinium_sword.tooltip_shift")); + } else { + tooltipComponents.add(Component.translatable("item.stalinium_sword.tooltip")); + } + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + } } diff --git a/src/main/resources/assets/stalinium/lang/en_us.json b/src/main/resources/assets/stalinium/lang/en_us.json index d896346..40de02c 100644 --- a/src/main/resources/assets/stalinium/lang/en_us.json +++ b/src/main/resources/assets/stalinium/lang/en_us.json @@ -22,5 +22,20 @@ "creativetab.stalinium.stalinium": "Stalinium", - "effect.stalinium.stalinium_charge": "For the Motherland!" + "effect.stalinium.stalinium_charge": "For the Motherland!", + + "item.stalinium_sword.tooltip": "Sword made out of §cStalinium§0\n\n§l§cPower to the people!§0\n\n§l§cForward, Comrades!\n§f(Shift to expand)", + "item.stalinium_sword.tooltip_shift": "Sword made out of §cStalinium\n\n§l§cPower to the people!:§f\nWhen hitting an enemy, allies within 5 blocks gain Strength 1 for 5 seconds\n§l§cForward, Comrades!:§f\nPressing Right Click applies a speed and haste boost on yourself and all allies infront of you.", + + "item.stalinium_axe.tooltip": "Axe made out of §cStalinium§0\n\n§l§cStalinium Efficiency§0\n\n§l§cLumber for the People\n§f(Shift to expand)", + "item.stalinium_axe.tooltip_shift": "Axe made out of §cStalinium\n\n§l§cStalinium Efficiency:§f\nInstantly break trees\n§l§cLumber of the people:§f\nEach nearby ally gets 1 plank and 1 sapling per log broken with the axe.", + + "item.stalinium_shovel.tooltip": "Shovel made out of §cStalinium§0\n\n§l§cPath of Progress§0\n\n§l§cTo Each According to Their Labor\n§f(Shift to expand)", + "item.stalinium_shovel.tooltip_shift": "Shovel made out of §cStalinium\n\n§l§cPath of Progress:§f\nDigs a 3x3 area.\n§l§cTo Each According to Their Labor:§f\nMining grants Haste II to you, and Haste I to nearby comrades.", + + "item.stalinium_hoe.tooltip": "Hoe made out of §cStalinium§0\n\n§l§cRain Dividend§0\n\n§l§cShared Bounty\n§f(Shift to expand)", + "item.stalinium_hoe.tooltip_shift": "Hoe made out of §cStalinium\n\n§l§cRain Dividend:§f\nRain doubles your harvest yields.\n§l§cShared Bounty:§f\n50% chance your comrades get the same crop drops as you.", + + "item.stalinium_pickaxe.tooltip": "Pickaxe made out of §cStalinium§0\n\n§l§cVein of Unity:§0\n\n§l§cOre for All\n§f(Shift to expand)", + "item.stalinium_pickaxe.tooltip_shift": "Pickaxe made out of §cStalinium\n\n§l§cVein of Unity:§f\nInstantly mines all connected ore blocks.\n§l§cOre for all:§f\n50% chance nearby comrades also receive your ore drops." } From 57f5f13f08a84891c3223e456b6fc0091f87a02b Mon Sep 17 00:00:00 2001 From: IM23a-spirgif Date: Wed, 28 May 2025 16:17:10 +0200 Subject: [PATCH 2/2] Fixed missing newlines in tooltips. Enhanced readability and consistency. --- src/main/resources/assets/stalinium/lang/en_us.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/resources/assets/stalinium/lang/en_us.json b/src/main/resources/assets/stalinium/lang/en_us.json index 40de02c..d7cada1 100644 --- a/src/main/resources/assets/stalinium/lang/en_us.json +++ b/src/main/resources/assets/stalinium/lang/en_us.json @@ -25,17 +25,17 @@ "effect.stalinium.stalinium_charge": "For the Motherland!", "item.stalinium_sword.tooltip": "Sword made out of §cStalinium§0\n\n§l§cPower to the people!§0\n\n§l§cForward, Comrades!\n§f(Shift to expand)", - "item.stalinium_sword.tooltip_shift": "Sword made out of §cStalinium\n\n§l§cPower to the people!:§f\nWhen hitting an enemy, allies within 5 blocks gain Strength 1 for 5 seconds\n§l§cForward, Comrades!:§f\nPressing Right Click applies a speed and haste boost on yourself and all allies infront of you.", + "item.stalinium_sword.tooltip_shift": "Sword made out of §cStalinium\n\n§l§cPower to the people!:§f\nWhen hitting an enemy, allies within 5 blocks gain Strength 1 for 5 seconds\n\n§l§cForward, Comrades!:§f\nPressing Right Click applies a speed and haste boost on yourself and all allies infront of you.", "item.stalinium_axe.tooltip": "Axe made out of §cStalinium§0\n\n§l§cStalinium Efficiency§0\n\n§l§cLumber for the People\n§f(Shift to expand)", - "item.stalinium_axe.tooltip_shift": "Axe made out of §cStalinium\n\n§l§cStalinium Efficiency:§f\nInstantly break trees\n§l§cLumber of the people:§f\nEach nearby ally gets 1 plank and 1 sapling per log broken with the axe.", + "item.stalinium_axe.tooltip_shift": "Axe made out of §cStalinium\n\n§l§cStalinium Efficiency:§f\nInstantly break trees\n\n§l§cLumber of the people:§f\nEach nearby ally gets 1 plank and 1 sapling per log broken with the axe.", "item.stalinium_shovel.tooltip": "Shovel made out of §cStalinium§0\n\n§l§cPath of Progress§0\n\n§l§cTo Each According to Their Labor\n§f(Shift to expand)", - "item.stalinium_shovel.tooltip_shift": "Shovel made out of §cStalinium\n\n§l§cPath of Progress:§f\nDigs a 3x3 area.\n§l§cTo Each According to Their Labor:§f\nMining grants Haste II to you, and Haste I to nearby comrades.", + "item.stalinium_shovel.tooltip_shift": "Shovel made out of §cStalinium\n\n§l§cPath of Progress:§f\nDigs a 3x3 area.\n\n§l§cTo Each According to Their Labor:§f\nMining grants Haste II to you, and Haste I to nearby comrades.", "item.stalinium_hoe.tooltip": "Hoe made out of §cStalinium§0\n\n§l§cRain Dividend§0\n\n§l§cShared Bounty\n§f(Shift to expand)", - "item.stalinium_hoe.tooltip_shift": "Hoe made out of §cStalinium\n\n§l§cRain Dividend:§f\nRain doubles your harvest yields.\n§l§cShared Bounty:§f\n50% chance your comrades get the same crop drops as you.", + "item.stalinium_hoe.tooltip_shift": "Hoe made out of §cStalinium\n\n§l§cRain Dividend:§f\nRain doubles your harvest yields.\n\n§l§cShared Bounty:§f\n50% chance your comrades get the same crop drops as you.", "item.stalinium_pickaxe.tooltip": "Pickaxe made out of §cStalinium§0\n\n§l§cVein of Unity:§0\n\n§l§cOre for All\n§f(Shift to expand)", - "item.stalinium_pickaxe.tooltip_shift": "Pickaxe made out of §cStalinium\n\n§l§cVein of Unity:§f\nInstantly mines all connected ore blocks.\n§l§cOre for all:§f\n50% chance nearby comrades also receive your ore drops." + "item.stalinium_pickaxe.tooltip_shift": "Pickaxe made out of §cStalinium\n\n§l§cVein of Unity:§f\nInstantly mines all connected ore blocks.\n\n§l§cOre for all:§f\n50% chance nearby comrades also receive your ore drops." }