From 3d071e0144b2a92b70729f7cfe1417236e4d6dcf Mon Sep 17 00:00:00 2001 From: Kiran Hart Date: Fri, 27 Dec 2024 14:20:28 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Completed=20requests=20are=20now=20?= =?UTF-8?q?stored=20and=20can=20be=20viewed=20in=20/ah=20transactions=20?= =?UTF-8?q?=E2=9C=A8=20Closes=20#109?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ca/tweetzy/auctionhouse/AuctionHouse.java | 10 +- .../api/auction/RequestTransaction.java | 25 ++ .../api/auction/TransactionWrapper.java | 5 + .../event/AuctionRequestCompleteEvent.java | 33 +++ .../auctionhouse/database/DataManager.java | 74 ++++++ .../_31_RequestTransactionMigration.java | 33 +++ .../guis/confirmation/GUIConfirmPurchase.java | 5 + .../guis/core/GUIAuctionHouse.java | 21 +- .../GUIRequestTransactionList.java | 150 ++++++++++++ .../guis/transaction/GUITransactionType.java | 8 +- .../auctionhouse/helpers/AuctionCreator.java | 29 ++- .../auctionhouse/impl/CompletedRequest.java | 100 ++++++++ .../listeners/AuctionListeners.java | 14 ++ .../model/manager/RequestsManager.java | 30 +++ .../auctionhouse/settings/Settings.java | 228 +++++++++++------- .../auctionhouse/transaction/Transaction.java | 3 +- 16 files changed, 661 insertions(+), 107 deletions(-) create mode 100644 src/main/java/ca/tweetzy/auctionhouse/api/auction/RequestTransaction.java create mode 100644 src/main/java/ca/tweetzy/auctionhouse/api/auction/TransactionWrapper.java create mode 100644 src/main/java/ca/tweetzy/auctionhouse/api/event/AuctionRequestCompleteEvent.java create mode 100644 src/main/java/ca/tweetzy/auctionhouse/database/migrations/_31_RequestTransactionMigration.java create mode 100644 src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUIRequestTransactionList.java create mode 100644 src/main/java/ca/tweetzy/auctionhouse/impl/CompletedRequest.java create mode 100644 src/main/java/ca/tweetzy/auctionhouse/model/manager/RequestsManager.java diff --git a/src/main/java/ca/tweetzy/auctionhouse/AuctionHouse.java b/src/main/java/ca/tweetzy/auctionhouse/AuctionHouse.java index 68e570d..7db4c52 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/AuctionHouse.java +++ b/src/main/java/ca/tweetzy/auctionhouse/AuctionHouse.java @@ -89,6 +89,7 @@ public class AuctionHouse extends TweetyPlugin { private final ListingManager listingManager = new ListingManager(); private final CategoryManager categoryManager = new CategoryManager(); private final PriceLimitManager priceLimitManager = new PriceLimitManager(); + private final RequestsManager requestsManager = new RequestsManager(); private final AuctionPlayerManager auctionPlayerManager = new AuctionPlayerManager(); private final AuctionItemManager auctionItemManager = new AuctionItemManager(); @@ -188,7 +189,8 @@ public class AuctionHouse extends TweetyPlugin { new _27_FixMigration25to26Migration(), new _28_PriorityListingMigration(), new _29_PaymentMultiCurrencyMigration(), - new _30_MinMaxItemPriceMigration() + new _30_MinMaxItemPriceMigration(), + new _31_RequestTransactionMigration() ); dataMigrationManager.runMigrations(); @@ -207,6 +209,7 @@ public class AuctionHouse extends TweetyPlugin { this.currencyManager.load(); this.paymentsManager.load(); this.priceLimitManager.load(); + this.requestsManager.load(); // listeners Bukkit.getServer().getPluginManager().registerEvents(new PlayerListeners(), this); @@ -380,6 +383,11 @@ public class AuctionHouse extends TweetyPlugin { return getInstance().auctionPlayerManager; } + public static RequestsManager getRequestsManager() { + return getInstance().requestsManager; + } + + public static AuctionItemManager getAuctionItemManager() { return getInstance().auctionItemManager; } diff --git a/src/main/java/ca/tweetzy/auctionhouse/api/auction/RequestTransaction.java b/src/main/java/ca/tweetzy/auctionhouse/api/auction/RequestTransaction.java new file mode 100644 index 0000000..f378704 --- /dev/null +++ b/src/main/java/ca/tweetzy/auctionhouse/api/auction/RequestTransaction.java @@ -0,0 +1,25 @@ +package ca.tweetzy.auctionhouse.api.auction; + +import ca.tweetzy.auctionhouse.api.sync.Identifiable; +import ca.tweetzy.auctionhouse.api.sync.Storeable; +import ca.tweetzy.auctionhouse.api.sync.Trackable; +import org.bukkit.inventory.ItemStack; + +import java.util.UUID; + +public interface RequestTransaction extends Identifiable, Storeable, Trackable { + + ItemStack getRequestedItem(); + + int getAmountRequested(); + + double getPaymentTotal(); + + UUID getRequesterUUID(); + + String getRequesterName(); + + UUID getFulfillerUUID(); + + String getFulfillerName(); +} diff --git a/src/main/java/ca/tweetzy/auctionhouse/api/auction/TransactionWrapper.java b/src/main/java/ca/tweetzy/auctionhouse/api/auction/TransactionWrapper.java new file mode 100644 index 0000000..4a9c3cb --- /dev/null +++ b/src/main/java/ca/tweetzy/auctionhouse/api/auction/TransactionWrapper.java @@ -0,0 +1,5 @@ +package ca.tweetzy.auctionhouse.api.auction; + +// temp work around +public abstract class TransactionWrapper { +} diff --git a/src/main/java/ca/tweetzy/auctionhouse/api/event/AuctionRequestCompleteEvent.java b/src/main/java/ca/tweetzy/auctionhouse/api/event/AuctionRequestCompleteEvent.java new file mode 100644 index 0000000..8d9e3ac --- /dev/null +++ b/src/main/java/ca/tweetzy/auctionhouse/api/event/AuctionRequestCompleteEvent.java @@ -0,0 +1,33 @@ +package ca.tweetzy.auctionhouse.api.event; + +import ca.tweetzy.auctionhouse.api.auction.RequestTransaction; +import ca.tweetzy.auctionhouse.auction.AuctionedItem; +import lombok.Getter; +import lombok.Setter; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +@Setter +@Getter +public final class AuctionRequestCompleteEvent extends Event { + + private static final HandlerList handlers = new HandlerList(); + private boolean cancelled; + + private AuctionedItem originalListing; + private RequestTransaction requestTransaction; + + public AuctionRequestCompleteEvent(AuctionedItem originalListing, RequestTransaction requestTransaction) { + super(false); + this.originalListing = originalListing; + this.requestTransaction = requestTransaction; + } + + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } +} diff --git a/src/main/java/ca/tweetzy/auctionhouse/database/DataManager.java b/src/main/java/ca/tweetzy/auctionhouse/database/DataManager.java index fb2d455..24bee18 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/database/DataManager.java +++ b/src/main/java/ca/tweetzy/auctionhouse/database/DataManager.java @@ -21,6 +21,7 @@ package ca.tweetzy.auctionhouse.database; import ca.tweetzy.auctionhouse.AuctionHouse; import ca.tweetzy.auctionhouse.api.AuctionAPI; import ca.tweetzy.auctionhouse.api.auction.ListingPriceLimit; +import ca.tweetzy.auctionhouse.api.auction.RequestTransaction; import ca.tweetzy.auctionhouse.api.ban.Ban; import ca.tweetzy.auctionhouse.api.ban.BanType; import ca.tweetzy.auctionhouse.api.statistic.Statistic; @@ -29,6 +30,7 @@ import ca.tweetzy.auctionhouse.auction.enums.*; import ca.tweetzy.auctionhouse.impl.AuctionBan; import ca.tweetzy.auctionhouse.impl.AuctionPriceLimit; import ca.tweetzy.auctionhouse.impl.AuctionStatistic; +import ca.tweetzy.auctionhouse.impl.CompletedRequest; import ca.tweetzy.auctionhouse.settings.Settings; import ca.tweetzy.auctionhouse.transaction.Transaction; import ca.tweetzy.auctionhouse.transaction.TransactionViewFilter; @@ -564,6 +566,63 @@ public class DataManager extends DataManagerAbstract { })); } + public void insertCompletedRequest(RequestTransaction requestTransaction, Callback callback) { + this.runAsync(() -> this.databaseConnector.connect(connection -> { + try (PreparedStatement statement = connection.prepareStatement("INSERT INTO " + getTablePrefix() + "completed_requests (id, item, amount, price, requester_uuid, requester_name, fulfiller_uuid, fulfiller_name, time_created) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)")) { + PreparedStatement fetch = connection.prepareStatement("SELECT * FROM " + this.getTablePrefix() + "completed_requests WHERE id = ?"); + + fetch.setString(1, requestTransaction.getId().toString()); + statement.setString(1, requestTransaction.getId().toString()); + statement.setString(2, QuickItem.toString(requestTransaction.getRequestedItem())); + statement.setInt(3, requestTransaction.getAmountRequested()); + statement.setDouble(4, requestTransaction.getPaymentTotal()); + statement.setString(5, requestTransaction.getRequesterUUID().toString()); + statement.setString(6, requestTransaction.getRequesterName()); + statement.setString(7, requestTransaction.getFulfillerUUID().toString()); + statement.setString(8, requestTransaction.getFulfillerName()); + statement.setLong(9, requestTransaction.getTimeCreated()); + + statement.executeUpdate(); + + if (callback != null) { + ResultSet res = fetch.executeQuery(); + res.next(); + + final RequestTransaction inserted = extractCompletedRequest(res); + if (inserted != null) + callback.accept(null, inserted); + } + + } catch (Exception e) { + e.printStackTrace(); + resolveCallback(callback, e); + } + })); + } + + public void getCompletedRequests(Callback> callback) { + ArrayList transactions = new ArrayList<>(); + this.runAsync(() -> this.databaseConnector.connect(connection -> { + try (PreparedStatement statement = connection.prepareStatement("SELECT * FROM " + this.getTablePrefix() + "completed_requests")) { + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + final RequestTransaction transaction = extractCompletedRequest(resultSet); + + if (transaction == null) { + continue; + } + + transactions.add(transaction); + } + + callback.accept(null, transactions); + } catch (Exception e) { + resolveCallback(callback, e); + } + })); + } + + public void insertLog(AuctionAdminLog adminLog) { this.runAsync(() -> this.databaseConnector.connect(connection -> { try (PreparedStatement statement = connection.prepareStatement("INSERT INTO " + this.getTablePrefix() + "admin_logs(admin, admin_name, target, target_name, item, item_id, action, time, serialize_version, itemstack) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")) { @@ -1015,6 +1074,21 @@ public class DataManager extends DataManagerAbstract { ); } + public RequestTransaction extractCompletedRequest(ResultSet resultSet) throws SQLException { + //id, item, amount, price, requester_uuid, requester_name, fulfiller_uuid, fulfiller_name, time_created + return new CompletedRequest( + UUID.fromString(resultSet.getString("id")), + QuickItem.getItem(resultSet.getString("item")), + resultSet.getInt("amount"), + resultSet.getDouble("price"), + UUID.fromString(resultSet.getString("requester_uuid")), + resultSet.getString("requester_name"), + UUID.fromString(resultSet.getString("fulfiller_uuid")), + resultSet.getString("fulfiller_name"), + resultSet.getLong("time_created") + ); + } + private AuctionAdminLog extractAdminLog(ResultSet resultSet) throws SQLException { String possibleItem = resultSet.getString("item"); diff --git a/src/main/java/ca/tweetzy/auctionhouse/database/migrations/_31_RequestTransactionMigration.java b/src/main/java/ca/tweetzy/auctionhouse/database/migrations/_31_RequestTransactionMigration.java new file mode 100644 index 0000000..4976d58 --- /dev/null +++ b/src/main/java/ca/tweetzy/auctionhouse/database/migrations/_31_RequestTransactionMigration.java @@ -0,0 +1,33 @@ +package ca.tweetzy.auctionhouse.database.migrations; + +import ca.tweetzy.flight.database.DataMigration; + +import java.sql.Connection; +import java.sql.SQLException; +import java.sql.Statement; + +public final class _31_RequestTransactionMigration extends DataMigration { + + + public _31_RequestTransactionMigration() { + super(31); + } + + @Override + public void migrate(Connection connection, String tablePrefix) throws SQLException { + //id, item, amount, price, requester_uuid, requester_name, fulfiller_uuid, fulfiller_name, time_created + try (Statement statement = connection.createStatement()) { + statement.execute("CREATE TABLE IF NOT EXISTS " + tablePrefix + "completed_requests (" + + "id VARCHAR(36) PRIMARY KEY, " + + "item TEXT NOT NULL, " + + "amount INTEGER NOT NULL, " + + "price DOUBLE NOT NULL, " + + "requester_uuid VARCHAR(36) NOT NULL, " + + "requester_name VARCHAR(16) NOT NULL, " + + "fulfiller_uuid VARCHAR(36) NOT NULL, " + + "fulfiller_name VARCHAR(16) NOT NULL, " + + "time_created BigInt NOT NULL " + + " )"); + } + } +} diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmPurchase.java b/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmPurchase.java index 69fb6c5..8268474 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmPurchase.java +++ b/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmPurchase.java @@ -20,6 +20,7 @@ package ca.tweetzy.auctionhouse.guis.confirmation; import ca.tweetzy.auctionhouse.AuctionHouse; import ca.tweetzy.auctionhouse.api.AuctionAPI; +import ca.tweetzy.auctionhouse.api.event.AuctionRequestCompleteEvent; import ca.tweetzy.auctionhouse.auction.AuctionPayment; import ca.tweetzy.auctionhouse.auction.AuctionPlayer; import ca.tweetzy.auctionhouse.auction.AuctionedItem; @@ -31,6 +32,7 @@ import ca.tweetzy.auctionhouse.exception.ItemNotFoundException; import ca.tweetzy.auctionhouse.guis.AuctionBaseGUI; import ca.tweetzy.auctionhouse.guis.core.GUIAuctionHouse; import ca.tweetzy.auctionhouse.guis.core.GUIContainerInspect; +import ca.tweetzy.auctionhouse.impl.CompletedRequest; import ca.tweetzy.auctionhouse.managers.SoundManager; import ca.tweetzy.auctionhouse.settings.Settings; import ca.tweetzy.core.gui.events.GuiClickEvent; @@ -207,6 +209,9 @@ public class GUIConfirmPurchase extends AuctionBaseGUI { .processPlaceholder("price", this.auctionItem.getFormattedBasePrice()) .sendPrefixedMessage(requester.getPlayer()); + final AuctionRequestCompleteEvent requestCompleteEvent = new AuctionRequestCompleteEvent(this.auctionItem, new CompletedRequest(this.auctionItem, e.player, Settings.TAX_CHARGE_SALES_TAX_TO_BUYER.getBoolean() ? buyNowPrice : buyNowPrice - tax)); + Bukkit.getServer().getPluginManager().callEvent(requestCompleteEvent); + e.gui.close(); return; } diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/core/GUIAuctionHouse.java b/src/main/java/ca/tweetzy/auctionhouse/guis/core/GUIAuctionHouse.java index f2be69f..74134f3 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/guis/core/GUIAuctionHouse.java +++ b/src/main/java/ca/tweetzy/auctionhouse/guis/core/GUIAuctionHouse.java @@ -152,6 +152,18 @@ public final class GUIAuctionHouse extends AuctionUpdatingPagedGUI. + */ + +package ca.tweetzy.auctionhouse.guis.transaction; + +import ca.tweetzy.auctionhouse.AuctionHouse; +import ca.tweetzy.auctionhouse.api.AuctionAPI; +import ca.tweetzy.auctionhouse.api.auction.RequestTransaction; +import ca.tweetzy.auctionhouse.api.auction.TransactionWrapper; +import ca.tweetzy.auctionhouse.auction.AuctionPlayer; +import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory; +import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType; +import ca.tweetzy.auctionhouse.auction.enums.AuctionSortType; +import ca.tweetzy.auctionhouse.guis.AuctionPagedGUI; +import ca.tweetzy.auctionhouse.guis.core.GUIAuctionHouse; +import ca.tweetzy.auctionhouse.model.MaterialCategorizer; +import ca.tweetzy.auctionhouse.settings.Settings; +import ca.tweetzy.auctionhouse.transaction.Transaction; +import ca.tweetzy.auctionhouse.transaction.TransactionViewFilter; +import ca.tweetzy.core.gui.events.GuiClickEvent; +import ca.tweetzy.flight.utils.QuickItem; +import ca.tweetzy.flight.utils.Replacer; +import ca.tweetzy.flight.utils.TimeUtil; +import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.inventory.ItemStack; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * The current file has been created by Kiran Hart + * Date Created: March 22 2021 + * Time Created: 7:03 p.m. + * Usage of any code found within this class is prohibited unless given explicit permission otherwise + */ +public class GUIRequestTransactionList extends AuctionPagedGUI { + + final AuctionPlayer auctionPlayer; + final boolean showAll; + + public GUIRequestTransactionList(Player player) { + this(player, true); + } + + public GUIRequestTransactionList(Player player, boolean showAll) { + super(null, player, showAll ? Settings.GUI_REQUEST_TRANSACTIONS_TITLE_ALL.getString() : Settings.GUI_REQUEST_TRANSACTIONS_TITLE.getString(), 6, new ArrayList<>()); + this.auctionPlayer = AuctionHouse.getAuctionPlayerManager().getPlayer(player.getUniqueId()); + this.showAll = showAll; + setAcceptsItems(false); + draw(); + } + + @Override + protected void prePopulate() { + this.items = this.showAll ? new ArrayList<>(AuctionHouse.getRequestsManager().getManagerContent().values()) : AuctionHouse.getRequestsManager().getManagerContent().values().stream().filter(transaction -> transaction.getFulfillerUUID().equals(player.getUniqueId()) || transaction.getRequesterUUID().equals(player.getUniqueId())).collect(Collectors.toList()); + + // perform filter + if (this.auctionPlayer.getTransactionSortType() == AuctionSortType.PRICE) { + this.items = this.items.stream().sorted(Comparator.comparingDouble(RequestTransaction::getPaymentTotal).reversed()).collect(Collectors.toList()); + } + + if (this.auctionPlayer.getTransactionSortType() == AuctionSortType.RECENT) { + this.items = this.items.stream().sorted(Comparator.comparingLong(RequestTransaction::getTimeCreated).reversed()).collect(Collectors.toList()); + } + } + + @Override + protected void drawFixed() { + + // Other Buttons + setButton(5, 0, getBackButton(), 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(e.player)); + } + }); + + setButton(Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_FILTER_SLOT.getInt(), QuickItem + .of(Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_FILTER_ITEM.getString()) + .name(Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_FILTER_NAME.getString()) + .lore(this.player, Replacer.replaceVariables(Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_FILTER_LORE.getStringList(), + "filter_sort_order", auctionPlayer.getTransactionSortType().getTranslatedType(), + "filter_buy_type", auctionPlayer.getTransactionViewFilter().getTranslatedType() + )).make(), click -> { + + if (click.clickType == ClickType.valueOf(Settings.CLICKS_FILTER_RESET.getString().toUpperCase())) { + this.auctionPlayer.resetTransactionFilter(); + click.manager.showGUI(click.player, new GUIRequestTransactionList(click.player, this.showAll)); + return; + } + + if (click.clickType == ClickType.valueOf(Settings.CLICKS_FILTER_SORT_PRICE_OR_RECENT.getString().toUpperCase())) { + this.auctionPlayer.setTransactionSortType(this.auctionPlayer.getTransactionSortType().next()); + click.manager.showGUI(click.player, new GUIRequestTransactionList(click.player, this.showAll)); + } + }); + + if (this.player.hasPermission("auctionhouse.transactions.viewall")) { + setButton(Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_SLOT.getInt(), QuickItem + .of(this.showAll ? Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_ITEM_ON.getString() : Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_ITEM.getString()) + .name(Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_NAME.getString()) + .lore(Settings.GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_LORE.getStringList()).make(), click -> { + + click.manager.showGUI(click.player, new GUIRequestTransactionList(this.player, !this.showAll)); + }); + } + } + + @Override + protected ItemStack makeDisplayItem(RequestTransaction transaction) { + final ItemStack item = transaction.getRequestedItem().clone(); + + return QuickItem + .of(item) + .lore(this.player, Replacer.replaceVariables(Settings.GUI_REQUEST_TRANSACTIONS_ITEM_TRANSACTION_LORE.getStringList(), + "transaction_id", transaction.getId().toString(), + "transaction_price", AuctionHouse.getAPI().getNumberAsCurrency(transaction.getPaymentTotal()), + "transaction_amount", transaction.getAmountRequested(), + "transaction_requester", transaction.getRequesterName(), + "transaction_completer", transaction.getFulfillerName(), + "transaction_date", TimeUtil.convertToReadableDate(transaction.getTimeCreated(), Settings.DATE_FORMAT.getString()) + )).make(); + } + + @Override + protected void onClick(RequestTransaction transaction, GuiClickEvent click) { + } +} diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionType.java b/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionType.java index 2ccb7aa..c927132 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionType.java +++ b/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionType.java @@ -69,12 +69,18 @@ public final class GUITransactionType extends AuctionBaseGUI { e.manager.showGUI(e.player, new GUITransactionList(e.player, true)); }); - setButton(15, QuickItem + setButton(13, QuickItem .of(Settings.GUI_TRANSACTIONS_TYPE_ITEMS_SELF_TRANSACTIONS_ITEM.getString()) .name(Settings.GUI_TRANSACTIONS_TYPE_ITEMS_SELF_TRANSACTIONS_NAME.getString()) .lore(this.player, Settings.GUI_TRANSACTIONS_TYPE_ITEMS_SELF_TRANSACTIONS_LORE.getStringList()) .make(), e -> e.manager.showGUI(e.player, new GUITransactionList(e.player, false))); + setButton(15, QuickItem + .of(Settings.GUI_TRANSACTIONS_TYPE_ITEMS_REQUEST_TRANSACTIONS_ITEM.getString()) + .name(Settings.GUI_TRANSACTIONS_TYPE_ITEMS_REQUEST_TRANSACTIONS_NAME.getString()) + .lore(this.player, Settings.GUI_TRANSACTIONS_TYPE_ITEMS_REQUEST_TRANSACTIONS_LORE.getStringList()) + .make(), e -> e.manager.showGUI(e.player, new GUIRequestTransactionList(e.player, false))); + if (player.isOp() || player.hasPermission("auctionhouse.admin")) { setButton(3, 8, QuickItem diff --git a/src/main/java/ca/tweetzy/auctionhouse/helpers/AuctionCreator.java b/src/main/java/ca/tweetzy/auctionhouse/helpers/AuctionCreator.java index efac12d..ae86b31 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/helpers/AuctionCreator.java +++ b/src/main/java/ca/tweetzy/auctionhouse/helpers/AuctionCreator.java @@ -24,17 +24,27 @@ import ca.tweetzy.auctionhouse.api.auction.ListingResult; import ca.tweetzy.auctionhouse.auction.AuctionPayment; import ca.tweetzy.auctionhouse.auction.AuctionPlayer; import ca.tweetzy.auctionhouse.auction.AuctionedItem; +import ca.tweetzy.auctionhouse.auction.enums.AuctionStackType; import ca.tweetzy.auctionhouse.auction.enums.PaymentReason; import ca.tweetzy.auctionhouse.events.AuctionStartEvent; import ca.tweetzy.auctionhouse.managers.SoundManager; import ca.tweetzy.auctionhouse.settings.Settings; import ca.tweetzy.core.utils.PlayerUtils; import ca.tweetzy.core.utils.TextUtils; +import com.google.gson.JsonObject; import lombok.NonNull; import lombok.experimental.UtilityClass; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.HoverEvent; +import net.md_5.bungee.api.chat.ItemTag; +import net.md_5.bungee.api.chat.TextComponent; +import net.md_5.bungee.api.chat.hover.content.Item; +import net.md_5.bungee.api.chat.hover.content.Text; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; import java.util.UUID; import java.util.concurrent.atomic.AtomicReference; @@ -243,9 +253,7 @@ public final class AuctionCreator { //==================================================================================== // ANOTHER VERY SHIT BROADCAST THAT IS IN FACT BROKEN if (Settings.BROADCAST_AUCTION_LIST.getBoolean() && !auctionItem.isRequest()) { - final String prefix = AuctionHouse.getInstance().getLocale().getMessage("general.prefix").getMessage(); - String msgToAll = AuctionHouse.getInstance().getLocale().getMessage(auctionItem.isServerItem() ? "auction.broadcast.serverlisting" : auctionItem.isBidItem() ? "auction.broadcast.withbid" : "auction.broadcast.nobid") .processPlaceholder("amount", finalItemToSell.getAmount()) .processPlaceholder("player", auctionItem.isServerItem() ? SERVER_LISTING_NAME : seller.getName()) @@ -266,4 +274,21 @@ public final class AuctionCreator { result.accept(auctionItem, SUCCESS); }); } + + private String getSimplifiedItemJson(ItemStack item) { + JsonObject itemJson = new JsonObject(); + itemJson.addProperty("id", item.getType().getKey().toString()); + itemJson.addProperty("Count", item.getAmount()); + + if (item.hasItemMeta()) { + ItemMeta meta = item.getItemMeta(); + if (meta.hasDisplayName()) { + itemJson.addProperty("tag", "{display:{Name:'" + + ChatColor.stripColor(meta.getDisplayName()) + "'}}"); + } + } + + return itemJson.toString(); + } + } diff --git a/src/main/java/ca/tweetzy/auctionhouse/impl/CompletedRequest.java b/src/main/java/ca/tweetzy/auctionhouse/impl/CompletedRequest.java new file mode 100644 index 0000000..20f4af6 --- /dev/null +++ b/src/main/java/ca/tweetzy/auctionhouse/impl/CompletedRequest.java @@ -0,0 +1,100 @@ +package ca.tweetzy.auctionhouse.impl; + +import ca.tweetzy.auctionhouse.AuctionHouse; +import ca.tweetzy.auctionhouse.api.auction.RequestTransaction; +import ca.tweetzy.auctionhouse.api.auction.TransactionWrapper; +import ca.tweetzy.auctionhouse.auction.AuctionedItem; +import lombok.AllArgsConstructor; +import lombok.NonNull; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + +import java.util.UUID; +import java.util.function.Consumer; + +@AllArgsConstructor +public final class CompletedRequest extends TransactionWrapper implements RequestTransaction { + + private UUID id; + + private ItemStack requestedItem; + private int amount; + private double payment; + + private UUID requesterUUID; + private String requesterName; + + private UUID fulfillerUUID; + private String fulfillerName; + + private long timeCompleted; + + public CompletedRequest(@NonNull AuctionedItem listing, Player fulfiller, double price) { + this(UUID.randomUUID(), listing.getItem(), listing.getRequestAmount(), price, listing.getOwner(), listing.getOwnerName(), fulfiller.getUniqueId(), fulfiller.getName(), System.currentTimeMillis()); + } + + @Override + public @NonNull UUID getId() { + return this.id; + } + + @Override + public ItemStack getRequestedItem() { + return this.requestedItem; + } + + @Override + public int getAmountRequested() { + return this.amount; + } + + @Override + public double getPaymentTotal() { + return this.payment; + } + + @Override + public UUID getRequesterUUID() { + return this.requesterUUID; + } + + @Override + public String getRequesterName() { + return this.requesterName; + } + + @Override + public UUID getFulfillerUUID() { + return this.fulfillerUUID; + } + + @Override + public String getFulfillerName() { + return this.fulfillerName; + } + + + @Override + public void store(Consumer stored) { + AuctionHouse.getDataManager().insertCompletedRequest(this, (error, completedRequest) -> { + if (error != null) return; + + if (completedRequest != null) { + AuctionHouse.getRequestsManager().addRequest(completedRequest); + + if (stored != null) + stored.accept(completedRequest); + } + }); + } + + @Override + public long getTimeCreated() { + return this.timeCompleted; + } + + @Override + public long getLastUpdated() { + return this.timeCompleted; + } +} diff --git a/src/main/java/ca/tweetzy/auctionhouse/listeners/AuctionListeners.java b/src/main/java/ca/tweetzy/auctionhouse/listeners/AuctionListeners.java index 39b8f26..09708da 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/listeners/AuctionListeners.java +++ b/src/main/java/ca/tweetzy/auctionhouse/listeners/AuctionListeners.java @@ -19,6 +19,8 @@ package ca.tweetzy.auctionhouse.listeners; import ca.tweetzy.auctionhouse.AuctionHouse; +import ca.tweetzy.auctionhouse.api.auction.RequestTransaction; +import ca.tweetzy.auctionhouse.api.event.AuctionRequestCompleteEvent; import ca.tweetzy.auctionhouse.auction.AuctionedItem; import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType; import ca.tweetzy.auctionhouse.auction.enums.AuctionStatisticType; @@ -94,6 +96,18 @@ public class AuctionListeners implements Listener { } } + @EventHandler + public void onAuctionRequestComplete(AuctionRequestCompleteEvent event) { + if (!Settings.RECORD_TRANSACTIONS.getBoolean()) return; + + final AuctionedItem originalListing = event.getOriginalListing(); + final RequestTransaction completedRequest = event.getRequestTransaction(); + + completedRequest.store(stored -> { + + }); + } + @EventHandler public void onAuctionEnd(AuctionEndEvent e) { // new stat system diff --git a/src/main/java/ca/tweetzy/auctionhouse/model/manager/RequestsManager.java b/src/main/java/ca/tweetzy/auctionhouse/model/manager/RequestsManager.java new file mode 100644 index 0000000..a0c29ae --- /dev/null +++ b/src/main/java/ca/tweetzy/auctionhouse/model/manager/RequestsManager.java @@ -0,0 +1,30 @@ +package ca.tweetzy.auctionhouse.model.manager; + +import ca.tweetzy.auctionhouse.AuctionHouse; +import ca.tweetzy.auctionhouse.api.auction.RequestTransaction; +import ca.tweetzy.auctionhouse.api.manager.KeyValueManager; + +import java.util.UUID; + +public final class RequestsManager extends KeyValueManager { + + public RequestsManager() { + super("Requests"); + } + + public void addRequest(RequestTransaction requestTransaction) { + if (this.managerContent.containsKey(requestTransaction.getId())) return; + this.managerContent.put(requestTransaction.getId(), requestTransaction); + } + + @Override + public void load() { + this.clear(); + + AuctionHouse.getDataManager().getCompletedRequests((error, results) -> { + if (error == null) { + results.forEach(this::addRequest); + } + }); + } +} diff --git a/src/main/java/ca/tweetzy/auctionhouse/settings/Settings.java b/src/main/java/ca/tweetzy/auctionhouse/settings/Settings.java index 56fa1ef..7006007 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/settings/Settings.java +++ b/src/main/java/ca/tweetzy/auctionhouse/settings/Settings.java @@ -19,11 +19,10 @@ package ca.tweetzy.auctionhouse.settings; import ca.tweetzy.auctionhouse.AuctionHouse; -import ca.tweetzy.core.compatibility.XMaterial; -import ca.tweetzy.core.compatibility.XSound; import ca.tweetzy.core.configuration.Config; import ca.tweetzy.core.configuration.ConfigSetting; import ca.tweetzy.flight.comp.enums.CompMaterial; +import ca.tweetzy.flight.comp.enums.CompSound; import java.util.Arrays; import java.util.Collections; @@ -268,7 +267,7 @@ public class Settings { public static final ConfigSetting FORCE_MATERIAL_NAMES_FOR_DISCORD = new ConfigSetting(config, "auction setting.force material names for discord", false, "If true, auction house will use the actual material name rather than custom name"); public static final ConfigSetting ALLOW_ITEM_BUNDLES = new ConfigSetting(config, "auction setting.bundles.enabled", true, "If true, players can use -b in the sell command to bundle all similar items into a single item."); - public static final ConfigSetting ITEM_BUNDLE_ITEM = new ConfigSetting(config, "auction setting.bundles.item", XMaterial.GOLD_BLOCK.name()); + public static final ConfigSetting ITEM_BUNDLE_ITEM = new ConfigSetting(config, "auction setting.bundles.item", CompMaterial.GOLD_BLOCK.name()); public static final ConfigSetting MIN_ITEM_PRICE_USES_SIMPE_COMPARE = new ConfigSetting(config, "auction setting.use simple compare for min item price", true, "If true, AH will just compare material and model data types"); public static final ConfigSetting ITEM_BUNDLE_NAME = new ConfigSetting(config, "auction setting.bundles.name", "%item_name% &7Bundle"); public static final ConfigSetting ITEM_BUNDLE_LORE = new ConfigSetting(config, "auction setting.bundles.lore", Arrays.asList( @@ -532,7 +531,7 @@ public class Settings { * GLOBAL ITEMS * ===============================*/ - public static final ConfigSetting GUI_FILLER = new ConfigSetting(config, "gui.filler item", XMaterial.BLACK_STAINED_GLASS_PANE.name(), "An item to be used to fill empty gui slots, this will be", "removed in later versions to be done on a per gui basis"); + public static final ConfigSetting GUI_FILLER = new ConfigSetting(config, "gui.filler item", CompMaterial.BLACK_STAINED_GLASS_PANE.name(), "An item to be used to fill empty gui slots, this will be", "removed in later versions to be done on a per gui basis"); public static final ConfigSetting GUI_BACK_BTN_ITEM = new ConfigSetting(config, "gui.global items.back button.item", "OAK_DOOR", "Settings for the previous page button"); public static final ConfigSetting GUI_BACK_BTN_NAME = new ConfigSetting(config, "gui.global items.back button.name", "&e<< Previous Page"); @@ -710,17 +709,17 @@ public class Settings { * ===============================*/ public static final ConfigSetting GUI_CONFIRM_BUY_TITLE = new ConfigSetting(config, "gui.confirm buy.title", "&7Are you sure?"); public static final ConfigSetting GUI_CONFIRM_FILL_BG_ON_QUANTITY = new ConfigSetting(config, "gui.confirm buy.fill background when buying quantity", true, "Should the empty slots be filled with an item", "when the player decides to buy a specific quantity of items?"); - public static final ConfigSetting GUI_CONFIRM_BG_ITEM = new ConfigSetting(config, "gui.confirm buy.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name(), "This will only show when buying specific item quantities"); + public static final ConfigSetting GUI_CONFIRM_BG_ITEM = new ConfigSetting(config, "gui.confirm buy.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name(), "This will only show when buying specific item quantities"); - public static final ConfigSetting GUI_CONFIRM_INCREASE_QTY_ITEM = new ConfigSetting(config, "gui.confirm buy.increase button.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_CONFIRM_INCREASE_QTY_ITEM = new ConfigSetting(config, "gui.confirm buy.increase button.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_CONFIRM_INCREASE_QTY_NAME = new ConfigSetting(config, "gui.confirm buy.increase button.name", "&a&l+1"); public static final ConfigSetting GUI_CONFIRM_INCREASE_QTY_LORE = new ConfigSetting(config, "gui.confirm buy.increase button.lore", Collections.singletonList("&7Click to add &a+1 &7to purchase quantity")); - public static final ConfigSetting GUI_CONFIRM_DECREASE_QTY_ITEM = new ConfigSetting(config, "gui.confirm buy.decrease button.item", XMaterial.RED_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_CONFIRM_DECREASE_QTY_ITEM = new ConfigSetting(config, "gui.confirm buy.decrease button.item", CompMaterial.RED_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_CONFIRM_DECREASE_QTY_NAME = new ConfigSetting(config, "gui.confirm buy.decrease button.name", "&c&l-1"); public static final ConfigSetting GUI_CONFIRM_DECREASE_QTY_LORE = new ConfigSetting(config, "gui.confirm buy.decrease button.lore", Collections.singletonList("&7Click to remove &c-1 &7from the purchase quantity")); - public static final ConfigSetting GUI_CONFIRM_QTY_INFO_ITEM = new ConfigSetting(config, "gui.confirm buy.qty info.item", XMaterial.PAPER.name()); + public static final ConfigSetting GUI_CONFIRM_QTY_INFO_ITEM = new ConfigSetting(config, "gui.confirm buy.qty info.item", CompMaterial.PAPER.name()); public static final ConfigSetting GUI_CONFIRM_QTY_INFO_NAME = new ConfigSetting(config, "gui.confirm buy.qty info.name", "&ePurchase Information"); public static final ConfigSetting GUI_CONFIRM_QTY_INFO_LORE = new ConfigSetting(config, "gui.confirm buy.qty info.lore", Arrays.asList( "&7Original Stack Size&f: &e%original_stack_size%", @@ -868,17 +867,22 @@ public class Settings { * TRANSACTIONS TYPE GUI * ===============================*/ public static final ConfigSetting GUI_TRANSACTIONS_TYPE_TITLE = new ConfigSetting(config, "gui.transactions type.title", "&7<ransactions"); - public static final ConfigSetting GUI_TRANSACTIONS_TYPE_BG_ITEM = new ConfigSetting(config, "gui.transactions type.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_TRANSACTIONS_TYPE_BG_ITEM = new ConfigSetting(config, "gui.transactions type.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_ALL_TRANSACTIONS_ITEM = new ConfigSetting(config, "gui.transactions type.items.all transactions.item", XMaterial.PAPER.name()); + public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_ALL_TRANSACTIONS_ITEM = new ConfigSetting(config, "gui.transactions type.items.all transactions.item", CompMaterial.PAPER.name()); public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_ALL_TRANSACTIONS_NAME = new ConfigSetting(config, "gui.transactions type.items.all transactions.name", "&eAll Transactions"); public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_ALL_TRANSACTIONS_LORE = new ConfigSetting(config, "gui.transactions type.items.all transactions.lore", Collections.singletonList("&7Click to view all transactions")); - public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_SELF_TRANSACTIONS_ITEM = new ConfigSetting(config, "gui.transactions type.items.self transactions.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_SELF_TRANSACTIONS_ITEM = new ConfigSetting(config, "gui.transactions type.items.self transactions.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_SELF_TRANSACTIONS_NAME = new ConfigSetting(config, "gui.transactions type.items.self transactions.name", "&eYour Transactions"); public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_SELF_TRANSACTIONS_LORE = new ConfigSetting(config, "gui.transactions type.items.self transactions.lore", Collections.singletonList("&7Click to view all your transactions")); - public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_DELETE_ITEM = new ConfigSetting(config, "gui.transactions type.items.delete transactions.item", XMaterial.LAVA_BUCKET.name()); + public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_REQUEST_TRANSACTIONS_ITEM = new ConfigSetting(config, "gui.transactions type.items.requests transactions.item", CompMaterial.WRITTEN_BOOK.name()); + public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_REQUEST_TRANSACTIONS_NAME = new ConfigSetting(config, "gui.transactions type.items.requests transactions.name", "&eCompleted Requests"); + public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_REQUEST_TRANSACTIONS_LORE = new ConfigSetting(config, "gui.transactions type.items.requests transactions.lore", Collections.singletonList("&7Click to view completed requests")); + + + public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_DELETE_ITEM = new ConfigSetting(config, "gui.transactions type.items.delete transactions.item", CompMaterial.LAVA_BUCKET.name()); public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_DELETE_NAME = new ConfigSetting(config, "gui.transactions type.items.delete transactions.name", "&cDelete Transactions"); public static final ConfigSetting GUI_TRANSACTIONS_TYPE_ITEMS_DELETE_LORE = new ConfigSetting(config, "gui.transactions type.items.delete transactions.lore", Arrays.asList( "&7Click to delete transactions older than a specified period", @@ -923,6 +927,44 @@ public class Settings { "&7Date&F: &e%admin_log_date%" )); + /* =============================== + * REQ TRANSACTIONS LIST GUI + * ===============================*/ + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_TITLE = new ConfigSetting(config, "gui.request transactions.title", "&7&LYour Completed Requests"); + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_TITLE_ALL = new ConfigSetting(config, "gui.request transactions.title all", "&7&LAll Completed Requests"); + + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEM_TRANSACTION_LORE = new ConfigSetting(config, "gui.request transactions.items.transaction.lore", Arrays.asList( + "&7ID&F: &e%transaction_id%", + "", + "&7Payment Offered&f: &a%transaction_price%", + "&7Amount Requested&f: &e%transaction_amount%", + "", + "&7Requested By&F: &e%transaction_requester%", + "&7Completed By&F: &e%transaction_completer%", + "", + "&7Fulfilled On&F:", + "&b%transaction_date%", + "" + )); + + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_FILTER_SLOT = new ConfigSetting(config, "gui.request transactions.items.filter.slot", 47, "Valid Slots: 45 - 53"); + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_FILTER_ITEM = new ConfigSetting(config, "gui.request transactions.items.filter.item", "NETHER_STAR"); + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_FILTER_NAME = new ConfigSetting(config, "gui.request transactions.items.filter.name", "&e&lFilter Options"); + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_FILTER_LORE = new ConfigSetting(config, "gui.request transactions.items.filter.lore", Arrays.asList( + "&eSort Order&f: &7%filter_sort_order%", + "", + "&7Shift Right-Click to change sort order", + "&7Press Drop to reset filters" + )); + + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_SLOT = new ConfigSetting(config, "gui.request transactions.items.all.slot", 51, "Valid Slots: 45 - 53"); + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_ITEM = new ConfigSetting(config, "gui.request transactions.items.all.item off", CompMaterial.RED_DYE.name()); + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_ITEM_ON = new ConfigSetting(config, "gui.request transactions.items.all.item on", CompMaterial.LIME_DYE.name()); + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_NAME = new ConfigSetting(config, "gui.request transactions.items.all.name", "&e&lToggle View All"); + public static final ConfigSetting GUI_REQUEST_TRANSACTIONS_ITEMS_ALL_LORE = new ConfigSetting(config, "gui.request transactions.items.all.lore", Arrays.asList( + "&7Click to toggle view all" + )); + /* =============================== * TRANSACTIONS LIST GUI * ===============================*/ @@ -986,7 +1028,7 @@ public class Settings { * INSPECTION GUI * ===============================*/ public static final ConfigSetting GUI_INSPECT_TITLE = new ConfigSetting(config, "gui.inspect.title", "&7&LInspecting Container"); - public static final ConfigSetting GUI_INSPECT_BG_ITEM = new ConfigSetting(config, "gui.inspect.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_INSPECT_BG_ITEM = new ConfigSetting(config, "gui.inspect.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); /* =============================== * BANS GUI @@ -1079,52 +1121,52 @@ public class Settings { * FILTER GUI * ===============================*/ public static final ConfigSetting GUI_FILTER_TITLE = new ConfigSetting(config, "gui.filter.title", "&7Auction House - &eFilter Selection"); - public static final ConfigSetting GUI_FILTER_BG_ITEM = new ConfigSetting(config, "gui.filter.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_FILTER_BG_ITEM = new ConfigSetting(config, "gui.filter.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_FILTER_ITEMS_ALL_ITEM = new ConfigSetting(config, "gui.filter.items.all.item", XMaterial.HOPPER.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_ALL_ITEM = new ConfigSetting(config, "gui.filter.items.all.item", CompMaterial.HOPPER.name()); public static final ConfigSetting GUI_FILTER_ITEMS_ALL_NAME = new ConfigSetting(config, "gui.filter.items.all.name", "&e&lAll"); public static final ConfigSetting GUI_FILTER_ITEMS_ALL_LORE = new ConfigSetting(config, "gui.filter.items.all.lore", Collections.singletonList("&7Click to set the filter to&f: &eAll")); public static final ConfigSetting GUI_FILTER_ITEMS_OWN_NAME = new ConfigSetting(config, "gui.filter.items.own.name", "&e&lYour Listings"); public static final ConfigSetting GUI_FILTER_ITEMS_OWN_LORE = new ConfigSetting(config, "gui.filter.items.own.lore", Collections.singletonList("&7Click to set the filter to&f: &eYour Listings")); - public static final ConfigSetting GUI_FILTER_ITEMS_SEARCH_ITEM = new ConfigSetting(config, "gui.filter.items.search.item", XMaterial.NAME_TAG.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_SEARCH_ITEM = new ConfigSetting(config, "gui.filter.items.search.item", CompMaterial.NAME_TAG.name()); public static final ConfigSetting GUI_FILTER_ITEMS_SEARCH_NAME = new ConfigSetting(config, "gui.filter.items.search.name", "&e&lSearch"); public static final ConfigSetting GUI_FILTER_ITEMS_SEARCH_LORE = new ConfigSetting(config, "gui.filter.items.search.lore", Arrays.asList( "&7Click to set the filter to&f: &eSearch", "&7Current search phrase&f: &e%filter_search_phrase%" )); - public static final ConfigSetting GUI_FILTER_ITEMS_MISC_ITEM = new ConfigSetting(config, "gui.filter.items.misc.item", XMaterial.OAK_SIGN.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_MISC_ITEM = new ConfigSetting(config, "gui.filter.items.misc.item", CompMaterial.OAK_SIGN.name()); public static final ConfigSetting GUI_FILTER_ITEMS_MISC_NAME = new ConfigSetting(config, "gui.filter.items.misc.name", "&e&lMiscellaneous"); public static final ConfigSetting GUI_FILTER_ITEMS_MISC_LORE = new ConfigSetting(config, "gui.filter.items.misc.lore", Collections.singletonList("&7Click to set the filter to&f: &eMiscellaneous")); - public static final ConfigSetting GUI_FILTER_ITEMS_POTIONS_ITEM = new ConfigSetting(config, "gui.filter.items.potions.item", XMaterial.SPLASH_POTION.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_POTIONS_ITEM = new ConfigSetting(config, "gui.filter.items.potions.item", CompMaterial.SPLASH_POTION.name()); public static final ConfigSetting GUI_FILTER_ITEMS_POTIONS_NAME = new ConfigSetting(config, "gui.filter.items.potions.name", "&e&LPotions"); public static final ConfigSetting GUI_FILTER_ITEMS_POTIONS_LORE = new ConfigSetting(config, "gui.filter.items.potions.lore", Collections.singletonList("&7Click to set the filter to&f: &ePotions")); - public static final ConfigSetting GUI_FILTER_ITEMS_ENCHANTS_ITEM = new ConfigSetting(config, "gui.filter.items.enchants.item", XMaterial.ENCHANTED_BOOK.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_ENCHANTS_ITEM = new ConfigSetting(config, "gui.filter.items.enchants.item", CompMaterial.ENCHANTED_BOOK.name()); public static final ConfigSetting GUI_FILTER_ITEMS_ENCHANTS_NAME = new ConfigSetting(config, "gui.filter.items.enchants.name", "&e&lEnchantments"); public static final ConfigSetting GUI_FILTER_ITEMS_ENCHANTS_LORE = new ConfigSetting(config, "gui.filter.items.enchants.lore", Collections.singletonList("&7Click to set the filter to&f: &eEnchantments")); - public static final ConfigSetting GUI_FILTER_ITEMS_ARMOR_ITEM = new ConfigSetting(config, "gui.filter.items.armor.item", XMaterial.CHAINMAIL_CHESTPLATE.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_ARMOR_ITEM = new ConfigSetting(config, "gui.filter.items.armor.item", CompMaterial.CHAINMAIL_CHESTPLATE.name()); public static final ConfigSetting GUI_FILTER_ITEMS_ARMOR_NAME = new ConfigSetting(config, "gui.filter.items.armor.name", "&e&lArmor"); public static final ConfigSetting GUI_FILTER_ITEMS_ARMOR_LORE = new ConfigSetting(config, "gui.filter.items.armor.lore", Collections.singletonList("&7Click to set the filter to&f: &eArmor")); - public static final ConfigSetting GUI_FILTER_ITEMS_WEAPONS_ITEM = new ConfigSetting(config, "gui.filter.items.weapons.item", XMaterial.DIAMOND_SWORD.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_WEAPONS_ITEM = new ConfigSetting(config, "gui.filter.items.weapons.item", CompMaterial.DIAMOND_SWORD.name()); public static final ConfigSetting GUI_FILTER_ITEMS_WEAPONS_NAME = new ConfigSetting(config, "gui.filter.items.weapons.name", "&e&lWeapons"); public static final ConfigSetting GUI_FILTER_ITEMS_WEAPONS_LORE = new ConfigSetting(config, "gui.filter.items.weapons.lore", Collections.singletonList("&7Click to set the filter to&f: &eWeapons")); - public static final ConfigSetting GUI_FILTER_ITEMS_TOOLS_ITEM = new ConfigSetting(config, "gui.filter.items.tools.item", XMaterial.IRON_PICKAXE.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_TOOLS_ITEM = new ConfigSetting(config, "gui.filter.items.tools.item", CompMaterial.IRON_PICKAXE.name()); public static final ConfigSetting GUI_FILTER_ITEMS_TOOLS_NAME = new ConfigSetting(config, "gui.filter.items.tools.name", "&e&lTools"); public static final ConfigSetting GUI_FILTER_ITEMS_TOOLS_LORE = new ConfigSetting(config, "gui.filter.items.tools.lore", Collections.singletonList("&7Click to set the filter to&f: &eTools")); - public static final ConfigSetting GUI_FILTER_ITEMS_SPAWNERS_ITEM = new ConfigSetting(config, "gui.filter.items.spawners.item", XMaterial.CREEPER_SPAWN_EGG.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_SPAWNERS_ITEM = new ConfigSetting(config, "gui.filter.items.spawners.item", CompMaterial.CREEPER_SPAWN_EGG.name()); public static final ConfigSetting GUI_FILTER_ITEMS_SPAWNERS_NAME = new ConfigSetting(config, "gui.filter.items.spawners.name", "&e&LSpawners"); public static final ConfigSetting GUI_FILTER_ITEMS_SPAWNERS_LORE = new ConfigSetting(config, "gui.filter.items.spawners.lore", Collections.singletonList("&7Click to set the filter to&f: &eSpawners")); - public static final ConfigSetting GUI_FILTER_ITEMS_BLOCKS_ITEM = new ConfigSetting(config, "gui.filter.items.blocks.item", XMaterial.GOLD_BLOCK.name()); + public static final ConfigSetting GUI_FILTER_ITEMS_BLOCKS_ITEM = new ConfigSetting(config, "gui.filter.items.blocks.item", CompMaterial.GOLD_BLOCK.name()); public static final ConfigSetting GUI_FILTER_ITEMS_BLOCKS_NAME = new ConfigSetting(config, "gui.filter.items.blocks.name", "&e&lBlocks"); public static final ConfigSetting GUI_FILTER_ITEMS_BLOCKS_LORE = new ConfigSetting(config, "gui.filter.items.blocks.lore", Collections.singletonList("&7Click to set the filter to&f: &eBlocks")); @@ -1132,42 +1174,42 @@ public class Settings { * CUSTOM ITEM FILTER GUI * ===============================*/ public static final ConfigSetting GUI_FILTER_WHITELIST_TITLE = new ConfigSetting(config, "gui.filter whitelist.title", "&7Auction Filter - &eWhitelist"); - public static final ConfigSetting GUI_FILTER_WHITELIST_BG_ITEM = new ConfigSetting(config, "gui.filter whitelist.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_BG_ITEM = new ConfigSetting(config, "gui.filter whitelist.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_BLOCKS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.blocks.item", XMaterial.GRASS_BLOCK.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_BLOCKS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.blocks.item", CompMaterial.GRASS_BLOCK.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_BLOCKS_NAME = new ConfigSetting(config, "gui.filter whitelist.items.blocks.name", "&e&lBlock Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_BLOCKS_LORE = new ConfigSetting(config, "gui.filter whitelist.items.blocks.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_FOOD_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.food.item", XMaterial.CAKE.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_FOOD_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.food.item", CompMaterial.CAKE.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_FOOD_NAME = new ConfigSetting(config, "gui.filter whitelist.items.food.name", "&e&lFood Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_FOOD_LORE = new ConfigSetting(config, "gui.filter whitelist.items.food.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_ARMOR_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.armor.item", XMaterial.DIAMOND_HELMET.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_ARMOR_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.armor.item", CompMaterial.DIAMOND_HELMET.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_ARMOR_NAME = new ConfigSetting(config, "gui.filter whitelist.items.armor.name", "&e&LArmor Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_ARMOR_LORE = new ConfigSetting(config, "gui.filter whitelist.items.armor.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_TOOLS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.tools.item", XMaterial.IRON_PICKAXE.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_TOOLS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.tools.item", CompMaterial.IRON_PICKAXE.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_TOOLS_NAME = new ConfigSetting(config, "gui.filter whitelist.items.tools.name", "&e&lTool Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_TOOLS_LORE = new ConfigSetting(config, "gui.filter whitelist.items.tools.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.spawners.item", XMaterial.SPAWNER.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.spawners.item", CompMaterial.SPAWNER.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_NAME = new ConfigSetting(config, "gui.filter whitelist.items.spawners.name", "&e&lSpawner Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_LORE = new ConfigSetting(config, "gui.filter whitelist.items.spawners.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.enchants.item", XMaterial.ENCHANTED_BOOK.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.enchants.item", CompMaterial.ENCHANTED_BOOK.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_NAME = new ConfigSetting(config, "gui.filter whitelist.items.enchants.name", "&e&lEnchantment Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_LORE = new ConfigSetting(config, "gui.filter whitelist.items.enchants.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_WEAPONS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.weapons.item", XMaterial.DIAMOND_SWORD.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_WEAPONS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.weapons.item", CompMaterial.DIAMOND_SWORD.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_WEAPONS_NAME = new ConfigSetting(config, "gui.filter whitelist.items.weapons.name", "&e&lWeapon Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_WEAPONS_LORE = new ConfigSetting(config, "gui.filter whitelist.items.weapons.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_POTIONS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.potions.item", XMaterial.SPLASH_POTION.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_POTIONS_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.potions.item", CompMaterial.SPLASH_POTION.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_POTIONS_NAME = new ConfigSetting(config, "gui.filter whitelist.items.potions.name", "&e&LPotions Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_POTIONS_LORE = new ConfigSetting(config, "gui.filter whitelist.items.potions.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); - public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_MISC_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.misc.item", XMaterial.BONE_MEAL.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_MISC_ITEM = new ConfigSetting(config, "gui.filter whitelist.items.misc.item", CompMaterial.BONE_MEAL.name()); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_MISC_NAME = new ConfigSetting(config, "gui.filter whitelist.items.misc.name", "&e&lMiscellaneous Filters"); public static final ConfigSetting GUI_FILTER_WHITELIST_ITEMS_MISC_LORE = new ConfigSetting(config, "gui.filter whitelist.items.misc.lore", Collections.singletonList("&7Click to adjust the item whitelist for this filter")); @@ -1175,15 +1217,15 @@ public class Settings { * CUSTOM ITEM FILTER GUI * ===============================*/ public static final ConfigSetting GUI_FILTER_WHITELIST_LIST_TITLE = new ConfigSetting(config, "gui.filter whitelist list.title", "&7Filter Whitelist - &e%filter_category%"); - public static final ConfigSetting GUI_FILTER_WHITELIST_LIST_BG_ITEM = new ConfigSetting(config, "gui.filter whitelist list.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_FILTER_WHITELIST_LIST_BG_ITEM = new ConfigSetting(config, "gui.filter whitelist list.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); /* =============================== * ITEM SELL LISTING TYPE GUI * ===============================*/ public static final ConfigSetting GUI_SELL_LISTING_TYPE_TITLE = new ConfigSetting(config, "gui.sell listing type.title", "&7Auction House - &eSelect Listing Type"); - public static final ConfigSetting GUI_SELL_LISTING_TYPE_BG_ITEM = new ConfigSetting(config, "gui.sell listing type.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_LISTING_TYPE_BG_ITEM = new ConfigSetting(config, "gui.sell listing type.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_BIN_ITEM = new ConfigSetting(config, "gui.sell listing type.items.bin.item", XMaterial.SUNFLOWER.name()); + public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_BIN_ITEM = new ConfigSetting(config, "gui.sell listing type.items.bin.item", CompMaterial.SUNFLOWER.name()); public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_BIN_NAME = new ConfigSetting(config, "gui.sell listing type.items.bin.name", "&e&lBin Item"); public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_BIN_LORE = new ConfigSetting(config, "gui.sell listing type.items.bin.lore", Arrays.asList( "&7A Bin item is an item that does not accept any", @@ -1192,7 +1234,7 @@ public class Settings { "&7Click to list as &aBin Item" )); - public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_AUCTION_ITEM = new ConfigSetting(config, "gui.sell listing type.items.auction.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_AUCTION_ITEM = new ConfigSetting(config, "gui.sell listing type.items.auction.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_AUCTION_NAME = new ConfigSetting(config, "gui.sell listing type.items.auction.name", "&e&lAuction Item"); public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_AUCTION_LORE = new ConfigSetting(config, "gui.sell listing type.items.auction.lore", Arrays.asList( "&7An Auction item is an item that can be bid", @@ -1201,7 +1243,7 @@ public class Settings { "&7Click to list as an &aAuction" )); - public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_RETURN_ITEM = new ConfigSetting(config, "gui.sell listing type.items.return.item", XMaterial.BARRIER.name()); + public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_RETURN_ITEM = new ConfigSetting(config, "gui.sell listing type.items.return.item", CompMaterial.BARRIER.name()); public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_RETURN_NAME = new ConfigSetting(config, "gui.sell listing type.items.return.name", "&e&lAuction House"); public static final ConfigSetting GUI_SELL_LISTING_TYPE_ITEMS_RETURN_LORE = new ConfigSetting(config, "gui.sell listing type.items.return.lore", Arrays.asList( "", @@ -1213,9 +1255,9 @@ public class Settings { * ===============================*/ public static final ConfigSetting GUI_SELL_PLACE_ITEM_TITLE = new ConfigSetting(config, "gui.sell place item.title", "&7Auction House - &ePlace Item"); public static final ConfigSetting GUI_SELL_PLACE_ITEM_BUNDLE_TITLE = new ConfigSetting(config, "gui.sell place item.bundle title", "&7Auction House - &ePlace Item(s)"); - public static final ConfigSetting GUI_SELL_PLACE_ITEM_BG_ITEM = new ConfigSetting(config, "gui.sell place item.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_PLACE_ITEM_BG_ITEM = new ConfigSetting(config, "gui.sell place item.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_CONTINUE_ITEM = new ConfigSetting(config, "gui.sell place item.items.continue.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_CONTINUE_ITEM = new ConfigSetting(config, "gui.sell place item.items.continue.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_CONTINUE_NAME = new ConfigSetting(config, "gui.sell place item.items.continue.name", "&e&lContinue"); public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_CONTINUE_LORE = new ConfigSetting(config, "gui.sell place item.items.continue.lore", Arrays.asList( "", @@ -1223,7 +1265,7 @@ public class Settings { )); - public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_BUNDLE_ITEM = new ConfigSetting(config, "gui.sell place item.items.bundle.item", XMaterial.GOLD_BLOCK.name()); + public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_BUNDLE_ITEM = new ConfigSetting(config, "gui.sell place item.items.bundle.item", CompMaterial.GOLD_BLOCK.name()); public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_BUNDLE_NAME = new ConfigSetting(config, "gui.sell place item.items.bundle.name", "&e&lListing Bundle"); public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_BUNDLE_LORE = new ConfigSetting(config, "gui.sell place item.items.bundle.lore", Arrays.asList( "&7You are currently in the bundle", @@ -1232,7 +1274,7 @@ public class Settings { "&7Click to list a single item instead" )); - public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_SINGLE_ITEM = new ConfigSetting(config, "gui.sell place item.items.single.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_SINGLE_ITEM = new ConfigSetting(config, "gui.sell place item.items.single.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_SINGLE_NAME = new ConfigSetting(config, "gui.sell place item.items.single.name", "&e&lSingle Listing"); public static final ConfigSetting GUI_SELL_PLACE_ITEM_ITEMS_SINGLE_LORE = new ConfigSetting(config, "gui.sell place item.items.single.lore", Arrays.asList( @@ -1246,7 +1288,7 @@ public class Settings { * ITEM SELL BIN GUI * ===============================*/ - public static final ConfigSetting GUI_SELL_ITEM_ITEM_CURRENCY_ITEM = new ConfigSetting(config, "gui.global items.currency.item", XMaterial.GOLD_INGOT.name()); + public static final ConfigSetting GUI_SELL_ITEM_ITEM_CURRENCY_ITEM = new ConfigSetting(config, "gui.global items.currency.item", CompMaterial.GOLD_INGOT.name()); public static final ConfigSetting GUI_SELL_ITEM_ITEM_CURRENCY_NAME = new ConfigSetting(config, "gui.global items.currency.name", "&e&lCurrency"); public static final ConfigSetting GUI_SELL_ITEM_ITEM_CURRENCY_LORE = new ConfigSetting(config, "gui.global items.currency.lore", Arrays.asList( "", @@ -1254,16 +1296,16 @@ public class Settings { )); public static final ConfigSetting GUI_SELL_BIN_TITLE = new ConfigSetting(config, "gui.sell bin item.title", "&7Auction House - &eBin Listing"); - public static final ConfigSetting GUI_SELL_BIN_BG_ITEM = new ConfigSetting(config, "gui.sell bin item.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_BIN_BG_ITEM = new ConfigSetting(config, "gui.sell bin item.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_CONTINUE_ITEM = new ConfigSetting(config, "gui.sell bin item.items.confirm.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_CONTINUE_ITEM = new ConfigSetting(config, "gui.sell bin item.items.confirm.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_CONTINUE_NAME = new ConfigSetting(config, "gui.sell bin item.items.confirm.name", "&e&lList Item"); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_CONTINUE_LORE = new ConfigSetting(config, "gui.sell bin item.items.confirm.lore", Arrays.asList( "", "&7Click to list this item" )); - public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_TIME_ITEM = new ConfigSetting(config, "gui.sell bin item.items.time.item", XMaterial.CLOCK.name()); + public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_TIME_ITEM = new ConfigSetting(config, "gui.sell bin item.items.time.item", CompMaterial.CLOCK.name()); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_TIME_NAME = new ConfigSetting(config, "gui.sell bin item.items.time.name", "&e&lListing Time"); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_TIME_LORE = new ConfigSetting(config, "gui.sell bin item.items.time.lore", Arrays.asList( "", @@ -1272,7 +1314,7 @@ public class Settings { "&7Click to edit the listing time" )); - public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PRICE_ITEM = new ConfigSetting(config, "gui.sell bin item.items.price.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PRICE_ITEM = new ConfigSetting(config, "gui.sell bin item.items.price.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PRICE_NAME = new ConfigSetting(config, "gui.sell bin item.items.price.name", "&e&lPrice"); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PRICE_LORE = new ConfigSetting(config, "gui.sell bin item.items.price.lore", Arrays.asList( "", @@ -1281,7 +1323,7 @@ public class Settings { "&7Click to edit the listing price" )); - public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PARTIAL_ENABLED_ITEM = new ConfigSetting(config, "gui.sell bin item.items.partial enabled.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PARTIAL_ENABLED_ITEM = new ConfigSetting(config, "gui.sell bin item.items.partial enabled.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PARTIAL_ENABLED_NAME = new ConfigSetting(config, "gui.sell bin item.items.partial enabled.name", "&e&lQuantity Purchase"); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PARTIAL_ENABLED_LORE = new ConfigSetting(config, "gui.sell bin item.items.partial enabled.lore", Arrays.asList( "", @@ -1290,7 +1332,7 @@ public class Settings { "&7Click to &cdisable &7partial purchases" )); - public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PARTIAL_DISABLED_ITEM = new ConfigSetting(config, "gui.sell bin item.items.partial disabled.item", XMaterial.RED_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PARTIAL_DISABLED_ITEM = new ConfigSetting(config, "gui.sell bin item.items.partial disabled.item", CompMaterial.RED_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PARTIAL_DISABLED_NAME = new ConfigSetting(config, "gui.sell bin item.items.partial disabled.name", "&e&lQuantity Purchase"); public static final ConfigSetting GUI_SELL_BIN_ITEM_ITEMS_PARTIAL_DISABLED_LORE = new ConfigSetting(config, "gui.sell bin item.items.partial disabled.lore", Arrays.asList( "", @@ -1305,7 +1347,7 @@ public class Settings { * ===============================*/ public static final ConfigSetting GUI_REQUEST_TITLE = new ConfigSetting(config, "gui.request.title", "&7Auction House - &eRequest Item"); - public static final ConfigSetting GUI_REQUEST_ITEMS_AMT_ITEM = new ConfigSetting(config, "gui.request.items.amt.item", XMaterial.REPEATER.name()); + public static final ConfigSetting GUI_REQUEST_ITEMS_AMT_ITEM = new ConfigSetting(config, "gui.request.items.amt.item", CompMaterial.REPEATER.name()); public static final ConfigSetting GUI_REQUEST_ITEMS_AMT_NAME = new ConfigSetting(config, "gui.request.items.amt.name", "&e&LRequest Amount"); public static final ConfigSetting GUI_REQUEST_ITEMS_AMT_LORE = new ConfigSetting(config, "gui.request.items.amt.lore", Arrays.asList( "&7How much of this item do you want?", @@ -1315,7 +1357,7 @@ public class Settings { "&7Click to edit request amount" )); - public static final ConfigSetting GUI_REQUEST_ITEMS_PRICE_ITEM = new ConfigSetting(config, "gui.request.items.price.item", XMaterial.SUNFLOWER.name()); + public static final ConfigSetting GUI_REQUEST_ITEMS_PRICE_ITEM = new ConfigSetting(config, "gui.request.items.price.item", CompMaterial.SUNFLOWER.name()); public static final ConfigSetting GUI_REQUEST_ITEMS_PRICE_NAME = new ConfigSetting(config, "gui.request.items.price.name", "&e&LPrice"); public static final ConfigSetting GUI_REQUEST_ITEMS_PRICE_LORE = new ConfigSetting(config, "gui.request.items.price.lore", Arrays.asList( "&7How much are you going to pay for this?", @@ -1325,7 +1367,7 @@ public class Settings { "&7Click to edit request price" )); - public static final ConfigSetting GUI_REQUEST_ITEMS_REQUEST_ITEM = new ConfigSetting(config, "gui.request.items.request.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_REQUEST_ITEMS_REQUEST_ITEM = new ConfigSetting(config, "gui.request.items.request.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_REQUEST_ITEMS_REQUEST_NAME = new ConfigSetting(config, "gui.request.items.request.name", "&e&lRequest Item(s)"); public static final ConfigSetting GUI_REQUEST_ITEMS_REQUEST_LORE = new ConfigSetting(config, "gui.request.items.request.lore", Arrays.asList( "", @@ -1339,9 +1381,9 @@ public class Settings { * ===============================*/ public static final ConfigSetting GUI_SELL_AUCTION_TITLE = new ConfigSetting(config, "gui.sell auction item.title", "&7Auction House - &eAuction Listing"); - public static final ConfigSetting GUI_SELL_AUCTION_BG_ITEM = new ConfigSetting(config, "gui.sell auction item.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_AUCTION_BG_ITEM = new ConfigSetting(config, "gui.sell auction item.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_TIME_ITEM = new ConfigSetting(config, "gui.sell auction item.items.time.item", XMaterial.CLOCK.name()); + public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_TIME_ITEM = new ConfigSetting(config, "gui.sell auction item.items.time.item", CompMaterial.CLOCK.name()); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_TIME_NAME = new ConfigSetting(config, "gui.sell auction item.items.time.name", "&e&lListing Time"); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_TIME_LORE = new ConfigSetting(config, "gui.sell auction item.items.time.lore", Arrays.asList( "", @@ -1350,7 +1392,7 @@ public class Settings { "&7Click to edit the listing time" )); - public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_PRICE_ITEM = new ConfigSetting(config, "gui.sell auction item.items.bin price.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_PRICE_ITEM = new ConfigSetting(config, "gui.sell auction item.items.bin price.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_PRICE_NAME = new ConfigSetting(config, "gui.sell auction item.items.bin price.name", "&e&lBuyout Price"); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_PRICE_LORE = new ConfigSetting(config, "gui.sell auction item.items.bin price.lore", Arrays.asList( "", @@ -1359,7 +1401,7 @@ public class Settings { "&7Click to edit the buyout price" )); - public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_STARTING_PRICE_ITEM = new ConfigSetting(config, "gui.sell auction item.items.starting price.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_STARTING_PRICE_ITEM = new ConfigSetting(config, "gui.sell auction item.items.starting price.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_STARTING_PRICE_NAME = new ConfigSetting(config, "gui.sell auction item.items.starting price.name", "&e&lStarting Price"); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_STARTING_PRICE_LORE = new ConfigSetting(config, "gui.sell auction item.items.starting price.lore", Arrays.asList( "", @@ -1368,7 +1410,7 @@ public class Settings { "&7Click to edit the starting price" )); - public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_INCREMENT_PRICE_ITEM = new ConfigSetting(config, "gui.sell auction item.items.increment price.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_INCREMENT_PRICE_ITEM = new ConfigSetting(config, "gui.sell auction item.items.increment price.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_INCREMENT_PRICE_NAME = new ConfigSetting(config, "gui.sell auction item.items.increment price.name", "&e&lIncrement Price"); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_INCREMENT_PRICE_LORE = new ConfigSetting(config, "gui.sell auction item.items.increment price.lore", Arrays.asList( "", @@ -1377,7 +1419,7 @@ public class Settings { "&7Click to edit the increment price" )); - public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_ENABLED_ITEM = new ConfigSetting(config, "gui.sell auction item.items.buyout enabled.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_ENABLED_ITEM = new ConfigSetting(config, "gui.sell auction item.items.buyout enabled.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_ENABLED_NAME = new ConfigSetting(config, "gui.sell auction item.items.buyout enabled.name", "&e&lAuction Buyout"); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_ENABLED_LORE = new ConfigSetting(config, "gui.sell auction item.items.buyout enabled.lore", Arrays.asList( "", @@ -1386,7 +1428,7 @@ public class Settings { "&7Click to &cdisable &7auction buyout" )); - public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_DISABLED_ITEM = new ConfigSetting(config, "gui.sell auction item.items.buyout disabled.item", XMaterial.RED_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_DISABLED_ITEM = new ConfigSetting(config, "gui.sell auction item.items.buyout disabled.item", CompMaterial.RED_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_DISABLED_NAME = new ConfigSetting(config, "gui.sell auction item.items.buyout disabled.name", "&e&lAuction Buyout"); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_BUYOUT_DISABLED_LORE = new ConfigSetting(config, "gui.sell auction item.items.buyout disabled.lore", Arrays.asList( "", @@ -1395,7 +1437,7 @@ public class Settings { "&7Click to &aenable &7auction buyout" )); - public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_CONTINUE_ITEM = new ConfigSetting(config, "gui.sell auction item.items.confirm.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_CONTINUE_ITEM = new ConfigSetting(config, "gui.sell auction item.items.confirm.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_CONTINUE_NAME = new ConfigSetting(config, "gui.sell auction item.items.confirm.name", "&e&lList Item"); public static final ConfigSetting GUI_SELL_AUCTION_ITEM_ITEMS_CONTINUE_LORE = new ConfigSetting(config, "gui.sell auction item.items.confirm.lore", Arrays.asList( "", @@ -1406,46 +1448,46 @@ public class Settings { * AH STATS GUI * ===============================*/ public static final ConfigSetting GUI_STATS_VIEW_SELECT_TITLE = new ConfigSetting(config, "gui.stat view select.title", "&7Auction House - &eStatistics"); - public static final ConfigSetting GUI_STATS_VIEW_SELECT_BG_ITEM = new ConfigSetting(config, "gui.stat view select.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_STATS_VIEW_SELECT_BG_ITEM = new ConfigSetting(config, "gui.stat view select.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_PERSONAL_USE_HEAD = new ConfigSetting(config, "gui.stat view select.items.personal.use head", true); - public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_PERSONAL_ITEM = new ConfigSetting(config, "gui.stat view select.items.personal.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_PERSONAL_ITEM = new ConfigSetting(config, "gui.stat view select.items.personal.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_PERSONAL_NAME = new ConfigSetting(config, "gui.stat view select.items.personal.name", "&e&lPersonal Statistics"); public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_PERSONAL_LORE = new ConfigSetting(config, "gui.stat view select.items.personal.lore", Collections.singletonList("&7Click to view your own stats")); - public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_LEADERBOARD_ITEM = new ConfigSetting(config, "gui.stat view select.items.leaderboard.item", XMaterial.NETHER_STAR.name()); + public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_LEADERBOARD_ITEM = new ConfigSetting(config, "gui.stat view select.items.leaderboard.item", CompMaterial.NETHER_STAR.name()); public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_LEADERBOARD_NAME = new ConfigSetting(config, "gui.stat view select.items.leaderboard.name", "&e&lLeaderboard"); public static final ConfigSetting GUI_STATS_VIEW_SELECT_ITEMS_LEADERBOARD_LORE = new ConfigSetting(config, "gui.stat view select.items.leaderboard.lore", Collections.singletonList("&7Click to view server leaderboard")); public static final ConfigSetting GUI_STATS_SELF_TITLE = new ConfigSetting(config, "gui.stat view self.items.title", "&7Auction House - &eYour Stats"); - public static final ConfigSetting GUI_STATS_SELF_BG_ITEM = new ConfigSetting(config, "gui.stat view self.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_STATS_SELF_BG_ITEM = new ConfigSetting(config, "gui.stat view self.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_STATS_SELF_ITEMS_CREATED_AUCTION_ITEM = new ConfigSetting(config, "gui.stat view self.items.created auction.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_STATS_SELF_ITEMS_CREATED_AUCTION_ITEM = new ConfigSetting(config, "gui.stat view self.items.created auction.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_STATS_SELF_ITEMS_CREATED_AUCTION_NAME = new ConfigSetting(config, "gui.stat view self.items.created auction.name", "&e&lCreated Auctions"); public static final ConfigSetting GUI_STATS_SELF_ITEMS_CREATED_AUCTION_LORE = new ConfigSetting(config, "gui.stat view self.items.created auction.lore", Collections.singletonList("&7You created &e%created_auctions% &7auctions")); - public static final ConfigSetting GUI_STATS_SELF_ITEMS_CREATED_BIN_ITEM = new ConfigSetting(config, "gui.stat view self.items.created bin.item", XMaterial.HOPPER_MINECART.name()); + public static final ConfigSetting GUI_STATS_SELF_ITEMS_CREATED_BIN_ITEM = new ConfigSetting(config, "gui.stat view self.items.created bin.item", CompMaterial.HOPPER_MINECART.name()); public static final ConfigSetting GUI_STATS_SELF_ITEMS_CREATED_BIN_NAME = new ConfigSetting(config, "gui.stat view self.items.created bin.name", "&e&lCreated Bins"); public static final ConfigSetting GUI_STATS_SELF_ITEMS_CREATED_BIN_LORE = new ConfigSetting(config, "gui.stat view self.items.created bin.lore", Collections.singletonList("&7You created &e%created_bins% &7bins")); - public static final ConfigSetting GUI_STATS_SELF_ITEMS_SOLD_AUCTION_ITEM = new ConfigSetting(config, "gui.stat view self.items.sold auction.item", XMaterial.LADDER.name()); + public static final ConfigSetting GUI_STATS_SELF_ITEMS_SOLD_AUCTION_ITEM = new ConfigSetting(config, "gui.stat view self.items.sold auction.item", CompMaterial.LADDER.name()); public static final ConfigSetting GUI_STATS_SELF_ITEMS_SOLD_AUCTION_NAME = new ConfigSetting(config, "gui.stat view self.items.sold auction.name", "&e&LSold Auctions"); public static final ConfigSetting GUI_STATS_SELF_ITEMS_SOLD_AUCTION_LORE = new ConfigSetting(config, "gui.stat view self.items.sold auction.lore", Collections.singletonList("&7You sold &e%sold_auctions% &7auction(s)")); - public static final ConfigSetting GUI_STATS_SELF_ITEMS_SOLD_BIN_ITEM = new ConfigSetting(config, "gui.stat view self.items.sold bin.item", XMaterial.CHEST.name()); + public static final ConfigSetting GUI_STATS_SELF_ITEMS_SOLD_BIN_ITEM = new ConfigSetting(config, "gui.stat view self.items.sold bin.item", CompMaterial.CHEST.name()); public static final ConfigSetting GUI_STATS_SELF_ITEMS_SOLD_BIN_NAME = new ConfigSetting(config, "gui.stat view self.items.sold bin.name", "&e&LSold Bins"); public static final ConfigSetting GUI_STATS_SELF_ITEMS_SOLD_BIN_LORE = new ConfigSetting(config, "gui.stat view self.items.sold bin.lore", Collections.singletonList("&7You sold &e%sold_bins% &7bin(s)")); - public static final ConfigSetting GUI_STATS_SELF_ITEMS_MONEY_EARNED_ITEM = new ConfigSetting(config, "gui.stat view self.items.money earned.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_STATS_SELF_ITEMS_MONEY_EARNED_ITEM = new ConfigSetting(config, "gui.stat view self.items.money earned.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_STATS_SELF_ITEMS_MONEY_EARNED_NAME = new ConfigSetting(config, "gui.stat view self.items.money earned.name", "&e&LMoney Earned"); public static final ConfigSetting GUI_STATS_SELF_ITEMS_MONEY_EARNED_LORE = new ConfigSetting(config, "gui.stat view self.items.money earned.lore", Collections.singletonList("&7You earned &a%money_earned%")); - public static final ConfigSetting GUI_STATS_SELF_ITEMS_MONEY_SPENT_ITEM = new ConfigSetting(config, "gui.stat view self.items.money spent.item", XMaterial.RED_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_STATS_SELF_ITEMS_MONEY_SPENT_ITEM = new ConfigSetting(config, "gui.stat view self.items.money spent.item", CompMaterial.RED_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_STATS_SELF_ITEMS_MONEY_SPENT_NAME = new ConfigSetting(config, "gui.stat view self.items.money spent.name", "&e&LMoney Spent"); public static final ConfigSetting GUI_STATS_SELF_ITEMS_MONEY_SPENT_LORE = new ConfigSetting(config, "gui.stat view self.items.money spent.lore", Collections.singletonList("&7You spent &c%money_spent%")); public static final ConfigSetting GUI_STATS_LEADERBOARD_TITLE = new ConfigSetting(config, "gui.stat view leaderboard.items.title", "&7Auction House - &eStat Leaderboard"); - public static final ConfigSetting GUI_STATS_LEADERBOARD_BG_ITEM = new ConfigSetting(config, "gui.stat view leaderboard.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_STATS_LEADERBOARD_BG_ITEM = new ConfigSetting(config, "gui.stat view leaderboard.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_STATS_LEADERBOARD_ITEMS_PLAYER_NAME = new ConfigSetting(config, "gui.stat view leaderboard.items.player.name", "&e&l%player_name%"); public static final ConfigSetting GUI_STATS_LEADERBOARD_ITEMS_PLAYER_LORE = new ConfigSetting(config, "gui.stat view leaderboard.items.player.lore", Arrays.asList( @@ -1455,7 +1497,7 @@ public class Settings { "" )); - public static final ConfigSetting GUI_STATS_LEADERBOARD_ITEMS_STAT_ITEM = new ConfigSetting(config, "gui.stat view leaderboard.items.stat.item", XMaterial.NETHER_STAR.name()); + public static final ConfigSetting GUI_STATS_LEADERBOARD_ITEMS_STAT_ITEM = new ConfigSetting(config, "gui.stat view leaderboard.items.stat.item", CompMaterial.NETHER_STAR.name()); public static final ConfigSetting GUI_STATS_LEADERBOARD_ITEMS_STAT_NAME = new ConfigSetting(config, "gui.stat view leaderboard.items.stat.name", "&e&lStatistic Type"); public static final ConfigSetting GUI_STATS_LEADERBOARD_ITEMS_STAT_LORE = new ConfigSetting(config, "gui.stat view leaderboard.items.stat.lore", Arrays.asList( "", @@ -1466,29 +1508,29 @@ public class Settings { // other player public static final ConfigSetting GUI_STATS_SEARCH_TITLE = new ConfigSetting(config, "gui.stat view other.items.title", "&7Auction House - &e%player_name% Stats"); - public static final ConfigSetting GUI_STATS_SEARCH_BG_ITEM = new ConfigSetting(config, "gui.stat view other.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_STATS_SEARCH_BG_ITEM = new ConfigSetting(config, "gui.stat view other.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_CREATED_AUCTION_ITEM = new ConfigSetting(config, "gui.stat view other.items.created auction.item", XMaterial.DIAMOND.name()); + public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_CREATED_AUCTION_ITEM = new ConfigSetting(config, "gui.stat view other.items.created auction.item", CompMaterial.DIAMOND.name()); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_CREATED_AUCTION_NAME = new ConfigSetting(config, "gui.stat view other.items.created auction.name", "&e&lCreated Auctions"); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_CREATED_AUCTION_LORE = new ConfigSetting(config, "gui.stat view other.items.created auction.lore", Collections.singletonList("&7They created &e%created_auctions% &7auctions")); - public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_CREATED_BIN_ITEM = new ConfigSetting(config, "gui.stat view other.items.created bin.item", XMaterial.HOPPER_MINECART.name()); + public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_CREATED_BIN_ITEM = new ConfigSetting(config, "gui.stat view other.items.created bin.item", CompMaterial.HOPPER_MINECART.name()); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_CREATED_BIN_NAME = new ConfigSetting(config, "gui.stat view other.items.created bin.name", "&e&lCreated Bins"); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_CREATED_BIN_LORE = new ConfigSetting(config, "gui.stat view other.items.created bin.lore", Collections.singletonList("&7They created &e%created_bins% &7bins")); - public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_SOLD_AUCTION_ITEM = new ConfigSetting(config, "gui.stat view other.items.sold auction.item", XMaterial.LADDER.name()); + public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_SOLD_AUCTION_ITEM = new ConfigSetting(config, "gui.stat view other.items.sold auction.item", CompMaterial.LADDER.name()); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_SOLD_AUCTION_NAME = new ConfigSetting(config, "gui.stat view other.items.sold auction.name", "&e&LSold Auctions"); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_SOLD_AUCTION_LORE = new ConfigSetting(config, "gui.stat view other.items.sold auction.lore", Collections.singletonList("&7They sold &e%sold_auctions% &7auction(s)")); - public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_SOLD_BIN_ITEM = new ConfigSetting(config, "gui.stat view other.items.sold bin.item", XMaterial.CHEST.name()); + public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_SOLD_BIN_ITEM = new ConfigSetting(config, "gui.stat view other.items.sold bin.item", CompMaterial.CHEST.name()); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_SOLD_BIN_NAME = new ConfigSetting(config, "gui.stat view other.items.sold bin.name", "&e&LSold Bins"); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_SOLD_BIN_LORE = new ConfigSetting(config, "gui.stat view other.items.sold bin.lore", Collections.singletonList("&7They &e%sold_bins% &7bin(s)")); - public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_MONEY_EARNED_ITEM = new ConfigSetting(config, "gui.stat view other.items.money earned.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_MONEY_EARNED_ITEM = new ConfigSetting(config, "gui.stat view other.items.money earned.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_MONEY_EARNED_NAME = new ConfigSetting(config, "gui.stat view other.items.money earned.name", "&e&LMoney Earned"); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_MONEY_EARNED_LORE = new ConfigSetting(config, "gui.stat view other.items.money earned.lore", Collections.singletonList("&7They earned &a%money_earned%")); - public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_MONEY_SPENT_ITEM = new ConfigSetting(config, "gui.stat view other.items.money spent.item", XMaterial.RED_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_MONEY_SPENT_ITEM = new ConfigSetting(config, "gui.stat view other.items.money spent.item", CompMaterial.RED_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_MONEY_SPENT_NAME = new ConfigSetting(config, "gui.stat view other.items.money spent.name", "&e&LMoney Spent"); public static final ConfigSetting GUI_STATS_SEARCH_ITEMS_MONEY_SPENT_LORE = new ConfigSetting(config, "gui.stat view other.items.money spent.lore", Collections.singletonList("&7They spent &c%money_spent%")); @@ -1497,28 +1539,28 @@ public class Settings { * EXPIRED ITEMS ADMIN GUI * ===============================*/ public static final ConfigSetting GUI_EXPIRED_ITEMS_ADMIN_TITLE = new ConfigSetting(config, "gui.expired items admin.title", "&7Auction House - &eAdmin Expired"); - public static final ConfigSetting GUI_EXPIRED_ITEMS_ADMIN_BG_ITEM = new ConfigSetting(config, "gui.expired items admin.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_EXPIRED_ITEMS_ADMIN_BG_ITEM = new ConfigSetting(config, "gui.expired items admin.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_EXPIRED_ITEMS_ADMIN_ITEMS_LORE = new ConfigSetting(config, "gui.expired items admin.item lore", Collections.singletonList("&7Click to delete this item")); /* =============================== * ITEM ADMIN GUI * ===============================*/ public static final ConfigSetting GUI_ITEM_ADMIN_TITLE = new ConfigSetting(config, "gui.item admin.title", "&7Auction House - &eAdmin Item"); - public static final ConfigSetting GUI_ITEM_ADMIN_BG_ITEM = new ConfigSetting(config, "gui.item admin.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_ITEM_ADMIN_BG_ITEM = new ConfigSetting(config, "gui.item admin.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_RETURN_ITEM = new ConfigSetting(config, "gui.item admin.items.send to player.item", XMaterial.ENDER_CHEST.name()); + public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_RETURN_ITEM = new ConfigSetting(config, "gui.item admin.items.send to player.item", CompMaterial.ENDER_CHEST.name()); public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_RETURN_NAME = new ConfigSetting(config, "gui.item admin.items.send to player.name", "&a&lReturn to player"); public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_RETURN_LORE = new ConfigSetting(config, "gui.item admin.items.send to player.lore", Collections.singletonList("&7Click to return this item to the seller")); - public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_CLAIM_ITEM = new ConfigSetting(config, "gui.item admin.items.claim item.item", XMaterial.HOPPER.name()); + public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_CLAIM_ITEM = new ConfigSetting(config, "gui.item admin.items.claim item.item", CompMaterial.HOPPER.name()); public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_CLAIM_NAME = new ConfigSetting(config, "gui.item admin.items.claim item.name", "&a&lClaim Item"); public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_CLAIM_LORE = new ConfigSetting(config, "gui.item admin.items.claim item.lore", Collections.singletonList("&7Click to claim this item as yours")); - public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_DELETE_ITEM = new ConfigSetting(config, "gui.item admin.items.delete item.item", XMaterial.BARRIER.name()); + public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_DELETE_ITEM = new ConfigSetting(config, "gui.item admin.items.delete item.item", CompMaterial.BARRIER.name()); public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_DELETE_NAME = new ConfigSetting(config, "gui.item admin.items.delete item.name", "&a&lDelete Item"); public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_DELETE_LORE = new ConfigSetting(config, "gui.item admin.items.delete item.lore", Collections.singletonList("&7Click to delete this item")); - public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_COPY_ITEM = new ConfigSetting(config, "gui.item admin.items.copy item.item", XMaterial.REPEATER.name()); + public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_COPY_ITEM = new ConfigSetting(config, "gui.item admin.items.copy item.item", CompMaterial.REPEATER.name()); public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_COPY_NAME = new ConfigSetting(config, "gui.item admin.items.copy item.name", "&a&LCopy Item"); public static final ConfigSetting GUI_ITEM_ADMIN_ITEMS_COPY_LORE = new ConfigSetting(config, "gui.item admin.items.copy item.lore", Collections.singletonList("&7Click to copy this item")); @@ -1526,13 +1568,13 @@ public class Settings { * BIDDING GUI * ===============================*/ public static final ConfigSetting GUI_BIDDING_TITLE = new ConfigSetting(config, "gui.bidding.title", "&7Auction House - &eBidding"); - public static final ConfigSetting GUI_BIDDING_BG_ITEM = new ConfigSetting(config, "gui.bidding.bg item", XMaterial.BLACK_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_BIDDING_BG_ITEM = new ConfigSetting(config, "gui.bidding.bg item", CompMaterial.BLACK_STAINED_GLASS_PANE.name()); - public static final ConfigSetting GUI_BIDDING_ITEMS_DEFAULT_ITEM = new ConfigSetting(config, "gui.bidding.items.default amount.item", XMaterial.SUNFLOWER.name()); + public static final ConfigSetting GUI_BIDDING_ITEMS_DEFAULT_ITEM = new ConfigSetting(config, "gui.bidding.items.default amount.item", CompMaterial.SUNFLOWER.name()); public static final ConfigSetting GUI_BIDDING_ITEMS_DEFAULT_NAME = new ConfigSetting(config, "gui.bidding.items.default amount.name", "&a&LDefault Amount"); public static final ConfigSetting GUI_BIDDING_ITEMS_DEFAULT_LORE = new ConfigSetting(config, "gui.bidding.items.default amount.lore", Collections.singletonList("&7Click to bid default amount")); - public static final ConfigSetting GUI_BIDDING_ITEMS_CUSTOM_ITEM = new ConfigSetting(config, "gui.bidding.items.custom amount.item", XMaterial.OAK_SIGN.name()); + public static final ConfigSetting GUI_BIDDING_ITEMS_CUSTOM_ITEM = new ConfigSetting(config, "gui.bidding.items.custom amount.item", CompMaterial.OAK_SIGN.name()); public static final ConfigSetting GUI_BIDDING_ITEMS_CUSTOM_NAME = new ConfigSetting(config, "gui.bidding.items.custom amount.name", "&a&lCustom Amount"); public static final ConfigSetting GUI_BIDDING_ITEMS_CUSTOM_LORE = new ConfigSetting(config, "gui.bidding.items.custom amount.lore", Collections.singletonList("&7Click to bid a custom amount")); @@ -1540,7 +1582,7 @@ public class Settings { * BUNDLES GUI * ===============================*/ public static final ConfigSetting GUI_CREATE_BUNDLE_TITLE = new ConfigSetting(config, "gui.create bundle.title", "&7Auction House - &eBundle Items"); - public static final ConfigSetting GUI_CREATE_BUNDLE_CONFIRM_ITEM = new ConfigSetting(config, "gui.create bundle.items.confirm.item", XMaterial.LIME_STAINED_GLASS_PANE.name()); + public static final ConfigSetting GUI_CREATE_BUNDLE_CONFIRM_ITEM = new ConfigSetting(config, "gui.create bundle.items.confirm.item", CompMaterial.LIME_STAINED_GLASS_PANE.name()); public static final ConfigSetting GUI_CREATE_BUNDLE_CONFIRM_NAME = new ConfigSetting(config, "gui.create bundle.items.confirm.name", "&a&LConfirm"); public static final ConfigSetting GUI_CREATE_BUNDLE_CONFIRM_LORE = new ConfigSetting(config, "gui.create bundle.items.confirm.lore", Collections.singletonList("&7Click to confirm listing")); @@ -1647,9 +1689,9 @@ public class Settings { /* =============================== * AUCTION SOUNDS * ===============================*/ - public static final ConfigSetting SOUNDS_LISTED_ITEM_ON_AUCTION_HOUSE = new ConfigSetting(config, "sounds.listed item on the auction house", XSound.ENTITY_EXPERIENCE_ORB_PICKUP.parseSound().name()); - public static final ConfigSetting SOUNDS_NAVIGATE_GUI_PAGES = new ConfigSetting(config, "sounds.navigated between gui pages", XSound.ENTITY_BAT_TAKEOFF.parseSound().name()); - public static final ConfigSetting SOUNDS_NOT_ENOUGH_MONEY = new ConfigSetting(config, "sounds.not enough money", XSound.ENTITY_ITEM_BREAK.parseSound().name()); + public static final ConfigSetting SOUNDS_LISTED_ITEM_ON_AUCTION_HOUSE = new ConfigSetting(config, "sounds.listed item on the auction house", CompSound.ENTITY_EXPERIENCE_ORB_PICKUP.parseSound().name()); + public static final ConfigSetting SOUNDS_NAVIGATE_GUI_PAGES = new ConfigSetting(config, "sounds.navigated between gui pages", CompSound.ENTITY_BAT_TAKEOFF.parseSound().name()); + public static final ConfigSetting SOUNDS_NOT_ENOUGH_MONEY = new ConfigSetting(config, "sounds.not enough money", CompSound.ENTITY_ITEM_BREAK.parseSound().name()); public static void setup() { config.load(); diff --git a/src/main/java/ca/tweetzy/auctionhouse/transaction/Transaction.java b/src/main/java/ca/tweetzy/auctionhouse/transaction/Transaction.java index ba0ae98..481fcac 100644 --- a/src/main/java/ca/tweetzy/auctionhouse/transaction/Transaction.java +++ b/src/main/java/ca/tweetzy/auctionhouse/transaction/Transaction.java @@ -18,6 +18,7 @@ package ca.tweetzy.auctionhouse.transaction; +import ca.tweetzy.auctionhouse.api.auction.TransactionWrapper; import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType; import lombok.Getter; import lombok.NonNull; @@ -35,7 +36,7 @@ import java.util.UUID; @Getter @Setter -public class Transaction { +public class Transaction extends TransactionWrapper { private final UUID id; private final UUID seller;