diff --git a/pom.xml b/pom.xml
index 2a8c82c..b49b893 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
4.0.0
ca.tweetzy
auctionhouse
- 2.52.1-Dev
+ 2.53.0
UTF-8
@@ -226,7 +226,7 @@
com.gmail.nossr50.mcMMO
mcMMO
- 2.1.205
+ 2.1.202
provided
diff --git a/src/main/java/ca/tweetzy/auctionhouse/AuctionHouse.java b/src/main/java/ca/tweetzy/auctionhouse/AuctionHouse.java
index 0015a20..7e787dc 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/AuctionHouse.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/AuctionHouse.java
@@ -184,7 +184,8 @@ public class AuctionHouse extends TweetyPlugin {
new _7_TransactionBigIntMigration(),
new _8_ItemPerWorldMigration(),
new _9_StatsMigration(),
- new _10_InfiniteItemsMigration()
+ new _10_InfiniteItemsMigration(),
+ new _11_AdminLogMigration()
);
dataMigrationManager.runMigrations();
diff --git a/src/main/java/ca/tweetzy/auctionhouse/api/AuctionAPI.java b/src/main/java/ca/tweetzy/auctionhouse/api/AuctionAPI.java
index e8af928..abde10a 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/api/AuctionAPI.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/api/AuctionAPI.java
@@ -5,7 +5,7 @@ import ca.tweetzy.auctionhouse.api.events.AuctionStartEvent;
import ca.tweetzy.auctionhouse.api.hook.MMOItemsHook;
import ca.tweetzy.auctionhouse.api.hook.McMMOHook;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.auction.AuctionedItem;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
import ca.tweetzy.auctionhouse.helpers.MaterialCategorizer;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/api/events/AuctionEndEvent.java b/src/main/java/ca/tweetzy/auctionhouse/api/events/AuctionEndEvent.java
index 36d754d..eed21a9 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/api/events/AuctionEndEvent.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/api/events/AuctionEndEvent.java
@@ -1,6 +1,6 @@
package ca.tweetzy.auctionhouse.api.events;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.auction.AuctionedItem;
import lombok.Getter;
import lombok.Setter;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionFilterItem.java b/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionFilterItem.java
index 79ecce5..49cc35f 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionFilterItem.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionFilterItem.java
@@ -1,6 +1,7 @@
package ca.tweetzy.auctionhouse.auction;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.inventory.ItemStack;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionItem.java b/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionItem.java
deleted file mode 100644
index 6241d0c..0000000
--- a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionItem.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package ca.tweetzy.auctionhouse.auction;
-
-import ca.tweetzy.auctionhouse.api.AuctionAPI;
-import ca.tweetzy.core.utils.nms.NBTEditor;
-import lombok.Getter;
-import lombok.Setter;
-import org.apache.commons.lang.WordUtils;
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.inventory.ItemStack;
-import org.bukkit.inventory.meta.ItemMeta;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-/**
- * The current file has been created by Kiran Hart
- * Date Created: January 17 2021
- * Time Created: 5:41 p.m.
- * Usage of any code found within this class is prohibited unless given explicit permission otherwise
- */
-@Getter
-@Setter
-public class AuctionItem implements Serializable {
-
- private static final long serialVersionUID = 5679289273658775560L;
-
- private UUID owner;
- private UUID highestBidder;
-
- private byte[] rawItem;
- private AuctionItemCategory category;
- private UUID key;
-
- private double basePrice;
- private double bidStartPrice;
- private double bidIncPrice;
- private double currentPrice;
-
- private boolean expired;
- private int remainingTime;
-
- public AuctionItem() {
- }
-
- public AuctionItem(UUID owner, UUID highestBidder, ItemStack originalItem, AuctionItemCategory category, UUID key, double basePrice, double bidStartPrice, double bidIncPrice, double currentPrice, int remainingTime, boolean expired) {
- this.owner = owner;
- this.highestBidder = highestBidder;
- this.rawItem = AuctionAPI.getInstance().serializeItem(originalItem);
- this.category = category;
- this.key = key;
- this.basePrice = basePrice;
- this.bidStartPrice = bidStartPrice;
- this.bidIncPrice = bidIncPrice;
- this.currentPrice = currentPrice;
- this.remainingTime = remainingTime;
- this.expired = expired;
- }
-
- public void updateRemainingTime(int removeAmount) {
- this.remainingTime = Math.max(this.remainingTime - removeAmount, 0);
- if (this.remainingTime <= 0) this.expired = true;
- }
-
- public String getItemName() {
- ItemStack stack = AuctionAPI.getInstance().deserializeItem(this.rawItem);
- if (stack == null) return "Invalid Item";
- if (!stack.hasItemMeta()) return WordUtils.capitalize(stack.getType().name().toLowerCase().replace("_", " "));
- return stack.getItemMeta().hasDisplayName() ? ChatColor.stripColor(stack.getItemMeta().getDisplayName()) : WordUtils.capitalize(stack.getType().name().toLowerCase().replace("_", " "));
- }
-
- public ItemStack getDisplayStack(AuctionStackType type) {
- ItemStack itemStack = AuctionAPI.getInstance().deserializeItem(this.rawItem).clone();
- itemStack.setAmount(Math.max(itemStack.getAmount(), 1));
- ItemMeta meta = itemStack.hasItemMeta() ? itemStack.getItemMeta() : Bukkit.getItemFactory().getItemMeta(itemStack.getType());
- List lore = (meta.hasLore()) ? meta.getLore() : new ArrayList<>();
-
- String theSeller = (this.owner == null) ? "&eSeller Name???" : Bukkit.getOfflinePlayer(this.owner).getName();
- String highestBidder = (this.bidStartPrice <= 0 || this.bidIncPrice <= 0) ? "" : (this.owner.equals(this.highestBidder)) ? Bukkit.getOfflinePlayer(this.owner).getName() : Bukkit.getOfflinePlayer(this.highestBidder).getName();
-
-// String basePrice = this.basePrice == -1 || !Settings.ALLOW_USAGE_OF_BUY_NOW_SYSTEM.getBoolean() && this.bidStartPrice >= 1 ? Settings.AUCTION_PURCHASE_CONTROLS_BUY_NOW_OFF_FOR_BID.getString() : Settings.USE_SHORT_NUMBERS_ON_ITEMS.getBoolean() ? AuctionAPI.getInstance().getFriendlyNumber(this.basePrice) : AuctionAPI.getInstance().formatNumber(this.basePrice);// base
-//
-// String bidIncPrice = (this.bidStartPrice <= 0 || this.bidIncPrice <= 0) ? "0" : Settings.USE_SHORT_NUMBERS_ON_ITEMS.getBoolean() ? AuctionAPI.getInstance().getFriendlyNumber(this.bidIncPrice) : AuctionAPI.getInstance().formatNumber(this.bidIncPrice);
-// String currentPrice = (this.bidStartPrice <= 0 || this.bidIncPrice <= 0) ? "0" : Settings.USE_SHORT_NUMBERS_ON_ITEMS.getBoolean() ? AuctionAPI.getInstance().getFriendlyNumber(this.currentPrice) : AuctionAPI.getInstance().formatNumber(this.currentPrice);
-//
-// long[] times = AuctionAPI.getInstance().getRemainingTimeValues(this.remainingTime);
-// List preLore = type == AuctionStackType.MAIN_AUCTION_HOUSE ? this.bidStartPrice <= 0 || this.bidIncPrice <= 0 ? Settings.AUCTION_ITEM_AUCTION_STACK.getStringList() : Settings.AUCTION_ITEM_AUCTION_STACK_WITH_BID.getStringList() : this.bidStartPrice <= 0 ? Settings.AUCTION_ITEM_LISTING_STACK.getStringList() : Settings.AUCTION_ITEM_LISTING_STACK_WITH_BID.getStringList();
-//
-// lore.addAll(preLore.stream().map(line -> TextUtils.formatText(line
-// .replace("%seller%", theSeller != null ? theSeller : "&eUnknown Seller")
-// .replace("%buynowprice%", basePrice)
-// .replace("%currentprice%", currentPrice)
-// .replace("%bidincrement%", bidIncPrice)
-// .replace("%highestbidder%", highestBidder != null ? highestBidder : "&eUnknown Bidder")
-// .replace("%remaining_days%", String.valueOf(times[0]))
-// .replace("%remaining_hours%", String.valueOf(times[1]))
-// .replace("%remaining_minutes%", String.valueOf(times[2]))
-// .replace("%remaining_seconds%", String.valueOf(times[3])))).collect(Collectors.toList()));
-//
-// if (type == AuctionStackType.MAIN_AUCTION_HOUSE) {
-// lore.addAll(Settings.AUCTION_PURCHASE_CONTROL_HEADER.getStringList().stream().map(TextUtils::formatText).collect(Collectors.toList()));
-// lore.addAll(this.bidStartPrice <= 0 || this.bidIncPrice <= 0 || !Settings.ALLOW_USAGE_OF_BUY_NOW_SYSTEM.getBoolean() ? Settings.AUCTION_PURCHASE_CONTROLS_BID_OFF.getStringList().stream().map(TextUtils::formatText).collect(Collectors.toList()) : Settings.AUCTION_PURCHASE_CONTROLS_BID_ON.getStringList().stream().map(TextUtils::formatText).collect(Collectors.toList()));
-//
-// if (NBTEditor.contains(itemStack, "AuctionBundleItem") || (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_11) && itemStack.getType().name().contains("SHULKER_BOX"))) {
-// lore.addAll(Settings.AUCTION_PURCHASE_CONTROLS_INSPECTION.getStringList().stream().map(TextUtils::formatText).collect(Collectors.toList()));
-// }
-//
-// lore.addAll(Settings.AUCTION_PURCHASE_CONTROL_FOOTER.getStringList().stream().map(TextUtils::formatText).collect(Collectors.toList()));
-// } else {
-// if (Settings.ALLOW_PLAYERS_TO_ACCEPT_BID.getBoolean() && this.bidStartPrice >= 1 || this.bidIncPrice >= 1) {
-// if (!this.owner.equals(this.highestBidder)) {
-// lore.addAll(Settings.AUCTION_PURCHASE_CONTROLS_ACCEPT_BID.getStringList().stream().map(TextUtils::formatText).collect(Collectors.toList()));
-// }
-// }
-// }
-
- meta.setLore(lore);
- itemStack.setItemMeta(meta);
- itemStack = NBTEditor.set(itemStack, getKey().toString(), "AuctionItemKey");
- return itemStack;
- }
-}
diff --git a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionPlayer.java b/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionPlayer.java
index ccd74c8..243c27a 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionPlayer.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionPlayer.java
@@ -1,6 +1,9 @@
package ca.tweetzy.auctionhouse.auction;
import ca.tweetzy.auctionhouse.AuctionHouse;
+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.settings.Settings;
import lombok.Getter;
import lombok.Setter;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionedItem.java b/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionedItem.java
index d5e9f75..0bcc179 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionedItem.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionedItem.java
@@ -2,6 +2,8 @@ package ca.tweetzy.auctionhouse.auction;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionStackType;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.core.compatibility.ServerVersion;
import ca.tweetzy.core.utils.TextUtils;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionItemCategory.java b/src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionItemCategory.java
similarity index 98%
rename from src/main/java/ca/tweetzy/auctionhouse/auction/AuctionItemCategory.java
rename to src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionItemCategory.java
index 6153452..276562c 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionItemCategory.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionItemCategory.java
@@ -1,4 +1,4 @@
-package ca.tweetzy.auctionhouse.auction;
+package ca.tweetzy.auctionhouse.auction.enums;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.settings.Settings;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionSaleType.java b/src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionSaleType.java
similarity index 95%
rename from src/main/java/ca/tweetzy/auctionhouse/auction/AuctionSaleType.java
rename to src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionSaleType.java
index 11b4caa..5fda007 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionSaleType.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionSaleType.java
@@ -1,4 +1,4 @@
-package ca.tweetzy.auctionhouse.auction;
+package ca.tweetzy.auctionhouse.auction.enums;
import ca.tweetzy.auctionhouse.AuctionHouse;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionSortType.java b/src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionSortType.java
similarity index 95%
rename from src/main/java/ca/tweetzy/auctionhouse/auction/AuctionSortType.java
rename to src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionSortType.java
index 874d6d2..330127a 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionSortType.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionSortType.java
@@ -1,4 +1,4 @@
-package ca.tweetzy.auctionhouse.auction;
+package ca.tweetzy.auctionhouse.auction.enums;
import ca.tweetzy.auctionhouse.AuctionHouse;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionStackType.java b/src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionStackType.java
similarity index 86%
rename from src/main/java/ca/tweetzy/auctionhouse/auction/AuctionStackType.java
rename to src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionStackType.java
index 487aa1f..3878063 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/auction/AuctionStackType.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/auction/enums/AuctionStackType.java
@@ -1,4 +1,4 @@
-package ca.tweetzy.auctionhouse.auction;
+package ca.tweetzy.auctionhouse.auction.enums;
/**
* The current file has been created by Kiran Hart
diff --git a/src/main/java/ca/tweetzy/auctionhouse/commands/CommandFilter.java b/src/main/java/ca/tweetzy/auctionhouse/commands/CommandFilter.java
index 2a5e37d..5735479 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/commands/CommandFilter.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/commands/CommandFilter.java
@@ -3,7 +3,7 @@ package ca.tweetzy.auctionhouse.commands;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.auction.AuctionFilterItem;
-import ca.tweetzy.auctionhouse.auction.AuctionItemCategory;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import ca.tweetzy.auctionhouse.guis.filter.GUIFilterWhitelist;
import ca.tweetzy.auctionhouse.helpers.PlayerHelper;
import ca.tweetzy.core.commands.AbstractCommand;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/commands/CommandMigrate.java b/src/main/java/ca/tweetzy/auctionhouse/commands/CommandMigrate.java
index 835ab13..1e49f2e 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/commands/CommandMigrate.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/commands/CommandMigrate.java
@@ -22,22 +22,7 @@ public class CommandMigrate extends AbstractCommand {
@Override
protected ReturnType runCommand(CommandSender sender, String... args) {
- if (args.length == 0) {
- AuctionHouse.getInstance().getLocale().newMessage(TextUtils.formatText("&cUse '/ah migrate confirm' to confirm the migration, please sure that you have made a backup of your auction house data.yml / auction house database tables. Although everything should work fine, there is always a chance that something wil go wrong.")).sendPrefixedMessage(sender);
- return ReturnType.FAILURE;
- }
-
- if (args.length == 1 && !args[0].equalsIgnoreCase("confirm")) return ReturnType.SYNTAX_ERROR;
-
- // Begin migration
- AuctionHouse.getInstance().getLocale().newMessage(TextUtils.formatText("&cMIGRATION STARTED")).sendPrefixedMessage(sender);
- AuctionHouse.getInstance().getLocale().newMessage(TextUtils.formatText("&eAuction House usage will be disabled until it is finished, this may take some time depending on how many items you have stored.")).sendPrefixedMessage(sender);
- AuctionHouse.getInstance().getDataManager().migrateFromSerializationFormat(items -> {
- AuctionHouse.getInstance().getLocale().newMessage(TextUtils.formatText("&aMIGRATION FINISHED")).sendPrefixedMessage(sender);
- AuctionHouse.getInstance().getLocale().newMessage(TextUtils.formatText("&eConverted a total of " + items.size() + " to new format")).sendPrefixedMessage(sender);
- AuctionHouse.getInstance().getLocale().newMessage(TextUtils.formatText("&eYou can now use the auction house safely")).sendPrefixedMessage(sender);
- });
-
+ AuctionHouse.getInstance().getLocale().newMessage(TextUtils.formatText("&cMigration support for v1 has been dropped since 2.53.0, use 2.52.0 or lower to migrate first.")).sendPrefixedMessage(sender);
return ReturnType.SUCCESS;
}
diff --git a/src/main/java/ca/tweetzy/auctionhouse/commands/CommandSell.java b/src/main/java/ca/tweetzy/auctionhouse/commands/CommandSell.java
index 1e3787c..c93554d 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/commands/CommandSell.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/commands/CommandSell.java
@@ -3,7 +3,7 @@ package ca.tweetzy.auctionhouse.commands;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.guis.GUIBundleCreation;
import ca.tweetzy.auctionhouse.guis.GUISellItem;
import ca.tweetzy.auctionhouse.guis.confirmation.GUIConfirmListing;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/database/DataManager.java b/src/main/java/ca/tweetzy/auctionhouse/database/DataManager.java
index 92378cf..5185408 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/database/DataManager.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/database/DataManager.java
@@ -3,6 +3,8 @@ package ca.tweetzy.auctionhouse.database;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.auction.*;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.auctionhouse.transaction.Transaction;
import ca.tweetzy.core.database.DataManagerAbstract;
@@ -393,83 +395,6 @@ public class DataManager extends DataManagerAbstract {
}));
}
- public void migrateFromSerializationFormat(Consumer> callback) {
- AuctionHouse.getInstance().setMigrating(true);
- ArrayList items = new ArrayList<>();
- this.async(() -> this.databaseConnector.connect(connection -> {
- if (Settings.DATABASE_USE.getBoolean()) {
- String select = "SELECT * FROM " + this.getTablePrefix() + "items";
- try (Statement statement = connection.createStatement()) {
- ResultSet result = statement.executeQuery(select);
- while (result.next()) {
- items.add((AuctionItem) AuctionAPI.getInstance().convertBase64ToObject(result.getString("data")));
- }
- }
- } else {
- if (AuctionHouse.getInstance().getData().contains("auction items") && AuctionHouse.getInstance().getData().isList("auction items")) {
- items.addAll(AuctionHouse.getInstance().getData().getStringList("auction items").stream().map(AuctionAPI.getInstance()::convertBase64ToObject).map(object -> (AuctionItem) object).collect(Collectors.toList()));
- AuctionHouse.getInstance().getData().set("auction items", null);
- AuctionHouse.getInstance().getData().save();
- }
- }
-
- List newItems = new ArrayList<>();
- items.forEach(item -> {
- OfflinePlayer owner = Bukkit.getOfflinePlayer(item.getOwner());
- OfflinePlayer highestBidder = Bukkit.getOfflinePlayer(item.getHighestBidder());
- newItems.add(new AuctionedItem(
- item.getKey(),
- item.getOwner(),
- item.getHighestBidder(),
- owner.getName() != null ? owner.getName() : "Unknown",
- highestBidder.getName() != null ? highestBidder.getName() : "Unknown",
- item.getCategory(),
- AuctionAPI.getInstance().deserializeItem(item.getRawItem()),
- item.getBasePrice(),
- item.getBidStartPrice(),
- item.getBidIncPrice(),
- item.getCurrentPrice(),
- item.getBidStartPrice() >= 1 || item.getBidIncPrice() >= 1,
- item.isExpired(),
- System.currentTimeMillis() + 1000L * item.getRemainingTime()
- ));
- });
-
- String saveItems = "INSERT INTO " + this.getTablePrefix() + "auctions(id, owner, highest_bidder, owner_name, highest_bidder_name, category, base_price, bid_start_price, bid_increment_price, current_price, expired, expires_at, item_material, item_name, item_lore, item_enchants, item) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
- PreparedStatement statement = connection.prepareStatement(saveItems);
- newItems.forEach(item -> {
- try {
- statement.setString(1, item.getId().toString());
- statement.setString(2, item.getOwner().toString());
- statement.setString(3, item.getHighestBidder().toString());
- statement.setString(4, item.getOwnerName());
- statement.setString(5, item.getHighestBidderName());
- statement.setString(6, item.getCategory().name());
- statement.setDouble(7, item.getBasePrice());
- statement.setDouble(8, item.getBidStartingPrice());
- statement.setDouble(9, item.getBidIncrementPrice());
- statement.setDouble(10, item.getCurrentPrice());
- statement.setBoolean(11, item.isExpired());
- statement.setLong(12, item.getExpiresAt());
- statement.setString(13, item.getItem().getType().name());
- statement.setString(14, AuctionAPI.getInstance().getItemName(item.getItem()));
- statement.setString(15, AuctionAPI.getInstance().serializeLines(AuctionAPI.getInstance().getItemLore(item.getItem())));
- statement.setString(16, AuctionAPI.getInstance().serializeLines(AuctionAPI.getInstance().getItemEnchantments(item.getItem())));
- statement.setString(17, AuctionAPI.encodeItem(item.getItem()));
- statement.addBatch();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- });
- statement.executeBatch();
- this.sync(() -> {
- AuctionHouse.getInstance().setMigrating(false);
- newItems.forEach(item -> AuctionHouse.getInstance().getAuctionItemManager().addAuctionItem(item));
- callback.accept(newItems);
- });
- }));
- }
-
private AuctionedItem extractAuctionedItem(ResultSet resultSet) throws SQLException {
AuctionedItem auctionItem = new AuctionedItem(
UUID.fromString(resultSet.getString("id")),
diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/GUIActiveAuctions.java b/src/main/java/ca/tweetzy/auctionhouse/guis/GUIActiveAuctions.java
index 8c5befb..b909bb9 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/GUIActiveAuctions.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/GUIActiveAuctions.java
@@ -2,7 +2,7 @@ package ca.tweetzy.auctionhouse.guis;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
-import ca.tweetzy.auctionhouse.auction.AuctionStackType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionStackType;
import ca.tweetzy.auctionhouse.auction.AuctionedItem;
import ca.tweetzy.auctionhouse.guis.confirmation.GUIConfirmCancel;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java b/src/main/java/ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java
index eecfa09..54a8177 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/GUIAuctionHouse.java
@@ -5,6 +5,10 @@ import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.api.events.AuctionBidEvent;
import ca.tweetzy.auctionhouse.api.hook.FloodGateHook;
import ca.tweetzy.auctionhouse.auction.*;
+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.auction.enums.AuctionStackType;
import ca.tweetzy.auctionhouse.guis.confirmation.GUIConfirmBid;
import ca.tweetzy.auctionhouse.guis.confirmation.GUIConfirmPurchase;
import ca.tweetzy.auctionhouse.guis.filter.GUIFilterSelection;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/GUISellItem.java b/src/main/java/ca/tweetzy/auctionhouse/guis/GUISellItem.java
index d9ec265..682b219 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/GUISellItem.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/GUISellItem.java
@@ -3,7 +3,7 @@ package ca.tweetzy.auctionhouse.guis;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.core.compatibility.XMaterial;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmCancel.java b/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmCancel.java
index 837ba5f..d2f8252 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmCancel.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmCancel.java
@@ -2,7 +2,7 @@ package ca.tweetzy.auctionhouse.guis.confirmation;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
-import ca.tweetzy.auctionhouse.auction.AuctionStackType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionStackType;
import ca.tweetzy.auctionhouse.auction.AuctionedItem;
import ca.tweetzy.auctionhouse.guis.GUIActiveAuctions;
import ca.tweetzy.auctionhouse.settings.Settings;
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 70470cc..8aaf13a 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmPurchase.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/confirmation/GUIConfirmPurchase.java
@@ -4,7 +4,7 @@ import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.api.events.AuctionEndEvent;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.auction.AuctionedItem;
import ca.tweetzy.auctionhouse.exception.ItemNotFoundException;
import ca.tweetzy.auctionhouse.guis.GUIAuctionHouse;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterSelection.java b/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterSelection.java
index 5457006..6149dc2 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterSelection.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterSelection.java
@@ -2,7 +2,7 @@ package ca.tweetzy.auctionhouse.guis.filter;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
-import ca.tweetzy.auctionhouse.auction.AuctionItemCategory;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
import ca.tweetzy.auctionhouse.guis.GUIAuctionHouse;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterWhitelist.java b/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterWhitelist.java
index 13df672..9f61987 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterWhitelist.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterWhitelist.java
@@ -1,6 +1,6 @@
package ca.tweetzy.auctionhouse.guis.filter;
-import ca.tweetzy.auctionhouse.auction.AuctionItemCategory;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.core.gui.Gui;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterWhitelistList.java b/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterWhitelistList.java
index 9d25d0c..81546d2 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterWhitelistList.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/filter/GUIFilterWhitelistList.java
@@ -2,7 +2,7 @@ package ca.tweetzy.auctionhouse.guis.filter;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.auction.AuctionFilterItem;
-import ca.tweetzy.auctionhouse.auction.AuctionItemCategory;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.core.gui.Gui;
import ca.tweetzy.core.utils.TextUtils;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionView.java b/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionView.java
index c038850..6e2535c 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionView.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/guis/transaction/GUITransactionView.java
@@ -3,7 +3,7 @@ package ca.tweetzy.auctionhouse.guis.transaction;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.auctionhouse.transaction.Transaction;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/helpers/MaterialCategorizer.java b/src/main/java/ca/tweetzy/auctionhouse/helpers/MaterialCategorizer.java
index 1b3d2dc..26c107b 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/helpers/MaterialCategorizer.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/helpers/MaterialCategorizer.java
@@ -1,6 +1,6 @@
package ca.tweetzy.auctionhouse.helpers;
-import ca.tweetzy.auctionhouse.auction.AuctionItemCategory;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import ca.tweetzy.core.compatibility.XMaterial;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/listeners/AuctionListeners.java b/src/main/java/ca/tweetzy/auctionhouse/listeners/AuctionListeners.java
index 6d2ac8e..4c5a200 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/listeners/AuctionListeners.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/listeners/AuctionListeners.java
@@ -5,7 +5,7 @@ import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.api.events.AuctionBidEvent;
import ca.tweetzy.auctionhouse.api.events.AuctionEndEvent;
import ca.tweetzy.auctionhouse.api.events.AuctionStartEvent;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.auction.AuctionStat;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.auctionhouse.transaction.Transaction;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/managers/FilterManager.java b/src/main/java/ca/tweetzy/auctionhouse/managers/FilterManager.java
index d8c4a4e..67dfe39 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/managers/FilterManager.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/managers/FilterManager.java
@@ -3,7 +3,7 @@ package ca.tweetzy.auctionhouse.managers;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.auction.AuctionFilterItem;
-import ca.tweetzy.auctionhouse.auction.AuctionItemCategory;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import org.bukkit.inventory.ItemStack;
import java.util.ArrayList;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/settings/LocaleSettings.java b/src/main/java/ca/tweetzy/auctionhouse/settings/LocaleSettings.java
index 686fd32..cca3ea3 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/settings/LocaleSettings.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/settings/LocaleSettings.java
@@ -135,6 +135,10 @@ public class LocaleSettings {
languageNodes.put("auction.tax.cannotpaylistingfee", "&cYou do not have enough money to pay the listing fee &f(&4$%price%&f)");
languageNodes.put("auction.tax.paidlistingfee", "&aPaid &2$%price%&a listing fee");
+ languageNodes.put("admin action.return", "Returned");
+ languageNodes.put("admin action.claim", "Claimed");
+ languageNodes.put("admin action.delete", "Deleted");
+ languageNodes.put("admin action.copy", "Copied");
languageNodes.put("commands.invalid_syntax", "&7The valid syntax is: &6%syntax%&7.");
languageNodes.put("commands.no_permission", "&dYou do not have permission to do that.");
diff --git a/src/main/java/ca/tweetzy/auctionhouse/settings/Settings.java b/src/main/java/ca/tweetzy/auctionhouse/settings/Settings.java
index ae8d89c..147623a 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/settings/Settings.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/settings/Settings.java
@@ -55,6 +55,7 @@ public class Settings {
public static final ConfigSetting PREVENT_SALE_OF_REPAIRED_ITEMS = new ConfigSetting(config, "auction setting.prevent sale of repaired items", false, "Items repaired before this setting is turned on will still be able to be listed.");
public static final ConfigSetting SYNCHRONIZE_ITEM_ADD = new ConfigSetting(config, "auction setting.synchronize item add", false, "If an item is being added to a player's inventory, the process will be ran synchronously");
public static final ConfigSetting ITEM_COPY_REQUIRES_GMC = new ConfigSetting(config, "auction setting.admin copy requires creative", false, "If true when using the admin copy option the player must be in creative");
+ public static final ConfigSetting LOG_ADMIN_ACTIONS = new ConfigSetting(config, "auction setting.log admin actions", true, "If true, any admin actions made will be logged");
public static final ConfigSetting TICK_UPDATE_TIME = new ConfigSetting(config, "auction setting.tick auctions every", 1, "How many seconds should pass before the plugin updates all the times on items?");
public static final ConfigSetting CLAIM_MS_DELAY = new ConfigSetting(config, "auction setting.item claim delay", 100, "How many ms should a player wait before being allowed to claim an item?, Ideally you don't wanna change this. It's meant to prevent auto clicker dupe claims");
diff --git a/src/main/java/ca/tweetzy/auctionhouse/tasks/TickAuctionsTask.java b/src/main/java/ca/tweetzy/auctionhouse/tasks/TickAuctionsTask.java
index ea44584..f13ff44 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/tasks/TickAuctionsTask.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/tasks/TickAuctionsTask.java
@@ -3,7 +3,7 @@ package ca.tweetzy.auctionhouse.tasks;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.api.events.AuctionEndEvent;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import ca.tweetzy.auctionhouse.auction.AuctionStat;
import ca.tweetzy.auctionhouse.auction.AuctionedItem;
import ca.tweetzy.auctionhouse.settings.Settings;
diff --git a/src/main/java/ca/tweetzy/auctionhouse/transaction/Transaction.java b/src/main/java/ca/tweetzy/auctionhouse/transaction/Transaction.java
index 62c3d8a..2c5ada6 100644
--- a/src/main/java/ca/tweetzy/auctionhouse/transaction/Transaction.java
+++ b/src/main/java/ca/tweetzy/auctionhouse/transaction/Transaction.java
@@ -1,6 +1,6 @@
package ca.tweetzy.auctionhouse.transaction;
-import ca.tweetzy.auctionhouse.auction.AuctionSaleType;
+import ca.tweetzy.auctionhouse.auction.enums.AuctionSaleType;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;