diff --git a/src/main/java/dev/micle/totem_of_reviving/item/totem/TotemItem.java b/src/main/java/dev/micle/totem_of_reviving/item/totem/TotemItem.java index ac25f6a..d0945da 100644 --- a/src/main/java/dev/micle/totem_of_reviving/item/totem/TotemItem.java +++ b/src/main/java/dev/micle/totem_of_reviving/item/totem/TotemItem.java @@ -4,6 +4,7 @@ import com.mojang.blaze3d.platform.InputConstants; import dev.micle.totem_of_reviving.component.TotemData; import dev.micle.totem_of_reviving.setup.Config; import dev.micle.totem_of_reviving.setup.ModDataComponents; +import dev.micle.totem_of_reviving.util.ComponentHelper; import dev.micle.totem_of_reviving.util.LangAsset; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; @@ -239,16 +240,16 @@ public abstract class TotemItem extends Item { if (InputConstants.isKeyDown(minecraft.getWindow().getWindow(), minecraft.options.keyShift.getKey().getValue())) { tooltipComponents.add(LangAsset.TOOLTIP_ADVANCED_TOOLTIP_SHOWN.getComponent().withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.UNDERLINE)); - tooltipComponents.add(LangAsset.createKeyText(false, new ChatFormatting[]{ChatFormatting.GOLD}, new ChatFormatting[]{ChatFormatting.GOLD, ChatFormatting.ITALIC}, minecraft.options.keyUse)); - tooltipComponents.add(LangAsset.addIndentToComponent(LangAsset.TOOLTIP_TOTEM_REVIVE_INSTRUCTION.getComponent().withStyle(ChatFormatting.GRAY), 1)); - tooltipComponents.add(LangAsset.addIndentToComponent(LangAsset.TOOLTIP_TOTEM_CHARGE_INSTRUCTION.getComponent().withStyle(ChatFormatting.GRAY), 1)); + tooltipComponents.add(ComponentHelper.createKeyText(false, new ChatFormatting[]{ChatFormatting.GOLD}, new ChatFormatting[]{ChatFormatting.GOLD, ChatFormatting.ITALIC}, minecraft.options.keyUse)); + tooltipComponents.add(ComponentHelper.addIndentToComponent(LangAsset.TOOLTIP_TOTEM_REVIVE_INSTRUCTION.getComponent().withStyle(ChatFormatting.GRAY), 1)); + tooltipComponents.add(ComponentHelper.addIndentToComponent(LangAsset.TOOLTIP_TOTEM_CHARGE_INSTRUCTION.getComponent().withStyle(ChatFormatting.GRAY), 1)); tooltipComponents.add(Component.empty()); - tooltipComponents.add(LangAsset.createKeyText(false, new ChatFormatting[]{ChatFormatting.GOLD}, new ChatFormatting[]{ChatFormatting.GOLD, ChatFormatting.ITALIC}, minecraft.options.keyShift, minecraft.options.keyUse)); - tooltipComponents.add(LangAsset.addIndentToComponent(LangAsset.TOOLTIP_TOTEM_CHANGE_TARGET_INSTRUCTION.getComponent().withStyle(ChatFormatting.GRAY), 1)); + tooltipComponents.add(ComponentHelper.createKeyText(false, new ChatFormatting[]{ChatFormatting.GOLD}, new ChatFormatting[]{ChatFormatting.GOLD, ChatFormatting.ITALIC}, minecraft.options.keyShift, minecraft.options.keyUse)); + tooltipComponents.add(ComponentHelper.addIndentToComponent(LangAsset.TOOLTIP_TOTEM_CHANGE_TARGET_INSTRUCTION.getComponent().withStyle(ChatFormatting.GRAY), 1)); } else { tooltipComponents.add(LangAsset.TOOLTIP_ADVANCED_TOOLTIP_HIDDEN.getComponent( - LangAsset.createKeyText(false, new ChatFormatting[]{ChatFormatting.GOLD}, new ChatFormatting[]{ChatFormatting.GOLD, ChatFormatting.ITALIC}, minecraft.options.keyShift) + ComponentHelper.createKeyText(false, new ChatFormatting[]{ChatFormatting.GOLD}, new ChatFormatting[]{ChatFormatting.GOLD, ChatFormatting.ITALIC}, minecraft.options.keyShift) ).withStyle(ChatFormatting.GRAY)); } diff --git a/src/main/java/dev/micle/totem_of_reviving/util/ComponentHelper.java b/src/main/java/dev/micle/totem_of_reviving/util/ComponentHelper.java new file mode 100644 index 0000000..511a783 --- /dev/null +++ b/src/main/java/dev/micle/totem_of_reviving/util/ComponentHelper.java @@ -0,0 +1,31 @@ +package dev.micle.totem_of_reviving.util; + +import net.minecraft.ChatFormatting; +import net.minecraft.client.KeyMapping; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.ComponentUtils; +import net.minecraft.network.chat.MutableComponent; + +import java.util.ArrayList; +import java.util.List; + +public final class ComponentHelper { + public static MutableComponent addIndentToComponent(Component component, int indentLevel) { + List components = new ArrayList<>(); + components.add(Component.literal(" ".repeat(indentLevel))); + components.add(component); + return (MutableComponent) ComponentUtils.formatList(components, Component.empty()); + } + + public static MutableComponent createKeyText(boolean isEnclosed, ChatFormatting[] textFormat, ChatFormatting[] keyFormat, KeyMapping...keys) { + List textComponents = new ArrayList<>(); + textComponents.add(isEnclosed ? Component.literal("[").withStyle(textFormat) : Component.empty()); + for (int i = 0; i < keys.length; i++) { + if (i > 0) textComponents.add(Component.literal(" + ").withStyle(textFormat)); + textComponents.add(Component.literal(keys[i].getKey().getDisplayName().getString()).withStyle(keyFormat)); + } + textComponents.add(isEnclosed ? Component.literal("]").withStyle(textFormat) : Component.empty()); + + return (MutableComponent) ComponentUtils.formatList(textComponents, Component.empty()); + } +} diff --git a/src/main/java/dev/micle/totem_of_reviving/util/LangAsset.java b/src/main/java/dev/micle/totem_of_reviving/util/LangAsset.java index 86a253b..a57a355 100644 --- a/src/main/java/dev/micle/totem_of_reviving/util/LangAsset.java +++ b/src/main/java/dev/micle/totem_of_reviving/util/LangAsset.java @@ -1,16 +1,10 @@ package dev.micle.totem_of_reviving.util; import dev.micle.totem_of_reviving.TotemOfReviving; -import net.minecraft.ChatFormatting; -import net.minecraft.client.KeyMapping; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.ComponentUtils; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.contents.TranslatableContents; -import java.util.ArrayList; -import java.util.List; - public enum LangAsset { ITEM_GROUP_MAIN("itemGroup", "main"), ITEM_STRAW_TOTEM("item", "straw_totem"), @@ -58,23 +52,4 @@ public enum LangAsset { public MutableComponent getComponent(Object ...args) { return Component.translatable(String.format("%s.%s.%s", category, TotemOfReviving.MOD_ID, key), args); } - - public static MutableComponent addIndentToComponent(Component component, int indentLevel) { - List components = new ArrayList<>(); - components.add(Component.literal(" ".repeat(indentLevel))); - components.add(component); - return (MutableComponent) ComponentUtils.formatList(components, Component.empty()); - } - - public static MutableComponent createKeyText(boolean isEnclosed, ChatFormatting[] textFormat, ChatFormatting[] keyFormat, KeyMapping...keys) { - List textComponents = new ArrayList<>(); - textComponents.add(isEnclosed ? Component.literal("[").withStyle(textFormat) : Component.empty()); - for (int i = 0; i < keys.length; i++) { - if (i > 0) textComponents.add(Component.literal(" + ").withStyle(textFormat)); - textComponents.add(Component.literal(keys[i].getKey().getDisplayName().getString()).withStyle(keyFormat)); - } - textComponents.add(isEnclosed ? Component.literal("]").withStyle(textFormat) : Component.empty()); - - return (MutableComponent) ComponentUtils.formatList(textComponents, Component.empty()); - } }