minecraft-server/docs/RESEARCH-SHOP-GUI.md

101 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RESEARCH: GUI Shop Plugin Replacement for EZShop
**Date:** 2026-05-07
**Server:** racked.ru (Paper 1.21.x)
**Current state:** EZShop 1.0-SNAPSHOT (custom, hardcoded 27 slots, drop+click sell only). YOU500 player report wants 54 slots + cleaner title. AUDIT-2026-05-07 F-11 already flags EZShop for removal.
**Goal:** polished default-player sell/buy GUI with categories, multi-page, per-rank pricing, AGPL-compatible.
---
## Candidates Evaluated
### 1. EconomyShopGUI (free) — Gypopo
- **Status:** very active; v6.16.2 supports MC 1.21.11 (May 2026 release).
- **License:** proprietary "free to use" binary; only the API is open-source on GitHub. **Not AGPL-compatible** in source-distribution sense, but redistributable as plugin.
- **Stack:** Bukkit/Spigot/Paper; uses Paper API on modern servers; MiniMessage support since 6.14.
- **1.21.x compat:** verified through 1.21.11.
- **Paradigm:** admin shop, both buy and sell, no player shops.
- **GUI:** sizes 9-54 configurable; multi-page; categories with custom icons; clean titles per category.
- **Categories:** unlimited (Blocks, Redstone, Food, Mob Drops…); /sellgui sub-menu; /sellall.
- **Vault:** yes; also PlayerPoints, CoinsEngine, GemsEconomy, UltraEconomy, zEssentials, VotingPlugin.
- **Per-rank pricing:** yes — discount/sell-multiplier permission nodes (`EconomyShopGUI.discount.<n>`).
- **Config:** YAML-only in free; in-game GUI editor is premium-locked. Wiki at `wiki.gpplugins.com`.
- **DiscordSRV:** none directly; via PAPI placeholders + DiscordSRV chat-broadcast feasible.
- **Known bugs:** historic Paper-meta color-code raw display (fixed 6.x); permission registration on Paper plugin module (fixed); Mojang skull texture API outages; reviews otherwise overwhelmingly positive.
- **Premium gates:** dynamic pricing, per-player limits, NBT/custom items, MySQL stock sync, command items, in-game GUI editor, search bar, EXP-locked items.
- **Verdict:** **STEAL** — drop-in replacement that solves every YOU500 complaint with the free tier. Premium gates are nice-to-haves we don't need.
### 2. Genesis (formerly BossShopPro) — MageMonkey.studio
- **Status:** actively maintained fork after Blackixx abandoned BSP; 1.21.1 released; 405 commits on dev branch.
- **License:** MIT (verified on GitHub repo `magemonkeystudio/genesis`). **AGPL-compatible.**
- **Stack:** Spigot/Paper.
- **1.21.x compat:** 1.21.1 confirmed, no explicit 1.21.4+ tag yet — needs smoke test.
- **Paradigm:** generic GUI engine (not strictly a shop); buy/sell/conditions/rewards all configurable.
- **GUI:** any size 9-54, multi-page, full title control.
- **Categories:** modeled as nested menus (manual link buttons); no built-in category abstraction.
- **Vault:** yes; addon `Multiple Currencies` for points/tokens.
- **Per-rank pricing:** yes via condition system + permission predicates.
- **Config:** YAML, very verbose — every button hand-defined. High config complexity but maximum flexibility.
- **Addons:** Player Shops, Limited Uses, Inventory Commands, Multiple Currencies (all free).
- **DiscordSRV:** none native; PAPI bridge possible.
- **Known bugs:** original BSP broke on 1.21 with old maintainer absent; Genesis fork stable but skull-texture fixes still trickling in.
- **Verdict:** **PATTERN** — too DIY for a default-player shop, but the condition/predicate model is the gold standard if we ever need a quest-shop or rank-buy GUI. Keep in pocket.
### 3. UltimateShop — PQguanfang / ManyouTeam
- **Status:** very active; supports 1.20.51.21.11.
- **License:** GPL-3 (from search results) but a "Plugin EULA" clause restricts redistribution on leaked-plugin sites. Effectively GPL-3 + non-commercial-clone clause. **AGPL-compatible for our use** (we don't redistribute).
- **Stack:** Paper-first.
- **1.21.x compat:** verified to 1.21.11.
- **Paradigm:** admin shop; buy/sell; daily-rotation shop; menu-as-shop hybrid (TrMenu-inspired).
- **GUI:** fully customizable slot layout, multi-page native.
- **Categories:** yes; menu-driven with NBT-aware item display.
- **Vault:** yes; also PlayerPoints, plus item-for-item barter.
- **Per-rank pricing:** yes — conditional pricing with PAPI math expressions (e.g. VIP discount via placeholder).
- **Config:** YAML + math expressions; mid complexity; integrates with MMOItems, Oraxen, Nexo, MythicMobs.
- **DiscordSRV:** none mentioned.
- **Known bugs:** none flagged in search; some advanced features paywalled.
- **Verdict:** **STEAL (alternate)** — strong second pick if EconomyShopGUI's premium-funnel becomes an issue. Slightly steeper config, but cleaner license story.
### 4. QuickShop-Hikari — Community fork
- Active, 6.2.0.11 (Feb 2026). Dual GPLv3 / AGPLv3 — perfect license fit. Paper-only (Spigot dropped). 1.20+ verified.
- Paradigm: **player chest shops** — wrong fit for "default-player sell shop". Also has admin-shop mode but the UX is sign+chest, not category GUI.
- MiniMessage native, NBT, virtual displays.
- **Verdict:** **PATTERN** — keep for future "player shops at spawn" feature; not a replacement for EZShop.
### 5. ChestShop-3 (Acrobot)
- LGPL-2.1, dev-builds work on 1.21.8 but last tagged release was 2022. Sign+chest paradigm — no GUI.
- **Verdict:** **SKIP** — wrong paradigm and stale tags.
### 6. zShop — Maxlego08 / GroupeZ
- GPL-3 — AGPL-compatible. Active (396 commits). Spigot-targeted.
- Buy/sell/permissions/enchants/orders. 17 button types. Multi-economy.
- 1.21 compat unclear from search; relies on zMenu API dep (extra plugin to install).
- **Verdict:** **PATTERN** — interesting for the order-book idea but extra dependency and unclear 1.21 status make it second-tier.
### 7. CoinsEngine + ExcellentShop (NightExpress)
- CoinsEngine 1.201.21.10, free, modular currency provider.
- ExcellentShop is the shop module; modular (virtual / chest / rotating sub-shops); paid premium for full feature set, free tier limited.
- **Verdict:** **SKIP** for shop (paid funnel mirrors ShopGUI+); CoinsEngine itself is worth noting as a Vault alternative if we ever need multi-currency.
### 8. ShopGUI+ (brcdev)
- Paid only on SpigotMC; closed source. Popular but **fails AGPL/free preference**.
- **Verdict:** **SKIP**.
### 9. DeluxeMenus (HelpChat)
- MIT, active, 1.21 compat. **Not a shop** — generic menu engine. No economy logic; you'd glue Vault commands manually.
- **Verdict:** **PATTERN** — already used elsewhere on racked.ru; worth using as the *frontend* for a hand-rolled shop only if all of the above fail.
### 10. AuctionHouse (kiranhart) / NexusAuctionHouse / ModernHDV
- Already deployed (`AuctionHouse-1.4.6.jar`). **Player-to-player auction**, not category sell-shop. Complementary, not substitute. F-11 was wrong to call AuctionHouse a replacement — it solves a different problem.
- **Verdict:** keep AuctionHouse; do **not** rely on it as the EZShop replacement.
---
## Recommendation
**Top 3:**
1. **EconomyShopGUI (free)** — STEAL. Best fit, zero-config defaults, every YOU500 complaint resolved out of the box.
2. **UltimateShop** — STEAL alternate. Cleaner license, comparable feature set, slightly more config.
3. **Genesis (BSP-continued)** — PATTERN. Keep in pocket for advanced quest-shop / rank-gated GUIs.
**Action:** Pilot EconomyShopGUI free on staging, replicate current EZShop categories, smoke-test 54-slot layout, ship to live in next maintenance window. Keep AuctionHouse separate (player auctions remain a distinct feature). Update `AUDIT-2026-05-07.md` F-11 to reflect that EconomyShopGUI — not AuctionHouse — is the replacement.