diff --git a/build.gradle.kts b/build.gradle.kts index c16aecc..cd3a7b4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,7 +33,7 @@ dependencies { paperweight.paperDevBundle("1.21.5-R0.1-SNAPSHOT") compileOnly("me.clip:placeholderapi:2.11.5") - compileOnly("net.kyori:adventure-api:4.21.0") + compileOnly("net.kyori:adventure-api:4.17.0") compileOnly("xyz.xenondevs.invui:invui-core:$invuiVersion") compileOnly("net.wesjd:anvilgui:1.10.4-SNAPSHOT") compileOnly("com.comphenix.protocol:ProtocolLib:5.4.0-SNAPSHOT") diff --git a/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java b/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java index 7de7d31..b0b3d24 100644 --- a/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java +++ b/src/main/java/xyz/ineanto/nicko/appearance/AppearanceManager.java @@ -28,16 +28,22 @@ public class AppearanceManager { public ActionResult reset() { final NickoProfile profile = getNickoProfile(); + final String defaultName = nameStore.getStoredName(player); // Call the event. final PlayerResetDisguiseEvent event = new PlayerResetDisguiseEvent(player); Bukkit.getPluginManager().callEvent(event); + profile.setName(defaultName); + profile.setSkin(defaultName); + + final ActionResult result = update(true); + profile.setName(null); profile.setSkin(null); dataStore.getCache().cache(player.getUniqueId(), profile); - return ActionResult.error(); + return result; } public ActionResult update(boolean skinChange) { diff --git a/src/main/java/xyz/ineanto/nicko/gui/FavoritesGUI.java b/src/main/java/xyz/ineanto/nicko/gui/FavoritesGUI.java index 913da81..94363a5 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/FavoritesGUI.java +++ b/src/main/java/xyz/ineanto/nicko/gui/FavoritesGUI.java @@ -36,7 +36,7 @@ public class FavoritesGUI { final ScrollUpItem scrollUpItem = new ScrollUpItem(playerLanguage); final ScrollDownItem scrollDownItem = new ScrollDownItem(playerLanguage); - final FavoriteAddItem favoriteAddItem = new FavoriteAddItem(player); + final FavoriteAddItem favoriteAddItem = new FavoriteAddItem(playerLanguage); final FavoriteRemoveItem favoriteRemoveItem = new FavoriteRemoveItem(playerLanguage); final NickoProfile profile = Nicko.getInstance().getDataStore().getData(player.getUniqueId()).orElse(NickoProfile.EMPTY_PROFILE); diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAddItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAddItem.java index 1665066..be784cb 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAddItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAddItem.java @@ -6,34 +6,20 @@ import org.bukkit.DyeColor; import org.bukkit.Material; import org.bukkit.block.banner.Pattern; import org.bukkit.block.banner.PatternType; -import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.BannerMeta; -import xyz.ineanto.nicko.Nicko; -import xyz.ineanto.nicko.appearance.Appearance; -import xyz.ineanto.nicko.gui.FavoritesGUI; import xyz.ineanto.nicko.language.LanguageKey; import xyz.ineanto.nicko.language.PlayerLanguage; -import xyz.ineanto.nicko.profile.NickoProfile; -import xyz.ineanto.nicko.storage.PlayerDataStore; import xyz.xenondevs.invui.item.builder.ItemBuilder; import xyz.xenondevs.invui.item.impl.SuppliedItem; -import java.util.List; - public class FavoriteAddItem { - private final PlayerDataStore dataStore = Nicko.getInstance().getDataStore(); - - private final Player player; private final PlayerLanguage playerLanguage; - private final NickoProfile profile; - public FavoriteAddItem(Player player) { - this.player = player; - this.playerLanguage = new PlayerLanguage(player); - this.profile = dataStore.getData(player.getUniqueId()).orElse(NickoProfile.EMPTY_PROFILE); + public FavoriteAddItem(PlayerLanguage playerLanguage) { + this.playerLanguage = playerLanguage; } public SuppliedItem get() { @@ -64,17 +50,8 @@ public class FavoriteAddItem { return playerLanguage.translateItem(builder, LanguageKey.GUI.Favorites.ADD); }, click -> { final ClickType clickType = click.getClickType(); - if (clickType.isShiftClick() && clickType.isLeftClick()) { - if (!profile.hasData()) { - click.getEvent().getView().close(); - return false; - } - - final List favorites = profile.getFavorites(); - favorites.add(profile.getAppearance()); - profile.setFavorites(favorites); - dataStore.updateCache(player.getUniqueId(), profile); - new FavoritesGUI(player).open(); + if (clickType.isLeftClick() || clickType.isRightClick()) { + click.getEvent().getView().close(); return true; } return false; diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/home/RandomSkinItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/home/RandomSkinItem.java index 1bb0e40..8f88b7c 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/home/RandomSkinItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/home/RandomSkinItem.java @@ -46,7 +46,7 @@ public class RandomSkinItem { } else { player.sendMessage(playerLanguage.translateWithOops( LanguageKey.Event.Appearance.Set.ERROR, - result.getErrorKey() + playerLanguage.translate(result.getErrorKey(), false) ) ); appearanceManager.reset(); diff --git a/src/main/java/xyz/ineanto/nicko/mojang/MojangAPI.java b/src/main/java/xyz/ineanto/nicko/mojang/MojangAPI.java index 6a38bbe..0f6ac9a 100644 --- a/src/main/java/xyz/ineanto/nicko/mojang/MojangAPI.java +++ b/src/main/java/xyz/ineanto/nicko/mojang/MojangAPI.java @@ -110,9 +110,6 @@ public class MojangAPI { con.setRequestMethod("GET"); switch (con.getResponseCode()) { - case 403: - logger.warning("Failed to parse request: forbidden?"); - return getErrorObject(); case 404: case 400: logger.warning("Failed to parse request: Invalid Name"); diff --git a/src/main/java/xyz/ineanto/nicko/profile/NickoProfile.java b/src/main/java/xyz/ineanto/nicko/profile/NickoProfile.java index b1a78bb..78945cf 100644 --- a/src/main/java/xyz/ineanto/nicko/profile/NickoProfile.java +++ b/src/main/java/xyz/ineanto/nicko/profile/NickoProfile.java @@ -42,10 +42,6 @@ public class NickoProfile implements Cloneable { return dataStore.getData(uuid); } - public Appearance getAppearance() { - return appearance; - } - public boolean hasData() { return appearance.name() != null || appearance.skin() != null; } diff --git a/src/main/resources/en.yml b/src/main/resources/en.yml index c67d534..02e2ccf 100644 --- a/src/main/resources/en.yml +++ b/src/main/resources/en.yml @@ -162,7 +162,7 @@ gui: name: "Add a favorite" lore: - "Add a new favorite appearance to the list." - - "Hold SHIFT to add your current disguise!" + - "Hold SHIFT to add your current disguise!" remove: name: "Toggle deletion mode" lore: