Changelog
One block per release, newest first, naming what actually changed
2.13.0
Map rotation for one arena mode.
- New map rotation.
one_arena.rotation.enabledrotates the active arena through a pool you set, on a timer, instead of staying fixed on one. While it is on,one_arena.arenais ignored and the pool decides everything, starting from its first entry on every server start - A warning countdown runs before every switch:
warning.chat_secondspicks which seconds-remaining get a chat line,warning.title_fromis from how many seconds remaining every single second also gets a title, a subtitle and a sound - At zero, anybody still inside is sent to the lobby and told the arena is getting generated, and that arena is regenerated right away so it is clean for its next turn. The arena taking over is not re-pasted, it was already cleaned the last time it was left, so the switch is instant
- The console warns on start and on reload if the pool is empty or names an arena that does not exist
- Config moves to
config-version: 6, language files tolang-version: 10. Your own values are kept and the new keys are added on the first start
2.12.0
One arena mode, kits sold through Vault, and rewards for kills.
- New one arena mode. Turn on
one_arenaat the bottom ofconfig.ymland every kit is fought in one arena instead of each kit having its own. Players pick any kit they own from the menu, and the kit links are ignored until the mode is turned off again - The menus are read from
menus/one_arena/while the mode is on, a full second set worded for it, so each mode keeps its own layout - Kits can be sold.
/ffa kit edit <kit> price <amount>locks a kit until a player buys it through Vault and whatever economy plugin the server runs, in either mode. A locked kit shows its price in the fight menu and opens a confirm screen, and/ffa buy <kit>opens it from chat. See Kit Prices and Rewards /ffa kit grant <kit> <player>and/ffa kit revoke <kit> <player>hand a priced kit over or take it back, from the console too, andnovaffa.kit.<kit>unlocks one for a rank- Kills can pay.
economy.kill_rewardpays money through Vault, andon_kill.rewardsruns commands for the killer, for the victim and on exact streaks, with a cooldown per victim and a same IP check so rewards cannot be farmed - The plugin remembers which kit each player joined with, so the refill after a kill, the kit handed back after a regeneration and
%ffa_kit_name%follow the player's own pick - New placeholders
%ffa_owns_<kit>%,%ffa_price_<kit>%,%ffa_kits_owned%and%ffa_one_arena%, and a newFFAKillRewardEventin the API - A kit made with
/ffa kit createor updated withinventory importkept a live link to the admin's inventory, so a later save wrote whatever the admin happened to be holding by then. A kit could come out empty after the admin cleared their inventory and the server restarted. The items are copied now. A kit that already came out empty needs one/ffa kit edit <kit> inventory import - Config moves to
config-version: 5,menus/fight.ymltomenus-version: 4, language files tolang-version: 9. Your own values are kept and the new keys are added on the first start
2.11.1
Arena block protection actually works now. On 2.11.0 and earlier it was very likely protecting nothing.
- Arena corners are compared as whole blocks now instead of as the exact spot an admin's feet were standing in, which used to leave the bottom layer of an arena half outside its own region. An arena is every block from one corner to the other, all of each of them, whatever heights the two corners are at
- The axe, shovel, hoe and flint and steel protections added in 2.11.0 were asking to be skipped for interactions other plugins had touched, so they never ran. They refuse the block and the item outright now, in either hand
- Nothing to change in your files
2.11.0
The stable one. Arena data cannot be lost on a restart, a reload or an update any more, and the rest of the plugin has been through the same check.
/ffa <kit>, the way a player joins a fight, answered "Incorrect argument for command" on every server and always had. Paper drops an argument written directly under a command's own name, so the kit name never reached the tree. It works now, and/ffa play <kit>is the same thing with tab completion- An arena in a world that a world manager loads after the plugins reported its corners and spawn as
N/A, and setting one corner from there wrote both corners to where the admin was standing./ffa arena edit <arena> corners 1now sets one corner and leaves the other exactly as it is, and/ffa arena infoshows where the arena is whether or not its world is loaded - An arena and the lobby now keep their places as a world name and plain numbers, which is what a save writes, so nothing can be written out as less than the file already says
- Every arena, kit, layout, player and lobby file is written to a temporary file that is then moved into place, under a lock held per file. There is no longer a moment where a file on disk is empty, and two saves cannot overwrite each other
- Each step of the shutdown runs on its own, so one arena in an unloaded world cannot stop every other save from happening
- The kit layout editor no longer lets a player carry the kit's items out of it, which with the Reset button was a way to make as many as they liked. Decorations on a grid square are no longer saved into a player's kit either
/lobbyonly empties the inventory of a player who is actually leaving an arena. It used to clear anybody's, and/spawnships as an alias of it- A kit whose items cannot be read on this server version is left exactly as it is rather than being written back empty, which used to destroy it on the next shutdown
- Deleting an arena deletes its schematic too, so an arena made later under the same name no longer inherits the old one's blocks
- A combat tagged player cannot escape a blocked command by stepping outside the arena, and
plugin:commandno longer walks past the block lists - With building turned off, axes, shovels, hoes, flint and steel and armour stands are held back too
- Leaderboard and arena placeholders answer for the console and for offline players instead of returning nothing
/ffa reloadputs the regeneration timers on the new interval, and a typo in one menu file no longer leaves the server with no menus until a restart- Kit and arena names are limited to letters, numbers,
-and_, and a name that already exists is refused whatever case it is typed in - Language files move to
lang-version: 8
2.10.0
An arena can protect its own blocks, so a sword arena no longer needs a region plugin drawn around it.
- New
/ffa arena edit <arena> build <on | off>, which decides whether players can place and break blocks in that arena.trueandfalsework in place ofonandoff - The flag covers every way a player has of changing an arena by hand, not only break and place: beds and doors, buckets emptied and filled, item frames and paintings, and armor stands, boats, minecarts and end crystals. A painting shot off a wall is followed back to whoever fired
- Explosions, fire spread, liquid flow and pistons are deliberately left alone, since an arena can want its blocks standing while explosions still do their damage
- New
novaffa.arena.build.bypass, op by default, so an admin can still build the arena they are standing in - New
arenas.buildinconfig.yml, the value a newly created arena starts with. An arena made before this release has no setting of its own and falls back to it, so nothing changes for an existing server /ffa arena infonow shows whether building is onconfig.ymlmoves toconfig-version: 4and language files tolang-version: 7
2.9.0
Player heads showing a player now actually wear their skin, arenas can rebuild without killing anyone, menu items you write yourself can join a fight, and there is a command for joining one arena by name.
- A head written as
skull: viewer,player:oruuid:is filled in with the player's real skin, read from the player when they are online, from SkinsRestorer when it is installed, and from Mojang otherwise. It was drawn with the default face before, on every server rather than only a cracked one - Optional SkinsRestorer hook, found at start with nothing to configure, which is what makes heads work on a cracked server
- New
arenas.regeneration.protect_players, on by default: while an arena rebuilds, the world cannot hurt anybody inside it, and anybody sealed inside the new blocks is lifted to open air. Damage from another player is untouched, so a fight carries on through a rebuild - New
arenas.regeneration.layers, off by default: the arena goes back a row at a time from the bottom up, so the floor returns under a player before the roof returns over them custom_itemsin any menu file can now do something when clicked.join: <kit or arena>drops the player into a fight,commands:runs command lines as the player or the console,close:decides whether the menu closes first- New
/ffa join <arena>joins one arena by name with the kit it is linked to, for an NPC or a sign that should send players to a particular arena - A player's saved layout that is empty while the kit itself has contents is read as the kit's own layout, so a kit that looked empty in the editor and handed out nothing now works
/ffa kit createsays so when it captured nothing, and/ffa kit edit <kit> inventory importrefuses an empty inventory rather than wiping the kitconfig.ymlmoves toconfig-version: 3, language files tolang-version: 6, menu files tomenus-version: 3
2.8.0
Player heads work on any item in any menu, the statistics menu takes a border, and the fight menu's lobby button closes the menu behind the player.
- Any item in any menu file can be a player head.
skull: vieweris the face of whoever is looking, and a head from minecraft-heads.com or any other head site is read astexture:,url:orhash:, with the prefix optional - New
{viewer}and{viewer_uuid}placeholders, usable in the name and lore of every item in every menu statistics.ymlgains anitems.bordersection, the one menu file that had none. A border written into it by hand was kept but never drawn- Decoration on the statistics menu is drawn before the statistics, so a pane sharing a square with a number loses that square instead of covering it
- The fight menu's lobby button now closes the menu as it sends the player, new
items.lobby_button_toolbar.close_menuinfight.ymlturns that off - Every menu file moves to
menus-version: 2 - New Borders, Fillers and Heads page covering
items.border,custom_items,fillerand player heads, which menus take which, and what happens when decoration and content claim the same square
2.7.0
Kits can be pinned to a square of the fight menu, and the plugin reloads without a restart.
- New
/ffa reloadre-readsconfig.yml, the language file and the menu files; kits, arenas, layouts and player files are left alone, and command aliases still need a restart - New
/ffa kit edit <kit> slot <slot | auto>pins a kit to one square of the fight menu, or unpins it - New
/ffa kit slotsopens the fight menu as an editor: click a kit, click a square, right click to unpin - A pinned kit sits on its square on every page, unpinned kits flow into what is left
- Kit files gain
menu_slot,-1for a kit that is not pinned - Fixed the kit display name being ignored on potion, tipped arrow and other icons that work their name out for themselves
kit_button.use_item_amount_to_display_playingnow shows the count on icons that do not stack in game, such as a sword or an axe- Fixed the help footer throwing
NoSuchMethodErroron a 26.x server, an Adventure 4 to 5 difference the jar was carrying since 2.2.0 - New language messages for the reload and the slot commands, plus the editor's own text, language files move to
lang-version: 5
2.6.0
Kit icons can be any item.
/ffa kit edit <kit> icon handsaves the item in your main hand as the icon, so a splash potion of instant health shows as one rather than an uncraftable potion- The full item is stored as
icon_itemin the kit file only when the material alone would lose something - New language message
kit.icon_hand_empty, language files move tolang-version: 4
2.5.0
Kit creation now starts with the loadout you are carrying.
/ffa kit create <name>captures the admin's storage, armour and off-hand slots when run in game- The clearer follow-up command is
/ffa kit edit <kit> inventory import; the oldimport contentsspelling remains accepted for existing command blocks
2.4.0
Leaderboard placeholders.
- Added
%ffa_statistics_top_kills_<1-10>%,%ffa_statistics_top_kills_name_<1-10>%,%ffa_statistics_top_deaths_<1-10>%and%ffa_statistics_top_deaths_name_<1-10>% - Ranking is kept in memory and refreshed once a minute, safe to poll heavily from a scoreboard or hologram
2.3.0
Combat tag now blocks walking or flying into the lobby, not just the /lobby command.
- Added
combat_tag.block.lobby_region, on by default - Shown with the same action bar countdown as the rest of combat tag
2.2.0
Support for Minecraft's new version scheme.
- Runs on 26.1 and 26.2 as well as 1.21.1 through 1.21.11, from the same jar
- No config, kit, arena, layout or player file changes, nothing to migrate
2.1.0
Combat tagging arrives.
- A hit starts a timer, held in the fight until it runs out, five seconds by default under
combat_tag.time combat_tag.block.commands,.leave,.lobbyand.kit_switcheach their own switch- Quitting mid fight kills you where you stood and credits the player you were fighting
- Command aliases became configurable under
commands.aliases, including/spawnas an alias of/lobby - Added
%ffa_combat_tagged%and%ffa_combat_time% - Added
FFACombatTagEventfor developers
2.0.1
Bug fix release, no file format changes.
- Fixed a kit or layout saved in the editor sometimes coming back completely empty
- Fixed a failed kit or layout read being dropped silently with nothing logged
- Fixed clearing player layouts after importing kit contents checking the wrong key
2.0.0
ContinuumFFA becomes NovaFFA, a full rebuild on Paper's current API.
/ffakitand/ffaarenabecame/ffa kitand/ffa arena- Permissions moved from
ffa.andcontinuum.ffa.tonovaffa. - Now runs on 1.21.1 through 1.21.11
- Colours moved from MiniMessage to Prism
- Messages moved from one
messages.ymlto alang/folder, five languages shipped - Config, kit and layout files now auto-update without resetting your edits
- Kits and layouts now use Paper's native item format, custom items and data components survive a restart
- Help became paginated with clickable navigation
- Fixed several missing confirmation messages, a broken kill/death ratio for players with no deaths, and the public API never actually running a registered listener
Nothing carries over automatically from an old ContinuumFFA folder, see Storage. Arenas, kits and player stats needed setting up again on this upgrade.