Integrations
WorldEdit and FAWE for faster restores, world managers, the Party Extension, and an API for other match plugins.
Duel-Regen works on its own. These integrations are optional and picked up automatically when present.
WorldEdit / FastAsyncWorldEdit
With WorldEdit or FAWE installed and this key on, arenas are captured to a clipboard and pasted back in one operation instead of block-by-block:
use-fawe: true| Bukkit restore (default) | WorldEdit / FAWE restore | |
|---|---|---|
| Speed | blocks-per-tick blocks per tick, spread over time | Whole arena at once |
| Needs | Nothing extra | WorldEdit or FastAsyncWorldEdit installed |
| Disk snapshot format | .snap (plugin's own format) | .schem (standard Sponge schematic) |
If use-fawe is on but neither plugin is installed, Duel-Regen says so in the console and falls back to the Bukkit path. Nothing breaks.
For big arenas, or blocks-per-tick values you would otherwise have to crank very high, the WorldEdit path is worth the install.
World managers (Multiverse and friends)
Arena worlds owned by Multiverse-Core, My Worlds or MultiWorld often load after Duel-Regen does. That is fine: worlds are looked up at the moment they are needed, not once at startup. If a region points at a world that never loads, the plugin warns you in the console after startup instead of silently dropping the arena.
Duels
Not an integration so much as the point of the plugin: Duel-Regen listens to match start and match end events from Duels (Optimised) and does everything else on its own. If Duels is missing or fails to enable, Duel-Regen tells you loudly at startup and arenas will not regenerate until it is fixed.
Party Extension for Duels Optimized
The Party Extension runs party matches (FFA and teams, any player count) on your Duels arenas, but with its own match system instead of Duels matches. Duels never announces those games, so Duel-Regen needs the extension to tell it directly.
| Duel-Regen | Party Extension | Party arenas regenerate? |
|---|---|---|
| 1.4.0+ | 1.17.0+ | Yes, automatically |
| 1.3.0 or older | any | No |
| any | 1.16.x or older | No |
With both updated there is nothing to set up. Party matches use the same Duels arenas, so the regions you already configured apply, and all regen settings (snapshot-each-match, use-fawe, persist-snapshots, crash recovery) behave exactly like they do for normal duels. The snapshot is taken as soon as a party match is assigned an arena, before the countdown, and the restore starts once every player has been teleported out.
If party arenas are not regenerating, check the console at startup: the Party Extension warns once if Duel-Regen is too old. Then check the arena has a region, like any other arena (/duelregen info <arena>).
For developers: external match API
Plugins or Duels extensions that play matches in Duels arenas without going through Duels matches can drive Duel-Regen themselves. The methods live on the main plugin class and only use Java types, so call them by reflection with no compile-time dependency:
Plugin regen = Bukkit.getPluginManager().getPlugin("Duel-Regen");
if (regen != null && regen.isEnabled()) {
Method capture = regen.getClass().getMethod("captureArena", String.class);
Method restore = regen.getClass().getMethod("regenArena", String.class);
capture.invoke(regen, "Arena1"); // before players can touch the arena
// ... match plays ...
restore.invoke(regen, "Arena1"); // after players have left
}| Method | Returns |
|---|---|
int getExternalApiVersion() | API version, currently 1. Missing method means Duel-Regen is older than 1.4.0 |
boolean captureArena(String arenaName) | true if the arena now holds a snapshot; false if it has no region, its world is not loaded, or capture failed |
boolean regenArena(String arenaName) | true if a restore was scheduled; false if no snapshot is held |
Both must be called on the main thread. Arena names are Duels arena names and go through the same name matching as config keys. regen-delay-ticks still applies to the restore, and calling captureArena while that arena is still regenerating finishes the restore first, so an arena can be reused right away.