diff --git a/src/main/java/com/alttd/playershops/gui/ShopManagementGui.java b/src/main/java/com/alttd/playershops/gui/ShopManagementGui.java index 2a81269..d0fe320 100644 --- a/src/main/java/com/alttd/playershops/gui/ShopManagementGui.java +++ b/src/main/java/com/alttd/playershops/gui/ShopManagementGui.java @@ -6,6 +6,7 @@ import com.alttd.playershops.config.ShopTypeConfig; import com.alttd.playershops.conversation.ConversationManager; import com.alttd.playershops.conversation.ConversationType; 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; @@ -59,6 +60,7 @@ public class ShopManagementGui extends AbstractGui { inventory.setItem(GuiIcon.MANAGE_SHOP.getSlot(), shopIcon); inventory.setItem(GuiIcon.MANAGE_SHOP_BALANCE_ADD.getSlot(), GuiIcon.MANAGE_SHOP_BALANCE_ADD.getItemStack()); inventory.setItem(GuiIcon.MANAGE_SHOP_BALANCE_REMOVE.getSlot(), GuiIcon.MANAGE_SHOP_BALANCE_REMOVE.getItemStack()); + inventory.setItem(GuiIcon.MANAGE_SHOP_COLLECT_SALES.getSlot(), GuiIcon.MANAGE_SHOP_COLLECT_SALES.getItemStack()); inventory.setItem(GuiIcon.MANAGE_SHOP_SALES.getSlot(), GuiIcon.MANAGE_SHOP_SALES.getItemStack()); inventory.setItem(GuiIcon.MANAGE_SHOP_ITEM.getSlot(), GuiIcon.MANAGE_SHOP_ITEM.getItemStack()); inventory.setItem(GuiIcon.MANAGE_SHOP_TYPE.getSlot(), GuiIcon.MANAGE_SHOP_TYPE.getItemStack()); @@ -75,6 +77,31 @@ public class ShopManagementGui extends AbstractGui { public void onClick(int slot, ItemStack item) { super.onClick(slot, item); + if (slot == GuiIcon.MANAGE_SHOP_COLLECT_SALES.getSlot() && GuiIcon.MANAGE_SHOP_COLLECT_SALES.getItemStack().equals(item)) { + Player player = getPlayer(); + double d = 0; + int count = 0; + if (!ShopUtil.canManageShop(player, this.shop)) + return; + if (!this.shop.getType().equals(ShopType.SELL)) + return; + + double balance = this.shop.getBalance(); + if (balance == 0) + return; + + this.shop.removeBalance(balance); + EconomyUtils.addFunds(player, balance); + d += balance; + count++; + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("balance", String.valueOf(d)), + Placeholder.parsed("count", String.valueOf(count)) + ); + player.sendMiniMessage("You have collected from shops.", placeholders); + return; + } + if (slot >= 45) return; diff --git a/src/main/java/com/alttd/playershops/handler/ShopHandler.java b/src/main/java/com/alttd/playershops/handler/ShopHandler.java index 63a1feb..67ef3a2 100644 --- a/src/main/java/com/alttd/playershops/handler/ShopHandler.java +++ b/src/main/java/com/alttd/playershops/handler/ShopHandler.java @@ -135,6 +135,7 @@ public class ShopHandler { } return null; } + public List getShopsInRadius(int x, int z, int radius) { ArrayList shops = new ArrayList<>(); int bottomX = x - radius;