Untitled

 avatar
unknown
plain_text
4 months ago
2.1 kB
4
Indexable
@EventHandler
    public void onPlayerUseSellWand(PlayerInteractEvent event) {
        if (event.getClickedBlock() != null && (event.getClickedBlock().getType() == Material.CHEST || event.getClickedBlock().getType() == Material.TRAPPED_CHEST)) {
            Player player = event.getPlayer();
            ItemStack wand = player.getInventory().getItemInMainHand();

            if (wand.getType() == Material.BLAZE_ROD && wand.hasItemMeta() && wand.getItemMeta().hasEnchant(Enchantment.LOYALTY)) {
                Chest chest = (Chest) event.getClickedBlock().getState();
                if (isChestBlocked(chest)) {
                    player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&eSell &bWands &7| &cThe chest is locked with a block covering."));
                    event.setCancelled(true);
                    return;
                }

                ItemStack[] contents = chest.getInventory().getContents();
                SellPrices prices = EconomyShopGUIHook.getCutSellPrices(player, contents, true);
                
                // Filter out non-sellable items and sum the sellable items' prices
                double totalSellPrice = prices.getPrices().entrySet().stream()
                    .filter(entry -> entry.getValue() > 0) // Check if the item is sellable by price
                    .mapToDouble(entry -> entry.getValue())
                    .sum();

                if (totalSellPrice > 0) {
                    economy.depositPlayer(player, totalSellPrice);
                    chest.getInventory().clear(); // Optionally clear the chest inventory
                    player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&eSell &bWands &7| &aSold contents for $" + totalSellPrice));
                    decrementWandUses(wand, player);
                } else {
                    player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&eSell &bWands &7| &cNo sellable items in chest."));
                }
                event.setCancelled(true);
            }
        }
    }
Editor is loading...
Leave a Comment