Tags
Creators
Details
All versions
3.1.0
Release
EpicDuels 3.1.0last week 128
Compatibility
Minecraft: Java Edition
1.21.1–1.21.11
Platform
Paper
Changes
3.1.0
- Fix forfeit confirmation and supported aliases during inventory recovery, allow remote stats records with only wins or losses, and preserve spectator flight for eliminated team-duel players.
- Save and recover player inventories in every duel mode, including across disconnects and crashes.
- Record remote stats as idempotent result events with a durable local outbox; install the Supabase compatibility SQL before enabling that backend.
- Add configurable context sidebars in scoreboard.yml with MiniMessage, real match placeholders, bounded update interval, changed-content rendering, and cleanup.
- Add menus.yml for titles, compatible sizes, button positions, item materials, names, lore, and visibility while preserving holders and action IDs.
- Reload presentation through /duel reload; validate unsafe positions and materials with warnings and preserve previous configuration on YAML errors.
- Document placeholders, editor/pagination constraints, and sidebar compatibility.
[3.0.1] — 2026-09 · Result Command Hooks
Added
- Configurable console commands for duel winners and losers under
result-commands.winnerandresult-commands.loser. {player}resolves to the player for the current result list; additional placeholders expose UUID, arena, kit and final round score.- Commands run once after a decisive 1v1, Best-of-N, tournament match or team duel; team commands run once per affected player and draws (including tournament coin flips) run no commands.
Changelog
All notable changes to EpicDuels are documented in this file. Detailed release notes with setup instructions live in release/RELEASE.md.
The format is based on Keep a Changelog.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:o53wtqgv:oKQT9nCV"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:o53wtqgv:oKQT9nCV"
}

