From ad656391fb60f0693730ce8adfefcf3c53687bea Mon Sep 17 00:00:00 2001 From: Stijn Date: Wed, 31 Aug 2022 19:56:33 +0200 Subject: [PATCH 1/2] Send different message for buying/selling from/to shop --- .../com/alttd/playershops/config/ShopTypeConfig.java | 2 ++ .../alttd/playershops/listener/TransactionListener.java | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java b/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java index f5a4855..95521e7 100644 --- a/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java +++ b/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java @@ -56,6 +56,8 @@ public class ShopTypeConfig { public String playerInventoryFull = "You do not have enough space in your inventory to buy from this shop."; public String playerNoFunds = "You do not have sufficient funds to trade with this shop."; public String playerBought = "You bought (s) from for ."; + public String playerSold = "You sold (s) to for ."; + public String shopBought = " sold (s) to you for ."; public String shopSold = " bought (s) from you for ."; public String shopInventoryFull = "This shop does not have enough space in its inventory."; public String shopNoStock = "This shop is out of stock."; diff --git a/src/main/java/com/alttd/playershops/listener/TransactionListener.java b/src/main/java/com/alttd/playershops/listener/TransactionListener.java index a53a94d..8c5c9a8 100644 --- a/src/main/java/com/alttd/playershops/listener/TransactionListener.java +++ b/src/main/java/com/alttd/playershops/listener/TransactionListener.java @@ -5,6 +5,7 @@ import com.alttd.playershops.gui.ShopManagementGui; import com.alttd.playershops.handler.ShopHandler; import com.alttd.playershops.hook.WorldGuardHook; import com.alttd.playershops.shop.PlayerShop; +import com.alttd.playershops.shop.ShopType; import com.alttd.playershops.shop.TransactionError; import com.alttd.playershops.utils.Logger; import com.alttd.playershops.utils.ShopUtil; @@ -136,7 +137,13 @@ public class TransactionListener extends EventListener { } return; } - player.sendActionBar(Util.parseMiniMessage(shop.getType().getShopTypeConfig().playerBought, placeholders)); + if (shop.getType().equals(ShopType.BUY)) + player.sendActionBar(Util.parseMiniMessage(shop.getType().getShopTypeConfig().playerSold, placeholders)); + else if (shop.getType().equals(ShopType.SELL)) { + player.sendActionBar(Util.parseMiniMessage(shop.getType().getShopTypeConfig().playerBought, placeholders)); + } else { //TODO add messages for all shop types + player.sendActionBar(Util.parseMiniMessage("NOT IMPLEMENTED", placeholders)); + } plugin.getDatabaseHelper().logTransaction(player, shop, orders); } From 2228e45ed439c12bc3983fb930675ecaa0676e45 Mon Sep 17 00:00:00 2001 From: Stijn Date: Wed, 31 Aug 2022 20:00:36 +0200 Subject: [PATCH 2/2] Send different message for not having enough items/money --- .../java/com/alttd/playershops/config/ShopTypeConfig.java | 4 ++++ .../com/alttd/playershops/listener/TransactionListener.java | 3 +++ src/main/java/com/alttd/playershops/shop/PlayerShop.java | 2 +- .../java/com/alttd/playershops/shop/TransactionError.java | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java b/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java index 95521e7..6bba796 100644 --- a/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java +++ b/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java @@ -55,6 +55,7 @@ public class ShopTypeConfig { public String playerInventoryFull = "You do not have enough space in your inventory to buy from this shop."; public String playerNoFunds = "You do not have sufficient funds to trade with this shop."; + public String playerNoItems = "You do not have sufficient items to trade with this shop."; public String playerBought = "You bought (s) from for ."; public String playerSold = "You sold (s) to for ."; public String shopBought = " sold (s) to you for ."; @@ -66,6 +67,9 @@ public class ShopTypeConfig { private void transactionMessages() { playerInventoryFull = getString("transaction.player-inventory-full", playerInventoryFull); playerNoFunds = getString("transaction.player-no-funds", playerNoFunds); + playerNoItems = getString("transaction.player-no-items", playerNoItems); + playerBought = getString("transaction.player-bought", playerBought); + playerSold = getString("transaction.player-sold", playerSold); shopInventoryFull = getString("transaction.shop-inventory-full", shopInventoryFull); shopNoStock = getString("transaction.shop-no-stock", shopNoStock); yourShopNoFunds = getString("transaction.your-shop-no-funds", yourShopNoFunds); diff --git a/src/main/java/com/alttd/playershops/listener/TransactionListener.java b/src/main/java/com/alttd/playershops/listener/TransactionListener.java index 8c5c9a8..f3dbe71 100644 --- a/src/main/java/com/alttd/playershops/listener/TransactionListener.java +++ b/src/main/java/com/alttd/playershops/listener/TransactionListener.java @@ -123,6 +123,9 @@ public class TransactionListener extends EventListener { case INSUFFICIENT_FUNDS_PLAYER -> { player.sendMiniMessage(shop.getType().getShopTypeConfig().playerNoFunds, placeholders); } + case INSUFFICIENT_ITEMS_PLAYER -> { + player.sendMiniMessage(shop.getType().getShopTypeConfig().playerNoItems, placeholders); + } case INVENTORY_FULL_SHOP -> { Player shopOwner = Bukkit.getPlayer(shop.getOwnerUUID()); if (shopOwner != null && notifyOwner(shop)) { diff --git a/src/main/java/com/alttd/playershops/shop/PlayerShop.java b/src/main/java/com/alttd/playershops/shop/PlayerShop.java index 6e4e0f1..3285486 100644 --- a/src/main/java/com/alttd/playershops/shop/PlayerShop.java +++ b/src/main/java/com/alttd/playershops/shop/PlayerShop.java @@ -252,7 +252,7 @@ public class PlayerShop { int playerItems = InventoryUtils.countItems(player.getInventory(), itemStack); if (playerItems < itemStack.getAmount()) - return TransactionError.INSUFFICIENT_FUNDS_PLAYER; + return TransactionError.INSUFFICIENT_ITEMS_PLAYER; boolean hasFunds = EconomyUtils.hasSufficientFunds(this, price); if (!hasFunds) diff --git a/src/main/java/com/alttd/playershops/shop/TransactionError.java b/src/main/java/com/alttd/playershops/shop/TransactionError.java index 235258a..6c87e7e 100644 --- a/src/main/java/com/alttd/playershops/shop/TransactionError.java +++ b/src/main/java/com/alttd/playershops/shop/TransactionError.java @@ -4,6 +4,7 @@ public enum TransactionError { CANCELLED, INSUFFICIENT_FUNDS_SHOP, INSUFFICIENT_FUNDS_PLAYER, + INSUFFICIENT_ITEMS_PLAYER, INVENTORY_FULL_SHOP, INVENTORY_FULL_PLAYER, PLAYER_OFFLINE,