From 8c46e3b730f5615b0e3084d25118f46a6f743dd8 Mon Sep 17 00:00:00 2001 From: WakelessSloth56 Date: Mon, 15 Aug 2022 23:11:23 +0800 Subject: [PATCH] feat(utils): MessageHelper --- .../utils/game/CommandFeedbackHelper.java | 1 + .../arnicalib/utils/game/MessageHelper.java | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/main/java/org/auioc/mcmod/arnicalib/utils/game/MessageHelper.java diff --git a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/CommandFeedbackHelper.java b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/CommandFeedbackHelper.java index 51e742a1..ba92540b 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/CommandFeedbackHelper.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/CommandFeedbackHelper.java @@ -9,6 +9,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; +@Deprecated(since = "5.3.9", forRemoval = true) public class CommandFeedbackHelper { public static enum MessageType { diff --git a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/MessageHelper.java b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/MessageHelper.java new file mode 100644 index 00000000..b2c3ff8d --- /dev/null +++ b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/MessageHelper.java @@ -0,0 +1,39 @@ +package org.auioc.mcmod.arnicalib.utils.game; + +import org.auioc.mcmod.arnicalib.api.java.function.StringToStringFunction; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; + +public class MessageHelper { + + private final Component prefix; + private final StringToStringFunction i18n; + + public MessageHelper(Component prefix, StringToStringFunction i18n) { + this.prefix = prefix; + this.i18n = i18n; + } + + public MessageHelper(String modName, StringToStringFunction i18n) { + this(TextUtils.literal("[" + modName + "] ").withStyle(ChatFormatting.AQUA), i18n); + } + + public MessageHelper(StringToStringFunction i18n) { + this(TextUtils.empty(), i18n); + } + + + public MutableComponent create(Component message, boolean withPrefix) { + return withPrefix ? (TextUtils.empty()).append(this.prefix).append(message) : (TextUtils.empty()).append(message); + } + + public MutableComponent create(String key, boolean withPrefix, Object... args) { + return create(TextUtils.translatable(this.i18n.apply(key), args), withPrefix); + } + + public MutableComponent create(String key, boolean withPrefix) { + return create(key, withPrefix, TextUtils.NO_ARGS); + } + +}