From 8e009d578e0e6cb117b535d761c7ee688e11fdd6 Mon Sep 17 00:00:00 2001 From: Kiran Hart Date: Wed, 2 Feb 2022 11:40:13 -0500 Subject: [PATCH] if the user doesn't have the perm: auctionhouse.transactions.viewall and restrict all transactions to perm is true, it will just open their transactions by default w.o showing them the menu asking to view all Took 7 minutes --- .../auctionhouse/commands/CommandTransactions.java | 8 +++++++- .../ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java | 9 ++++++++- .../guis/transaction/GUITransactionList.java | 9 ++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main/java/ca/tweetzy/auctionhouse/commands/CommandTransactions.java b/src/main/java/ca/tweetzy/auctionhouse/commands/CommandTransactions.java index 92947ce..b3eee7b 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/commands/CommandTransactions.java +++ b/src/main/java/ca/tweetzy/auctionhouse/commands/CommandTransactions.java @@ -2,6 +2,7 @@ package ca.tweetzy.auctionhouse.commands; import ca.tweetzy.auctionhouse.AuctionHouse; import ca.tweetzy.auctionhouse.api.AuctionAPI; +import ca.tweetzy.auctionhouse.guis.transaction.GUITransactionList; import ca.tweetzy.auctionhouse.guis.transaction.GUITransactionType; import ca.tweetzy.auctionhouse.settings.Settings; import ca.tweetzy.core.commands.AbstractCommand; @@ -28,7 +29,12 @@ public class CommandTransactions extends AbstractCommand { if (CommandMiddleware.handle(player) == ReturnType.FAILURE) return ReturnType.FAILURE; - AuctionHouse.getInstance().getGuiManager().showGUI(player, new GUITransactionType()); + if (Settings.RESTRICT_ALL_TRANSACTIONS_TO_PERM.getBoolean() && !player.hasPermission("auctionhouse.transactions.viewall")) { + AuctionHouse.getInstance().getGuiManager().showGUI(player, new GUITransactionList(player, false)); + } else { + AuctionHouse.getInstance().getGuiManager().showGUI(player, new GUITransactionType()); + } + return ReturnType.SUCCESS; } diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java b/src/main/java/ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java index efbb59d..a4c43ca 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java +++ b/src/main/java/ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java @@ -15,6 +15,7 @@ import ca.tweetzy.auctionhouse.guis.admin.GUIAdminItem; import ca.tweetzy.auctionhouse.guis.confirmation.GUIConfirmBid; import ca.tweetzy.auctionhouse.guis.confirmation.GUIConfirmPurchase; import ca.tweetzy.auctionhouse.guis.filter.GUIFilterSelection; +import ca.tweetzy.auctionhouse.guis.transaction.GUITransactionList; import ca.tweetzy.auctionhouse.guis.transaction.GUITransactionType; import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper; import ca.tweetzy.auctionhouse.managers.SoundManager; @@ -412,7 +413,13 @@ public class GUIAuctionHouse extends Gui { setButton(Settings.GUI_AUCTION_HOUSE_ITEMS_TRANSACTIONS_SLOT.getInt(), ConfigurationItemHelper.createConfigurationItem(Settings.GUI_AUCTION_HOUSE_ITEMS_TRANSACTIONS_ITEM.getString(), Settings.GUI_AUCTION_HOUSE_ITEMS_TRANSACTIONS_NAME.getString(), Settings.GUI_AUCTION_HOUSE_ITEMS_TRANSACTIONS_LORE.getStringList(), new HashMap() {{ put("%total_items_bought%", AuctionHouse.getInstance().getTransactionManager().getTotalItemsBought(auctionPlayer.getPlayer().getUniqueId())); put("%total_items_sold%", AuctionHouse.getInstance().getTransactionManager().getTotalItemsSold(auctionPlayer.getPlayer().getUniqueId())); - }}), e -> e.manager.showGUI(e.player, new GUITransactionType())); + }}), e -> { + if (Settings.RESTRICT_ALL_TRANSACTIONS_TO_PERM.getBoolean() && !e.player.hasPermission("auctionhouse.transactions.viewall")) { + e.manager.showGUI(e.player, new GUITransactionList(e.player, false)); + } else { + e.manager.showGUI(e.player, new GUITransactionType()); + } + }); } } diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionList.java b/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionList.java index d5f2d9e..e1b1673 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionList.java +++ b/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionList.java @@ -3,6 +3,7 @@ package ca.tweetzy.auctionhouse.guis.transaction; import ca.tweetzy.auctionhouse.AuctionHouse; import ca.tweetzy.auctionhouse.api.AuctionAPI; import ca.tweetzy.auctionhouse.auction.AuctionPlayer; +import ca.tweetzy.auctionhouse.guis.GUIAuctionHouse; import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper; import ca.tweetzy.auctionhouse.settings.Settings; import ca.tweetzy.auctionhouse.transaction.Transaction; @@ -54,7 +55,13 @@ public class GUITransactionList extends Gui { setOnPage(e -> draw()); // Other Buttons - setButton(5, 0, ConfigurationItemHelper.createConfigurationItem(Settings.GUI_BACK_BTN_ITEM.getString(), Settings.GUI_BACK_BTN_NAME.getString(), Settings.GUI_BACK_BTN_LORE.getStringList(), null), e -> e.manager.showGUI(e.player, new GUITransactionType())); + setButton(5, 0, ConfigurationItemHelper.createConfigurationItem(Settings.GUI_BACK_BTN_ITEM.getString(), Settings.GUI_BACK_BTN_NAME.getString(), Settings.GUI_BACK_BTN_LORE.getStringList(), null), e -> { + if (Settings.RESTRICT_ALL_TRANSACTIONS_TO_PERM.getBoolean() && !e.player.hasPermission("auctionhouse.transactions.viewall")) { + e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer)); + } else { + e.manager.showGUI(e.player, new GUITransactionType()); + } + }); int slot = 0; List data = this.transactions.stream().sorted(Comparator.comparingLong(Transaction::getTransactionTime).reversed()).skip((page - 1) * 45L).limit(45).collect(Collectors.toList());