diff --git a/src/main/java/xyz/ineanto/nicko/gui/FavoritesGUI.java b/src/main/java/xyz/ineanto/nicko/gui/FavoritesGUI.java index 94363a5..3856de4 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/FavoritesGUI.java +++ b/src/main/java/xyz/ineanto/nicko/gui/FavoritesGUI.java @@ -6,9 +6,7 @@ import xyz.ineanto.nicko.appearance.Appearance; import xyz.ineanto.nicko.gui.items.common.GoBackItem; import xyz.ineanto.nicko.gui.items.common.ScrollDownItem; import xyz.ineanto.nicko.gui.items.common.ScrollUpItem; -import xyz.ineanto.nicko.gui.items.favorites.FavoriteAddItem; import xyz.ineanto.nicko.gui.items.favorites.FavoriteAppearanceEntryItem; -import xyz.ineanto.nicko.gui.items.favorites.FavoriteRemoveItem; import xyz.ineanto.nicko.language.LanguageKey; import xyz.ineanto.nicko.language.PlayerLanguage; import xyz.ineanto.nicko.profile.NickoProfile; @@ -36,9 +34,6 @@ public class FavoritesGUI { final ScrollUpItem scrollUpItem = new ScrollUpItem(playerLanguage); final ScrollDownItem scrollDownItem = new ScrollDownItem(playerLanguage); - 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); final List favorites = profile.getFavorites(); List items; @@ -63,8 +58,6 @@ public class FavoritesGUI { guiItemBuilder.addIngredient('U', scrollUpItem); guiItemBuilder.addIngredient('D', scrollDownItem); guiItemBuilder.addIngredient('B', backItem.get(parent.getGUI(), parent.getTitle())); - guiItemBuilder.addIngredient('A', favoriteAddItem.get()); - guiItemBuilder.addIngredient('R', favoriteRemoveItem.get()); guiItemBuilder.setContent(items); }); this.player = player; diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeBothItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeBothItem.java index 730e667..5a70c4f 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeBothItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeBothItem.java @@ -3,7 +3,7 @@ package xyz.ineanto.nicko.gui.items.appearance; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; -import xyz.ineanto.nicko.prompt.PromptManager; +import xyz.ineanto.nicko.gui.prompt.PromptManager; import xyz.ineanto.nicko.language.LanguageKey; import xyz.ineanto.nicko.language.PlayerLanguage; import xyz.xenondevs.invui.item.builder.ItemBuilder; diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeNameItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeNameItem.java index c67b848..e18643a 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeNameItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeNameItem.java @@ -3,7 +3,7 @@ package xyz.ineanto.nicko.gui.items.appearance; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; -import xyz.ineanto.nicko.prompt.PromptManager; +import xyz.ineanto.nicko.gui.prompt.PromptManager; import xyz.ineanto.nicko.language.LanguageKey; import xyz.ineanto.nicko.language.PlayerLanguage; import xyz.xenondevs.invui.item.builder.ItemBuilder; diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeSkinItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeSkinItem.java index 298e0ea..20c4a22 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeSkinItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/appearance/ChangeSkinItem.java @@ -4,7 +4,7 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import xyz.ineanto.nicko.Nicko; -import xyz.ineanto.nicko.prompt.PromptManager; +import xyz.ineanto.nicko.gui.prompt.PromptManager; import xyz.ineanto.nicko.language.LanguageKey; import xyz.ineanto.nicko.language.PlayerLanguage; import xyz.ineanto.nicko.storage.name.PlayerNameStore; 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 deleted file mode 100644 index e16129e..0000000 --- a/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAddItem.java +++ /dev/null @@ -1,60 +0,0 @@ -package xyz.ineanto.nicko.gui.items.favorites; - -import io.papermc.paper.datacomponent.DataComponentTypes; -import io.papermc.paper.datacomponent.item.TooltipDisplay; -import org.bukkit.DyeColor; -import org.bukkit.Material; -import org.bukkit.block.banner.Pattern; -import org.bukkit.block.banner.PatternType; -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.language.LanguageKey; -import xyz.ineanto.nicko.language.PlayerLanguage; -import xyz.xenondevs.invui.item.builder.ItemBuilder; -import xyz.xenondevs.invui.item.impl.SuppliedItem; - -public class FavoriteAddItem { - private final PlayerLanguage playerLanguage; - - public FavoriteAddItem(PlayerLanguage playerLanguage) { - this.playerLanguage = playerLanguage; - } - - public SuppliedItem get() { - return new SuppliedItem(() -> { - final ItemStack banner = new ItemStack(Material.GREEN_BANNER); - final BannerMeta bannerMeta = (BannerMeta) banner.getItemMeta(); - - // Plus sign - bannerMeta.addPattern(new Pattern(DyeColor.WHITE, PatternType.STRIPE_MIDDLE)); - bannerMeta.addPattern(new Pattern(DyeColor.WHITE, PatternType.STRIPE_CENTER)); - - // Remove excess on the borders - bannerMeta.addPattern(new Pattern(DyeColor.GREEN, PatternType.BORDER)); - bannerMeta.addPattern(new Pattern(DyeColor.GREEN, PatternType.CURLY_BORDER)); - bannerMeta.addPattern(new Pattern(DyeColor.GREEN, PatternType.STRIPE_TOP)); - bannerMeta.addPattern(new Pattern(DyeColor.GREEN, PatternType.STRIPE_BOTTOM)); - - banner.setItemMeta(bannerMeta); - - banner.addItemFlags(ItemFlag.HIDE_ADDITIONAL_TOOLTIP); - banner.setData(DataComponentTypes.TOOLTIP_DISPLAY, TooltipDisplay - .tooltipDisplay() - .addHiddenComponents(DataComponentTypes.BANNER_PATTERNS) - .build() - ); - - final ItemBuilder builder = new ItemBuilder(banner); - return playerLanguage.translateItem(builder, LanguageKey.GUI.Home.FAVORITES); - }, click -> { - final ClickType clickType = click.getClickType(); - if (clickType.isLeftClick() || clickType.isRightClick()) { - click.getEvent().getView().close(); - return true; - } - return false; - }); - } -} diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteRemoveItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteRemoveItem.java deleted file mode 100644 index 123533e..0000000 --- a/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteRemoveItem.java +++ /dev/null @@ -1,55 +0,0 @@ -package xyz.ineanto.nicko.gui.items.favorites; - -import io.papermc.paper.datacomponent.DataComponentTypes; -import io.papermc.paper.datacomponent.item.TooltipDisplay; -import org.bukkit.DyeColor; -import org.bukkit.Material; -import org.bukkit.block.banner.Pattern; -import org.bukkit.block.banner.PatternType; -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.language.LanguageKey; -import xyz.ineanto.nicko.language.PlayerLanguage; -import xyz.xenondevs.invui.item.builder.ItemBuilder; -import xyz.xenondevs.invui.item.impl.SuppliedItem; - -public class FavoriteRemoveItem { - private final PlayerLanguage playerLanguage; - - public FavoriteRemoveItem(PlayerLanguage playerLanguage) { - this.playerLanguage = playerLanguage; - } - - public SuppliedItem get() { - return new SuppliedItem(() -> { - final ItemStack banner = new ItemStack(Material.RED_BANNER); - final BannerMeta bannerMeta = (BannerMeta) banner.getItemMeta(); - - // Minus sign - bannerMeta.addPattern(new Pattern(DyeColor.WHITE, PatternType.STRIPE_MIDDLE)); - - // Remove excess - bannerMeta.addPattern(new Pattern(DyeColor.RED, PatternType.BORDER)); - banner.setItemMeta(bannerMeta); - - banner.addItemFlags(ItemFlag.HIDE_ADDITIONAL_TOOLTIP); - banner.setData(DataComponentTypes.TOOLTIP_DISPLAY, TooltipDisplay - .tooltipDisplay() - .addHiddenComponents(DataComponentTypes.BANNER_PATTERNS) - .build() - ); - - final ItemBuilder builder = new ItemBuilder(banner); - return playerLanguage.translateItem(builder, LanguageKey.GUI.Home.FAVORITES); - }, click -> { - final ClickType clickType = click.getClickType(); - if (clickType.isLeftClick() || clickType.isRightClick()) { - click.getEvent().getView().close(); - return true; - } - return false; - }); - } -} diff --git a/src/main/java/xyz/ineanto/nicko/prompt/Prompt.java b/src/main/java/xyz/ineanto/nicko/gui/prompt/Prompt.java similarity index 97% rename from src/main/java/xyz/ineanto/nicko/prompt/Prompt.java rename to src/main/java/xyz/ineanto/nicko/gui/prompt/Prompt.java index 5940993..e5a7267 100644 --- a/src/main/java/xyz/ineanto/nicko/prompt/Prompt.java +++ b/src/main/java/xyz/ineanto/nicko/gui/prompt/Prompt.java @@ -1,4 +1,4 @@ -package xyz.ineanto.nicko.prompt; +package xyz.ineanto.nicko.gui.prompt; import org.bukkit.Sound; import org.bukkit.entity.Player; @@ -50,7 +50,7 @@ public abstract class Prompt { final ActionResult actionResult = appearanceManager.update(skinChange); if (!actionResult.isError()) { player.sendMessage(playerLanguage.translateWithWhoosh(LanguageKey.Event.Appearance.Set.OK)); - player.playSound(player.getLocation(), Sound.BLOCK_WOODEN_BUTTON_CLICK_ON, 1f, 1f); + player.playSound(player.getLocation(), Sound.BLOCK_WOODEN_BUTTON_CLICK_ON, 1, 1f); } else { player.sendMessage( playerLanguage.translateWithOops( diff --git a/src/main/java/xyz/ineanto/nicko/prompt/PromptManager.java b/src/main/java/xyz/ineanto/nicko/gui/prompt/PromptManager.java similarity index 81% rename from src/main/java/xyz/ineanto/nicko/prompt/PromptManager.java rename to src/main/java/xyz/ineanto/nicko/gui/prompt/PromptManager.java index bbd5a9e..323b51c 100644 --- a/src/main/java/xyz/ineanto/nicko/prompt/PromptManager.java +++ b/src/main/java/xyz/ineanto/nicko/gui/prompt/PromptManager.java @@ -1,7 +1,7 @@ -package xyz.ineanto.nicko.prompt; +package xyz.ineanto.nicko.gui.prompt; import org.bukkit.entity.Player; -import xyz.ineanto.nicko.prompt.conversation.ConversationPrompt; +import xyz.ineanto.nicko.gui.prompt.conversation.ConversationPrompt; public class PromptManager { private final Prompt prompt; diff --git a/src/main/java/xyz/ineanto/nicko/prompt/anvil/AnvilPrompt.java b/src/main/java/xyz/ineanto/nicko/gui/prompt/anvil/AnvilPrompt.java similarity index 95% rename from src/main/java/xyz/ineanto/nicko/prompt/anvil/AnvilPrompt.java rename to src/main/java/xyz/ineanto/nicko/gui/prompt/anvil/AnvilPrompt.java index 85e6d28..91d4e28 100644 --- a/src/main/java/xyz/ineanto/nicko/prompt/anvil/AnvilPrompt.java +++ b/src/main/java/xyz/ineanto/nicko/gui/prompt/anvil/AnvilPrompt.java @@ -1,4 +1,4 @@ -package xyz.ineanto.nicko.prompt.anvil; +package xyz.ineanto.nicko.gui.prompt.anvil; import net.kyori.adventure.text.Component; import net.wesjd.anvilgui.AnvilGUI; @@ -7,15 +7,15 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import xyz.ineanto.nicko.Nicko; -import xyz.ineanto.nicko.prompt.Prompt; +import xyz.ineanto.nicko.gui.prompt.Prompt; import xyz.ineanto.nicko.language.LanguageKey; import xyz.ineanto.nicko.mojang.MojangUtils; import java.util.Collections; /** - * This is currently unused, I'm waiting on AnvilGUI - * to be compiled against Paper mappings. + * This is currently unused, I'm waiting for AnvilGUI + * to be updated to compile with Paper mappings. */ // TODO (Ineanto, 16/05/2025): Do some validation on the inputs public class AnvilPrompt extends Prompt { diff --git a/src/main/java/xyz/ineanto/nicko/prompt/conversation/ConversationPrompt.java b/src/main/java/xyz/ineanto/nicko/gui/prompt/conversation/ConversationPrompt.java similarity index 96% rename from src/main/java/xyz/ineanto/nicko/prompt/conversation/ConversationPrompt.java rename to src/main/java/xyz/ineanto/nicko/gui/prompt/conversation/ConversationPrompt.java index 701ce6c..7106225 100644 --- a/src/main/java/xyz/ineanto/nicko/prompt/conversation/ConversationPrompt.java +++ b/src/main/java/xyz/ineanto/nicko/gui/prompt/conversation/ConversationPrompt.java @@ -1,4 +1,4 @@ -package xyz.ineanto.nicko.prompt.conversation; +package xyz.ineanto.nicko.gui.prompt.conversation; import org.bukkit.conversations.ConversationContext; import org.bukkit.conversations.ConversationFactory; @@ -7,7 +7,7 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import xyz.ineanto.nicko.Nicko; -import xyz.ineanto.nicko.prompt.Prompt; +import xyz.ineanto.nicko.gui.prompt.Prompt; import xyz.ineanto.nicko.language.LanguageKey; import java.util.Map; diff --git a/src/main/java/xyz/ineanto/nicko/storage/mariadb/MariaDBStorage.java b/src/main/java/xyz/ineanto/nicko/storage/mariadb/MariaDBStorage.java index 6bc9c43..27fcc26 100644 --- a/src/main/java/xyz/ineanto/nicko/storage/mariadb/MariaDBStorage.java +++ b/src/main/java/xyz/ineanto/nicko/storage/mariadb/MariaDBStorage.java @@ -100,6 +100,7 @@ public class MariaDBStorage extends Storage { favorites = gson.fromJson(resultSet.getString("favorites"), new TypeToken>() { }.getType()); } + // TODO (Ineanto, 17/05/2025): Retrieve favorites final NickoProfile profile = new NickoProfile(new Appearance(name, skin), Language.fromCode(locale), randomSkin, favorites); return Optional.of(profile); } catch (SQLException e) {