
JustPlugin - All in One Management Plugin
Lightweight all-in-one essentials plugin for Paper, Purpur, and Folia 1.21.11+. Economy, teleportation, moderation, jail, kits, vaults, ranks, database storage, and 159+ more commands — all in a single configurable JAR.
Список изменений
v1.3 — The Stable Release
Released: 2026-04-24
This is the first stable release. It consolidates everything from the beta.3, beta.4, beta.5, and v1.0 milestones into one upload and marks JustPlugin's transition out of pre-release. Native Folia support is now official.
If you were running v1.2, this adds dozens of new features — Database backends (SQLite / MySQL / YAML), Jail, Kits, AFK, Mail, Nicknames, Tags, Player Vaults, Transaction History, Custom Events API, Maintenance Mode, Automated Messages, a new /permissions audit command, comprehensive staff logging with justplugin.log.* permissions, and a lot more.
Wiki & full docs: https://justplugin.liam.plus
Platform
- Native Folia support —
folia-supported: true, fullSchedulerUtilcompatibility layer, 75+Bukkit.getScheduler()calls migrated to Folia-safe variants, all synchronous teleports converted toteleportAsync(). Runs on Paper, Purpur, and Folia without config changes. - Java 21 required (unchanged).
New Features
Database
- Multi-backend storage — pick between SQLite, MySQL, or YAML in
database.yml. - HikariCP connection pooling (shaded and relocated).
- Switch backends without data loss — player data, economy, punishments, and more supported.
Player Vaults
/pv [number]— 54-slot virtual storage inventories separate from ender chests./pv <player> <number>— staff view of other players' vaults.- Configurable max vaults per player (default: 3), permission-based override (
justplugin.vaults.<number>). - Data saved on every close, quit, and auto-save. Disabled by default.
Transaction History
/transactions [player]— paginated GUI of every economy transaction.- Tracks 6 types: PAY, PAYNOTE_CREATE, PAYNOTE_REDEEM, ADDCASH, TRADE, API.
- Click a transaction for full details (time, amount, parties).
- Configurable retention (default 30 days) and max entries (default 500).
Jail System
/jail <player> [duration] [reason],/unjail,/setjail,/deljail,/jails,/jailinfo.- Multiple named jail locations, random selection, persistent across restarts.
- Works for offline players (jailed on next login).
- Full movement/command/interaction restriction while jailed.
Kit System
/kitGUI +/kitpreview,/kitcreate,/kitedit,/kitrename,/kitdelete.- Lifecycle management:
/kitpublish,/kitdisable,/kitenable,/kitarchive,/kitlist. - Per-kit permissions (
justplugin.kits.<name>), cooldowns, auto-equip armor. - Archive retention with configurable auto-delete.
AFK, Mail, Nicknames, Tags
/afktoggle + auto-AFK after idle timeout + optional idle kick./mail send|read|clear|clearall— offline mail with login notifications./nickwith MiniMessage formatting; granular color/format/✨ permissions; min/max length validation.- Tag system with
/tagGUI,/tagcreate,/tagdelete,/taglist. Prefix or suffix positioning.
Backup & Export
/jpbackup export|import|list|delete— full plugin data snapshots.- All I/O runs asynchronously.
Offline Player Commands
/tpoff,/getposoff,/getdeathposoff,/invseeoff,/echestseeoff.
Skin System
/skin set|clearwith Mojang API lookup./skinban//skinunbanto block specific skin names.- Auto-applies stored skins on login; works for cracked players.
Maintenance Mode
- Full kick screen, MOTD override, server icon swap, LuckPerms group bypass.
- Cooldown with estimated end time and auto-disable option.
Automated Messages
- Broadcast rotating or single messages at intervals, specific times, or on-the-hour.
- 4 scheduling modes, per-message permission + world filters, custom prefix, sound effects, MiniMessage.
/automessage reload|list|toggle|send+automessages.ymlwith 8 examples.
Utility Commands
/near [radius]— staff command showing nearby players with distance, compass direction, coordinates, and clickable[TP](safe teleport). Excludes vanished players unless viewer hasjustplugin.vanish.see./repair [player]— repair item to full durability; separate self/other permissions./enchant <enchantment> [level]— apply enchantments, level 0 removes. Respects vanilla restrictions by default, bypassable via config or permission./permissions <player> [filter] [page]— staff debugging tool. Lists an online player's effective permissions, 10 per page, with clickable← Prev/Next →navigation, optional substring filter, and a hover tooltip identifying which plugin or attachment granted each permission. Permission:justplugin.permissions(defaultop).
Staff Action Logging
- New
justplugin.logparent permission (defaultop) grants all 14justplugin.log.*children — operators see every staff action in chat out of the box. - All 8
justplugin.announce.*punishment permissions flipped todefault: op— OPs see ban/mute/warn/kick/tempban announcements without needing a perms plugin. - Staff audit logging extended to previously silent admin commands:
/setjail,/deljail,/permissions,/jpbackup export|import|delete,/automessage reload|toggle|send,/tagcreate,/tagdelete, and every/kit*admin action. Every log entry includes the executing staff member, the action, and the full arguments.
AFK Notification Modes
- New
afk.announce-modeconfig option:everyone/staff/self/none. - Default is
self— AFK and return-from-AFK messages are private to the player. Change toeveryoneto restore public broadcasts. afk.auto-afk-secondsremains fully configurable (default 300s).- New
justplugin.afk.seepermission (defaultop) controls who receives notifications instaffmode. - Legacy
afk.broadcastboolean is still honored whenannounce-modeis unset (true → everyone, false → self).
Stats GUI
/stats— interactive stats inventory.
Spawn & Seed Protection
- Configurable spawn build radius (disabled by default, opt-in).
/seedblocking with staff notifications. Both bypassable via dedicated permissions.
Custom Join/Leave Messages
- 5 visibility modes: none, all, staff-only, op-only, group-based.
- Fully configurable templates.
Developer API
- 10 custom Bukkit events for add-on plugins — 6 cancellable (
PlayerBalanceChangeEvent,PlayerPunishEvent,PlayerTeleportRequestEvent,PlayerTradeEvent,PlayerJailEvent,KitClaimEvent) and 4 informational (PlayerUnjailEvent,PlayerAfkEvent,WarpCreateEvent,WarpDeleteEvent). - Defensive copies on all exposed data — no database access leaks.
- Full JavaDoc coverage.
Architecture
- Listener modularization — the monolithic
PlayerListenerwas split into 6 categorized sub-listeners (ConnectionListener,ChatListener,CombatListener,PlayerEventListener,ServerListener,InventoryListener). Zero behavioral changes;PlayerListeneritself is now just a shared state holder. ~710 lines → ~146 lines. - No duplicate event firing — the old monolith is no longer registered.
Performance & Security
- Async I/O — all file read/write operations run off the main thread.
- Thread safety throughout concurrent data access paths.
- Balance overflow protection in economy operations.
- Pay rate limiting to prevent spam abuse.
- Input sanitization on all user inputs.
- Teleport safety enhancements — improved hazard detection.
- IP ban subnets (CIDR) — ban entire ranges, e.g.
192.168.1.0/24. - Webhook retry logic — automatic retry with backoff on Discord webhook failures.
- Web editor CSRF protection — prevents cross-site request forgery.
- Web editor localhost-only by default with an auth token for API requests and rate limiting.
- Scoreboard flicker fix — eliminates flicker on updates.
- PlaceholderAPI cache optimization.
- Tab completion cache for better performance.
- Graceful shutdown — all data saved cleanly on stop.
Configuration
- New config files:
database.yml,automessages.yml, plustexts/kits.ymlandtexts/nick.yml. - New sections in
config.ymlforjail,kits,afk,mail,nick,tags,spawn-protection,seed-protection, and join/leave messages. - Config auto-migration — new settings are added automatically on load; existing user overrides are preserved.
Web Config Editor
- 25+ config files editable from the browser.
- All new configs (
database.yml,automessages.yml,texts/*.yml) included. - Localhost-binding + auth token + rate limiting + CSRF + sensitive-value redaction.
Fixes
- Fixed a stray character in the default
scoreboard.ymlthat causedInvalidConfigurationException: could not find expected ':'on first startup. plugin.ymlnow declareswebsite: https://justplugin.liam.plusso the wiki URL is discoverable via/plugins JustPlugin.
Previous releases
For the full history (what landed in 1.1, 1.2, and each beta), see CHANGELOG.md on the GitHub repository.
Thanks for running JustPlugin. Found a bug or want a feature? Open an issue on the GitHub repo or visit the wiki at justplugin.liam.plus.
