
RefineryCore
A modern Paper plugin framework providing annotation-driven commands, GUIs, and configuration — built for the Refinery Team.
Оцените первым
54
0
Список изменений
RefineryCore 0.1.0 — a major feature release adding 15+ new systems to the framework.
Added
GUI / Menus
ListPickerGUI— ready-made paginated picker; render any list as clickable itemsTextInputGUI— anvil-based text input preset with validationGUIAnimator— animated GUI frames (borders, blinking) with auto-stop when idleCollectionBinder— keep paginated GUIs synced to live collections
Text & Time
Placeholders— built-in%namespace_key%placeholder registry (PlaceholderAPI-style, no external dependency)TimeFormat— human-readable durations (2h 15m) + parsing of1d6h30m-style input
Data & Persistence
PersistentCooldownManager— restart-proof cooldowns backed by your databaseItemSerializer— Base64 encode/decode for items and item arraysInventorySnapshot— capture/restore/merge full player inventories as a single string
Concurrency
TaskChain— fluent async→sync task sequencing with Folia-safe thread hops
Communication
Messages— per-player locale message bundles (lang/<locale>.yml) with client-locale detectionHttp— async HTTP client with JSON/form bodies and retry/backoff (webhooks, update checks)ProxyMessenger— Velocity-compatible proxy messaging: server switching, payload forwarding, player counts
Crash Reporting
- New crash handler with modern console output, contextual help lines ("What you can try"), and reports saved to
logs/refinery-crash-reports.txt - Every log line keeps its timestamp/prefix — no broken interleaved output
- Ships with 6 default hints (SQL, I/O, missing classes, API mismatches, wrong-thread, NPEs); add your own via
getCrashHandler().hint(...)
ItemBuilder
skullRawTexture()— raw Base64 head texturesglow()/noGlow()— glint controlloreStrings()— lore straight from config listsinsertLore()— insert a lore line at a position
Fixed
- SQLite & H2 JDBC drivers are now bundled —
RefineryDatabase.sqlite()/.h2()work out of the box - Commands/GUIs now find annotations declared in abstract parent classes
- Invalid command handler signatures fail at registration instead of silently doing nothing
- Chat prompt callbacks run on the correct (region) thread — Folia-safe
- Chat prompts no longer break after
/reload - Commands are properly unregistered on disable (no stale wrappers)
- Fixed classloader leak in command registries
- Database
save()now throws on failure instead of silently losing writes (usesaveQuietly()for fire-and-forget) - No more NPEs after destroying a GUI mid-click
- Cooldown acquisition is race-free; expired entries can be purged
- Bad config values log a helpful warning instead of crashing load
- Explicit
@Subcommand("help")no longer shadowed by built-in help - Duplicate subcommand names are rejected at registration
argBooleanonly accepts true/false/yes/no- README requirements corrected to Paper 1.20+
Notes
- Behavior change: repository
save()throws on SQL failure rather than logging and continuing - No breaking API changes — drop-in upgrade from 0.0.x
Файлы
refinerycore-0.0.9.jar(189.93 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
0.0.9
Загрузчики
Paper
Версии игры
1.20–1.21.11
Загрузок
6
Дата публикации
26.08.2026
