AirCore
2.0.2A modern, modular core plugin focused on performance, flexibility, and customization.
2.0.2latestAirCore 2.0.2yesterday [+] Added new command /aircore transfer to move data between backends. [\*] Fixed modules/extras broadcast messages resolving viewer's own placeholders rather than target. <br>[*] Fixed economy module loading after some plugins that depend on Vault. <br>[\*] Fixed tab-completion not showing right after "/aircore ..." [-] Migrated to paper plugin.2.0.1AirCore 2.0.14 weeks ago <br>[+] Added item GUI priority now supports named priority groups <br>[+] Added %aircore_gui_...% placeholders <br>[+] Added support for nested {placeholder} resolution <br>[+] Added \<center> tag support <br> <br>[\*] Fixed item hook (craftengine, nexo, itemsadder) not working <br>[*] Fixed pay received message showed recipient's own name instead of sender's2.0.0AirCore 2.0.0Sep 23, 2026 This is a complete rewrite. Do not just replace the .jar. Remove all old files and install fresh. Treat this as a brand new plugin, not an update.
To migrate the old database, please check the documentation. This release overhauls the entire plugin core, introducing a lot of new features. <br>Compatible with Minecraft 1.21+ <br>
Folia supported <br>
High performance, zero required extra dependencies <br>
SQLite, MySQL/MariaDB and MongoDB support <br>
70+ commands, modular and fully configurable <br>
Over 20+ GUIs completely customizable
CraftEngine, Nexo and ItemsAdder compatibility <br>
PlaceholderAPI compatibility with built-in placeholders (+65) to use anywhere.
Advanced announcement system. Schedules, sequences, and full customization. <br>
Custom variables. Persistent stats with event hooks and reactive logic. <br>
Custom placeholders. Conditions, math, progress bars, and transforms. <br>
Events on join, leave, and custom death messages. <br>
Chat system. Group formatting, channels, mentions, display tags, private messaging, filters and moderation. <br>
Economy. Configurable balances, taxes, payments, item worth and selling. <br>
Homes. Naming rules, limits, and per-world restrictions. <br>
Kits. Cooldowns, one-time claims, and per-kit parameters. <br>
Teleportation. TPA requests, confirmations, countdowns, cancel-conditions, and /back history. <br>
Player toggles. Per-player control over messages, payments, requests and more. <br>
Per-world restrictions for god mode, flight, speed, custom time and weather. <br>
Custom leaderboards. Create unlimited leaderboards powered by the variables module. ... and more ...
1.2.2AirCore 1.2.2Apr 25, 2026 - Fix: Stop cancellation checks once teleport is complete. - Changed: Now all placeholders %player% and %target% use display names instead of player names. - Changed: /back to now save location before any teleport (world changes, TPA, /back itself, spawn teleports, etc.). - Added: Added /nick command, including colors and formats (permissions are the same for chat). - Added: Added new placeholder %aircore_player_displayname%Remember to add these new lines in your config files!
- New in config.yml:
- New in commands.yml:chat: # Player nicknames nickname: prefix: "*" # Prefix shown before nickname in chat ("" for none) max-length: 16 name-validation-regex: "^[a-zA-Z0-9_]+$"
- New in lang/messages/en_US.yml:commands: nick: aliases: [nickname] usage: "/%label% [nick]" usage-others: "/%label% [nick] [player]"utilities: nick: set: "%prefix% <green>Your nickname has been set to <yellow>%nick%</yellow>.</green>" set-for: "%prefix% <green>You set <yellow>%player%</yellow>'s nickname to <yellow>%nick%</yellow>.</green>" set-by: "%prefix% <green><yellow>%player%</yellow> set your nickname to <yellow>%nick%</yellow>.</green>" reset: "%prefix% <green>Your nickname has been cleared.</green>" reset-for: "%prefix% <green>You cleared the nickname for <yellow>%player%</yellow>.</green>" reset-by: "%prefix% <red><yellow>%player%</yellow> cleared your nickname.</red>" errors: too-long: "%prefix% <red>That nickname is too long! (<yellow>%length%</yellow>/<yellow>%max%</yellow> characters).</red>" invalid-name: "%prefix% <red>Invalid nickname.</red>"1.2.1AirCore 1.2.1Apr 13, 2026 - Added a new shortcuts section to commands.yml that lets you define shortcut commands mapping to any full command with pre-filled arguments.
- Added a new message-format option to config.yml that controls how chat messages, private messages, and all plugin messages are parsed.# ------------------------------------------------------------------- # COMMAND SHORTCUTS # ------------------------------------------------------------------- # Define shortcut commands that map to full commands with arguments. # Requires a restart to take effect when added/removed. # # You can add, remove, or rename any shortcut below. # Format: # <shortcut>: # command: "<full command and arguments>" # aliases: [...] # optional extra names for the same shortcut # ------------------------------------------------------------------- shortcuts: gmc: command: "gamemode creative" aliases: [gmce] gms: command: "gamemode survival" aliases: [gmsu, gmsurv] repairall: command: "repair all" aliases: [] day: command: "time set day" aliases: [] night: command: "time set night" aliases: []
- Fixed repair all message key. - Added a new file: commands.yml. You can now edit sub-command arguments & selectors. All command config related has been moved to commands.yml for better organization. - All commands now follow the same pattern for error handling and logic. - Added 2 new commands: /ptime and /pweather. Allows you to control per player weather/time. - Added new permissions: aircore.command.ptime, aircore.command.ptime.others, aircore.command.pweather, aircore.command.pweather.others - Added new message keys:# Message format: MINI | LEGACY | SMART # MINI - MiniMessage only (<red>, <bold>, etc.) # LEGACY - Legacy color codes (&c, &l, etc.) # SMART - Auto-detect per message message-format: SMART
- Time placeholders have been moved to a separated section:utilities: weather: set: "%prefix% <green>Weather set to <yellow>%type%</yellow>.</green>" set-in: "%prefix% <green>Weather set to <yellow>%type%</yellow> in world <yellow>%world%</yellow>.</green>" player: set: "%prefix% <green>Player weather set to <yellow>%type%</yellow>.</green>" set-for: "%prefix% <green>Player weather set to <yellow>%type%</yellow> for <yellow>%player%</yellow>.</green>" set-by: "%prefix% <yellow>%player%</yellow> <green>set your player weather to <yellow>%type%</yellow>.</green>" reset: "%prefix% <green>Your weather is now synced with the server.</green>" reset-for: "%prefix% <green>Reset weather for <yellow>%player%</yellow>.</green>" reset-by: "%prefix% <yellow>%player%</yellow> <green>reset your weather to server sync.</green>" placeholders: clear: "clear" rain: "rain" thunder: "thunder" reset: "reset" time: get: "%prefix% <green>Time is <yellow>%time-formatted%</yellow> or <yellow>%ticks%</yellow> ticks.</green>" set: "%prefix% <green>Time set to <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>).</green>" add: "%prefix% <green>Added <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>) to time.</green>" set-in: "%prefix% <green>Time set to <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>) in <yellow>%world%</yellow>.</green>" add-in: "%prefix% <green>Added <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>) to time in <yellow>%world%</yellow>.</green>" player: set: "%prefix% <green>Player time set to <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>).</green>" set-for: "%prefix% <green>Player time set to <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>) for <yellow>%player%</yellow>.</green>" set-by: "%prefix% <yellow>%player%</yellow> <green>set your player time to <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>).</green>" add: "%prefix% <green>Added <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>) to player time.</green>" add-for: "%prefix% <green>Added <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>) to player time for <yellow>%player%</yellow>.</green>" add-by: "%prefix% <yellow>%player%</yellow> <green>added <yellow>%ticks%</yellow> ticks (<yellow>%time-formatted%</yellow>) to your player time.</green>" reset: "%prefix% <green>Your time is now synced with the server.</green>" reset-for: "%prefix% <green>Reset time for <yellow>%player%</yellow>.</green>" reset-by: "%prefix% <yellow>%player%</yellow> <green>reset your time to server sync.</green>"
- Decoupled group formatting from message processing. Now, if group-format is disabled, other chat features will still be enabled. - Added multi-line support for all messages.# ------------------------------------------------------------------- # TIME PLACEHOLDERS # ------------------------------------------------------------------- placeholders: ticks: " ticks" second: " second" seconds: " seconds" minute: " minute" minutes: " minutes" hour: " hour" hours: " hours" day: " day" days: " days"1.1.13AirCore 1.1.13Mar 14, 2026 - Fixed bossbar inline tag duplication - Added per command cooldown bypass (aircore.bypass.command.<name>) - Refactored command cooldown structure:
- Added -autoequip parameter on /createkit | /editkit - Removed auto-equip option from config.yml (kits section), now handled per kit thru parameter - Changed "permission: ..." to "delhome: ..." for consistency (on Home GUIs) - Added support for Nexo and ItemsAdder - Added item priority for GUIs - Fixed error during shutdown for bossbar - Fixed Folia item duplication for invsee - Fixed message keys - Added new config option:# ----------------------------- # COMMANDS, COOLDOWNS & LIMITS # ----------------------------- command-cooldowns: # 'strict: true' to match commands strictly. repair: key: "repair" cooldown: 60 strict: true # repairall: # key: "repair all" # cooldown: 120 # strict: true heal: key: "heal" cooldown: 120 strict: false # feed: # key: "feed" # cooldown: 60 # strict: false
- Cached texture for player heads - Changes on GUI configs: (added specific [action] type)  - Added new placeholder %aircore_player_toggle_announcements% returns the state of the current player announcements toggle. - Added new message keys [code]utilities: announcement: not-found: "%prefix% <red>Announcement <yellow>%name%</yellow> was not found.</red>" triggered: "%prefix% <green>Announcement <yellow>%name%</yellow> has been manually triggered.</green>" enabled: "%prefix% <green>Announcement <yellow>%name%</yellow> is now enabled and scheduled.</green>" already-enabled: "%prefix% <green>Announcement <yellow>%name%</yellow> is is already enabled.</green>" disabled: "%prefix% <red>Announcement <yellow>%name%</yellow> has been disabled.</red>" already-disabled: "%prefix% <red>Announcement <yellow>%name%</yellow> is already disabled.</red>" toggles: enabled: "%prefix% <green>You will now see automated announcements.</green>" disabled: "%prefix% <red>You have muted automated announcements.</red>" enabled-for: "%prefix% <green>Announcements enabled for <yellow>%player%</yellow>.</green>" disabled-for: "%prefix% <red>Announcements disabled for <yellow>%player%</yellow>.</red>" enabled-by: "%prefix% <green><yellow>%player%</yellow> enabled announcements for you.</green>" disabled-by: "%prefix% <red><yellow>%player%</yellow> disabled announcements for you.</red>"[/code] - Added new command usages [code]command-usages: announcement: usage: "/%label% <option> <key>" usage-trigger: "/%label% trigger <key> [args]" usage-enable: "/%label% enable <key>" usage-disable: "/%label% disable <key>" aliases: [announcements] announcetoggle: usage: "/%label%" usage-others: "/%label% [player]" aliases: [][/code] - Fixed homes being removed after reload1.1.6AirCore 1.1.6Feb 28, 2026 Fixed
- Invsee armor slots not validating with shift+click - Disabled custom commands (e.g., /give) no longer interfere with their vanilla counterparts. - cancel-teleport-when now only cancels a teleport for the player with an active countdown, rather than both players. - Fixed an issue where empty messages were sending empty lines instead of hiding them. - Performance issues related to GUIs - GUI layers not working properlyChanged
- chat.blocking... message keys have been moved to utilities.blocking... - Removed the permission-groups section to resolve internal logic conflictsAdded
- New GUIs for home system: /guis/homes/homes.yml /guis/homes/homes-target.yml /guis/homes/confirm.yml /guis/homes/confirm-target.yml - Added new message key homes.errors.none-yet-for - error-on-excess-args option in config.yml - New message key errors.too-many-arguments - notify-updates: true/false on config to notify admins when there is a new update available1.1.2AirCore 1.1.2Feb 13, 2026 First post
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta