diff --git a/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java b/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java index f5a4855..6bba796 100644 --- a/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java +++ b/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java @@ -55,7 +55,10 @@ 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 ."; 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."; @@ -64,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 c0d99de..23f766b 100644 --- a/src/main/java/com/alttd/playershops/listener/TransactionListener.java +++ b/src/main/java/com/alttd/playershops/listener/TransactionListener.java @@ -6,6 +6,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; @@ -124,6 +125,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)) { @@ -138,7 +142,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); } 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,