fix: defaultLanguage is public. Now is private
This commit is contained in:
@@ -1,62 +1,58 @@
|
||||
package hdvtdev.blockandseek.managers;
|
||||
|
||||
|
||||
import eu.okaeri.configs.ConfigManager;
|
||||
import eu.okaeri.configs.OkaeriConfig;
|
||||
import eu.okaeri.configs.annotation.Exclude;
|
||||
import eu.okaeri.configs.serdes.commons.SerdesCommons;
|
||||
import eu.okaeri.configs.yaml.bukkit.YamlBukkitConfigurer;
|
||||
|
||||
import hdvtdev.blockandseek.BlockAndSeek;
|
||||
import hdvtdev.blockandseek.objects.Translation;
|
||||
import hdvtdev.blockandseek.objects.TranslationKey;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
|
||||
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
public final class TranslationManager {
|
||||
|
||||
private TranslationManager() {
|
||||
}
|
||||
|
||||
public static final String defaultLanguage = "en_US";
|
||||
private static final String defaultLanguage = "en_US";
|
||||
public static final MiniMessage mm = MiniMessage.miniMessage();
|
||||
public static final PlainTextComponentSerializer plaintText = PlainTextComponentSerializer.plainText();
|
||||
|
||||
public static final String prefix = "<gradient:#FFAA00:#FFD700><bold>BlockAndSeek</bold></gradient> <dark_gray>»</dark_gray>";
|
||||
public static final String bracedPrefix = "<gradient:#FFAA00:#FFD700><bold>[BlockAndSeek]</bold></gradient>";
|
||||
public static final Component prefix = mm.deserialize("<gradient:#FFAA00:#FFD700><bold>BlockAndSeek</bold></gradient> <dark_gray>»</dark_gray>");
|
||||
public static final Component bracedPrefix = mm.deserialize("<gradient:#FFAA00:#FFD700><bold>[BlockAndSeek]</bold></gradient>");
|
||||
|
||||
private static final Map<String, EnumMap<TranslationKey, String>> translations = new HashMap<>();
|
||||
|
||||
public static Component get(Player player, TranslationKey key, String... placeholders) {
|
||||
@SafeVarargs
|
||||
public static Component get(Player player, TranslationKey key, @NotNull Map.Entry<String, String>... placeholders) {
|
||||
return get(player.locale().toString(), key, placeholders);
|
||||
}
|
||||
|
||||
public static Component get(String lang, TranslationKey key, String... placeholders) {
|
||||
String raw = translations.getOrDefault(lang, translations.get(defaultLanguage)).getOrDefault(key, "?" + key.toString() + "?");
|
||||
if (placeholders.length % 2 == 0) {
|
||||
for (int i = 0; i < placeholders.length; i++) {
|
||||
raw = raw.replace(placeholders[i], placeholders[++i]);
|
||||
}
|
||||
} else BlockAndSeek.getPluginLogger().warning("Wrong amount of placeholders for key: " + key);
|
||||
return mm.deserialize(raw);
|
||||
@SafeVarargs
|
||||
public static Component get(TranslationKey key, @NotNull Map.Entry<String, String>... placeholders) {
|
||||
return get(defaultLanguage, key, placeholders);
|
||||
}
|
||||
|
||||
public static ItemStack translateItem(Player player, ItemStack itemStack, TranslationKey key, String... placeholders) {
|
||||
ItemMeta itemMeta = itemStack.getItemMeta();
|
||||
itemMeta.displayName(get(player, key, placeholders));
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
@SafeVarargs
|
||||
public static Component get(String lang, TranslationKey key, @NotNull Map.Entry<String, String>... placeholders) {
|
||||
String raw = translations.getOrDefault(lang, translations.get(defaultLanguage)).getOrDefault(key, "?" + key.toString() + "?");
|
||||
return mm.deserialize(processPlaceholders(raw, placeholders));
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static ItemStack translateItem(Player player, ItemStack itemStack, TranslationKey key, @NotNull Map.Entry<String, String>... placeholders) {
|
||||
itemStack.editMeta(meta -> meta.displayName(get(player, key, placeholders)));
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user