From 083f643ce2a230b81af5afa769a93c4f99b28b8a Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 15 Jul 2021 12:17:02 +0200 Subject: [PATCH] Localization changes --- .../eco/core/command/impl/HandledCommand.java | 3 ++- .../eco/core/recipe/parts/TestableStack.java | 5 +++-- .../willfp/eco/util/NamespacedKeyUtils.java | 20 +++++++++++++++++++ ...dMessage.java => EcoLocalizedMessage.java} | 6 +++--- ...zedString.java => EcoLocalizedString.java} | 6 +++--- .../eco/internal/i18n/LocalizationUtils.java | 6 +++--- .../core-plugin/src/main/resources/config.yml | 5 +++++ 7 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 eco-api/src/main/java/com/willfp/eco/util/NamespacedKeyUtils.java rename eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/{LocalizedMessage.java => EcoLocalizedMessage.java} (68%) rename eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/{LocalizedString.java => EcoLocalizedString.java} (74%) diff --git a/eco-api/src/main/java/com/willfp/eco/core/command/impl/HandledCommand.java b/eco-api/src/main/java/com/willfp/eco/core/command/impl/HandledCommand.java index 79bfc2fb..c58ece7c 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/command/impl/HandledCommand.java +++ b/eco-api/src/main/java/com/willfp/eco/core/command/impl/HandledCommand.java @@ -5,6 +5,7 @@ import com.willfp.eco.core.PluginDependent; import com.willfp.eco.core.command.CommandBase; import com.willfp.eco.core.command.CommandHandler; import com.willfp.eco.core.command.TabCompleteHandler; +import com.willfp.eco.util.StringUtils; import lombok.AccessLevel; import lombok.Getter; import org.bukkit.command.CommandSender; @@ -168,7 +169,7 @@ abstract class HandledCommand extends PluginDependent implements Comm @NotNull final CommandBase command, @NotNull final EcoPlugin plugin) { if (command.isPlayersOnly() && !(sender instanceof Player)) { - sender.sendMessage(plugin.getLangYml().getMessage("not-player")); + sender.sendMessage(StringUtils.getLocalizedString(plugin.getNamespacedKeyFactory().create("not-player"))); return false; } diff --git a/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/TestableStack.java b/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/TestableStack.java index b3d3fa8e..1f911703 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/TestableStack.java +++ b/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/TestableStack.java @@ -1,7 +1,8 @@ package com.willfp.eco.core.recipe.parts; -import com.willfp.eco.core.Eco; import com.willfp.eco.core.items.TestableItem; +import com.willfp.eco.util.NamespacedKeyUtils; +import com.willfp.eco.util.StringUtils; import lombok.Getter; import org.apache.commons.lang.Validate; import org.bukkit.inventory.ItemStack; @@ -58,7 +59,7 @@ public class TestableStack implements TestableItem { List lore = meta.hasLore() ? meta.getLore() : new ArrayList<>(); assert lore != null; lore.add(""); - String add = Eco.getHandler().getEcoPlugin().getLangYml().getString("multiple-in-craft"); + String add = StringUtils.getLocalizedString(NamespacedKeyUtils.createEcoKey("multiple-in-craft")); add = add.replace("%amount%", String.valueOf(amount)); lore.add(add); meta.setLore(lore); diff --git a/eco-api/src/main/java/com/willfp/eco/util/NamespacedKeyUtils.java b/eco-api/src/main/java/com/willfp/eco/util/NamespacedKeyUtils.java new file mode 100644 index 00000000..f8837c24 --- /dev/null +++ b/eco-api/src/main/java/com/willfp/eco/util/NamespacedKeyUtils.java @@ -0,0 +1,20 @@ +package com.willfp.eco.util; + +import lombok.experimental.UtilityClass; +import org.bukkit.NamespacedKey; +import org.jetbrains.annotations.NotNull; + +import java.util.Objects; + +@UtilityClass +public class NamespacedKeyUtils { + /** + * Create a NamespacedKey for eco. + * + * @param string The string. + * @return The key. + */ + public NamespacedKey createEcoKey(@NotNull final String string) { + return Objects.requireNonNull(NamespacedKey.fromString("eco:" + string)); + } +} diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizedMessage.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/EcoLocalizedMessage.java similarity index 68% rename from eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizedMessage.java rename to eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/EcoLocalizedMessage.java index 0b1340db..1e1d5d34 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizedMessage.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/EcoLocalizedMessage.java @@ -3,15 +3,15 @@ package com.willfp.eco.internal.i18n; import com.willfp.eco.core.EcoPlugin; import org.jetbrains.annotations.NotNull; -public class LocalizedMessage extends LocalizedString { +public class EcoLocalizedMessage extends EcoLocalizedString { /** * Create a localized message. * * @param plugin The plugin. * @param id The message id. */ - public LocalizedMessage(@NotNull final EcoPlugin plugin, - @NotNull final String id) { + public EcoLocalizedMessage(@NotNull final EcoPlugin plugin, + @NotNull final String id) { super(plugin, id); } diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizedString.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/EcoLocalizedString.java similarity index 74% rename from eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizedString.java rename to eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/EcoLocalizedString.java index d138a0b0..add264f4 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizedString.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/EcoLocalizedString.java @@ -5,7 +5,7 @@ import com.willfp.eco.core.PluginDependent; import lombok.Getter; import org.jetbrains.annotations.NotNull; -public class LocalizedString extends PluginDependent { +public class EcoLocalizedString extends PluginDependent { /** * The message ID. */ @@ -18,8 +18,8 @@ public class LocalizedString extends PluginDependent { * @param plugin The plugin. * @param id The message id. */ - public LocalizedString(@NotNull final EcoPlugin plugin, - @NotNull final String id) { + public EcoLocalizedString(@NotNull final EcoPlugin plugin, + @NotNull final String id) { super(plugin); this.id = id; diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizationUtils.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizationUtils.java index 496ee103..2cb32c02 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizationUtils.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/i18n/LocalizationUtils.java @@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull; @UtilityClass public class LocalizationUtils { - public LocalizedString getStringFromKey(@NotNull final NamespacedKey key) { + public EcoLocalizedString getStringFromKey(@NotNull final NamespacedKey key) { Validate.isTrue(EcoPlugin.getPluginNames().contains(key.getNamespace())); EcoPlugin source = EcoPlugin.getPlugin(key.getNamespace()); @@ -18,9 +18,9 @@ public class LocalizationUtils { String message = source.getLangYml().getStringOrNull("messages." + key.getKey()); if (message == null) { - return new LocalizedString(source, key.getKey()); + return new EcoLocalizedString(source, key.getKey()); } else { - return new LocalizedMessage(source, key.getKey()); + return new EcoLocalizedMessage(source, key.getKey()); } } } diff --git a/eco-core/core-plugin/src/main/resources/config.yml b/eco-core/core-plugin/src/main/resources/config.yml index 49cdf513..dd741b14 100644 --- a/eco-core/core-plugin/src/main/resources/config.yml +++ b/eco-core/core-plugin/src/main/resources/config.yml @@ -1,2 +1,7 @@ +# +# eco +# by Auxilor +# + disable-display-on-villagers: false villager-display-fix: false \ No newline at end of file