From 4acd3efda1bccb4932fabba1694e08ff2420863b Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Mon, 1 Jun 2020 23:05:24 +0100 Subject: [PATCH] Allow metadata ID to be used in shop transaction permission --- .../Listeners/PreTransaction/PermissionChecker.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/Acrobot/ChestShop/Listeners/PreTransaction/PermissionChecker.java b/src/main/java/com/Acrobot/ChestShop/Listeners/PreTransaction/PermissionChecker.java index f8eb6ca..82aeff6 100644 --- a/src/main/java/com/Acrobot/ChestShop/Listeners/PreTransaction/PermissionChecker.java +++ b/src/main/java/com/Acrobot/ChestShop/Listeners/PreTransaction/PermissionChecker.java @@ -12,6 +12,7 @@ import java.util.Locale; import static com.Acrobot.ChestShop.Events.PreTransactionEvent.TransactionOutcome.CLIENT_DOES_NOT_HAVE_PERMISSION; import static com.Acrobot.ChestShop.Events.TransactionEvent.TransactionType.BUY; +import static com.Acrobot.ChestShop.Signs.ChestShopSign.ITEM_LINE; /** * @author Acrobot @@ -26,6 +27,12 @@ public class PermissionChecker implements Listener { Player client = event.getClient(); TransactionEvent.TransactionType transactionType = event.getTransactionType(); + String itemLine = event.getSign().getLine(ITEM_LINE); + if (itemLine.contains("#") && Permission.hasPermissionSetFalse(client, (transactionType == BUY ? Permission.BUY_ID : Permission.SELL_ID) + itemLine)) { + event.setCancelled(CLIENT_DOES_NOT_HAVE_PERMISSION); + return; + } + for (ItemStack stock : event.getStock()) { String matID = stock.getType().toString().toLowerCase(Locale.ROOT);