This commit is contained in:
2026-01-14 12:42:26 +00:00
parent 964d692f07
commit 6d9b0fb038
25 changed files with 236 additions and 336 deletions
+1 -1
View File
@@ -12,7 +12,7 @@
</component> </component>
<component name="JavacSettings"> <component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE"> <option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="communitymarket" options="--enable-preview" /> <module name="communitymarket" options="" />
</option> </option>
</component> </component>
</project> </project>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DiscordProjectSettings">
<option name="show" value="PROJECT_FILES" />
<option name="description" value="" />
</component>
</project>
+5
View File
@@ -31,5 +31,10 @@
<option name="name" value="JBoss Community repository" /> <option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository> </remote-repository>
<remote-repository>
<option name="id" value="papermc" />
<option name="name" value="papermc" />
<option name="url" value="https://repo.papermc.io/repository/maven-public/" />
</remote-repository>
</component> </component>
</project> </project>
Generated
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings"> <component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" /> <mapping directory="" vcs="Git" />
</component> </component>
</project> </project>
+1
View File
@@ -4,6 +4,7 @@
<facet type="minecraft" name="Minecraft"> <facet type="minecraft" name="Minecraft">
<configuration> <configuration>
<autoDetectTypes> <autoDetectTypes>
<platformType>PAPER</platformType>
<platformType>ADVENTURE</platformType> <platformType>ADVENTURE</platformType>
</autoDetectTypes> </autoDetectTypes>
<projectReimportVersion>1</projectReimportVersion> <projectReimportVersion>1</projectReimportVersion>
+18 -35
View File
@@ -2,34 +2,29 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>pt.henrique</groupId> <groupId>pt.henrique</groupId>
<artifactId>CommunityMarket</artifactId> <artifactId>communitymarket</artifactId>
<name>CommunityMarket</name> <name>CommunityMarket</name>
<version>1.0.0</version> <version>1.0.0</version>
<description>A GUI-only marketplace plugin for Minecraft Paper servers</description> <description>A comprehensive player-to-player marketplace plugin with sales, auctions, and negotiations</description>
<build> <build>
<defaultGoal>clean package</defaultGoal>
<resources> <resources>
<resource> <resource>
<filtering>true</filtering> <filtering>true</filtering>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
</resource> </resource>
</resources> </resources>
<finalName>${project.name}-${project.version}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version> <version>3.12.1</version>
<configuration> <configuration>
<source>${java.version}</source> <source>21</source>
<target>${java.version}</target> <target>21</target>
<compilerArgs>
<arg>--enable-preview</arg>
</compilerArgs>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<artifactId>maven-shade-plugin</artifactId> <artifactId>maven-shade-plugin</artifactId>
<version>3.5.3</version> <version>3.5.1</version>
<executions> <executions>
<execution> <execution>
<phase>package</phase> <phase>package</phase>
@@ -40,44 +35,36 @@
<relocations> <relocations>
<relocation> <relocation>
<pattern>com.zaxxer.hikari</pattern> <pattern>com.zaxxer.hikari</pattern>
<shadedPattern>pt.henrique.communityMarket.lib.hikari</shadedPattern> <shadedPattern>pt.henrique.communitymarket.libs.hikari</shadedPattern>
</relocation> </relocation>
</relocations> </relocations>
<filters> <minimizeJar>true</minimizeJar>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>com.modrinth.minotaur</groupId>
<artifactId>Minotaur</artifactId>
<version>2.8.7</version>
</plugin>
</plugins> </plugins>
</build> </build>
<repositories> <repositories>
<repository> <repository>
<id>papermc-repo</id> <id>papermc</id>
<url>https://repo.papermc.io/repository/maven-public/</url> <url>https://repo.papermc.io/repository/maven-public/</url>
</repository> </repository>
<repository> <repository>
<id>jitpack.io</id> <id>jitpack.io</id>
<url>https://jitpack.io</url> <url>https://jitpack.io</url>
</repository> </repository>
<repository>
<id>essentials-releases</id>
<url>https://repo.essentialsx.net/releases/</url>
</repository>
</repositories> </repositories>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>io.papermc.paper</groupId> <groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId> <artifactId>paper-api</artifactId>
<version>1.21.4-R0.1-SNAPSHOT</version> <version>1.21.1-R0.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -86,15 +73,11 @@
<version>1.7.1</version> <version>1.7.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>net.essentialsx</groupId>
<artifactId>EssentialsX</artifactId>
<version>2.20.1</version>
<scope>provided</scope>
</dependency>
</dependencies> </dependencies>
<properties> <properties>
<java.version>21</java.version> <maven.compiler.target>21</maven.compiler.target>
<maven.compiler.source>21</maven.compiler.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<paper.version>1.21.1-R0.1-SNAPSHOT</paper.version>
</properties> </properties>
</project> </project>
+66 -71
View File
@@ -5,38 +5,82 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>pt.henrique</groupId> <groupId>pt.henrique</groupId>
<artifactId>CommunityMarket</artifactId> <artifactId>communitymarket</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>CommunityMarket</name> <name>CommunityMarket</name>
<description>A GUI-only marketplace plugin for Minecraft Paper servers</description> <description>A comprehensive player-to-player marketplace plugin with sales, auctions, and negotiations</description>
<properties> <properties>
<java.version>21</java.version> <maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<paper.version>1.21.1-R0.1-SNAPSHOT</paper.version>
</properties> </properties>
<repositories>
<!-- Paper Repository -->
<repository>
<id>papermc</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<!-- Vault Repository -->
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<!-- Paper API -->
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>${paper.version}</version>
<scope>provided</scope>
</dependency>
<!-- Vault API for Economy -->
<dependency>
<groupId>com.github.MilkBowl</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.7.1</version>
<scope>provided</scope>
</dependency>
<!-- HikariCP for Database Connection Pooling -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
<!-- SQLite JDBC Driver -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.45.1.0</version>
</dependency>
</dependencies>
<build> <build>
<defaultGoal>clean package</defaultGoal>
<finalName>${project.name}-${project.version}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version> <version>3.12.1</version>
<configuration> <configuration>
<source>${java.version}</source> <source>21</source>
<target>${java.version}</target> <target>21</target>
<compilerArgs>
<arg>--enable-preview</arg>
</compilerArgs>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId> <artifactId>maven-shade-plugin</artifactId>
<version>3.5.3</version> <version>3.5.1</version>
<executions> <executions>
<execution> <execution>
<phase>package</phase> <phase>package</phase>
@@ -47,24 +91,23 @@
<relocations> <relocations>
<relocation> <relocation>
<pattern>com.zaxxer.hikari</pattern> <pattern>com.zaxxer.hikari</pattern>
<shadedPattern>pt.henrique.communityMarket.lib.hikari</shadedPattern> <shadedPattern>pt.henrique.communitymarket.libs.hikari</shadedPattern>
</relocation> </relocation>
</relocations> </relocations>
<filters> <minimizeJar>true</minimizeJar>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- Modrinth Publishing -->
<plugin>
<groupId>com.modrinth.minotaur</groupId>
<artifactId>Minotaur</artifactId>
<version>2.8.7</version>
</plugin>
</plugins> </plugins>
<resources> <resources>
<resource> <resource>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
@@ -73,52 +116,4 @@
</resources> </resources>
</build> </build>
<repositories>
<repository>
<id>papermc-repo</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<repository>
<id>essentials-releases</id>
<url>https://repo.essentialsx.net/releases/</url>
</repository>
</repositories>
<dependencies>
<!-- Paper API -->
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.21.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!-- Vault API -->
<dependency>
<groupId>com.github.MilkBowl</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.7.1</version>
<scope>provided</scope>
</dependency>
<!-- EssentialsX API -->
<dependency>
<groupId>net.essentialsx</groupId>
<artifactId>EssentialsX</artifactId>
<version>2.20.1</version>
<scope>provided</scope>
</dependency>
<!-- HikariCP for connection pooling -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project> </project>
@@ -10,89 +10,46 @@ import java.util.UUID;
import java.util.logging.Level; import java.util.logging.Level;
/** /**
* Manages economy operations with support for Vault and EssentialsX fallback. * Manages economy operations using Vault.
* <p> * <p>
* Priority: Vault > EssentialsX * Vault provides a unified economy API that works with many economy plugins
* If neither is available, the plugin will disable itself. * including EssentialsX, CMI, and others.
*/ */
public class EconomyManager { public class EconomyManager {
private final CommunityMarket plugin; private final CommunityMarket plugin;
private Economy vaultEconomy; private Economy vaultEconomy;
private com.earth2me.essentials.Essentials essentials;
private EconomyProvider provider = EconomyProvider.NONE;
public enum EconomyProvider {
VAULT,
ESSENTIALS,
NONE
}
public EconomyManager(CommunityMarket plugin) { public EconomyManager(CommunityMarket plugin) {
this.plugin = plugin; this.plugin = plugin;
} }
/** /**
* Attempts to set up an economy provider. * Attempts to set up the Vault economy provider.
* Tries Vault first, then EssentialsX.
* *
* @return true if an economy provider was found * @return true if Vault economy was found
*/ */
public boolean setupEconomy() { 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) { if (Bukkit.getPluginManager().getPlugin("Vault") == null) {
plugin.getLogger().severe("Vault plugin not found!");
return false; return false;
} }
try { try {
RegisteredServiceProvider<Economy> rsp = Bukkit.getServicesManager().getRegistration(Economy.class); RegisteredServiceProvider<Economy> rsp = Bukkit.getServicesManager().getRegistration(Economy.class);
if (rsp == null) { 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; return false;
} }
vaultEconomy = rsp.getProvider(); vaultEconomy = rsp.getProvider();
return vaultEconomy != null; if (vaultEconomy != null) {
} catch (Exception e) { plugin.getLogger().info("Using Vault economy provider: " + vaultEconomy.getName());
plugin.getLogger().log(Level.WARNING, "Failed to hook into Vault", e); return true;
}
return false; 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) { } 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; return false;
} }
} }
@@ -101,11 +58,7 @@ public class EconomyManager {
* Gets the name of the active economy provider * Gets the name of the active economy provider
*/ */
public String getProviderName() { public String getProviderName() {
return switch (provider) { return vaultEconomy != null ? "Vault (" + vaultEconomy.getName() + ")" : "None";
case VAULT -> "Vault (" + (vaultEconomy != null ? vaultEconomy.getName() : "Unknown") + ")";
case ESSENTIALS -> "EssentialsX";
case NONE -> "None";
};
} }
/** /**
@@ -115,20 +68,9 @@ public class EconomyManager {
* @return The player's balance * @return The player's balance
*/ */
public double getBalance(UUID playerUuid) { public double getBalance(UUID playerUuid) {
if (vaultEconomy == null) return 0.0;
OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid); OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid);
return vaultEconomy.getBalance(player);
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;
};
} }
/** /**
@@ -151,31 +93,13 @@ public class EconomyManager {
*/ */
public boolean withdraw(UUID playerUuid, double amount) { public boolean withdraw(UUID playerUuid, double amount) {
if (amount <= 0) return true; if (amount <= 0) return true;
if (vaultEconomy == null) return false;
OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid); OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid);
return switch (provider) {
case VAULT -> {
if (!vaultEconomy.has(player, amount)) { if (!vaultEconomy.has(player, amount)) {
yield false; return false;
} }
yield vaultEconomy.withdrawPlayer(player, amount).transactionSuccess(); return 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;
};
} }
/** /**
@@ -187,23 +111,10 @@ public class EconomyManager {
*/ */
public boolean deposit(UUID playerUuid, double amount) { public boolean deposit(UUID playerUuid, double amount) {
if (amount <= 0) return true; if (amount <= 0) return true;
if (vaultEconomy == null) return false;
OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid); OfflinePlayer player = Bukkit.getOfflinePlayer(playerUuid);
return vaultEconomy.depositPlayer(player, amount).transactionSuccess();
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;
};
} }
/** /**
@@ -238,17 +149,9 @@ public class EconomyManager {
* @return Formatted currency string * @return Formatted currency string
*/ */
public String format(double amount) { public String format(double amount) {
if (provider == EconomyProvider.VAULT && vaultEconomy != null) { if (vaultEconomy != null) {
return vaultEconomy.format(amount); return vaultEconomy.format(amount);
} }
return plugin.getMessageManager().formatCurrency(amount); return plugin.getMessageManager().formatCurrency(amount);
} }
/**
* Gets the economy provider type
*/
public EconomyProvider getProvider() {
return provider;
} }
}
@@ -337,7 +337,7 @@ public class CreateAuctionGui implements MarketGui {
Bukkit.getScheduler().runTask(plugin, () -> { Bukkit.getScheduler().runTask(plugin, () -> {
if (result.isSuccess()) { if (result.isSuccess()) {
// Remove items from inventory AFTER successful creation // 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", player.sendMessage(msgManager.getPrefixed("messages.auction-created",
"id", String.valueOf(result.getId()))); "id", String.valueOf(result.getId())));
@@ -284,7 +284,7 @@ public class CreateListingGui implements MarketGui {
Bukkit.getScheduler().runTask(plugin, () -> { Bukkit.getScheduler().runTask(plugin, () -> {
if (result.isSuccess()) { if (result.isSuccess()) {
// Remove items from inventory AFTER successful creation // Remove items from inventory AFTER successful creation
InventoryUtil.removeItems(player, listItem, amount); InventoryUtil.removeItem(player, listItem, amount);
player.sendMessage(msgManager.getPrefixed("messages.listing-created", player.sendMessage(msgManager.getPrefixed("messages.listing-created",
"id", String.valueOf(result.getId()))); "id", String.valueOf(result.getId())));
+2
View File
@@ -55,6 +55,7 @@ messages:
invalid-item: "&cPlease select a valid item." invalid-item: "&cPlease select a valid item."
item-no-longer-available: "&cThe selected item is no longer in your inventory." item-no-longer-available: "&cThe selected item is no longer in your inventory."
item-changed: "&cThe selected item has changed. Please select again." 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-item: "&cThis item type is not allowed on the market."
blacklisted-content: "&cThis item contains blacklisted content." blacklisted-content: "&cThis item contains blacklisted content."
invalid-price: "&cInvalid price. Range: {min} - {max}" invalid-price: "&cInvalid price. Range: {min} - {max}"
@@ -75,6 +76,7 @@ gui-titles:
create-auction: "&8&lCreate Auction" create-auction: "&8&lCreate Auction"
select-item-listing: "&8&lSelect Item to Sell" select-item-listing: "&8&lSelect Item to Sell"
select-item-auction: "&8&lSelect Item to Auction" select-item-auction: "&8&lSelect Item to Auction"
quantity-select: "&8&lSelect Quantity"
my-listings: "&8&lMy Listings" my-listings: "&8&lMy Listings"
my-auctions: "&8&lMy Auctions" my-auctions: "&8&lMy Auctions"
claim-items: "&8&lClaim Items" claim-items: "&8&lClaim Items"
+2
View File
@@ -55,6 +55,7 @@ messages:
invalid-item: "&cPor favor seleciona um item válido." 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-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." 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-item: "&cEste tipo de item não é permitido no mercado."
blacklisted-content: "&cEste item contém conteúdo bloqueado." blacklisted-content: "&cEste item contém conteúdo bloqueado."
invalid-price: "&cPreço inválido. Intervalo: {min} - {max}" invalid-price: "&cPreço inválido. Intervalo: {min} - {max}"
@@ -75,6 +76,7 @@ gui-titles:
create-auction: "&8&lCriar Leilão" create-auction: "&8&lCriar Leilão"
select-item-listing: "&8&lSelecionar Item para Vender" select-item-listing: "&8&lSelecionar Item para Vender"
select-item-auction: "&8&lSelecionar Item para Leilão" select-item-auction: "&8&lSelecionar Item para Leilão"
quantity-select: "&8&lSelecionar Quantidade"
my-listings: "&8&lOs Meus Anúncios" my-listings: "&8&lOs Meus Anúncios"
my-auctions: "&8&lOs Meus Leilões" my-auctions: "&8&lOs Meus Leilões"
claim-items: "&8&lReclamar Itens" claim-items: "&8&lReclamar Itens"
+1 -1
View File
@@ -1,3 +1,3 @@
artifactId=CommunityMarket artifactId=communitymarket
groupId=pt.henrique groupId=pt.henrique
version=1.0.0 version=1.0.0
@@ -1,63 +1,64 @@
pt/henrique/communityMarket/economy/EconomyManager.class pt\henrique\communityMarket\gui\BrowseAuctionsGui$1.class
pt/henrique/communityMarket/util/TextUtil.class pt\henrique\communityMarket\CommunityMarket.class
pt/henrique/communityMarket/config/MessageManager.class pt\henrique\communityMarket\gui\BrowseAuctionsGui.class
pt/henrique/communityMarket/model/PendingEarnings.class pt\henrique\communityMarket\gui\MainMenuGui.class
pt/henrique/communityMarket/gui/AdminGui$AdminListingsGui.class pt\henrique\communityMarket\gui\HelpGui.class
pt/henrique/communityMarket/model/Auction.class pt\henrique\communityMarket\gui\ClaimGui$1.class
pt/henrique/communityMarket/listener/PlayerListener.class pt\henrique\communityMarket\service\AuctionService.class
pt/henrique/communityMarket/gui/MarketGui.class pt\henrique\communityMarket\gui\EarningsGui.class
pt/henrique/communityMarket/service/AuctionService.class pt\henrique\communityMarket\model\Auction$AuctionStatus.class
pt/henrique/communityMarket/util/ItemSerializer.class pt\henrique\communityMarket\command\MarketCommand.class
pt/henrique/communityMarket/gui/MainMenuGui.class pt\henrique\communityMarket\gui\ItemSelectionGui$SelectionMode.class
pt/henrique/communityMarket/service/EarningsService$WithdrawResult.class pt\henrique\communityMarket\gui\MarketGui$GuiType.class
pt/henrique/communityMarket/gui/ConfirmationGui.class pt\henrique\communityMarket\model\ClaimItem$ClaimReason.class
pt/henrique/communityMarket/service/ListingService.class pt\henrique\communityMarket\service\ListingService.class
pt/henrique/communityMarket/gui/HelpGui.class pt\henrique\communityMarket\gui\ClaimGui.class
pt/henrique/communityMarket/db/DatabaseManager.class pt\henrique\communityMarket\gui\QuantitySelectGui$QuantityCallback.class
pt/henrique/communityMarket/service/TransactionService.class pt\henrique\communityMarket\service\TransactionService$TransactionResult.class
pt/henrique/communityMarket/task/AuctionTask.class pt\henrique\communityMarket\util\TextUtil.class
pt/henrique/communityMarket/model/Bid.class pt\henrique\communityMarket\model\Listing.class
pt/henrique/communityMarket/service/ClaimService.class pt\henrique\communityMarket\gui\AdminGui.class
pt/henrique/communityMarket/task/ExpiredListingTask.class pt\henrique\communityMarket\util\ItemBuilder.class
pt/henrique/communityMarket/gui/NumberInputGui$NumberInputCallback.class pt\henrique\communityMarket\util\ItemSerializer.class
pt/henrique/communityMarket/gui/MyAuctionsGui.class pt\henrique\communityMarket\gui\BrowseMarketGui$1.class
pt/henrique/communityMarket/service/ClaimService$ClaimResult.class pt\henrique\communityMarket\gui\QuantitySelectGui.class
pt/henrique/communityMarket/gui/ConfirmationGui$ConfirmCallback.class pt\henrique\communityMarket\gui\AdminGui$AdminAuctionsGui.class
pt/henrique/communityMarket/CommunityMarket.class pt\henrique\communityMarket\gui\MyAuctionsGui.class
pt/henrique/communityMarket/gui/BrowseMarketGui.class pt\henrique\communityMarket\service\ClaimService$ClaimResult.class
pt/henrique/communityMarket/model/ClaimItem$ClaimReason.class pt\henrique\communityMarket\gui\NumberInputGui$NumberInputCallback.class
pt/henrique/communityMarket/model/Auction$AuctionStatus.class pt\henrique\communityMarket\gui\NumberInputGui.class
pt/henrique/communityMarket/util/SoundUtil.class pt\henrique\communityMarket\service\AuctionService$CancelResult.class
pt/henrique/communityMarket/gui/BrowseMarketGui$1.class pt\henrique\communityMarket\service\AuctionService$BidResult.class
pt/henrique/communityMarket/gui/CreateAuctionGui.class pt\henrique\communityMarket\gui\BrowseMarketGui.class
pt/henrique/communityMarket/util/InventoryUtil.class pt\henrique\communityMarket\service\EarningsService.class
pt/henrique/communityMarket/gui/AdminGui$AdminAuctionsGui.class pt\henrique\communityMarket\config\MessageManager.class
pt/henrique/communityMarket/command/MarketCommand.class pt\henrique\communityMarket\model\Auction.class
pt/henrique/communityMarket/listener/GuiListener$1.class pt\henrique\communityMarket\model\ClaimItem.class
pt/henrique/communityMarket/service/AuctionService$BidResult.class pt\henrique\communityMarket\gui\CreateAuctionGui.class
pt/henrique/communityMarket/gui/CreateListingGui.class pt\henrique\communityMarket\task\AuctionTask.class
pt/henrique/communityMarket/gui/ClaimGui$1.class pt\henrique\communityMarket\util\SoundUtil.class
pt/henrique/communityMarket/model/ClaimItem.class pt\henrique\communityMarket\model\Listing$ListingStatus.class
pt/henrique/communityMarket/util/ItemBuilder.class pt\henrique\communityMarket\util\InventoryUtil.class
pt/henrique/communityMarket/gui/NumberInputGui.class pt\henrique\communityMarket\gui\MarketGui.class
pt/henrique/communityMarket/gui/AdminGui.class pt\henrique\communityMarket\gui\GuiManager.class
pt/henrique/communityMarket/gui/ItemSelectionGui$SelectionMode.class pt\henrique\communityMarket\gui\CreateListingGui.class
pt/henrique/communityMarket/gui/BrowseAuctionsGui.class pt\henrique\communityMarket\listener\GuiListener$1.class
pt/henrique/communityMarket/service/TransactionService$TransactionResult.class pt\henrique\communityMarket\service\ClaimService.class
pt/henrique/communityMarket/service/EarningsService.class pt\henrique\communityMarket\service\TransactionService.class
pt/henrique/communityMarket/economy/EconomyManager$EconomyProvider.class pt\henrique\communityMarket\gui\MyListingsGui.class
pt/henrique/communityMarket/service/TransactionService$ValidationResult.class pt\henrique\communityMarket\db\DatabaseManager.class
pt/henrique/communityMarket/gui/BrowseAuctionsGui$1.class pt\henrique\communityMarket\task\ExpiredListingTask.class
pt/henrique/communityMarket/model/Listing.class pt\henrique\communityMarket\gui\AdminGui$AdminListingsGui.class
pt/henrique/communityMarket/service/AuctionService$CancelResult.class pt\henrique\communityMarket\gui\ConfirmationGui.class
pt/henrique/communityMarket/gui/GuiManager.class pt\henrique\communityMarket\config\ConfigManager.class
pt/henrique/communityMarket/gui/ClaimGui.class pt\henrique\communityMarket\listener\GuiListener.class
pt/henrique/communityMarket/gui/EarningsGui.class pt\henrique\communityMarket\service\EarningsService$WithdrawResult.class
pt/henrique/communityMarket/service/ListingService$PurchaseResult.class pt\henrique\communityMarket\gui\ItemSelectionGui.class
pt/henrique/communityMarket/config/ConfigManager.class pt\henrique\communityMarket\util\InventoryUtil$ItemCategory.class
pt/henrique/communityMarket/gui/MarketGui$GuiType.class pt\henrique\communityMarket\listener\PlayerListener.class
pt/henrique/communityMarket/util/InventoryUtil$ItemCategory.class pt\henrique\communityMarket\model\PendingEarnings.class
pt/henrique/communityMarket/gui/MyListingsGui.class pt\henrique\communityMarket\service\TransactionService$ValidationResult.class
pt/henrique/communityMarket/gui/ItemSelectionGui.class pt\henrique\communityMarket\model\Bid.class
pt/henrique/communityMarket/model/Listing$ListingStatus.class pt\henrique\communityMarket\gui\ConfirmationGui$ConfirmCallback.class
pt/henrique/communityMarket/listener/GuiListener.class pt\henrique\communityMarket\service\ListingService$PurchaseResult.class
pt\henrique\communityMarket\economy\EconomyManager.class
@@ -1,41 +1,42 @@
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/CommunityMarket.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\command\MarketCommand.java
/Users/henrique/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
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/config/ConfigManager.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\config\ConfigManager.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/config/MessageManager.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\config\MessageManager.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/db/DatabaseManager.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\db\DatabaseManager.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/economy/EconomyManager.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\economy\EconomyManager.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/AdminGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\AdminGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/BrowseAuctionsGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\BrowseAuctionsGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/BrowseMarketGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\BrowseMarketGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/ClaimGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\ClaimGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/ConfirmationGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\ConfirmationGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/CreateAuctionGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\CreateAuctionGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/CreateListingGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\CreateListingGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/EarningsGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\EarningsGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/GuiManager.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\GuiManager.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/HelpGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\HelpGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/ItemSelectionGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\ItemSelectionGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/MainMenuGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\MainMenuGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/MarketGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\MarketGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/MyAuctionsGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\MyAuctionsGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/MyListingsGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\MyListingsGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/gui/NumberInputGui.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\NumberInputGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/listener/GuiListener.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\gui\QuantitySelectGui.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/listener/PlayerListener.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\listener\GuiListener.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/Auction.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\listener\PlayerListener.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/Bid.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\Auction.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/ClaimItem.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\Bid.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/Listing.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\ClaimItem.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/model/PendingEarnings.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\Listing.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/AuctionService.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\model\PendingEarnings.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/ClaimService.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\AuctionService.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/EarningsService.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\ClaimService.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/ListingService.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\EarningsService.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/service/TransactionService.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\ListingService.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/task/AuctionTask.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\service\TransactionService.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/task/ExpiredListingTask.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\task\AuctionTask.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/InventoryUtil.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\task\ExpiredListingTask.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/ItemBuilder.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\InventoryUtil.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/ItemSerializer.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\ItemBuilder.java
/Users/henrique/IdeaProjects/CommunityMarket/src/main/java/pt/henrique/communityMarket/util/SoundUtil.java C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\ItemSerializer.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\util\SoundUtil.java
C:\Users\Henrique_Ribeiro24\IdeaProjects\CommunityMarket\src\main\java\pt\henrique\communityMarket\util\TextUtil.java