diff --git a/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java b/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java
index c4cd1e0..dd04abb 100644
--- a/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java
+++ b/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java
@@ -40,7 +40,14 @@ public class AppearanceManager {
profile.setName(defaultName);
profile.setSkin(defaultName);
dataStore.getCache().cache(player.getUniqueId(), profile);
- return updatePlayer(true, true);
+
+ final ActionResult result = updatePlayer(true, true);
+ if (!result.isError()) {
+ profile.setName(null);
+ profile.setSkin(null);
+ dataStore.getCache().cache(player.getUniqueId(), profile);
+ }
+ return result;
}
public ActionResult updatePlayer(boolean skinChange, boolean reset) {
diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/admin/check/PlayerInformationItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/admin/check/PlayerInformationItem.java
index d3f9ed3..7856b64 100644
--- a/src/main/java/xyz/ineanto/nicko/gui/items/admin/check/PlayerInformationItem.java
+++ b/src/main/java/xyz/ineanto/nicko/gui/items/admin/check/PlayerInformationItem.java
@@ -43,9 +43,9 @@ public class PlayerInformationItem extends AsyncItem {
final NickoProfile profile = optionalProfile.get();
final AbstractItemBuilder> headItem = i18n.translateItem(skull, I18NDict.GUI.Admin.CHECK,
target.getName(),
- (profile.hasData() ? "§a✔" : "§c❌"),
- (profile.getName() == null ? "§7N/A" : profile.getName()),
- (profile.getSkin() == null ? "§7N/A" : profile.getSkin()));
+ (profile.hasData() ? "✔" : "❌"),
+ (profile.getName() == null ? "N/A" : profile.getName()),
+ (profile.getSkin() == null ? "N/A" : profile.getSkin()));
if (!profile.hasData()) {
// Remove the last 2 lines of the lore.
diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/common/ScrollDownItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/common/ScrollDownItem.java
index 44b32ab..4f8c333 100644
--- a/src/main/java/xyz/ineanto/nicko/gui/items/common/ScrollDownItem.java
+++ b/src/main/java/xyz/ineanto/nicko/gui/items/common/ScrollDownItem.java
@@ -1,6 +1,8 @@
package xyz.ineanto.nicko.gui.items.common;
import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.minimessage.MiniMessage;
+import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import org.bukkit.Material;
import xyz.ineanto.nicko.i18n.I18N;
import xyz.ineanto.nicko.i18n.I18NDict;
@@ -23,7 +25,14 @@ public class ScrollDownItem extends ScrollItem {
final ItemBuilder builder = new ItemBuilder(Material.GREEN_STAINED_GLASS_PANE);
final Translation translation = i18n.translate(I18NDict.GUI.SCROLL_DOWN);
builder.setDisplayName(Component.text(translation.name()).content());
- if (!gui.canScroll(1)) translation.lore().forEach(builder::addLoreLines);
+ if (!gui.canScroll(1)) {
+ // Lore serialization
+ translation.lore().replaceAll(s -> {
+ final Component deserializedLoreLine = MiniMessage.miniMessage().deserialize(s);
+ return LegacyComponentSerializer.legacySection().serialize(deserializedLoreLine);
+ });
+ translation.lore().forEach(builder::addLoreLines);
+ }
return builder;
}
}
diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/common/ScrollUpItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/common/ScrollUpItem.java
index 0e60dfa..d505432 100644
--- a/src/main/java/xyz/ineanto/nicko/gui/items/common/ScrollUpItem.java
+++ b/src/main/java/xyz/ineanto/nicko/gui/items/common/ScrollUpItem.java
@@ -1,6 +1,8 @@
package xyz.ineanto.nicko.gui.items.common;
import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.minimessage.MiniMessage;
+import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import org.bukkit.Material;
import xyz.ineanto.nicko.i18n.I18N;
import xyz.ineanto.nicko.i18n.I18NDict;
@@ -23,7 +25,14 @@ public class ScrollUpItem extends ScrollItem {
final ItemBuilder builder = new ItemBuilder(Material.RED_STAINED_GLASS_PANE);
final Translation translation = i18n.translate(I18NDict.GUI.SCROLL_UP);
builder.setDisplayName(Component.text(translation.name()).content());
- if (!gui.canScroll(-1)) translation.lore().forEach(builder::addLoreLines);
+ if (!gui.canScroll(-1)) {
+ // Lore serialization
+ translation.lore().replaceAll(s -> {
+ final Component deserializedLoreLine = MiniMessage.miniMessage().deserialize(s);
+ return LegacyComponentSerializer.legacySection().serialize(deserializedLoreLine);
+ });
+ translation.lore().forEach(builder::addLoreLines);
+ }
return builder;
}
diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/settings/LanguageCyclingItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/settings/LanguageCyclingItem.java
index 3fa196a..fc9fca8 100644
--- a/src/main/java/xyz/ineanto/nicko/gui/items/settings/LanguageCyclingItem.java
+++ b/src/main/java/xyz/ineanto/nicko/gui/items/settings/LanguageCyclingItem.java
@@ -1,6 +1,8 @@
package xyz.ineanto.nicko.gui.items.settings;
import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.minimessage.MiniMessage;
+import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
@@ -68,6 +70,11 @@ public class LanguageCyclingItem {
builder.addLoreLines("§6§l> §f" + value.getName());
}
}
+
+ cyclingChoicesTranslation.lore().replaceAll(s -> {
+ final Component deserializedLoreLine = MiniMessage.miniMessage().deserialize(s);
+ return LegacyComponentSerializer.legacySection().serialize(deserializedLoreLine);
+ });
cyclingChoicesTranslation.lore().forEach(builder::addLoreLines);
return builder;
}
diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/settings/RandomSkinCyclingItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/settings/RandomSkinCyclingItem.java
index bedb4e0..74c0546 100644
--- a/src/main/java/xyz/ineanto/nicko/gui/items/settings/RandomSkinCyclingItem.java
+++ b/src/main/java/xyz/ineanto/nicko/gui/items/settings/RandomSkinCyclingItem.java
@@ -1,5 +1,8 @@
package xyz.ineanto.nicko.gui.items.settings;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.minimessage.MiniMessage;
+import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import xyz.ineanto.nicko.NickoBukkit;
@@ -61,6 +64,11 @@ public class RandomSkinCyclingItem {
builder.setDisplayName(randomSkinTranslation.name());
toggleableTranslation.lore().forEach(builder::addLoreLines);
+
+ cyclingChoicesTranslation.lore().replaceAll(s -> {
+ final Component deserializedLoreLine = MiniMessage.miniMessage().deserialize(s);
+ return LegacyComponentSerializer.legacySection().serialize(deserializedLoreLine);
+ });
cyclingChoicesTranslation.lore().forEach(builder::addLoreLines);
return builder;
}
diff --git a/src/main/resources/fr.yml b/src/main/resources/fr.yml
index 5532c1e..491638d 100644
--- a/src/main/resources/fr.yml
+++ b/src/main/resources/fr.yml
@@ -35,7 +35,7 @@ gui:
settings: "Nicko > Paramètres"
admin: "Nicko > Administration"
check: "Nicko > Admin... > Vérification"
- confirm: "... > Confirmer l'action"
+ confirm: "... > Confirmer l''action"
cache: "Nicko > Admin... > Cache"
invalidate_skin: "... > Cache > Invalider"
diff --git a/src/test/java/xyz/ineanto/nicko/test/i18n/ItemTranslationTest.java b/src/test/java/xyz/ineanto/nicko/test/i18n/ItemTranslationTest.java
index c38889e..56b768c 100644
--- a/src/test/java/xyz/ineanto/nicko/test/i18n/ItemTranslationTest.java
+++ b/src/test/java/xyz/ineanto/nicko/test/i18n/ItemTranslationTest.java
@@ -45,9 +45,9 @@ public class ItemTranslationTest {
final Translation translation = i18n.translate(I18NDict.GUI.Admin.Cache.STATISTICS, "1", "1");
translation.lore().forEach(System.out::println);
assertFalse(translation.lore().isEmpty());
- assertEquals("§fNombre de requêtes: §b1", translation.lore().get(0));
- assertEquals("§fNb. de skin dans le cache: §b1", translation.lore().get(1));
- assertEquals("§8§oLe cache est vidé toutes les 24 heures.", translation.lore().get(2));
+ assertEquals("Nombre de requêtes: 1", translation.lore().get(0));
+ assertEquals("Nb. de skin dans le cache: 1", translation.lore().get(1));
+ assertEquals("Le cache est vidé toutes les 24 heures.", translation.lore().get(2));
}
@AfterAll