Extracted general methods from LangAsset into ComponentHelper class.
This commit is contained in:
@ -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));
|
||||
}
|
||||
|
||||
|
||||
@ -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<Component> 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<Component> 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());
|
||||
}
|
||||
}
|
||||
@ -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<Component> 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<Component> 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());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user