From 46dec9a933cdd78b0d52345745f4f439ef8a6762 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Mon, 10 Aug 2026 03:43:44 -0500 Subject: [PATCH] Update shop change item option to use the item in the players mainhand. --- .../playershops/dialog/ManageShopDialog.java | 83 +++++++++---------- 1 file changed, 37 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/alttd/playershops/dialog/ManageShopDialog.java b/src/main/java/com/alttd/playershops/dialog/ManageShopDialog.java index a96ae84..d48dd2f 100644 --- a/src/main/java/com/alttd/playershops/dialog/ManageShopDialog.java +++ b/src/main/java/com/alttd/playershops/dialog/ManageShopDialog.java @@ -4,29 +4,21 @@ import com.alttd.playershops.shop.PlayerShop; import com.alttd.playershops.shop.ShopType; import com.alttd.playershops.utils.EconomyUtils; import com.alttd.playershops.utils.ShopUtil; -import com.alttd.playershops.utils.Util; import io.papermc.paper.dialog.Dialog; import io.papermc.paper.registry.data.dialog.ActionButton; import io.papermc.paper.registry.data.dialog.DialogBase; import io.papermc.paper.registry.data.dialog.action.DialogAction; -import io.papermc.paper.registry.data.dialog.body.DialogBody; import io.papermc.paper.registry.data.dialog.input.DialogInput; import io.papermc.paper.registry.data.dialog.input.SingleOptionDialogInput; import io.papermc.paper.registry.data.dialog.type.DialogType; -import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.ClickCallback; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; -import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; -import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; import java.time.Duration; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; import java.util.UUID; public class ManageShopDialog extends AbstractDialog { @@ -85,9 +77,6 @@ public class ManageShopDialog extends AbstractDialog { .initial(false) .build() ); - inputs.add( - DialogInput.singleOption("item", MiniMessage.miniMessage().deserialize("Item"), itemEntries()).build() - ); int maxQty = (shop.isInitialized() && shop.getItemStack() != null ? shop.getItemStack().getMaxStackSize() : 64); int initialQty = (shop.isInitialized() ? Math.min(shop.getAmount(), maxQty) : 1); inputs.add( @@ -148,19 +137,21 @@ public class ManageShopDialog extends AbstractDialog { // Change Item if (Boolean.TRUE.equals(view.getBoolean("changeitem"))) { - String selection = view.getText("item"); - if (selection != null) { - if (selection.equalsIgnoreCase("reset")) { - shop.setItemStack(null); - } else { - int slot; - try { - slot = Integer.parseInt(selection); - shop.setItemStack(player.getInventory().getItem(slot)); - } catch (NumberFormatException ignored) { - } - } - } + ItemStack itemStack = player.getInventory().getItemInMainHand().clone(); + shop.setItemStack(itemStack); +// String selection = view.getText("item"); +// if (selection != null) { +// if (selection.equalsIgnoreCase("reset")) { +// shop.setItemStack(null); +// } else { +// int slot; +// try { +// slot = Integer.parseInt(selection); +// shop.setItemStack(player.getInventory().getItem(slot)); +// } catch (NumberFormatException ignored) { +// } +// } +// } } // Change Amount @@ -188,27 +179,27 @@ public class ManageShopDialog extends AbstractDialog { actions.add(saveButton); } - List itemEntries() { - List optionEntries = new ArrayList<>(); - - if (getPlayer() == null) { - return optionEntries; - } - - optionEntries.add( - SingleOptionDialogInput.OptionEntry.create("reset", MiniMessage.miniMessage().deserialize("Reset"), false) - ); - - for (int i = 0; i < getPlayer().getInventory().getSize() ; i++) { - ItemStack item = getPlayer().getInventory().getItem(i); - if (item == null || item.getType() == Material.AIR) continue; - ItemStack itemStack = item.clone(); - optionEntries.add( - SingleOptionDialogInput.OptionEntry.create(String.valueOf(i), ShopUtil.spriteComponent(itemStack), shop.getItemStack() == itemStack) - ); - } - - return optionEntries; - } +// List itemEntries() { +// List optionEntries = new ArrayList<>(); +// +// if (getPlayer() == null) { +// return optionEntries; +// } +// +// optionEntries.add( +// SingleOptionDialogInput.OptionEntry.create("reset", MiniMessage.miniMessage().deserialize("Reset"), false) +// ); +// +// for (int i = 0; i < getPlayer().getInventory().getSize() ; i++) { +// ItemStack item = getPlayer().getInventory().getItem(i); +// if (item == null || item.getType() == Material.AIR) continue; +// ItemStack itemStack = item.clone(); +// optionEntries.add( +// SingleOptionDialogInput.OptionEntry.create(String.valueOf(i), ShopUtil.spriteComponent(itemStack), shop.getItemStack() == itemStack) +// ); +// } +// +// return optionEntries; +// } }