fix: defaultLanguage is public. Now is private

This commit is contained in:
2025-12-08 20:44:01 +03:00
parent a135134b55
commit 45e99ddbc3
2 changed files with 21 additions and 54 deletions

29
.idea/workspace.xml generated
View File

@@ -5,37 +5,8 @@
</component>
<component name="ChangeListManager">
<list default="true" id="46146984-f46a-4efa-a29f-c0632c66dbea" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/special/AntiGravity.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/special/Chorus.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/special/DeathBelt.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/special/Decoy.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/CommandManager.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/PartyManager.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/Party.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/BlockAndSeek.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/BlockAndSeek.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/BlocksGenerator.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/BlocksGenerator.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/Config.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/Config.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/Utils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/eventListeners/ForceControlEventListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/eventListeners/ForceControlEventListener.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/eventListeners/RequiredEventListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/eventListeners/RequiredEventListener.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/DashItem.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/DashItem.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/Grenade.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/Grenade.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/MorphItem.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/special/MorphItem.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/Pistol.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/items/Pistol.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/GamesManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/GamesManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/ItemManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/ItemManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/PropManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/PropManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/TranslationManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/managers/TranslationManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/menus/GamesMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/menus/GamesMenu.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/menus/MapsMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/menus/MapsMenu.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekGame.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekGame.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekItem.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekItem.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekMap.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekMap.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/Items.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/Items.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/LazyLocation.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/LazyLocation.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/TranslationKey.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/hdvtdev/blockandseek/objects/TranslationKey.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -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;
}