From e97f00fb8b610b90721c5bca5a6c8289d5f4643e Mon Sep 17 00:00:00 2001 From: Florian Redl <88911666+RedlFlo@users.noreply.github.com> Date: Sun, 2 Jul 2023 17:58:57 +0200 Subject: [PATCH 1/5] Update QuickShopLimited.java (Click-Event) Added feature that players get the limit displayed in the chat when they click the store --- .../quickshoplimited/QuickShopLimited.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java b/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java index a65c205..76e2d0a 100644 --- a/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java +++ b/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java @@ -12,6 +12,7 @@ import org.maxgamer.quickshop.api.command.CommandContainer; import org.maxgamer.quickshop.api.event.CalendarEvent; import org.maxgamer.quickshop.api.event.ShopPurchaseEvent; +import org.maxgamer.quickshop.api.event.PlayerShopClickEvent; import org.maxgamer.quickshop.api.event.ShopSuccessPurchaseEvent; import org.maxgamer.quickshop.api.shop.Shop; import org.maxgamer.quickshop.util.MsgUtil; @@ -62,6 +63,19 @@ public void shopPurchased(ShopSuccessPurchaseEvent event) { ChatColor.AQUA + MsgUtil.fillArgs(getConfig().getString("message.subtitle"), String.valueOf(limit - playerUsedLimit))); } + @EventHandler + public void shopClick(PlayerShopClickEvent event) { + Shop shop = event.getShop(); + ConfigurationSection storage = shop.getExtra(this); + if (storage.getInt("limit") < 1) { + return; + } + int limit = storage.getInt("limit"); + int playerUsedLimit = storage.getInt("data." + event.getPlayer().getUniqueId(), 0); + + event.getPlayer().sendMessage(ChatColor.ORANGE + MsgUtil.fillArgs(getConfig().getString("tell-the-limit"), String.valueOf(limit - playerUsedLimit), String.valueOf(event.getAmount()))); + } + @EventHandler(ignoreCancelled = true) public void shopPrePurchase(ShopPurchaseEvent event) { Shop shop = event.getShop(); @@ -71,7 +85,7 @@ public void shopPrePurchase(ShopPurchaseEvent event) { } int limit = storage.getInt("limit"); int playerUsedLimit = storage.getInt("data." + event.getPlayer().getUniqueId(), 0); - if (playerUsedLimit + event.getAmount() > limit) { + if (playerUsedLimit + event.getAmount() == limit) { event.getPlayer().sendMessage(ChatColor.RED + MsgUtil.fillArgs(getConfig().getString("reach-the-limit"), String.valueOf(limit - playerUsedLimit), String.valueOf(event.getAmount()))); event.setCancelled(true); } From be37ccddfab1109de6d6350df7d42a67d774f2b0 Mon Sep 17 00:00:00 2001 From: Florian Redl <88911666+RedlFlo@users.noreply.github.com> Date: Sun, 2 Jul 2023 18:01:43 +0200 Subject: [PATCH 2/5] Update config.yml added tell-the-limit --- src/main/resources/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index b775053..f809dd5 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,4 +1,5 @@ command-description: "Limit the amount per player can purchase" +tell-the-limit: "This shop has an limit of {0} items! You can purchase {1}." reach-the-limit: "You have reached the limit in this shop. You can purchase {0}, but you trying purchase {1}." success-reset: "Reset successfully" success-setup: "Set up!" From 11bee501a9b1023cc2cfb6bf6ee4b7b8b5913e0e Mon Sep 17 00:00:00 2001 From: Florian Redl <88911666+RedlFlo@users.noreply.github.com> Date: Sun, 2 Jul 2023 18:02:54 +0200 Subject: [PATCH 3/5] Update QuickShopLimited.java --- .../studio/potatocraft/quickshoplimited/QuickShopLimited.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java b/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java index 76e2d0a..c341554 100644 --- a/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java +++ b/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java @@ -73,7 +73,7 @@ public void shopClick(PlayerShopClickEvent event) { int limit = storage.getInt("limit"); int playerUsedLimit = storage.getInt("data." + event.getPlayer().getUniqueId(), 0); - event.getPlayer().sendMessage(ChatColor.ORANGE + MsgUtil.fillArgs(getConfig().getString("tell-the-limit"), String.valueOf(limit - playerUsedLimit), String.valueOf(event.getAmount()))); + event.getPlayer().sendMessage(ChatColor.ORANGE + MsgUtil.fillArgs(getConfig().getString("tell-the-limit"), String.valueOf(limit), String.valueOf(limit - playerUsedLimit))); } @EventHandler(ignoreCancelled = true) From 8a24134f115cce28cd8feea07e218bce3b00b0d6 Mon Sep 17 00:00:00 2001 From: Florian Redl <88911666+RedlFlo@users.noreply.github.com> Date: Sun, 2 Jul 2023 18:15:51 +0200 Subject: [PATCH 4/5] Update QuickShopLimited.java --- .../studio/potatocraft/quickshoplimited/QuickShopLimited.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java b/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java index c341554..cfe4a0e 100644 --- a/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java +++ b/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java @@ -85,7 +85,7 @@ public void shopPrePurchase(ShopPurchaseEvent event) { } int limit = storage.getInt("limit"); int playerUsedLimit = storage.getInt("data." + event.getPlayer().getUniqueId(), 0); - if (playerUsedLimit + event.getAmount() == limit) { + if (playerUsedLimit + event.getAmount() > limit) { event.getPlayer().sendMessage(ChatColor.RED + MsgUtil.fillArgs(getConfig().getString("reach-the-limit"), String.valueOf(limit - playerUsedLimit), String.valueOf(event.getAmount()))); event.setCancelled(true); } From d204675b926e6aa0a3725d1e86ea121dbbdc3195 Mon Sep 17 00:00:00 2001 From: Florian Redl <88911666+RedlFlo@users.noreply.github.com> Date: Sun, 2 Jul 2023 20:54:13 +0200 Subject: [PATCH 5/5] Added Message on ShopClick --- pom.xml | 2 +- .../potatocraft/quickshoplimited/QuickShopLimited.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index c6e5e63..d38be2d 100644 --- a/pom.xml +++ b/pom.xml @@ -78,7 +78,7 @@ org.maxgamer QuickShop - 5.1.0.0 + 5.1.2.2 provided diff --git a/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java b/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java index cfe4a0e..6680b12 100644 --- a/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java +++ b/src/main/java/studio/potatocraft/quickshoplimited/QuickShopLimited.java @@ -65,6 +65,7 @@ public void shopPurchased(ShopSuccessPurchaseEvent event) { @EventHandler public void shopClick(PlayerShopClickEvent event) { + Shop shop = event.getShop(); ConfigurationSection storage = shop.getExtra(this); if (storage.getInt("limit") < 1) { @@ -72,8 +73,9 @@ public void shopClick(PlayerShopClickEvent event) { } int limit = storage.getInt("limit"); int playerUsedLimit = storage.getInt("data." + event.getPlayer().getUniqueId(), 0); - - event.getPlayer().sendMessage(ChatColor.ORANGE + MsgUtil.fillArgs(getConfig().getString("tell-the-limit"), String.valueOf(limit), String.valueOf(limit - playerUsedLimit))); + + //that the message is under the shop block + Bukkit.getScheduler().runTaskLaterAsynchronously(this, () -> event.getPlayer().sendMessage(ChatColor.YELLOW + MsgUtil.fillArgs(getConfig().getString("tell-the-limit"), String.valueOf(limit), String.valueOf(limit - playerUsedLimit))), 1); } @EventHandler(ignoreCancelled = true)