WIP: Add ServerShop plugin — server-run global market for Paper/Purpur 1.21 #3

Draft
Copilot wants to merge 3 commits from copilot/create-server-shop-plugin into main
5 changed files with 7 additions and 13 deletions
Showing only changes of commit f228180350 - Show all commits
+1 -1
View File
@@ -211,7 +211,7 @@ You can query this with any SQLite client or DB browser to generate sales report
## Known Limitations
- No admin GUI for viewing transaction stats (planned for v2).
- Search functionality is planned but not implemented in v1 (click Search shows a placeholder message).
- Search functionality is not implemented in v1 (planned for v2).
- Items with special meta (potions, enchanted books) are excluded by default; when enabled, only the base type is priced (no meta matching).
- The `sell-inventory` button sells **all** sellable items in the inventory at once — use with caution.
- Quantities are capped to 64 × inventory size; extremely large transactions may be slow.
-11
View File
@@ -55,13 +55,6 @@
<artifactId>sqlite-jdbc</artifactId>
<version>3.45.1.0</version>
</dependency>
<!-- HikariCP for DB connection pooling -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
<build>
@@ -89,10 +82,6 @@
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<relocations>
<relocation>
<pattern>com.zaxxer.hikari</pattern>
<shadedPattern>pt.henrique.servershop.libs.hikari</shadedPattern>
</relocation>
<relocation>
<pattern>org.sqlite</pattern>
<shadedPattern>pt.henrique.servershop.libs.sqlite</shadedPattern>
@@ -123,6 +123,10 @@ public final class ServerShop extends JavaPlugin {
/**
* Reloads all configuration, language, categories, and prices.
* Called by {@code /shop reload}.
*
* <p>The transaction logger is intentionally NOT reloaded here because
* it holds an open database connection. The logging configuration is only
* read at startup; a full server restart is required to change it.
*/
public void reload() {
reloadConfig();
@@ -146,7 +146,7 @@ public final class CategoryGui {
if (meta != null) {
meta.setDisplayName(lang.get("gui.prev-page"));
meta.setLore(List.of(lang.get("gui.page-info",
"page", String.valueOf(page),
"page", String.valueOf(page), // page is 0-indexed; prev page is (page-1)+1 = page
"total", String.valueOf(totalPages))));
item.setItemMeta(meta);
}
@@ -9,6 +9,7 @@ import pt.henrique.servershop.ServerShop;
import pt.henrique.servershop.category.Category;
import pt.henrique.servershop.i18n.LangManager;
import pt.henrique.servershop.pricing.ItemPrice;
import pt.henrique.servershop.pricing.PricingService;
import pt.henrique.servershop.util.ItemUtil;
import pt.henrique.servershop.util.TextUtil;