+ PAPER
ADVENTURE
1
diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml
index 64288af..6a1bd92 100644
--- a/dependency-reduced-pom.xml
+++ b/dependency-reduced-pom.xml
@@ -2,34 +2,29 @@
4.0.0
pt.henrique
- CommunityMarket
+ communitymarket
CommunityMarket
1.0.0
- A GUI-only marketplace plugin for Minecraft Paper servers
+ A comprehensive player-to-player marketplace plugin with sales, auctions, and negotiations
- clean package
true
src/main/resources
- ${project.name}-${project.version}
maven-compiler-plugin
- 3.13.0
+ 3.12.1
- ${java.version}
- ${java.version}
-
- --enable-preview
-
+ 21
+ 21
maven-shade-plugin
- 3.5.3
+ 3.5.1
package
@@ -40,44 +35,36 @@
com.zaxxer.hikari
- pt.henrique.communityMarket.lib.hikari
+ pt.henrique.communitymarket.libs.hikari
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
+ true
+
+ com.modrinth.minotaur
+ Minotaur
+ 2.8.7
+
- papermc-repo
+ papermc
https://repo.papermc.io/repository/maven-public/
jitpack.io
https://jitpack.io
-
- essentials-releases
- https://repo.essentialsx.net/releases/
-
io.papermc.paper
paper-api
- 1.21.4-R0.1-SNAPSHOT
+ 1.21.1-R0.1-SNAPSHOT
provided
@@ -86,15 +73,11 @@
1.7.1
provided
-
- net.essentialsx
- EssentialsX
- 2.20.1
- provided
-
- 21
+ 21
+ 21
UTF-8
+ 1.21.1-R0.1-SNAPSHOT
diff --git a/pom.xml b/pom.xml
index 97a43a8..f77ff05 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,38 +5,82 @@
4.0.0
pt.henrique
- CommunityMarket
+ communitymarket
1.0.0
jar
CommunityMarket
- A GUI-only marketplace plugin for Minecraft Paper servers
+ A comprehensive player-to-player marketplace plugin with sales, auctions, and negotiations
- 21
+ 21
+ 21
UTF-8
+ 1.21.1-R0.1-SNAPSHOT
+
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+
+
+
+ io.papermc.paper
+ paper-api
+ ${paper.version}
+ provided
+
+
+
+
+ com.github.MilkBowl
+ VaultAPI
+ 1.7.1
+ provided
+
+
+
+
+
+ com.zaxxer
+ HikariCP
+ 5.1.0
+
+
+
+
+ org.xerial
+ sqlite-jdbc
+ 3.45.1.0
+
+
+
- clean package
- ${project.name}-${project.version}
org.apache.maven.plugins
maven-compiler-plugin
- 3.13.0
+ 3.12.1
- ${java.version}
- ${java.version}
-
- --enable-preview
-
+ 21
+ 21
+
org.apache.maven.plugins
maven-shade-plugin
- 3.5.3
+ 3.5.1
package
@@ -47,24 +91,23 @@
com.zaxxer.hikari
- pt.henrique.communityMarket.lib.hikari
+ pt.henrique.communitymarket.libs.hikari
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
+ true
+
+
+
+ com.modrinth.minotaur
+ Minotaur
+ 2.8.7
+
+
src/main/resources
@@ -73,52 +116,4 @@
-
-
- papermc-repo
- https://repo.papermc.io/repository/maven-public/
-
-
- jitpack.io
- https://jitpack.io
-
-
- essentials-releases
- https://repo.essentialsx.net/releases/
-
-
-
-
-
-
- io.papermc.paper
- paper-api
- 1.21.4-R0.1-SNAPSHOT
- provided
-
-
-
-
- com.github.MilkBowl
- VaultAPI
- 1.7.1
- provided
-
-
-
-
- net.essentialsx
- EssentialsX
- 2.20.1
- provided
-
-
-
-
- com.zaxxer
- HikariCP
- 5.1.0
- compile
-
-
-
+
\ No newline at end of file
diff --git a/src/main/java/pt/henrique/communityMarket/economy/EconomyManager.java b/src/main/java/pt/henrique/communityMarket/economy/EconomyManager.java
index 7eac470..0f182d1 100644
--- a/src/main/java/pt/henrique/communityMarket/economy/EconomyManager.java
+++ b/src/main/java/pt/henrique/communityMarket/economy/EconomyManager.java
@@ -10,89 +10,46 @@ import java.util.UUID;
import java.util.logging.Level;
/**
- * Manages economy operations with support for Vault and EssentialsX fallback.
+ * Manages economy operations using Vault.
*
- * Priority: Vault > EssentialsX
- * If neither is available, the plugin will disable itself.
+ * Vault provides a unified economy API that works with many economy plugins
+ * including EssentialsX, CMI, and others.
*/
public class EconomyManager {
private final CommunityMarket plugin;
private Economy vaultEconomy;
- private com.earth2me.essentials.Essentials essentials;
- private EconomyProvider provider = EconomyProvider.NONE;
-
- public enum EconomyProvider {
- VAULT,
- ESSENTIALS,
- NONE
- }
public EconomyManager(CommunityMarket plugin) {
this.plugin = plugin;
}
/**
- * Attempts to set up an economy provider.
- * Tries Vault first, then EssentialsX.
+ * Attempts to set up the Vault economy provider.
*
- * @return true if an economy provider was found
+ * @return true if Vault economy was found
*/
public boolean setupEconomy() {
- // Try Vault first
- if (setupVault()) {
- provider = EconomyProvider.VAULT;
- plugin.getLogger().info("Using Vault as economy provider.");
- return true;
- }
-
- // Fallback to EssentialsX
- if (setupEssentials()) {
- provider = EconomyProvider.ESSENTIALS;
- plugin.getLogger().info("Using EssentialsX as economy provider.");
- return true;
- }
-
- plugin.getLogger().severe("No economy provider found!");
- return false;
- }
-
- /**
- * Attempts to hook into Vault economy
- */
- private boolean setupVault() {
if (Bukkit.getPluginManager().getPlugin("Vault") == null) {
+ plugin.getLogger().severe("Vault plugin not found!");
return false;
}
try {
RegisteredServiceProvider rsp = Bukkit.getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
- plugin.getLogger().warning("Vault found but no economy provider registered.");
+ plugin.getLogger().severe("No economy provider registered with Vault! Please install an economy plugin like EssentialsX.");
return false;
}
vaultEconomy = rsp.getProvider();
- return vaultEconomy != null;
- } catch (Exception e) {
- plugin.getLogger().log(Level.WARNING, "Failed to hook into Vault", e);
+ if (vaultEconomy != null) {
+ plugin.getLogger().info("Using Vault economy provider: " + vaultEconomy.getName());
+ return true;
+ }
return false;
- }
- }
-
- /**
- * Attempts to hook into EssentialsX economy
- */
- private boolean setupEssentials() {
- if (Bukkit.getPluginManager().getPlugin("Essentials") == null) {
- return false;
- }
-
- try {
- essentials = (com.earth2me.essentials.Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
- return essentials != null && essentials.isEnabled();
} catch (Exception e) {
- plugin.getLogger().log(Level.WARNING, "Failed to hook into EssentialsX", e);
+ plugin.getLogger().log(Level.SEVERE, "Failed to hook into Vault economy", e);
return false;
}
}
@@ -101,11 +58,7 @@ public class EconomyManager {
* Gets the name of the active economy provider
*/
public String getProviderName() {
- return switch (provider) {
- case VAULT -> "Vault (" + (vaultEconomy != null ? vaultEconomy.getName() : "Unknown") + ")";
- case ESSENTIALS -> "EssentialsX";
- case NONE -> "None";
- };
+ return vaultEconomy != null ? "Vault (" + vaultEconomy.getName() + ")" : "None";
}
/**
@@ -115,20 +68,9 @@ public class EconomyManager {
* @return The player's balance
*/
public double getBalance(UUID playerUuid) {
+ if (vaultEconomy == null) return 0.0;
OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid);
-
- return switch (provider) {
- case VAULT -> vaultEconomy.getBalance(player);
- case ESSENTIALS -> {
- try {
- yield essentials.getUser(playerUuid).getMoney().doubleValue();
- } catch (Exception e) {
- plugin.getLogger().log(Level.WARNING, "Failed to get balance from EssentialsX", e);
- yield 0.0;
- }
- }
- case NONE -> 0.0;
- };
+ return vaultEconomy.getBalance(player);
}
/**
@@ -151,31 +93,13 @@ public class EconomyManager {
*/
public boolean withdraw(UUID playerUuid, double amount) {
if (amount <= 0) return true;
+ if (vaultEconomy == null) return false;
OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid);
-
- return switch (provider) {
- case VAULT -> {
- if (!vaultEconomy.has(player, amount)) {
- yield false;
- }
- yield vaultEconomy.withdrawPlayer(player, amount).transactionSuccess();
- }
- case ESSENTIALS -> {
- try {
- var user = essentials.getUser(playerUuid);
- if (user.getMoney().doubleValue() < amount) {
- yield false;
- }
- user.setMoney(user.getMoney().subtract(java.math.BigDecimal.valueOf(amount)));
- yield true;
- } catch (Exception e) {
- plugin.getLogger().log(Level.WARNING, "Failed to withdraw from EssentialsX", e);
- yield false;
- }
- }
- case NONE -> false;
- };
+ if (!vaultEconomy.has(player, amount)) {
+ return false;
+ }
+ return vaultEconomy.withdrawPlayer(player, amount).transactionSuccess();
}
/**
@@ -187,23 +111,10 @@ public class EconomyManager {
*/
public boolean deposit(UUID playerUuid, double amount) {
if (amount <= 0) return true;
+ if (vaultEconomy == null) return false;
OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid);
-
- return switch (provider) {
- case VAULT -> vaultEconomy.depositPlayer(player, amount).transactionSuccess();
- case ESSENTIALS -> {
- try {
- var user = essentials.getUser(playerUuid);
- user.setMoney(user.getMoney().add(java.math.BigDecimal.valueOf(amount)));
- yield true;
- } catch (Exception e) {
- plugin.getLogger().log(Level.WARNING, "Failed to deposit to EssentialsX", e);
- yield false;
- }
- }
- case NONE -> false;
- };
+ return vaultEconomy.depositPlayer(player, amount).transactionSuccess();
}
/**
@@ -238,17 +149,9 @@ public class EconomyManager {
* @return Formatted currency string
*/
public String format(double amount) {
- if (provider == EconomyProvider.VAULT && vaultEconomy != null) {
+ if (vaultEconomy != null) {
return vaultEconomy.format(amount);
}
return plugin.getMessageManager().formatCurrency(amount);
}
-
- /**
- * Gets the economy provider type
- */
- public EconomyProvider getProvider() {
- return provider;
- }
}
-
diff --git a/src/main/java/pt/henrique/communityMarket/gui/CreateAuctionGui.java b/src/main/java/pt/henrique/communityMarket/gui/CreateAuctionGui.java
index 2aa0a62..50faa2b 100644
--- a/src/main/java/pt/henrique/communityMarket/gui/CreateAuctionGui.java
+++ b/src/main/java/pt/henrique/communityMarket/gui/CreateAuctionGui.java
@@ -337,7 +337,7 @@ public class CreateAuctionGui implements MarketGui {
Bukkit.getScheduler().runTask(plugin, () -> {
if (result.isSuccess()) {
// Remove items from inventory AFTER successful creation
- InventoryUtil.removeItems(player, auctionItem, auctionItem.getAmount());
+ InventoryUtil.removeItem(player, auctionItem, auctionItem.getAmount());
player.sendMessage(msgManager.getPrefixed("messages.auction-created",
"id", String.valueOf(result.getId())));
diff --git a/src/main/java/pt/henrique/communityMarket/gui/CreateListingGui.java b/src/main/java/pt/henrique/communityMarket/gui/CreateListingGui.java
index 27120f3..50233b3 100644
--- a/src/main/java/pt/henrique/communityMarket/gui/CreateListingGui.java
+++ b/src/main/java/pt/henrique/communityMarket/gui/CreateListingGui.java
@@ -284,7 +284,7 @@ public class CreateListingGui implements MarketGui {
Bukkit.getScheduler().runTask(plugin, () -> {
if (result.isSuccess()) {
// Remove items from inventory AFTER successful creation
- InventoryUtil.removeItems(player, listItem, amount);
+ InventoryUtil.removeItem(player, listItem, amount);
player.sendMessage(msgManager.getPrefixed("messages.listing-created",
"id", String.valueOf(result.getId())));
diff --git a/target/classes/lang/en_US.yml b/target/classes/lang/en_US.yml
index a814f97..a4d4306 100644
--- a/target/classes/lang/en_US.yml
+++ b/target/classes/lang/en_US.yml
@@ -55,6 +55,7 @@ messages:
invalid-item: "&cPlease select a valid item."
item-no-longer-available: "&cThe selected item is no longer in your inventory."
item-changed: "&cThe selected item has changed. Please select again."
+ quantity-changed: "&cThe available quantity has changed. Please verify and try again."
blacklisted-item: "&cThis item type is not allowed on the market."
blacklisted-content: "&cThis item contains blacklisted content."
invalid-price: "&cInvalid price. Range: {min} - {max}"
@@ -75,6 +76,7 @@ gui-titles:
create-auction: "&8&lCreate Auction"
select-item-listing: "&8&lSelect Item to Sell"
select-item-auction: "&8&lSelect Item to Auction"
+ quantity-select: "&8&lSelect Quantity"
my-listings: "&8&lMy Listings"
my-auctions: "&8&lMy Auctions"
claim-items: "&8&lClaim Items"
diff --git a/target/classes/lang/pt_PT.yml b/target/classes/lang/pt_PT.yml
index 3735aed..6b1d6b8 100644
--- a/target/classes/lang/pt_PT.yml
+++ b/target/classes/lang/pt_PT.yml
@@ -55,6 +55,7 @@ messages:
invalid-item: "&cPor favor seleciona um item válido."
item-no-longer-available: "&cO item selecionado já não está no teu inventário."
item-changed: "&cO item selecionado foi alterado. Por favor seleciona novamente."
+ quantity-changed: "&cA quantidade disponível foi alterada. Por favor verifica e tenta novamente."
blacklisted-item: "&cEste tipo de item não é permitido no mercado."
blacklisted-content: "&cEste item contém conteúdo bloqueado."
invalid-price: "&cPreço inválido. Intervalo: {min} - {max}"
@@ -75,6 +76,7 @@ gui-titles:
create-auction: "&8&lCriar Leilão"
select-item-listing: "&8&lSelecionar Item para Vender"
select-item-auction: "&8&lSelecionar Item para Leilão"
+ quantity-select: "&8&lSelecionar Quantidade"
my-listings: "&8&lOs Meus Anúncios"
my-auctions: "&8&lOs Meus Leilões"
claim-items: "&8&lReclamar Itens"
diff --git a/target/classes/pt/henrique/communityMarket/economy/EconomyManager$EconomyProvider.class b/target/classes/pt/henrique/communityMarket/economy/EconomyManager$EconomyProvider.class
deleted file mode 100644
index 5a6bb57..0000000
Binary files a/target/classes/pt/henrique/communityMarket/economy/EconomyManager$EconomyProvider.class and /dev/null differ
diff --git a/target/classes/pt/henrique/communityMarket/economy/EconomyManager.class b/target/classes/pt/henrique/communityMarket/economy/EconomyManager.class
index f2bb469..df82d94 100644
Binary files a/target/classes/pt/henrique/communityMarket/economy/EconomyManager.class and b/target/classes/pt/henrique/communityMarket/economy/EconomyManager.class differ
diff --git a/target/classes/pt/henrique/communityMarket/gui/ClaimGui.class b/target/classes/pt/henrique/communityMarket/gui/ClaimGui.class
index 51172c6..6617c12 100644
Binary files a/target/classes/pt/henrique/communityMarket/gui/ClaimGui.class and b/target/classes/pt/henrique/communityMarket/gui/ClaimGui.class differ
diff --git a/target/classes/pt/henrique/communityMarket/gui/CreateAuctionGui.class b/target/classes/pt/henrique/communityMarket/gui/CreateAuctionGui.class
index 620f6fa..38615ff 100644
Binary files a/target/classes/pt/henrique/communityMarket/gui/CreateAuctionGui.class and b/target/classes/pt/henrique/communityMarket/gui/CreateAuctionGui.class differ
diff --git a/target/classes/pt/henrique/communityMarket/gui/CreateListingGui.class b/target/classes/pt/henrique/communityMarket/gui/CreateListingGui.class
index 0f6ee4e..4418890 100644
Binary files a/target/classes/pt/henrique/communityMarket/gui/CreateListingGui.class and b/target/classes/pt/henrique/communityMarket/gui/CreateListingGui.class differ
diff --git a/target/classes/pt/henrique/communityMarket/gui/ItemSelectionGui$SelectionMode.class b/target/classes/pt/henrique/communityMarket/gui/ItemSelectionGui$SelectionMode.class
index ecc0753..e1e708a 100644
Binary files a/target/classes/pt/henrique/communityMarket/gui/ItemSelectionGui$SelectionMode.class and b/target/classes/pt/henrique/communityMarket/gui/ItemSelectionGui$SelectionMode.class differ
diff --git a/target/classes/pt/henrique/communityMarket/gui/ItemSelectionGui.class b/target/classes/pt/henrique/communityMarket/gui/ItemSelectionGui.class
index f3bc99f..acc6973 100644
Binary files a/target/classes/pt/henrique/communityMarket/gui/ItemSelectionGui.class and b/target/classes/pt/henrique/communityMarket/gui/ItemSelectionGui.class differ
diff --git a/target/classes/pt/henrique/communityMarket/gui/MarketGui$GuiType.class b/target/classes/pt/henrique/communityMarket/gui/MarketGui$GuiType.class
index 5e0e7d6..e17d295 100644
Binary files a/target/classes/pt/henrique/communityMarket/gui/MarketGui$GuiType.class and b/target/classes/pt/henrique/communityMarket/gui/MarketGui$GuiType.class differ
diff --git a/target/classes/pt/henrique/communityMarket/util/InventoryUtil$ItemCategory.class b/target/classes/pt/henrique/communityMarket/util/InventoryUtil$ItemCategory.class
index 769010c..f47c23b 100644
Binary files a/target/classes/pt/henrique/communityMarket/util/InventoryUtil$ItemCategory.class and b/target/classes/pt/henrique/communityMarket/util/InventoryUtil$ItemCategory.class differ
diff --git a/target/classes/pt/henrique/communityMarket/util/InventoryUtil.class b/target/classes/pt/henrique/communityMarket/util/InventoryUtil.class
index f17a1cd..d5fbeb8 100644
Binary files a/target/classes/pt/henrique/communityMarket/util/InventoryUtil.class and b/target/classes/pt/henrique/communityMarket/util/InventoryUtil.class differ
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
index 6ff5736..dd5d5c3 100644
--- a/target/maven-archiver/pom.properties
+++ b/target/maven-archiver/pom.properties
@@ -1,3 +1,3 @@
-artifactId=CommunityMarket
+artifactId=communitymarket
groupId=pt.henrique
version=1.0.0
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 0f91240..3fcd82f 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,63 +1,64 @@
-pt/henrique/communityMarket/economy/EconomyManager.class
-pt/henrique/communityMarket/util/TextUtil.class
-pt/henrique/communityMarket/config/MessageManager.class
-pt/henrique/communityMarket/model/PendingEarnings.class
-pt/henrique/communityMarket/gui/AdminGui$AdminListingsGui.class
-pt/henrique/communityMarket/model/Auction.class
-pt/henrique/communityMarket/listener/PlayerListener.class
-pt/henrique/communityMarket/gui/MarketGui.class
-pt/henrique/communityMarket/service/AuctionService.class
-pt/henrique/communityMarket/util/ItemSerializer.class
-pt/henrique/communityMarket/gui/MainMenuGui.class
-pt/henrique/communityMarket/service/EarningsService$WithdrawResult.class
-pt/henrique/communityMarket/gui/ConfirmationGui.class
-pt/henrique/communityMarket/service/ListingService.class
-pt/henrique/communityMarket/gui/HelpGui.class
-pt/henrique/communityMarket/db/DatabaseManager.class
-pt/henrique/communityMarket/service/TransactionService.class
-pt/henrique/communityMarket/task/AuctionTask.class
-pt/henrique/communityMarket/model/Bid.class
-pt/henrique/communityMarket/service/ClaimService.class
-pt/henrique/communityMarket/task/ExpiredListingTask.class
-pt/henrique/communityMarket/gui/NumberInputGui$NumberInputCallback.class
-pt/henrique/communityMarket/gui/MyAuctionsGui.class
-pt/henrique/communityMarket/service/ClaimService$ClaimResult.class
-pt/henrique/communityMarket/gui/ConfirmationGui$ConfirmCallback.class
-pt/henrique/communityMarket/CommunityMarket.class
-pt/henrique/communityMarket/gui/BrowseMarketGui.class
-pt/henrique/communityMarket/model/ClaimItem$ClaimReason.class
-pt/henrique/communityMarket/model/Auction$AuctionStatus.class
-pt/henrique/communityMarket/util/SoundUtil.class
-pt/henrique/communityMarket/gui/BrowseMarketGui$1.class
-pt/henrique/communityMarket/gui/CreateAuctionGui.class
-pt/henrique/communityMarket/util/InventoryUtil.class
-pt/henrique/communityMarket/gui/AdminGui$AdminAuctionsGui.class
-pt/henrique/communityMarket/command/MarketCommand.class
-pt/henrique/communityMarket/listener/GuiListener$1.class
-pt/henrique/communityMarket/service/AuctionService$BidResult.class
-pt/henrique/communityMarket/gui/CreateListingGui.class
-pt/henrique/communityMarket/gui/ClaimGui$1.class
-pt/henrique/communityMarket/model/ClaimItem.class
-pt/henrique/communityMarket/util/ItemBuilder.class
-pt/henrique/communityMarket/gui/NumberInputGui.class
-pt/henrique/communityMarket/gui/AdminGui.class
-pt/henrique/communityMarket/gui/ItemSelectionGui$SelectionMode.class
-pt/henrique/communityMarket/gui/BrowseAuctionsGui.class
-pt/henrique/communityMarket/service/TransactionService$TransactionResult.class
-pt/henrique/communityMarket/service/EarningsService.class
-pt/henrique/communityMarket/economy/EconomyManager$EconomyProvider.class
-pt/henrique/communityMarket/service/TransactionService$ValidationResult.class
-pt/henrique/communityMarket/gui/BrowseAuctionsGui$1.class
-pt/henrique/communityMarket/model/Listing.class
-pt/henrique/communityMarket/service/AuctionService$CancelResult.class
-pt/henrique/communityMarket/gui/GuiManager.class
-pt/henrique/communityMarket/gui/ClaimGui.class
-pt/henrique/communityMarket/gui/EarningsGui.class
-pt/henrique/communityMarket/service/ListingService$PurchaseResult.class
-pt/henrique/communityMarket/config/ConfigManager.class
-pt/henrique/communityMarket/gui/MarketGui$GuiType.class
-pt/henrique/communityMarket/util/InventoryUtil$ItemCategory.class
-pt/henrique/communityMarket/gui/MyListingsGui.class
-pt/henrique/communityMarket/gui/ItemSelectionGui.class
-pt/henrique/communityMarket/model/Listing$ListingStatus.class
-pt/henrique/communityMarket/listener/GuiListener.class
+pt\henrique\communityMarket\gui\BrowseAuctionsGui$1.class
+pt\henrique\communityMarket\CommunityMarket.class
+pt\henrique\communityMarket\gui\BrowseAuctionsGui.class
+pt\henrique\communityMarket\gui\MainMenuGui.class
+pt\henrique\communityMarket\gui\HelpGui.class
+pt\henrique\communityMarket\gui\ClaimGui$1.class
+pt\henrique\communityMarket\service\AuctionService.class
+pt\henrique\communityMarket\gui\EarningsGui.class
+pt\henrique\communityMarket\model\Auction$AuctionStatus.class
+pt\henrique\communityMarket\command\MarketCommand.class
+pt\henrique\communityMarket\gui\ItemSelectionGui$SelectionMode.class
+pt\henrique\communityMarket\gui\MarketGui$GuiType.class
+pt\henrique\communityMarket\model\ClaimItem$ClaimReason.class
+pt\henrique\communityMarket\service\ListingService.class
+pt\henrique\communityMarket\gui\ClaimGui.class
+pt\henrique\communityMarket\gui\QuantitySelectGui$QuantityCallback.class
+pt\henrique\communityMarket\service\TransactionService$TransactionResult.class
+pt\henrique\communityMarket\util\TextUtil.class
+pt\henrique\communityMarket\model\Listing.class
+pt\henrique\communityMarket\gui\AdminGui.class
+pt\henrique\communityMarket\util\ItemBuilder.class
+pt\henrique\communityMarket\util\ItemSerializer.class
+pt\henrique\communityMarket\gui\BrowseMarketGui$1.class
+pt\henrique\communityMarket\gui\QuantitySelectGui.class
+pt\henrique\communityMarket\gui\AdminGui$AdminAuctionsGui.class
+pt\henrique\communityMarket\gui\MyAuctionsGui.class
+pt\henrique\communityMarket\service\ClaimService$ClaimResult.class
+pt\henrique\communityMarket\gui\NumberInputGui$NumberInputCallback.class
+pt\henrique\communityMarket\gui\NumberInputGui.class
+pt\henrique\communityMarket\service\AuctionService$CancelResult.class
+pt\henrique\communityMarket\service\AuctionService$BidResult.class
+pt\henrique\communityMarket\gui\BrowseMarketGui.class
+pt\henrique\communityMarket\service\EarningsService.class
+pt\henrique\communityMarket\config\MessageManager.class
+pt\henrique\communityMarket\model\Auction.class
+pt\henrique\communityMarket\model\ClaimItem.class
+pt\henrique\communityMarket\gui\CreateAuctionGui.class
+pt\henrique\communityMarket\task\AuctionTask.class
+pt\henrique\communityMarket\util\SoundUtil.class
+pt\henrique\communityMarket\model\Listing$ListingStatus.class
+pt\henrique\communityMarket\util\InventoryUtil.class
+pt\henrique\communityMarket\gui\MarketGui.class
+pt\henrique\communityMarket\gui\GuiManager.class
+pt\henrique\communityMarket\gui\CreateListingGui.class
+pt\henrique\communityMarket\listener\GuiListener$1.class
+pt\henrique\communityMarket\service\ClaimService.class
+pt\henrique\communityMarket\service\TransactionService.class
+pt\henrique\communityMarket\gui\MyListingsGui.class
+pt\henrique\communityMarket\db\DatabaseManager.class
+pt\henrique\communityMarket\task\ExpiredListingTask.class
+pt\henrique\communityMarket\gui\AdminGui$AdminListingsGui.class
+pt\henrique\communityMarket\gui\ConfirmationGui.class
+pt\henrique\communityMarket\config\ConfigManager.class
+pt\henrique\communityMarket\listener\GuiListener.class
+pt\henrique\communityMarket\service\EarningsService$WithdrawResult.class
+pt\henrique\communityMarket\gui\ItemSelectionGui.class
+pt\henrique\communityMarket\util\InventoryUtil$ItemCategory.class
+pt\henrique\communityMarket\listener\PlayerListener.class
+pt\henrique\communityMarket\model\PendingEarnings.class
+pt\henrique\communityMarket\service\TransactionService$ValidationResult.class
+pt\henrique\communityMarket\model\Bid.class
+pt\henrique\communityMarket\gui\ConfirmationGui$ConfirmCallback.class
+pt\henrique\communityMarket\service\ListingService$PurchaseResult.class
+pt\henrique\communityMarket\economy\EconomyManager.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index b20c0c7..a3d48df 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,41 +1,42 @@
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/CommunityMarket.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/command/MarketCommand.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/config/ConfigManager.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/config/MessageManager.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/db/DatabaseManager.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/economy/EconomyManager.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/AdminGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/BrowseAuctionsGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/BrowseMarketGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/ClaimGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/ConfirmationGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/CreateAuctionGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/CreateListingGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/EarningsGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/GuiManager.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/HelpGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/ItemSelectionGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/MainMenuGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/MarketGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/MyAuctionsGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/MyListingsGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/NumberInputGui.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/listener/GuiListener.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/listener/PlayerListener.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/Auction.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/Bid.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/ClaimItem.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/Listing.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/PendingEarnings.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/AuctionService.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/ClaimService.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/EarningsService.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/ListingService.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/TransactionService.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/task/AuctionTask.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/task/ExpiredListingTask.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/InventoryUtil.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/ItemBuilder.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/ItemSerializer.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/SoundUtil.java
-/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/TextUtil.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\command\MarketCommand.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\CommunityMarket.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\config\ConfigManager.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\config\MessageManager.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\db\DatabaseManager.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\economy\EconomyManager.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\AdminGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\BrowseAuctionsGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\BrowseMarketGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\ClaimGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\ConfirmationGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\CreateAuctionGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\CreateListingGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\EarningsGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\GuiManager.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\HelpGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\ItemSelectionGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\MainMenuGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\MarketGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\MyAuctionsGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\MyListingsGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\NumberInputGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\QuantitySelectGui.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\listener\GuiListener.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\listener\PlayerListener.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\Auction.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\Bid.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\ClaimItem.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\Listing.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\PendingEarnings.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\AuctionService.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\ClaimService.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\EarningsService.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\ListingService.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\TransactionService.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\task\AuctionTask.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\task\ExpiredListingTask.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\InventoryUtil.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\ItemBuilder.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\ItemSerializer.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\SoundUtil.java
+C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\TextUtil.java