From 2884d65222805d677ee733494e1e73874b3088af Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Fri, 28 Aug 2026 21:34:17 +0200 Subject: [PATCH 1/4] chore: delete small char to font (better bedrock compatibility) --- .../displays/scoreboards/BaseScoreboard.java | 2 +- .../scoreboards/sb/CityWarScoreboard.java | 35 +++++----- .../scoreboards/sb/MainScoreboard.java | 44 ++++++------- .../scoreboards/sb/RestartScoreboard.java | 2 +- .../dream/displays/DreamScoreboard.java | 19 +++--- .../features/dream/registries/DreamBiome.java | 2 +- .../contents/contest/models/ContestData.java | 4 +- .../core/utils/text/fonts/SmallCapsUtils.java | 16 +++++ .../utils/text/messages/MessagesManager.java | 55 ++-------------- .../core/utils/text/messages/Prefix.java | 41 ++++++------ .../text/messages/TranslationManager.java | 33 ++++++++-- .../assets/omc_fonts/font/small_caps.json | 15 +++++ .../omc_fonts/textures/font/small_caps.png | Bin 0 -> 1832 bytes .../resources/contents/omc_items/hammers.yml | 6 +- .../translations/default/contest.properties | 60 ------------------ .../translations/default/displays.properties | 26 -------- .../translations/en_GB/contest.properties | 60 ------------------ .../translations/en_GB/displays.properties | 26 -------- .../translations/en_US/contest.properties | 60 ------------------ .../translations/en_US/displays.properties | 26 -------- 20 files changed, 137 insertions(+), 395 deletions(-) create mode 100644 src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java create mode 100644 src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/font/small_caps.json create mode 100644 src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/textures/font/small_caps.png diff --git a/src/main/java/fr/openmc/core/features/displays/scoreboards/BaseScoreboard.java b/src/main/java/fr/openmc/core/features/displays/scoreboards/BaseScoreboard.java index fa5fe15cb..9a79d219a 100644 --- a/src/main/java/fr/openmc/core/features/displays/scoreboards/BaseScoreboard.java +++ b/src/main/java/fr/openmc/core/features/displays/scoreboards/BaseScoreboard.java @@ -73,7 +73,7 @@ public Component getTitle() { * @return Un {@link Component} pour le footer */ public static Component getFooter() { - Component footerText = TranslationManager.translation("feature.displays.scoreboard.footer.text.to_small"); + Component footerText = TranslationManager.translation("feature.displays.scoreboard.footer.text"); return MiniMessage.miniMessage().deserialize(" ", Placeholder.component("name", footerText)); } } diff --git a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java index d6165518a..db6c03371 100644 --- a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java +++ b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java @@ -27,8 +27,7 @@ import java.util.ArrayList; import java.util.List; -import static fr.openmc.core.utils.text.messages.MessagesManager.textToSmall; -import static fr.openmc.core.utils.text.messages.MessagesManager.textToSmallComponent; +import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmallCaps; import static net.kyori.adventure.text.Component.empty; import static net.kyori.adventure.text.Component.text; @@ -52,30 +51,30 @@ public void update(Player player, SternalBoard board) { lines.add(MiniMessage.miniMessage() .deserialize( "</gradient>", - Placeholder.component("title", TranslationManager.translation("feature.displays.scoreboard.citywar.title.to_small")) + Placeholder.component("title", TranslationManager.translation("feature.displays.scoreboard.citywar.title", true)) ) .decoration(TextDecoration.BOLD, true)); lines.add(text(" • ", net.kyori.adventure.text.format.NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.enemy.label.to_small").color(TextColor.color(0xAAAAAA))) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.enemy.label", true).color(TextColor.color(0xAAAAAA))) .appendSpace() - .append(textToSmallComponent(enemyCity.getName()).color(TextColor.color(0xFF0634))) + .append(toSmallCaps(enemyCity.getName()).color(TextColor.color(0xFF0634))) ); Component phaseComponent; switch (war.getPhase()) { case PREPARATION -> phaseComponent = MiniMessage.miniMessage() - .deserialize("<gradient:#FF7518:#FFD580>%s</gradient>".formatted(textToSmall(WarManager.getFormattedPhase(war.getPhase())))); - case COMBAT -> phaseComponent = textToSmallComponent(WarManager.getFormattedPhase(war.getPhase())) + .deserialize("<gradient:#FF7518:#FFD580>%s</gradient>".formatted(toSmallCaps(WarManager.getFormattedPhase(war.getPhase())))); + case COMBAT -> phaseComponent = toSmallCaps(WarManager.getFormattedPhase(war.getPhase())) .color(TextColor.color(0xFC1C1C)); - case ENDED -> phaseComponent = textToSmallComponent(WarManager.getFormattedPhase(war.getPhase())) + case ENDED -> phaseComponent = toSmallCaps(WarManager.getFormattedPhase(war.getPhase())) .color(NamedTextColor.GRAY); - default -> phaseComponent = textToSmallComponent((WarManager.getFormattedPhase(war.getPhase()))) + default -> phaseComponent = toSmallCaps(WarManager.getFormattedPhase(war.getPhase())) .color(NamedTextColor.WHITE); } lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.phase.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.phase.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(phaseComponent) ); @@ -95,7 +94,7 @@ public void update(Player player, SternalBoard board) { int rounded = (int) Math.round(distance); lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.distance.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.distance.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(text(direction, TextColor.color(0xFFE206))) .appendSpace() @@ -105,7 +104,7 @@ public void update(Player player, SternalBoard board) { switch (war.getPhase()) { case PREPARATION -> lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.starts_in.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.starts_in.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(text(DateUtils.convertSecondToTime(war.getPreparationTimeRemaining()), TextColor.color(0xF52727))) ); @@ -113,29 +112,29 @@ public void update(Player player, SternalBoard board) { case COMBAT -> { if (mascot != null) lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.mascot.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.mascot.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(getColoredHealth(mascot)) ); if (enemyMascot != null) lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.enemy.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.enemy.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(getColoredHealth(enemyMascot)) ); lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.ends_in.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.ends_in.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(text(DateUtils.convertSecondToTime(war.getCombatTimeRemaining()), TextColor.color(0xF52727))) ); } case ENDED -> lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.state.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.state.label", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(TranslationManager.translation("feature.displays.scoreboard.citywar.state.ended.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.citywar.state.ended", true).color(NamedTextColor.GRAY)) ); } @@ -165,7 +164,7 @@ protected int updateInterval() { private Component getColoredHealth(LivingEntity entity) { if (entity.isDead()) return TranslationManager.translation( - "feature.displays.scoreboard.citywar.mascot.dead.to_small", + "feature.displays.scoreboard.citywar.mascot.dead", true, Component.text(FontImageWrapper.replaceFontImages(":dead1:")) ).color(TextColor.color(0xFF3246)); diff --git a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java index 858cfa1c0..10dc6cb8f 100644 --- a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java +++ b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java @@ -22,7 +22,6 @@ import fr.openmc.core.hooks.LuckPermsHook; import fr.openmc.core.hooks.WorldGuardHook; import fr.openmc.core.utils.text.DateUtils; -import fr.openmc.core.utils.text.DirectionUtils; import fr.openmc.core.utils.text.messages.TranslationManager; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; @@ -36,8 +35,7 @@ import java.util.ArrayList; import java.util.List; -import static fr.openmc.core.utils.text.messages.MessagesManager.textToSmall; -import static fr.openmc.core.utils.text.messages.MessagesManager.textToSmallComponent; +import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmallCaps; import static net.kyori.adventure.text.Component.empty; import static net.kyori.adventure.text.Component.text; @@ -56,7 +54,7 @@ public void update(Player player, SternalBoard board) { lines.add(MiniMessage.miniMessage().deserialize( "<gradient:#F82C5D:#F64545><title></gradient>", - Placeholder.component("title", TranslationManager.translation("feature.displays.scoreboard.corpse.title.to_small"))) + Placeholder.component("title", TranslationManager.translation("feature.displays.scoreboard.corpse.title", true))) .decoration(TextDecoration.BOLD, true) .appendSpace() .append(CorpseManager.getCorpseDirection(player, corpse)) @@ -71,16 +69,16 @@ public void update(Player player, SternalBoard board) { if (WeeklyEventsManager.getCurrentPhase() != ContestPhase.VOTE_CAMP.getPhase()) { lines.add(MiniMessage.miniMessage().deserialize( "<gradient:#FFB800:#F0DF49><title></gradient>", - Placeholder.component("title", TranslationManager.translation("feature.displays.scoreboard.contest.title.to_small")) + Placeholder.component("title", TranslationManager.translation("feature.displays.scoreboard.contest.title", true)) ).decoration(TextDecoration.BOLD, true)); lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(data.getCamp1ToSmall()) .appendSpace() - .append(TranslationManager.translation("feature.displays.scoreboard.contest.vs.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.contest.vs", true).color(NamedTextColor.GRAY)) .append(data.getCamp2ToSmall()) ); lines.add(Component.text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.contest.ends.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.contest.ends", true).color(NamedTextColor.GRAY)) .appendSpace() .append(text(DateUtils.getTimeUntilNextDay(DayOfWeek.MONDAY), TextColor.color(0xFF8F06))) ); @@ -96,16 +94,16 @@ public void update(Player player, SternalBoard board) { public static List<Component> getDefaultLines(Player player) { Component rank = LuckPermsHook.isEnable() ? Component.text(LuckPermsHook.getFormattedPAPIPrefix(player)) - : TranslationManager.translation("feature.displays.scoreboard.rank.none.to_small").color(TextColor.color(0xFF1FCC)); + : TranslationManager.translation("feature.displays.scoreboard.rank.none", true).color(TextColor.color(0xFF1FCC)); City city = CityManager.getPlayerCity(player.getUniqueId()); City chunkCity = CityManager.getCityFromChunk(player.getChunk().getX(), player.getChunk().getZ()); boolean isInRegion = WorldGuardHook.isRegionConflict(player.getLocation()); Component location = isInRegion - ? TranslationManager.translation("feature.displays.scoreboard.location.protected.to_small") - : TranslationManager.translation("feature.displays.scoreboard.location.wilderness.to_small"); - location = (chunkCity != null) ? textToSmallComponent(chunkCity.getName()) : location; + ? TranslationManager.translation("feature.displays.scoreboard.location.protected", true) + : TranslationManager.translation("feature.displays.scoreboard.location.wilderness", true); + location = (chunkCity != null) ? toSmallCaps(chunkCity.getName()) : location; String balance = EconomyManager.getMiniBalance(player.getUniqueId()); double bits = BitsManager.getBits(player.getUniqueId()); @@ -113,37 +111,37 @@ public static List<Component> getDefaultLines(Player player) { List<Component> lines = new ArrayList<>(); lines.add(empty()); - lines.add(MiniMessage.miniMessage().deserialize("<gradient:#FF45B9:#FF1FCC>%s</gradient>".formatted(textToSmall(player.getName()))).decoration(TextDecoration.BOLD, true)); + lines.add(MiniMessage.miniMessage().deserialize("<gradient:#FF45B9:#FF1FCC>%s</gradient>".formatted(toSmallCaps(player.getName()))).decoration(TextDecoration.BOLD, true)); lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.rank.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.rank.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(rank) ); lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.city.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.city.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(city != null - ? textToSmallComponent(city.getName()).color(TextColor.color(0xFF06DC)) - : TranslationManager.translation("feature.displays.scoreboard.city.none.to_small").color(TextColor.color(0xFF06DC))) + ? toSmallCaps(city.getName()).color(TextColor.color(0xFF06DC)) + : TranslationManager.translation("feature.displays.scoreboard.city.none", true).color(TextColor.color(0xFF06DC))) ); lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.balance.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.balance.label", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(textToSmallComponent(balance).color(TextColor.color(0xFF06DC))) + .append(toSmallCaps(balance).color(TextColor.color(0xFF06DC))) .appendSpace() .append(text(EconomyManager.getEconomyIcon())) ); if (bits > 0) { lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.bits.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.bits.label", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(textToSmallComponent(EconomyManager.getFormattedSimplifiedNumber(bits)).color(TextColor.color(0x07A0F5))) + .append(toSmallCaps(EconomyManager.getFormattedSimplifiedNumber(bits)).color(TextColor.color(0x07A0F5))) .appendSpace() .append(text(BitsManager.getBitsIcon())) ); } lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.location.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.location.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(location.color(TextColor.color(0xFF06DC))) ); @@ -156,9 +154,9 @@ public static List<Component> getDefaultLines(Player player) { if (halloweenNPC != null) { String pumpkinCount = EconomyManager.getFormattedSimplifiedNumber(HalloweenManager.getPumpkinCount(player.getUniqueId())); lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.displays.scoreboard.pumpkins.label.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.displays.scoreboard.pumpkins.label", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(textToSmallComponent(pumpkinCount).color(TextColor.color(0xFF7518))) + .append(toSmallCaps(pumpkinCount).color(TextColor.color(0xFF7518))) ); } } diff --git a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/RestartScoreboard.java b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/RestartScoreboard.java index 11783c3e9..28e7b4407 100644 --- a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/RestartScoreboard.java +++ b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/RestartScoreboard.java @@ -26,7 +26,7 @@ public void update(Player player, SternalBoard board) { List<Component> lines = new ArrayList<>(); lines.add(empty()); - lines.add(TranslationManager.translation("feature.displays.scoreboard.restart.in.to_small") + lines.add(TranslationManager.translation("feature.displays.scoreboard.restart.in", true) .appendSpace() .append(text(DateUtils.convertSecondToTime(Restart.remainingTime))) .color(NamedTextColor.RED)); diff --git a/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java b/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java index 4e7bdeda0..d60a90ed5 100644 --- a/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java +++ b/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java @@ -22,8 +22,7 @@ import java.util.ArrayList; import java.util.List; -import static fr.openmc.core.utils.text.messages.MessagesManager.textToSmall; -import static fr.openmc.core.utils.text.messages.MessagesManager.textToSmallComponent; +import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmallCaps; import static net.kyori.adventure.text.Component.empty; import static net.kyori.adventure.text.Component.text; @@ -50,21 +49,21 @@ public void update(Player player, SternalBoard board) { lines.add(empty()); lines.add(MiniMessage.miniMessage().deserialize("<gradient:#0011ff:#2556b6>%s</gradient>" - .formatted(textToSmall(player.getName()))).decoration(TextDecoration.BOLD, true)); + .formatted(toSmallCaps(player.getName()))).decoration(TextDecoration.BOLD, true)); if (dreamPlayer != null) { Long time = dreamPlayer.getDreamTime(); int cold = dreamPlayer.getCold(); lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.dream.scoreboard.time.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.dream.scoreboard.time", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(textToSmallComponent(DateUtils.convertSecondToTime(time)).color(TextColor.color(0x00CC34))) + .append(toSmallCaps(DateUtils.convertSecondToTime(time)).color(TextColor.color(0x00CC34))) ); if (cold > 0) lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.dream.scoreboard.cold.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.dream.scoreboard.cold", true).color(NamedTextColor.GRAY)) .appendSpace() .append(text(dreamPlayer.getCold()).color(TextColor.color(0x44EBDA))) ); @@ -74,7 +73,7 @@ public void update(Player player, SternalBoard board) { if (dreamBiome != null) { lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.dream.scoreboard.biome.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.dream.scoreboard.biome", true).color(NamedTextColor.GRAY)) .appendSpace() .append(dreamBiome.getSmallName()) ); @@ -84,16 +83,16 @@ public void update(Player player, SternalBoard board) { if (dreamStructure != null) { String nameLocation = PlainTextComponentSerializer.plainText().serialize(dreamStructure.getName()); lines.add(text(" • ", NamedTextColor.DARK_GRAY) - .append(TranslationManager.translation("feature.dream.scoreboard.location.to_small").color(NamedTextColor.GRAY)) + .append(TranslationManager.translation("feature.dream.scoreboard.location", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(textToSmallComponent(nameLocation)) + .append(toSmallCaps(nameLocation)) ); } lines.add(empty()); lines.add(MiniMessage.miniMessage().deserialize( " <gradient:#001a66:#1358c9><footer></gradient>", - Placeholder.component("footer", TranslationManager.translation("feature.displays.scoreboard.footer.text.to_small")) + Placeholder.component("footer", TranslationManager.translation("feature.displays.scoreboard.footer.text", true)) )); board.updateLines(lines); } diff --git a/src/main/java/fr/openmc/core/features/dream/registries/DreamBiome.java b/src/main/java/fr/openmc/core/features/dream/registries/DreamBiome.java index cc72444f4..7903cd418 100644 --- a/src/main/java/fr/openmc/core/features/dream/registries/DreamBiome.java +++ b/src/main/java/fr/openmc/core/features/dream/registries/DreamBiome.java @@ -52,7 +52,7 @@ public Component getName() { } public Component getSmallName() { - return TranslationManager.translation(nameKey + ".to_small"); + return TranslationManager.translation(nameKey, true); } public static boolean isDreamBiome(Location loc, DreamBiome dreamBiome) { diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/models/ContestData.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/models/ContestData.java index 55836cf4e..0410655fc 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/models/ContestData.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/models/ContestData.java @@ -96,13 +96,13 @@ public Component getCamp2() { } public Component getCamp1ToSmall() { - return TranslationManager.translation(keyCamp1 + ".to_small") + return TranslationManager.translation(keyCamp1, true) .decoration(TextDecoration.ITALIC, false) .color(getColor1AsNamedTextColor()); } public Component getCamp2ToSmall() { - return TranslationManager.translation(keyCamp2 + ".to_small") + return TranslationManager.translation(keyCamp2, true) .decoration(TextDecoration.ITALIC, false) .color(getColor2AsNamedTextColor()); } diff --git a/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java b/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java new file mode 100644 index 000000000..90bb4f4a4 --- /dev/null +++ b/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java @@ -0,0 +1,16 @@ +package fr.openmc.core.utils.text.fonts; + +import net.kyori.adventure.key.Key; +import net.kyori.adventure.text.Component; + +public class SmallCapsUtils { + private final static Key SMALL_CAPS_FONT = Key.key("omc_fonts", "small_caps"); + + public static Component toSmallCaps(String text){ + return Component.text(text.toLowerCase()).font(SMALL_CAPS_FONT); + } + + public static Component toSmallCaps(Component text){ + return text.font(SMALL_CAPS_FONT); + } +} diff --git a/src/main/java/fr/openmc/core/utils/text/messages/MessagesManager.java b/src/main/java/fr/openmc/core/utils/text/messages/MessagesManager.java index c1bbbbf47..f64c87bd8 100644 --- a/src/main/java/fr/openmc/core/utils/text/messages/MessagesManager.java +++ b/src/main/java/fr/openmc/core/utils/text/messages/MessagesManager.java @@ -1,6 +1,7 @@ package fr.openmc.core.utils.text.messages; import fr.openmc.core.features.settings.PlayerSettingsManager; +import net.kyori.adventure.key.Key; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; @@ -8,9 +9,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import java.text.Normalizer; import java.util.List; -import java.util.Map; public class MessagesManager { @@ -18,17 +17,6 @@ public class MessagesManager { For use the beautiful message, create a prefix. */ - private static final Map<Character, Character> SMALL_CHAR_MAP = Map.ofEntries( - // Uppercase - Map.entry('A', 'ᴀ'), Map.entry('B', 'ʙ'), Map.entry('C', 'ᴄ'), Map.entry('D', 'ᴅ'), - Map.entry('E', 'ᴇ'), Map.entry('F', 'ꜰ'), Map.entry('G', 'ɢ'), Map.entry('H', 'ʜ'), - Map.entry('I', 'ɪ'), Map.entry('J', 'ᴊ'), Map.entry('K', 'ᴋ'), Map.entry('L', 'ʟ'), - Map.entry('M', 'ᴍ'), Map.entry('N', 'ɴ'), Map.entry('O', 'ᴏ'), Map.entry('P', 'ᴘ'), - Map.entry('Q', 'ǫ'), Map.entry('R', 'ʀ'), Map.entry('S', 'ꜱ'), Map.entry('T', 'ᴛ'), - Map.entry('U', 'ᴜ'), Map.entry('V', 'ᴠ'), Map.entry('W', 'ᴡ'), Map.entry('X', 'x'), - Map.entry('Y', 'ʏ'), Map.entry('Z', 'ᴢ') - ); - /** * Sends a formatted message to the player with or without sound. * @@ -41,7 +29,7 @@ public class MessagesManager { public static void sendMessage(CommandSender sender, Component message, Prefix prefix, MessageType type, float soundVolume, boolean sound) { Component messageComponent = Component.text(type == MessageType.NONE ? "" : "§7(" + type.getPrefix() + "§7) ") - .append(prefix.getPrefix()) + .append(prefix.getPrefix().font(Key.key("omc_fonts", "small_caps"))) .append(Component.text(" §7» ") .append(message) ); @@ -105,7 +93,7 @@ public static void sendMessage(Player player, List<Component> messages) { public static void broadcastMessage(Component message, Prefix prefix, MessageType type) { Component messageComponent = Component.text(type == MessageType.NONE ? "" : "§7(" + type.getPrefix() + "§7) ") - .append(prefix.getPrefix()) + .append(prefix.getPrefix().font(Key.key("omc_fonts", "small_caps"))) .append(Component.text(" §7» ") .append(message) ); @@ -125,7 +113,7 @@ public static void broadcastMessage(Component message, Prefix prefix, MessageTyp public static void broadcastMessage(World world, Component message, Prefix prefix, MessageType type) { Component messageComponent = Component.text(type == MessageType.NONE ? "" : "§7(" + type.getPrefix() + "§7) ") - .append(prefix.getPrefix()) + .append(prefix.getPrefix().font(Key.key("omc_fonts", "small_caps"))) .append(Component.text(" §7» ") .append(message) ); @@ -134,39 +122,4 @@ public static void broadcastMessage(World world, Component message, Prefix prefi player.sendMessage(messageComponent); } } - - public static String textToSmall(String text) { - if (text == null || text.isEmpty()) return text; - - // Pour retirer les accents - text = Normalizer.normalize(text, Normalizer.Form.NFD) - .replaceAll("\\p{M}", ""); - - StringBuilder result = new StringBuilder(text.length()); - boolean colorCode = false; - - for (char c : text.toUpperCase().toCharArray()) { - if (c == '§') { - colorCode = true; - result.append(c); - continue; - } - - if (colorCode) { - result.append(c); - colorCode = false; - continue; - } - - char upper = Character.toUpperCase(c); - result.append(SMALL_CHAR_MAP.getOrDefault(upper, c)); - - } - - return result.toString(); - } - - public static Component textToSmallComponent(String text) { - return Component.text(textToSmall(text)); - } } diff --git a/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java b/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java index ad0e5e40a..b831817ed 100644 --- a/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java +++ b/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java @@ -14,28 +14,27 @@ public enum Prefix { // For gradient color: https://www.birdflop.com/resources/rgb/ // Color format: MiniMessage - OPENMC("<gradient:#BD45E6:#F99BEB>ᴏᴘᴇɴᴍᴄ</gradient>"), - STAFF("<gradient:#FF2929:#FF7676>ѕᴛᴀꜰꜰ</gradient>"), - CITY("<gradient:#026404:#2E8F38>ᴄɪᴛʏ</gradient>"), - CONTEST("<gradient:#FFB800:#F0DF49>ᴄᴏɴᴛᴇѕᴛ</gradient>"), - CORPSE("<gradient:#F82C5D:#F64545>ᴄᴏʀᴘѕᴇ</gradient>"), - HOME("<gradient:#80EF80:#9aec9a>ʜᴏᴍᴇ</gradient>"), - FRIEND("<gradient:#68E98B:#0EFF6D>ꜰʀɪᴇɴᴅ</gradient>"), - MAYOR("<gradient:#FCD05C:#FBEF22>ᴍᴀʏ</gradient><#FBEF22>ᴏʀ</#FBEF22>"), - QUEST("<gradient:#4E76E3:#1A51E7>ǫᴜᴇѕᴛ</gradient>"), - BANK("<gradient:#084CFB:#ADB6FD>ʙᴀɴᴋ</gradient>"), - ENTREPRISE("<gradient:#E2244F:#FE7474>ᴇɴᴛʀᴇᴘʀɪѕᴇ</gradient>"), // a changer si ça ne correspond pas - SHOP("<gradient:#084CFB:#5AAFC4>ѕʜᴏᴘ</gradient>"), - ADMINSHOP("<gradient:#EE2222:#F04949>ᴀᴅᴍɪɴꜱʜᴏᴘ</gradient>"), + OPENMC("<gradient:#BD45E6:#F99BEB>OPENMC</gradient>"), + STAFF("<gradient:#FF2929:#FF7676>STAFF</gradient>"), + CITY("<gradient:#026404:#2E8F38>CITY</gradient>"), + CONTEST("<gradient:#FFB800:#F0DF49>CONTEST</gradient>"), + CORPSE("<gradient:#F82C5D:#F64545>CORPSE</gradient>"), + HOME("<gradient:#80EF80:#9aec9a>HOME</gradient>"), + FRIEND("<gradient:#68E98B:#0EFF6D>FRIEND</gradient>"), + MAYOR("<gradient:#FCD05C:#FBEF22>MAYOR</gradient><#FBEF22>OR</#FBEF22>"), + QUEST("<gradient:#4E76E3:#1A51E7>QUEST</gradient>"), + BANK("<gradient:#084CFB:#ADB6FD>BANK</gradient>"), + SHOP("<gradient:#084CFB:#5AAFC4>SHOP</gradient>"), + ADMINSHOP("<gradient:#EE2222:#F04949>ADMINSHOP</gradient>"), DEATH("<gradient:#FF0000:#FF7F7F>☠</gradient>"), - SETTINGS("<gradient:#2C82E0:#67C8FF>ѕᴇᴛᴛɪɴɢѕ</gradient>"), - MILLESTONE("<gradient:#A2D182:#B8E89D>ᴍɪʟʟᴇѕᴛᴏɴᴇ</gradient>"), - DREAM("<gradient:#4498DB:#412AEF>ᴅʀᴇᴀᴍ</gradient>"), - MAILBOX("<gradient:#2C43C4:#6A76D9>ᴍᴀɪʟʙᴏx</gradient>"), - HALLOWEEN("<gradient:#FF7518:#FFD580>ʜᴀʟʟᴏᴡᴇᴇɴ</gradient>"), - DIMOPENER("<gradient:#A5FFA8:#DAFFE4>ᴅɪᴍᴏᴘᴇɴᴇʀ</gradient>"), - GOLDEN_HARVEST("<gradient:#EFDA3A:#93AE0E>ᴍᴏɪѕѕᴏɴ ᴅᴏʀᴇᴇ</gradient>"), - MIRACULOUS_FISHING("<gradient:#4498DB:#0FB590>ᴘᴇᴄʜᴇ ᴍɪʀᴀᴄᴜʟᴇ</gradient><gradient:#0FB590:#0FB590>ᴜѕᴇ</gradient>"); + SETTINGS("<gradient:#2C82E0:#67C8FF>SETTINGS</gradient>"), + MILLESTONE("<gradient:#A2D182:#B8E89D>MILESTONES</gradient>"), + DREAM("<gradient:#4498DB:#412AEF>DREAM</gradient>"), + MAILBOX("<gradient:#2C43C4:#6A76D9>MAILBOX</gradient>"), + HALLOWEEN("<gradient:#FF7518:#FFD580>HALLOWEEN</gradient>"), + DIMOPENER("<gradient:#A5FFA8:#DAFFE4>DIMOPENER</gradient>"), + GOLDEN_HARVEST("<gradient:#EFDA3A:#93AE0E>GOLDEN HARVEST</gradient>"), + MIRACULOUS_FISHING("<gradient:#4498DB:#0FB590>MIRACULOUS FISHING</gradient>"); @Getter private final Component prefix; diff --git a/src/main/java/fr/openmc/core/utils/text/messages/TranslationManager.java b/src/main/java/fr/openmc/core/utils/text/messages/TranslationManager.java index fbc199382..7a6ca7223 100644 --- a/src/main/java/fr/openmc/core/utils/text/messages/TranslationManager.java +++ b/src/main/java/fr/openmc/core/utils/text/messages/TranslationManager.java @@ -6,6 +6,7 @@ import fr.openmc.core.bootstrap.integration.OMCLogger; import fr.openmc.core.bootstrap.integration.ResourcePacksGenerator; import fr.openmc.core.utils.text.ComponentUtils; +import fr.openmc.core.utils.text.fonts.SmallCapsUtils; import fr.openmc.core.utils.types.MultiResourceBundle; import io.papermc.paper.plugin.bootstrap.BootstrapContext; import net.kyori.adventure.text.Component; @@ -107,6 +108,32 @@ public static Component translation(String key, ComponentLike... args) { ).decorationIfAbsent(TextDecoration.ITALIC, TextDecoration.State.FALSE); } + /** + * Crée un composant texte traduisible avec arguments. + * Le client Minecraft cherchera la traduction dans son resource pack. + * + * @param key La clé de traduction (ex: "command.fun.playtime.success") + * @param toSmall si le texte doit etre en toSmall + * @param args Les arguments à interpoler dans la traduction + * @return Un composant Paper Adventure traduisible (italique désactivé) + */ + public static Component translation(String key, boolean toSmall, ComponentLike... args) { + String fallback = getFallbackTranslation(key); + ComponentLike[] normalizedArgs = ComponentUtils.normalizeComponent(args); + + Component translated = Component.translatable( + key, + fallback, + normalizedArgs + ).decorationIfAbsent(TextDecoration.ITALIC, TextDecoration.State.FALSE); + + if (toSmall) { + translated = SmallCapsUtils.toSmallCaps(translated); + } + + return translated; + } + /** * Retourne une traduction sous forme de String au format legacy. * ATTENTION RETOURNE DIRECTEMENT LE FALLBACK @@ -163,15 +190,9 @@ private static Map<String, String> toLegacyMap(Map<String, String> miniMessageMa Map<String, String> result = new HashMap<>(); for (Map.Entry<String, String> entry : miniMessageMap.entrySet()) { String key = entry.getKey(); - if (key.endsWith(".to_small")) continue; String value = MessageConvertor.toLegacy(entry.getValue()); result.put(key, value); - - if (miniMessageMap.get(key + ".to_small") != null && - miniMessageMap.get(key + ".to_small").equalsIgnoreCase("true")) { - result.put(key + ".to_small", MessagesManager.textToSmall(value)); - } } return result; } diff --git a/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/font/small_caps.json b/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/font/small_caps.json new file mode 100644 index 000000000..55ed34788 --- /dev/null +++ b/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/font/small_caps.json @@ -0,0 +1,15 @@ +{ + "providers": [ + { + "type": "reference", + "id": "minecraft:include/space" + }, + { + "type": "reference", + "id": "minecraft:include/default", + "filter": { + "uniform": false + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/textures/font/small_caps.png b/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/textures/font/small_caps.png new file mode 100644 index 0000000000000000000000000000000000000000..635485fc0d06f24b07cc88778d98e37950f67cd9 GIT binary patch literal 1832 zcmV+@2iN$CP)<h;3K|Lk000e1NJLTq004jh004jp1^@s6!#-il00001b5ch_0Itp) z=>Px*;z>k7RCt{2oZWV`Dh!6TYwrJ+-6xxGF=@zu)av`3beKRAAVN^5+Xest00000 z0000000000000000B}=|<2bJN;gyVm&rU$5z2rl8U{v-0wrCx*41iYWAV~Hl9TER4 z+W)1=cl%m#WqT$#;>)Zz;;%KxC0RztS%iG3aNM&3c>S1lM}6&{JWKy9Z9DtehPMNp z+!`2n4S*^gm)P!J0kq(t-$^<${%R{s7Zs~Zr~cFUGmaMX)_wy3?!dln-^<Xx?>krV zIF3V-N$n*$)ytKCInC%;$-V8p{#PQ6ai)#vzc<N}l%G-7?4Rvl71H>66J<&Et1iu+ zquH<&B$C_{fSN2CES|xw4p3{Itd8aQSUcp2GOzy3Bxe1u_AiPhIIThI!IT3?a?ZGS zkEL~`Jv_QcQ@xe`No_QFw63>JL^mj)YsCPdgkM|0w)vLu>=Ny<&DHU4L0o(5F;weY zRKI5niRcsipd}UFq^r9u`C1{*CRvici0(P@<B~x7op(GxR1irNJW14*iAbi8SK8h8 zeIHl$YQ>2rd7rtEad3R@$TqbBv<~oU0J{^l;a6sCx`OsA09FH0IY5y?=w4N{oI=9W zpUjnN)$MKfF90N`v;mT~0P0xe98Ya}2GC+(V%~qbwpsnNjf@V?7mI(UQvd+q=0vw? zcFB;GXYT{hI;*U9mfyWB`F{rU3BhgKdv45@t$v*8&%Doj?OW<gZ7ljc?Y%3(kEile zsmRX9M6D7<&9)?$>~cxB#os}D0E`Z5k=#vqkDMlGHNit(nZ2LJLEz-vXKQ;&U*!A9 z5<bhl?W2BM<rOwkSSM{YNS3lCKr~sjeZ*g{eyNYv3q$fJ69Afj0DxD6CE?weo>I+0 zlD!e+ZO;X$_eP9lgZ7;(Tl*H(uZ?|HpVkMFY!X#n*8I!Lx%$~8E~9%++$>3^cRary z2S@QlSmtS2_7>|(Pxm&M^?$xmwOVnsm1Kn}0JH(hENK?B`qlxK29WBqV(HJ2M<<E; zxROT#*%ScU07)wVb<CS1a5g=+KP~np=H+*Fo7bv;b){<kv%&>Iw*LSC0NSWXK(&*A z#K*G#NPCF4J*{I&%I;p4{GaP|oPcJ3LUz38#%$T@$C>`jiJsTKMHXq}trG?B18nj+ zdd{L(btIY8#!B>vXW}4ma_+OWy`(SledG$B<=*z1f0``Y)><cw)q&L@S<03G(PYu~ z5r4h<Ef<kjuca+`0GM0=0000000000fR}N`9Y5T3x+(L-bWM`wc?Y<NGbUwa11|_( z44s&cmo{e`cq#OTT)6_^KZLv-1i;12$yvuq07)Nseh^sR7JB?3ycO*Xea0F44y^k5 z`2Jho$KyUfiC13)md<r<0W<*59$@R_J~{~Q#1(`4`V~Oi0?xcTuNvUj<^TYI3h45{ zEgjt7d1+mJp7m&nN>r}d&f@7?#D0bTh~1yjVD%H@<M{qx^z<*+u6po6A0Il=Tv-Z& zp=kaUaAgp52NS1X`~81b|7@pIzlD!9@pD-Vg1JmrkqniS5z$}q({B15y>P1ZN5-do z1(-jNdXfX0)17k56-edY3Deqp?Q3PNJ@p~I0*pG*9Kdr0O7fLWD(3<>qhG`7pVq!Y z&iU}e4G=9$LBO@ESo*;^q)!1u5nT~x9pJuv=p@n#L%v!%=_F?+J=@lrcW`i9#H?ra z+2fzoUbCO|e+6C%dpRZlE&Oh*lDvqXOcH2mBl#CiJhk@o_m2#KZ0;eox9IM)U)`P! zfXvz2;!I^^Yx=b-jLNBR)&5Jz&<_0?UjdMfJZth1wNtIXGO^Rp?r~h9f7_4*z8(a? z%lUN=AbJkfu;}l+fmC5Xb3R|8>9XV`9(xq5053;924*8T!YWISCOTGIn*ArD2EY{q z&~=K?biMHzM*Hhq+MP7d6)wrU`?2zA<_sUIbB2#6+NCSR^Dt#a<owRbIQwTNp<2-1 z2_%6p2LbSMUX$$nb?C{2KF4^|$>nv>JVGmj2eF!L`ZvlW-v@Xq+~e!<{ajAJ4*>4R zYVx-Yd;a6;%mENNH)mY=Rc}E75JOsKtV@uk-tj*fJ6<H49d^97TKzi~aP>4j89A-v z^+A)ZbZa&%(fSmXYjY=|J`Ca<;M#C^r{;Fu`;zp8jy^HG+a4*6&+L1L-=9^)3}aRY zv`%<CV6Dsfzj_KO1+K+rR{+r@kF(nqw64d&D=ZF1g1~}BADuYrN9T%Q?ei)K#&>P2 zmo*1CgUBAJ$!Pm4`bH<QTK8!=z(9N9!6UE2a+mC?y<c16v${L<UV?NLU$rVdo&Nwe WT2%oy?MwRr0000<MNUMnLSTaG;E-nk literal 0 HcmV?d00001 diff --git a/src/main/resources/contents/omc_items/hammers.yml b/src/main/resources/contents/omc_items/hammers.yml index 74d1e6bd0..e9849fbab 100644 --- a/src/main/resources/contents/omc_items/hammers.yml +++ b/src/main/resources/contents/omc_items/hammers.yml @@ -3,7 +3,7 @@ info: items: iron_hammer: permission: customitems.iron_hammer - display_name: <gradient:#ffffff:#ffd08a><lang:itemsadder.omc_items.iron_hammer.name> + display_name: <gradient:#ffffff:#ffd08a><lang:itemsadder.omc_items.iron_hammer.name></gradient> lore: - <lang:itemsadder.omc_items.iron_hammer.lore.0> resource: @@ -18,7 +18,7 @@ items: diamond_hammer: permission: customitems.diamond_hammer - display_name: <gradient:#ffffff:#72f6ef><lang:itemsadder.omc_items.diamond_hammer.name> + display_name: <gradient:#ffffff:#72f6ef><lang:itemsadder.omc_items.diamond_hammer.name></gradient> lore: - <lang:itemsadder.omc_items.diamond_hammer.lore.0> resource: @@ -33,7 +33,7 @@ items: netherite_hammer: permission: customitems.netherite_hammer - display_name: <gradient:#ffffff:#6b604f><lang:itemsadder.omc_items.netherite_hammer.name> + display_name: <gradient:#ffffff:#6b604f><lang:itemsadder.omc_items.netherite_hammer.name></gradient> lore: - <lang:itemsadder.omc_items.netherite_hammer.lore.0> resource: diff --git a/src/main/resources/translations/default/contest.properties b/src/main/resources/translations/default/contest.properties index 799163eb5..c0c94322e 100644 --- a/src/main/resources/translations/default/contest.properties +++ b/src/main/resources/translations/default/contest.properties @@ -186,66 +186,6 @@ feature.events.contest.camp.theater=Théâtre feature.events.contest.camp.car=Voiture feature.events.contest.camp.motorcycle=Moto -feature.events.contest.camp.mayonnaise.to_small=true -feature.events.contest.camp.ketchup.to_small=true -feature.events.contest.camp.heroes.to_small=true -feature.events.contest.camp.villain.to_small=true -feature.events.contest.camp.chaos.to_small=true -feature.events.contest.camp.order.to_small=true -feature.events.contest.camp.pasta.to_small=true -feature.events.contest.camp.rice.to_small=true -feature.events.contest.camp.samsung.to_small=true -feature.events.contest.camp.apple.to_small=true -feature.events.contest.camp.mountain.to_small=true -feature.events.contest.camp.sea.to_small=true -feature.events.contest.camp.dog.to_small=true -feature.events.contest.camp.cat.to_small=true -feature.events.contest.camp.past.to_small=true -feature.events.contest.camp.future.to_small=true -feature.events.contest.camp.pain_au_chocolat.to_small=true -feature.events.contest.camp.chocolatine.to_small=true -feature.events.contest.camp.day.to_small=true -feature.events.contest.camp.night.to_small=true -feature.events.contest.camp.pizza.to_small=true -feature.events.contest.camp.burger.to_small=true -feature.events.contest.camp.summer.to_small=true -feature.events.contest.camp.winter.to_small=true -feature.events.contest.camp.sweet.to_small=true -feature.events.contest.camp.salty.to_small=true -feature.events.contest.camp.rain.to_small=true -feature.events.contest.camp.sun.to_small=true -feature.events.contest.camp.city.to_small=true -feature.events.contest.camp.countryside.to_small=true -feature.events.contest.camp.football.to_small=true -feature.events.contest.camp.basketball.to_small=true -feature.events.contest.camp.tea.to_small=true -feature.events.contest.camp.coffee.to_small=true -feature.events.contest.camp.dark_chocolate.to_small=true -feature.events.contest.camp.milk_chocolate.to_small=true -feature.events.contest.camp.dc.to_small=true -feature.events.contest.camp.marvel.to_small=true -feature.events.contest.camp.wolf.to_small=true -feature.events.contest.camp.fox.to_small=true -feature.events.contest.camp.morning.to_small=true -feature.events.contest.camp.evening.to_small=true -feature.events.contest.camp.netflix.to_small=true -feature.events.contest.camp.disney_plus.to_small=true -feature.events.contest.camp.camping.to_small=true -feature.events.contest.camp.hotel.to_small=true -feature.events.contest.camp.plane.to_small=true -feature.events.contest.camp.train.to_small=true -feature.events.contest.camp.playstation.to_small=true -feature.events.contest.camp.xbox.to_small=true -feature.events.contest.camp.spring.to_small=true -feature.events.contest.camp.manga.to_small=true -feature.events.contest.camp.anime.to_small=true -feature.events.contest.camp.beach.to_small=true -feature.events.contest.camp.forest.to_small=true -feature.events.contest.camp.cinema.to_small=true -feature.events.contest.camp.theater.to_small=true -feature.events.contest.camp.car.to_small=true -feature.events.contest.camp.motorcycle.to_small=true - feature.events.contest.prefix.dictator=Dictateur en feature.events.contest.prefix.colonel=Colonel en feature.events.contest.prefix.addict=Addict en diff --git a/src/main/resources/translations/default/displays.properties b/src/main/resources/translations/default/displays.properties index 5ba539080..81d24ae4e 100644 --- a/src/main/resources/translations/default/displays.properties +++ b/src/main/resources/translations/default/displays.properties @@ -4,57 +4,31 @@ feature.displays.tablist.footer.default=\n<light_purple>play.openmc.fr</light_pu feature.displays.tablist.footer.dream=\n<dark_blue>play.openmc.fr</dark_blue>\n feature.displays.scoreboard.title.text=<light_purple>OPENMC</light_purple> feature.displays.scoreboard.footer.text=play.openmc.fr -feature.displays.scoreboard.footer.text.to_small=true feature.displays.scoreboard.contest.title=contest -feature.displays.scoreboard.contest.title.to_small=true feature.displays.scoreboard.contest.vs= VS -feature.displays.scoreboard.contest.vs.to_small=true feature.displays.scoreboard.contest.ends=fin: -feature.displays.scoreboard.contest.ends.to_small=true feature.displays.scoreboard.corpse.title=cadavre -feature.displays.scoreboard.corpse.title.to_small=true feature.displays.scoreboard.rank.label=rang: -feature.displays.scoreboard.rank.label.to_small=true feature.displays.scoreboard.rank.none=aucun -feature.displays.scoreboard.rank.none.to_small=true feature.displays.scoreboard.city.label=ville: -feature.displays.scoreboard.city.label.to_small=true feature.displays.scoreboard.city.none=Aucune -feature.displays.scoreboard.city.none.to_small=true feature.displays.scoreboard.balance.label=argent: -feature.displays.scoreboard.balance.label.to_small=true feature.displays.scoreboard.bits.label=bits: -feature.displays.scoreboard.bits.label.to_small=true feature.displays.scoreboard.location.label=position: -feature.displays.scoreboard.location.label.to_small=true feature.displays.scoreboard.location.wilderness=Nature -feature.displays.scoreboard.location.wilderness.to_small=true feature.displays.scoreboard.location.protected=Région Protégée -feature.displays.scoreboard.location.protected.to_small=true feature.displays.scoreboard.pumpkins.label=citrouilles: -feature.displays.scoreboard.pumpkins.label.to_small=true feature.displays.scoreboard.citywar.title=GUERRE EN COURS -feature.displays.scoreboard.citywar.title.to_small=true feature.displays.scoreboard.citywar.enemy.label=ennemi: -feature.displays.scoreboard.citywar.enemy.label.to_small=true feature.displays.scoreboard.citywar.phase.label=phase: -feature.displays.scoreboard.citywar.phase.label.to_small=true feature.displays.scoreboard.citywar.distance.label=distance: -feature.displays.scoreboard.citywar.distance.label.to_small=true feature.displays.scoreboard.citywar.starts_in.label=début dans: -feature.displays.scoreboard.citywar.starts_in.label.to_small=true feature.displays.scoreboard.citywar.mascot.label=mascotte: -feature.displays.scoreboard.citywar.mascot.label.to_small=true feature.displays.scoreboard.citywar.ends_in.label=fin dans: -feature.displays.scoreboard.citywar.ends_in.label.to_small=true feature.displays.scoreboard.citywar.state.label=état: -feature.displays.scoreboard.citywar.state.label.to_small=true feature.displays.scoreboard.citywar.state.ended=terminée -feature.displays.scoreboard.citywar.state.ended.to_small=true feature.displays.scoreboard.citywar.mascot.dead=%1$s MORTE -feature.displays.scoreboard.citywar.mascot.dead.to_small=true feature.displays.scoreboard.restart.in=Redémarrage dans -feature.displays.scoreboard.restart.in.to_small=true feature.displays.holograms.command.setpos.success=Position de l'hologramme %1$s mise à jour. feature.displays.holograms.command.setpos.error=Erreur lors de la mise à jour de la position de l'hologramme %1$s : %2$s feature.displays.holograms.command.setpos.invalid=Veuillez spécifier un hologramme valide : %1$s diff --git a/src/main/resources/translations/en_GB/contest.properties b/src/main/resources/translations/en_GB/contest.properties index e8fcd6d38..fad8944ee 100644 --- a/src/main/resources/translations/en_GB/contest.properties +++ b/src/main/resources/translations/en_GB/contest.properties @@ -186,66 +186,6 @@ feature.events.contest.camp.theater=Theatre feature.events.contest.camp.car=Car feature.events.contest.camp.motorcycle=Motorcycle -feature.events.contest.camp.mayonnaise.to_small=true -feature.events.contest.camp.ketchup.to_small=true -feature.events.contest.camp.heroes.to_small=true -feature.events.contest.camp.villain.to_small=true -feature.events.contest.camp.chaos.to_small=true -feature.events.contest.camp.order.to_small=true -feature.events.contest.camp.pasta.to_small=true -feature.events.contest.camp.rice.to_small=true -feature.events.contest.camp.samsung.to_small=true -feature.events.contest.camp.apple.to_small=true -feature.events.contest.camp.mountain.to_small=true -feature.events.contest.camp.sea.to_small=true -feature.events.contest.camp.dog.to_small=true -feature.events.contest.camp.cat.to_small=true -feature.events.contest.camp.past.to_small=true -feature.events.contest.camp.future.to_small=true -feature.events.contest.camp.pain_au_chocolat.to_small=true -feature.events.contest.camp.chocolatine.to_small=true -feature.events.contest.camp.day.to_small=true -feature.events.contest.camp.night.to_small=true -feature.events.contest.camp.pizza.to_small=true -feature.events.contest.camp.burger.to_small=true -feature.events.contest.camp.summer.to_small=true -feature.events.contest.camp.winter.to_small=true -feature.events.contest.camp.sweet.to_small=true -feature.events.contest.camp.salty.to_small=true -feature.events.contest.camp.rain.to_small=true -feature.events.contest.camp.sun.to_small=true -feature.events.contest.camp.city.to_small=true -feature.events.contest.camp.countryside.to_small=true -feature.events.contest.camp.football.to_small=true -feature.events.contest.camp.basketball.to_small=true -feature.events.contest.camp.tea.to_small=true -feature.events.contest.camp.coffee.to_small=true -feature.events.contest.camp.dark_chocolate.to_small=true -feature.events.contest.camp.milk_chocolate.to_small=true -feature.events.contest.camp.dc.to_small=true -feature.events.contest.camp.marvel.to_small=true -feature.events.contest.camp.wolf.to_small=true -feature.events.contest.camp.fox.to_small=true -feature.events.contest.camp.morning.to_small=true -feature.events.contest.camp.evening.to_small=true -feature.events.contest.camp.netflix.to_small=true -feature.events.contest.camp.disney_plus.to_small=true -feature.events.contest.camp.camping.to_small=true -feature.events.contest.camp.hotel.to_small=true -feature.events.contest.camp.plane.to_small=true -feature.events.contest.camp.train.to_small=true -feature.events.contest.camp.playstation.to_small=true -feature.events.contest.camp.xbox.to_small=true -feature.events.contest.camp.spring.to_small=true -feature.events.contest.camp.manga.to_small=true -feature.events.contest.camp.anime.to_small=true -feature.events.contest.camp.beach.to_small=true -feature.events.contest.camp.forest.to_small=true -feature.events.contest.camp.cinema.to_small=true -feature.events.contest.camp.theater.to_small=true -feature.events.contest.camp.car.to_small=true -feature.events.contest.camp.motorcycle.to_small=true - feature.events.contest.prefix.dictator=Dictator in feature.events.contest.prefix.colonel=Colonel in feature.events.contest.prefix.addict=Addict in diff --git a/src/main/resources/translations/en_GB/displays.properties b/src/main/resources/translations/en_GB/displays.properties index c4a6a9554..1498a2015 100644 --- a/src/main/resources/translations/en_GB/displays.properties +++ b/src/main/resources/translations/en_GB/displays.properties @@ -4,57 +4,31 @@ feature.displays.tablist.footer.default=\n<light_purple>play.openmc.fr</light_pu feature.displays.tablist.footer.dream=\n<dark_blue>play.openmc.fr</dark_blue>\n feature.displays.scoreboard.title.text=<light_purple>OPEN™</light_purple> feature.displays.scoreboard.footer.text=play.openmc.fr -feature.displays.scoreboard.footer.text.to_small=true feature.displays.scoreboard.contest.title=contest -feature.displays.scoreboard.contest.title.to_small=true feature.displays.scoreboard.contest.vs= VS -feature.displays.scoreboard.contest.vs.to_small=true feature.displays.scoreboard.contest.ends=END: -feature.displays.scoreboard.contest.ends.to_small=true feature.displays.scoreboard.corpse.title=corpse -feature.displays.scoreboard.corpse.title.to_small=true feature.displays.scoreboard.rank.label=rank: -feature.displays.scoreboard.rank.label.to_small=true feature.displays.scoreboard.rank.none=none -feature.displays.scoreboard.rank.none.to_small=true feature.displays.scoreboard.city.label=city: -feature.displays.scoreboard.city.label.to_small=true feature.displays.scoreboard.city.none=None -feature.displays.scoreboard.city.none.to_small=true feature.displays.scoreboard.balance.label=money: -feature.displays.scoreboard.balance.label.to_small=true feature.displays.scoreboard.bits.label=bits: -feature.displays.scoreboard.bits.label.to_small=true feature.displays.scoreboard.location.label=location: -feature.displays.scoreboard.location.label.to_small=true feature.displays.scoreboard.location.wilderness=Nature -feature.displays.scoreboard.location.wilderness.to_small=true feature.displays.scoreboard.location.protected=Protected Region -feature.displays.scoreboard.location.protected.to_small=true feature.displays.scoreboard.pumpkins.label=pumpkins: -feature.displays.scoreboard.pumpkins.label.to_small=true feature.displays.scoreboard.citywar.title=ONGOING WAR -feature.displays.scoreboard.citywar.title.to_small=true feature.displays.scoreboard.citywar.enemy.label=enemy: -feature.displays.scoreboard.citywar.enemy.label.to_small=true feature.displays.scoreboard.citywar.phase.label=phase: -feature.displays.scoreboard.citywar.phase.label.to_small=true feature.displays.scoreboard.citywar.distance.label=distance: -feature.displays.scoreboard.citywar.distance.label.to_small=true feature.displays.scoreboard.citywar.starts_in.label=start in: -feature.displays.scoreboard.citywar.starts_in.label.to_small=true feature.displays.scoreboard.citywar.mascot.label=mascot: -feature.displays.scoreboard.citywar.mascot.label.to_small=true feature.displays.scoreboard.citywar.ends_in.label=end in: -feature.displays.scoreboard.citywar.ends_in.label.to_small=true feature.displays.scoreboard.citywar.state.label=state: -feature.displays.scoreboard.citywar.state.label.to_small=true feature.displays.scoreboard.citywar.state.ended=finished -feature.displays.scoreboard.citywar.state.ended.to_small=true feature.displays.scoreboard.citywar.mascot.dead=%1$s DEAD -feature.displays.scoreboard.citywar.mascot.dead.to_small=true feature.displays.scoreboard.restart.in=Reboot in -feature.displays.scoreboard.restart.in.to_small=true feature.displays.holograms.command.setpos.success=Hologram position %1$s update. feature.displays.holograms.command.setpos.error=Error updating hologram position %1$s : %2$s feature.displays.holograms.command.setpos.invalid=Please specify a valid hologram: %1$s diff --git a/src/main/resources/translations/en_US/contest.properties b/src/main/resources/translations/en_US/contest.properties index 4c43d1856..ccd07b63f 100644 --- a/src/main/resources/translations/en_US/contest.properties +++ b/src/main/resources/translations/en_US/contest.properties @@ -186,66 +186,6 @@ feature.events.contest.camp.theater=Theater feature.events.contest.camp.car=Car feature.events.contest.camp.motorcycle=Motorcycle -feature.events.contest.camp.mayonnaise.to_small=true -feature.events.contest.camp.ketchup.to_small=true -feature.events.contest.camp.heroes.to_small=true -feature.events.contest.camp.villain.to_small=true -feature.events.contest.camp.chaos.to_small=true -feature.events.contest.camp.order.to_small=true -feature.events.contest.camp.pasta.to_small=true -feature.events.contest.camp.rice.to_small=true -feature.events.contest.camp.samsung.to_small=true -feature.events.contest.camp.apple.to_small=true -feature.events.contest.camp.mountain.to_small=true -feature.events.contest.camp.sea.to_small=true -feature.events.contest.camp.dog.to_small=true -feature.events.contest.camp.cat.to_small=true -feature.events.contest.camp.past.to_small=true -feature.events.contest.camp.future.to_small=true -feature.events.contest.camp.pain_au_chocolat.to_small=true -feature.events.contest.camp.chocolatine.to_small=true -feature.events.contest.camp.day.to_small=true -feature.events.contest.camp.night.to_small=true -feature.events.contest.camp.pizza.to_small=true -feature.events.contest.camp.burger.to_small=true -feature.events.contest.camp.summer.to_small=true -feature.events.contest.camp.winter.to_small=true -feature.events.contest.camp.sweet.to_small=true -feature.events.contest.camp.salty.to_small=true -feature.events.contest.camp.rain.to_small=true -feature.events.contest.camp.sun.to_small=true -feature.events.contest.camp.city.to_small=true -feature.events.contest.camp.countryside.to_small=true -feature.events.contest.camp.football.to_small=true -feature.events.contest.camp.basketball.to_small=true -feature.events.contest.camp.tea.to_small=true -feature.events.contest.camp.coffee.to_small=true -feature.events.contest.camp.dark_chocolate.to_small=true -feature.events.contest.camp.milk_chocolate.to_small=true -feature.events.contest.camp.dc.to_small=true -feature.events.contest.camp.marvel.to_small=true -feature.events.contest.camp.wolf.to_small=true -feature.events.contest.camp.fox.to_small=true -feature.events.contest.camp.morning.to_small=true -feature.events.contest.camp.evening.to_small=true -feature.events.contest.camp.netflix.to_small=true -feature.events.contest.camp.disney_plus.to_small=true -feature.events.contest.camp.camping.to_small=true -feature.events.contest.camp.hotel.to_small=true -feature.events.contest.camp.plane.to_small=true -feature.events.contest.camp.train.to_small=true -feature.events.contest.camp.playstation.to_small=true -feature.events.contest.camp.xbox.to_small=true -feature.events.contest.camp.spring.to_small=true -feature.events.contest.camp.manga.to_small=true -feature.events.contest.camp.anime.to_small=true -feature.events.contest.camp.beach.to_small=true -feature.events.contest.camp.forest.to_small=true -feature.events.contest.camp.cinema.to_small=true -feature.events.contest.camp.theater.to_small=true -feature.events.contest.camp.car.to_small=true -feature.events.contest.camp.motorcycle.to_small=true - feature.events.contest.prefix.dictator=Dictator in feature.events.contest.prefix.colonel=Colonel in feature.events.contest.prefix.addict=Addict in diff --git a/src/main/resources/translations/en_US/displays.properties b/src/main/resources/translations/en_US/displays.properties index c4a6a9554..1498a2015 100644 --- a/src/main/resources/translations/en_US/displays.properties +++ b/src/main/resources/translations/en_US/displays.properties @@ -4,57 +4,31 @@ feature.displays.tablist.footer.default=\n<light_purple>play.openmc.fr</light_pu feature.displays.tablist.footer.dream=\n<dark_blue>play.openmc.fr</dark_blue>\n feature.displays.scoreboard.title.text=<light_purple>OPEN™</light_purple> feature.displays.scoreboard.footer.text=play.openmc.fr -feature.displays.scoreboard.footer.text.to_small=true feature.displays.scoreboard.contest.title=contest -feature.displays.scoreboard.contest.title.to_small=true feature.displays.scoreboard.contest.vs= VS -feature.displays.scoreboard.contest.vs.to_small=true feature.displays.scoreboard.contest.ends=END: -feature.displays.scoreboard.contest.ends.to_small=true feature.displays.scoreboard.corpse.title=corpse -feature.displays.scoreboard.corpse.title.to_small=true feature.displays.scoreboard.rank.label=rank: -feature.displays.scoreboard.rank.label.to_small=true feature.displays.scoreboard.rank.none=none -feature.displays.scoreboard.rank.none.to_small=true feature.displays.scoreboard.city.label=city: -feature.displays.scoreboard.city.label.to_small=true feature.displays.scoreboard.city.none=None -feature.displays.scoreboard.city.none.to_small=true feature.displays.scoreboard.balance.label=money: -feature.displays.scoreboard.balance.label.to_small=true feature.displays.scoreboard.bits.label=bits: -feature.displays.scoreboard.bits.label.to_small=true feature.displays.scoreboard.location.label=location: -feature.displays.scoreboard.location.label.to_small=true feature.displays.scoreboard.location.wilderness=Nature -feature.displays.scoreboard.location.wilderness.to_small=true feature.displays.scoreboard.location.protected=Protected Region -feature.displays.scoreboard.location.protected.to_small=true feature.displays.scoreboard.pumpkins.label=pumpkins: -feature.displays.scoreboard.pumpkins.label.to_small=true feature.displays.scoreboard.citywar.title=ONGOING WAR -feature.displays.scoreboard.citywar.title.to_small=true feature.displays.scoreboard.citywar.enemy.label=enemy: -feature.displays.scoreboard.citywar.enemy.label.to_small=true feature.displays.scoreboard.citywar.phase.label=phase: -feature.displays.scoreboard.citywar.phase.label.to_small=true feature.displays.scoreboard.citywar.distance.label=distance: -feature.displays.scoreboard.citywar.distance.label.to_small=true feature.displays.scoreboard.citywar.starts_in.label=start in: -feature.displays.scoreboard.citywar.starts_in.label.to_small=true feature.displays.scoreboard.citywar.mascot.label=mascot: -feature.displays.scoreboard.citywar.mascot.label.to_small=true feature.displays.scoreboard.citywar.ends_in.label=end in: -feature.displays.scoreboard.citywar.ends_in.label.to_small=true feature.displays.scoreboard.citywar.state.label=state: -feature.displays.scoreboard.citywar.state.label.to_small=true feature.displays.scoreboard.citywar.state.ended=finished -feature.displays.scoreboard.citywar.state.ended.to_small=true feature.displays.scoreboard.citywar.mascot.dead=%1$s DEAD -feature.displays.scoreboard.citywar.mascot.dead.to_small=true feature.displays.scoreboard.restart.in=Reboot in -feature.displays.scoreboard.restart.in.to_small=true feature.displays.holograms.command.setpos.success=Hologram position %1$s update. feature.displays.holograms.command.setpos.error=Error updating hologram position %1$s : %2$s feature.displays.holograms.command.setpos.invalid=Please specify a valid hologram: %1$s From d53314d894416965cebbd1c88e83549b903967b9 Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:11:40 +0200 Subject: [PATCH 2/4] fix: font --- .../scoreboards/sb/CityWarScoreboard.java | 12 +++--- .../scoreboards/sb/MainScoreboard.java | 14 +++---- .../dream/displays/DreamScoreboard.java | 8 ++-- .../core/utils/text/fonts/SmallCapsUtils.java | 4 +- .../core/utils/text/messages/Prefix.java | 40 +++++++++---------- .../text/messages/TranslationManager.java | 2 +- .../assets/omc_fonts/font/small_caps.json | 30 +++++++++----- 7 files changed, 61 insertions(+), 49 deletions(-) diff --git a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java index db6c03371..d55a9063b 100644 --- a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java +++ b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java @@ -27,7 +27,7 @@ import java.util.ArrayList; import java.util.List; -import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmallCaps; +import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmall; import static net.kyori.adventure.text.Component.empty; import static net.kyori.adventure.text.Component.text; @@ -58,18 +58,18 @@ public void update(Player player, SternalBoard board) { lines.add(text(" • ", net.kyori.adventure.text.format.NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.displays.scoreboard.citywar.enemy.label", true).color(TextColor.color(0xAAAAAA))) .appendSpace() - .append(toSmallCaps(enemyCity.getName()).color(TextColor.color(0xFF0634))) + .append(toSmall(enemyCity.getName()).color(TextColor.color(0xFF0634))) ); Component phaseComponent; switch (war.getPhase()) { case PREPARATION -> phaseComponent = MiniMessage.miniMessage() - .deserialize("<gradient:#FF7518:#FFD580>%s</gradient>".formatted(toSmallCaps(WarManager.getFormattedPhase(war.getPhase())))); - case COMBAT -> phaseComponent = toSmallCaps(WarManager.getFormattedPhase(war.getPhase())) + .deserialize("<gradient:#FF7518:#FFD580>%s</gradient>".formatted(toSmall(WarManager.getFormattedPhase(war.getPhase())))); + case COMBAT -> phaseComponent = toSmall(WarManager.getFormattedPhase(war.getPhase())) .color(TextColor.color(0xFC1C1C)); - case ENDED -> phaseComponent = toSmallCaps(WarManager.getFormattedPhase(war.getPhase())) + case ENDED -> phaseComponent = toSmall(WarManager.getFormattedPhase(war.getPhase())) .color(NamedTextColor.GRAY); - default -> phaseComponent = toSmallCaps(WarManager.getFormattedPhase(war.getPhase())) + default -> phaseComponent = toSmall(WarManager.getFormattedPhase(war.getPhase())) .color(NamedTextColor.WHITE); } diff --git a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java index 10dc6cb8f..7698d5051 100644 --- a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java +++ b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java @@ -35,7 +35,7 @@ import java.util.ArrayList; import java.util.List; -import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmallCaps; +import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmall; import static net.kyori.adventure.text.Component.empty; import static net.kyori.adventure.text.Component.text; @@ -103,7 +103,7 @@ public static List<Component> getDefaultLines(Player player) { Component location = isInRegion ? TranslationManager.translation("feature.displays.scoreboard.location.protected", true) : TranslationManager.translation("feature.displays.scoreboard.location.wilderness", true); - location = (chunkCity != null) ? toSmallCaps(chunkCity.getName()) : location; + location = (chunkCity != null) ? toSmall(chunkCity.getName()) : location; String balance = EconomyManager.getMiniBalance(player.getUniqueId()); double bits = BitsManager.getBits(player.getUniqueId()); @@ -111,7 +111,7 @@ public static List<Component> getDefaultLines(Player player) { List<Component> lines = new ArrayList<>(); lines.add(empty()); - lines.add(MiniMessage.miniMessage().deserialize("<gradient:#FF45B9:#FF1FCC>%s</gradient>".formatted(toSmallCaps(player.getName()))).decoration(TextDecoration.BOLD, true)); + lines.add(MiniMessage.miniMessage().deserialize("<gradient:#FF45B9:#FF1FCC><font:omc_fonts:small_caps>%s</font></gradient>".formatted(player.getName())).decoration(TextDecoration.BOLD, true)); lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.displays.scoreboard.rank.label", true).color(NamedTextColor.GRAY)) .appendSpace() @@ -121,13 +121,13 @@ public static List<Component> getDefaultLines(Player player) { .append(TranslationManager.translation("feature.displays.scoreboard.city.label", true).color(NamedTextColor.GRAY)) .appendSpace() .append(city != null - ? toSmallCaps(city.getName()).color(TextColor.color(0xFF06DC)) + ? toSmall(city.getName()).color(TextColor.color(0xFF06DC)) : TranslationManager.translation("feature.displays.scoreboard.city.none", true).color(TextColor.color(0xFF06DC))) ); lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.displays.scoreboard.balance.label", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(toSmallCaps(balance).color(TextColor.color(0xFF06DC))) + .append(toSmall(balance).color(TextColor.color(0xFF06DC))) .appendSpace() .append(text(EconomyManager.getEconomyIcon())) ); @@ -135,7 +135,7 @@ public static List<Component> getDefaultLines(Player player) { lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.displays.scoreboard.bits.label", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(toSmallCaps(EconomyManager.getFormattedSimplifiedNumber(bits)).color(TextColor.color(0x07A0F5))) + .append(toSmall(EconomyManager.getFormattedSimplifiedNumber(bits)).color(TextColor.color(0x07A0F5))) .appendSpace() .append(text(BitsManager.getBitsIcon())) ); @@ -156,7 +156,7 @@ public static List<Component> getDefaultLines(Player player) { lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.displays.scoreboard.pumpkins.label", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(toSmallCaps(pumpkinCount).color(TextColor.color(0xFF7518))) + .append(toSmall(pumpkinCount).color(TextColor.color(0xFF7518))) ); } } diff --git a/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java b/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java index d60a90ed5..a248a68ab 100644 --- a/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java +++ b/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java @@ -22,7 +22,7 @@ import java.util.ArrayList; import java.util.List; -import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmallCaps; +import static fr.openmc.core.utils.text.fonts.SmallCapsUtils.toSmall; import static net.kyori.adventure.text.Component.empty; import static net.kyori.adventure.text.Component.text; @@ -49,7 +49,7 @@ public void update(Player player, SternalBoard board) { lines.add(empty()); lines.add(MiniMessage.miniMessage().deserialize("<gradient:#0011ff:#2556b6>%s</gradient>" - .formatted(toSmallCaps(player.getName()))).decoration(TextDecoration.BOLD, true)); + .formatted(toSmall(player.getName()))).decoration(TextDecoration.BOLD, true)); if (dreamPlayer != null) { Long time = dreamPlayer.getDreamTime(); @@ -58,7 +58,7 @@ public void update(Player player, SternalBoard board) { lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.dream.scoreboard.time", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(toSmallCaps(DateUtils.convertSecondToTime(time)).color(TextColor.color(0x00CC34))) + .append(toSmall(DateUtils.convertSecondToTime(time)).color(TextColor.color(0x00CC34))) ); if (cold > 0) @@ -85,7 +85,7 @@ public void update(Player player, SternalBoard board) { lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.dream.scoreboard.location", true).color(NamedTextColor.GRAY)) .appendSpace() - .append(toSmallCaps(nameLocation)) + .append(toSmall(nameLocation)) ); } diff --git a/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java b/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java index 90bb4f4a4..968216936 100644 --- a/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java +++ b/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java @@ -6,11 +6,11 @@ public class SmallCapsUtils { private final static Key SMALL_CAPS_FONT = Key.key("omc_fonts", "small_caps"); - public static Component toSmallCaps(String text){ + public static Component toSmall(String text){ return Component.text(text.toLowerCase()).font(SMALL_CAPS_FONT); } - public static Component toSmallCaps(Component text){ + public static Component toSmallComponent(Component text){ return text.font(SMALL_CAPS_FONT); } } diff --git a/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java b/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java index b831817ed..4c0880039 100644 --- a/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java +++ b/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java @@ -14,27 +14,27 @@ public enum Prefix { // For gradient color: https://www.birdflop.com/resources/rgb/ // Color format: MiniMessage - OPENMC("<gradient:#BD45E6:#F99BEB>OPENMC</gradient>"), - STAFF("<gradient:#FF2929:#FF7676>STAFF</gradient>"), - CITY("<gradient:#026404:#2E8F38>CITY</gradient>"), - CONTEST("<gradient:#FFB800:#F0DF49>CONTEST</gradient>"), - CORPSE("<gradient:#F82C5D:#F64545>CORPSE</gradient>"), - HOME("<gradient:#80EF80:#9aec9a>HOME</gradient>"), - FRIEND("<gradient:#68E98B:#0EFF6D>FRIEND</gradient>"), - MAYOR("<gradient:#FCD05C:#FBEF22>MAYOR</gradient><#FBEF22>OR</#FBEF22>"), - QUEST("<gradient:#4E76E3:#1A51E7>QUEST</gradient>"), - BANK("<gradient:#084CFB:#ADB6FD>BANK</gradient>"), - SHOP("<gradient:#084CFB:#5AAFC4>SHOP</gradient>"), - ADMINSHOP("<gradient:#EE2222:#F04949>ADMINSHOP</gradient>"), + OPENMC("<gradient:#BD45E6:#F99BEB>openmc</gradient>"), + STAFF("<gradient:#FF2929:#FF7676>staff</gradient>"), + CITY("<gradient:#026404:#2E8F38>city</gradient>"), + CONTEST("<gradient:#FFB800:#F0DF49>contest</gradient>"), + CORPSE("<gradient:#F82C5D:#F64545>corpse</gradient>"), + HOME("<gradient:#80EF80:#9aec9a>home</gradient>"), + FRIEND("<gradient:#68E98B:#0EFF6D>friend</gradient>"), + MAYOR("<gradient:#FCD05C:#FBEF22>mayor</gradient><#FBEF22>OR</#FBEF22>"), + QUEST("<gradient:#4E76E3:#1A51E7>quest</gradient>"), + BANK("<gradient:#084CFB:#ADB6FD>bank</gradient>"), + SHOP("<gradient:#084CFB:#5AAFC4>shop</gradient>"), + ADMINSHOP("<gradient:#EE2222:#F04949>adminshop</gradient>"), DEATH("<gradient:#FF0000:#FF7F7F>☠</gradient>"), - SETTINGS("<gradient:#2C82E0:#67C8FF>SETTINGS</gradient>"), - MILLESTONE("<gradient:#A2D182:#B8E89D>MILESTONES</gradient>"), - DREAM("<gradient:#4498DB:#412AEF>DREAM</gradient>"), - MAILBOX("<gradient:#2C43C4:#6A76D9>MAILBOX</gradient>"), - HALLOWEEN("<gradient:#FF7518:#FFD580>HALLOWEEN</gradient>"), - DIMOPENER("<gradient:#A5FFA8:#DAFFE4>DIMOPENER</gradient>"), - GOLDEN_HARVEST("<gradient:#EFDA3A:#93AE0E>GOLDEN HARVEST</gradient>"), - MIRACULOUS_FISHING("<gradient:#4498DB:#0FB590>MIRACULOUS FISHING</gradient>"); + SETTINGS("<gradient:#2C82E0:#67C8FF>settings</gradient>"), + MILLESTONE("<gradient:#A2D182:#B8E89D>milestones</gradient>"), + DREAM("<gradient:#4498DB:#412AEF>dream</gradient>"), + MAILBOX("<gradient:#2C43C4:#6A76D9>mailbox</gradient>"), + HALLOWEEN("<gradient:#FF7518:#FFD580>halloween</gradient>"), + DIMOPENER("<gradient:#A5FFA8:#DAFFE4>dimopener</gradient>"), + GOLDEN_HARVEST("<gradient:#EFDA3A:#93AE0E>golden harvest</gradient>"), + MIRACULOUS_FISHING("<gradient:#4498DB:#0FB590>miraculous fishing</gradient>"); @Getter private final Component prefix; diff --git a/src/main/java/fr/openmc/core/utils/text/messages/TranslationManager.java b/src/main/java/fr/openmc/core/utils/text/messages/TranslationManager.java index 7a6ca7223..7c5a7cb6b 100644 --- a/src/main/java/fr/openmc/core/utils/text/messages/TranslationManager.java +++ b/src/main/java/fr/openmc/core/utils/text/messages/TranslationManager.java @@ -128,7 +128,7 @@ public static Component translation(String key, boolean toSmall, ComponentLike.. ).decorationIfAbsent(TextDecoration.ITALIC, TextDecoration.State.FALSE); if (toSmall) { - translated = SmallCapsUtils.toSmallCaps(translated); + translated = SmallCapsUtils.toSmallComponent(translated); } return translated; diff --git a/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/font/small_caps.json b/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/font/small_caps.json index 55ed34788..49a9c1d4d 100644 --- a/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/font/small_caps.json +++ b/src/main/resources/contents/omc_fonts/resourcepack/assets/omc_fonts/font/small_caps.json @@ -1,15 +1,27 @@ { "providers": [ { - "type": "reference", - "id": "minecraft:include/space" - }, - { - "type": "reference", - "id": "minecraft:include/default", - "filter": { - "uniform": false - } + "type": "bitmap", + "file": "omc_fonts:font/small_caps.png", + "ascent": 7, + "chars": [ + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", + "\u0020\u0021\u0022\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002a\u002b\u002c\u002d\u002e\u002f", + "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037\u0038\u0039\u003a\u003b\u003c\u003d\u003e\u003f", + "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004e\u004f", + "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057\u0058\u0059\u005a\u005b\u005c\u005d\u005e\u005f", + "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067\u0068\u0069\u006a\u006b\u006c\u006d\u006e\u006f", + "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077\u0078\u0079\u007a\u007b\u007c\u007d\u007e\u0000", + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00a3\u0000\u0000\u0192", + "\u0000\u0000\u0000\u0000\u0000\u0000\u00aa\u00ba\u0000\u0000\u00ac\u0000\u0000\u0000\u00ab\u00bb", + "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510", + "\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567", + "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580", + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2205\u2208\u0000", + "\u2261\u00b1\u2265\u2264\u2320\u2321\u00f7\u2248\u00b0\u2219\u0000\u221a\u207f\u00b2\u25a0\u0000" + ] } ] } \ No newline at end of file From f18972b442d202a4335644915a2c5d319cf69f0b Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:17:14 +0200 Subject: [PATCH 3/4] fix: prefix how dont have version small --- .../core/utils/text/fonts/SmallCapsUtils.java | 2 +- .../utils/text/messages/MessagesManager.java | 7 +++---- .../openmc/core/utils/text/messages/Prefix.java | 16 +++++++++++++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java b/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java index 968216936..71545f556 100644 --- a/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java +++ b/src/main/java/fr/openmc/core/utils/text/fonts/SmallCapsUtils.java @@ -4,7 +4,7 @@ import net.kyori.adventure.text.Component; public class SmallCapsUtils { - private final static Key SMALL_CAPS_FONT = Key.key("omc_fonts", "small_caps"); + public final static Key SMALL_CAPS_FONT = Key.key("omc_fonts", "small_caps"); public static Component toSmall(String text){ return Component.text(text.toLowerCase()).font(SMALL_CAPS_FONT); diff --git a/src/main/java/fr/openmc/core/utils/text/messages/MessagesManager.java b/src/main/java/fr/openmc/core/utils/text/messages/MessagesManager.java index f64c87bd8..e7fab255c 100644 --- a/src/main/java/fr/openmc/core/utils/text/messages/MessagesManager.java +++ b/src/main/java/fr/openmc/core/utils/text/messages/MessagesManager.java @@ -1,7 +1,6 @@ package fr.openmc.core.utils.text.messages; import fr.openmc.core.features.settings.PlayerSettingsManager; -import net.kyori.adventure.key.Key; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; @@ -29,7 +28,7 @@ public class MessagesManager { public static void sendMessage(CommandSender sender, Component message, Prefix prefix, MessageType type, float soundVolume, boolean sound) { Component messageComponent = Component.text(type == MessageType.NONE ? "" : "§7(" + type.getPrefix() + "§7) ") - .append(prefix.getPrefix().font(Key.key("omc_fonts", "small_caps"))) + .append(prefix.getPrefixComponent()) .append(Component.text(" §7» ") .append(message) ); @@ -93,7 +92,7 @@ public static void sendMessage(Player player, List<Component> messages) { public static void broadcastMessage(Component message, Prefix prefix, MessageType type) { Component messageComponent = Component.text(type == MessageType.NONE ? "" : "§7(" + type.getPrefix() + "§7) ") - .append(prefix.getPrefix().font(Key.key("omc_fonts", "small_caps"))) + .append(prefix.getPrefixComponent()) .append(Component.text(" §7» ") .append(message) ); @@ -113,7 +112,7 @@ public static void broadcastMessage(Component message, Prefix prefix, MessageTyp public static void broadcastMessage(World world, Component message, Prefix prefix, MessageType type) { Component messageComponent = Component.text(type == MessageType.NONE ? "" : "§7(" + type.getPrefix() + "§7) ") - .append(prefix.getPrefix().font(Key.key("omc_fonts", "small_caps"))) + .append(prefix.getPrefixComponent()) .append(Component.text(" §7» ") .append(message) ); diff --git a/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java b/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java index 4c0880039..816d563a3 100644 --- a/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java +++ b/src/main/java/fr/openmc/core/utils/text/messages/Prefix.java @@ -1,5 +1,6 @@ package fr.openmc.core.utils.text.messages; +import fr.openmc.core.utils.text.fonts.SmallCapsUtils; import lombok.Getter; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; @@ -26,7 +27,7 @@ public enum Prefix { BANK("<gradient:#084CFB:#ADB6FD>bank</gradient>"), SHOP("<gradient:#084CFB:#5AAFC4>shop</gradient>"), ADMINSHOP("<gradient:#EE2222:#F04949>adminshop</gradient>"), - DEATH("<gradient:#FF0000:#FF7F7F>☠</gradient>"), + DEATH("<gradient:#FF0000:#FF7F7F>☠</gradient>", false), SETTINGS("<gradient:#2C82E0:#67C8FF>settings</gradient>"), MILLESTONE("<gradient:#A2D182:#B8E89D>milestones</gradient>"), DREAM("<gradient:#4498DB:#412AEF>dream</gradient>"), @@ -38,8 +39,21 @@ public enum Prefix { @Getter private final Component prefix; + @Getter + private final boolean toSmall; Prefix(String prefix) { this.prefix = MiniMessage.miniMessage().deserialize(prefix); + this.toSmall = true; + } + + Prefix(String prefix, boolean toSmall) { + this.prefix = MiniMessage.miniMessage().deserialize(prefix); + this.toSmall = toSmall; + } + + public Component getPrefixComponent() { + if (!toSmall) return prefix; + return prefix.font(SmallCapsUtils.SMALL_CAPS_FONT); } } \ No newline at end of file From 087224bfbb21935ae4e8d9a8834105fd50882ff8 Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:54:42 +0200 Subject: [PATCH 4/4] fix: bug --- .../fr/openmc/core/features/corpse/CorpseManager.java | 8 ++++++-- .../displays/scoreboards/sb/CityWarScoreboard.java | 2 +- .../features/displays/scoreboards/sb/MainScoreboard.java | 8 ++++++-- .../core/features/dream/displays/DreamScoreboard.java | 6 +++--- .../fr/openmc/core/features/quests/objects/Quest.java | 2 +- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/fr/openmc/core/features/corpse/CorpseManager.java b/src/main/java/fr/openmc/core/features/corpse/CorpseManager.java index 0ac892341..691ad672a 100644 --- a/src/main/java/fr/openmc/core/features/corpse/CorpseManager.java +++ b/src/main/java/fr/openmc/core/features/corpse/CorpseManager.java @@ -29,11 +29,15 @@ import fr.openmc.core.utils.text.messages.TranslationManager; import fr.openmc.core.utils.world.WorldUtils; import lombok.Getter; +import net.kyori.adventure.key.Key; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextColor; import net.kyori.adventure.text.format.TextDecoration; -import org.bukkit.*; +import org.bukkit.Bukkit; +import org.bukkit.Color; +import org.bukkit.Location; +import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.entity.Pose; @@ -252,7 +256,7 @@ public static Component getCorpseDirection(Player player, CorpseNPC corpse) { else return Component.text( DirectionUtils.getDirectionArrow(player, corpse.getLocation()), - TextColor.color(0xFF8F06)).decoration(TextDecoration.BOLD, false); + TextColor.color(0xFF8F06)).decoration(TextDecoration.BOLD, false).font(Key.key("minecraft", "default")); } public static Component getRemainingTime(UUID playerUUID) { diff --git a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java index d55a9063b..db0357261 100644 --- a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java +++ b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/CityWarScoreboard.java @@ -55,7 +55,7 @@ public void update(Player player, SternalBoard board) { ) .decoration(TextDecoration.BOLD, true)); - lines.add(text(" • ", net.kyori.adventure.text.format.NamedTextColor.DARK_GRAY) + lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.displays.scoreboard.citywar.enemy.label", true).color(TextColor.color(0xAAAAAA))) .appendSpace() .append(toSmall(enemyCity.getName()).color(TextColor.color(0xFF0634))) diff --git a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java index 7698d5051..6c29eaa9c 100644 --- a/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java +++ b/src/main/java/fr/openmc/core/features/displays/scoreboards/sb/MainScoreboard.java @@ -22,6 +22,7 @@ import fr.openmc.core.hooks.LuckPermsHook; import fr.openmc.core.hooks.WorldGuardHook; import fr.openmc.core.utils.text.DateUtils; +import fr.openmc.core.utils.text.fonts.SmallCapsUtils; import fr.openmc.core.utils.text.messages.TranslationManager; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; @@ -54,7 +55,8 @@ public void update(Player player, SternalBoard board) { lines.add(MiniMessage.miniMessage().deserialize( "<gradient:#F82C5D:#F64545><title></gradient>", - Placeholder.component("title", TranslationManager.translation("feature.displays.scoreboard.corpse.title", true))) + Placeholder.component("title", TranslationManager.translation("feature.displays.scoreboard.corpse.title"))) + .font(SmallCapsUtils.SMALL_CAPS_FONT) .decoration(TextDecoration.BOLD, true) .appendSpace() .append(CorpseManager.getCorpseDirection(player, corpse)) @@ -111,7 +113,9 @@ public static List<Component> getDefaultLines(Player player) { List<Component> lines = new ArrayList<>(); lines.add(empty()); - lines.add(MiniMessage.miniMessage().deserialize("<gradient:#FF45B9:#FF1FCC><font:omc_fonts:small_caps>%s</font></gradient>".formatted(player.getName())).decoration(TextDecoration.BOLD, true)); + lines.add(MiniMessage.miniMessage().deserialize( + "<gradient:#FF45B9:#FF1FCC><font:omc_fonts:small_caps>%s</font></gradient>".formatted( + player.getName())).decoration(TextDecoration.BOLD, true)); lines.add(text(" • ", NamedTextColor.DARK_GRAY) .append(TranslationManager.translation("feature.displays.scoreboard.rank.label", true).color(NamedTextColor.GRAY)) .appendSpace() diff --git a/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java b/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java index a248a68ab..f8f3c8037 100644 --- a/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java +++ b/src/main/java/fr/openmc/core/features/dream/displays/DreamScoreboard.java @@ -48,11 +48,11 @@ public void update(Player player, SternalBoard board) { List<Component> lines = new ArrayList<>(); lines.add(empty()); - lines.add(MiniMessage.miniMessage().deserialize("<gradient:#0011ff:#2556b6>%s</gradient>" - .formatted(toSmall(player.getName()))).decoration(TextDecoration.BOLD, true)); + lines.add(MiniMessage.miniMessage().deserialize("<gradient:#0011ff:#2556b6><font:omc_fonts:small_caps>%s</font></gradient>" + .formatted(player.getName())).decoration(TextDecoration.BOLD, true)); if (dreamPlayer != null) { - Long time = dreamPlayer.getDreamTime(); + long time = dreamPlayer.getDreamTime(); int cold = dreamPlayer.getCold(); lines.add(text(" • ", NamedTextColor.DARK_GRAY) diff --git a/src/main/java/fr/openmc/core/features/quests/objects/Quest.java b/src/main/java/fr/openmc/core/features/quests/objects/Quest.java index e6cff4cc2..60fe15b64 100644 --- a/src/main/java/fr/openmc/core/features/quests/objects/Quest.java +++ b/src/main/java/fr/openmc/core/features/quests/objects/Quest.java @@ -578,7 +578,7 @@ public void incrementProgress(UUID playerUUID, int amount, boolean authorizeDrea if (onlinePlayer.isOnline()) { if (this.isLargeActionBar && newProgress % 50 != 0) return; Component actionBar = Component.text() - .append(Prefix.QUEST.getPrefix()) + .append(Prefix.QUEST.getPrefixComponent()) .append(Component.text(" » ", NamedTextColor.DARK_GRAY)) .append(TranslationManager.translation("feature.quests.actionbar.progress_label") .color(NamedTextColor.GRAY))