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.component.TotemData;
|
||||||
import dev.micle.totem_of_reviving.setup.Config;
|
import dev.micle.totem_of_reviving.setup.Config;
|
||||||
import dev.micle.totem_of_reviving.setup.ModDataComponents;
|
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 dev.micle.totem_of_reviving.util.LangAsset;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.client.Minecraft;
|
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())) {
|
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.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(ComponentHelper.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(ComponentHelper.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.addIndentToComponent(LangAsset.TOOLTIP_TOTEM_CHARGE_INSTRUCTION.getComponent().withStyle(ChatFormatting.GRAY), 1));
|
||||||
tooltipComponents.add(Component.empty());
|
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(ComponentHelper.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.addIndentToComponent(LangAsset.TOOLTIP_TOTEM_CHANGE_TARGET_INSTRUCTION.getComponent().withStyle(ChatFormatting.GRAY), 1));
|
||||||
} else {
|
} else {
|
||||||
tooltipComponents.add(LangAsset.TOOLTIP_ADVANCED_TOOLTIP_HIDDEN.getComponent(
|
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));
|
).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;
|
package dev.micle.totem_of_reviving.util;
|
||||||
|
|
||||||
import dev.micle.totem_of_reviving.TotemOfReviving;
|
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.Component;
|
||||||
import net.minecraft.network.chat.ComponentUtils;
|
|
||||||
import net.minecraft.network.chat.MutableComponent;
|
import net.minecraft.network.chat.MutableComponent;
|
||||||
import net.minecraft.network.chat.contents.TranslatableContents;
|
import net.minecraft.network.chat.contents.TranslatableContents;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public enum LangAsset {
|
public enum LangAsset {
|
||||||
ITEM_GROUP_MAIN("itemGroup", "main"),
|
ITEM_GROUP_MAIN("itemGroup", "main"),
|
||||||
ITEM_STRAW_TOTEM("item", "straw_totem"),
|
ITEM_STRAW_TOTEM("item", "straw_totem"),
|
||||||
@ -58,23 +52,4 @@ public enum LangAsset {
|
|||||||
public MutableComponent getComponent(Object ...args) {
|
public MutableComponent getComponent(Object ...args) {
|
||||||
return Component.translatable(String.format("%s.%s.%s", category, TotemOfReviving.MOD_ID, key), 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