Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
Platforms
Links
Tags
Creators
Details
Licensed ARR
Published last month
HOSH Duels
A fully-featured 1v1 duel system for Spigot servers with kit management, WorldEdit-powered arenas, isolated temporary worlds, rematches, and persistent fight stats — all driven through an intuitive GUI and a single /hoshd command.
Requirements
- Paper (or compatible) — 1.19.x / 1.20.x / 1.21.x
- Java 17+
- Hosh Loader (mandatory) — This plugin will not stay enabled without it. If
HoshLoader.jaris missing, HOSH Duels disables itself and server operators get a message on join. - WorldEdit (mandatory) — Required for arena selection and copying. If WorldEdit is missing, the plugin disables and ops are notified on join.
- Use
/hosh duels reload(via Hosh Loader) to reload this plugin after config changes. - Use
/hosh update all(via Hosh Loader) to prepare newest compatible HOSH updates for next restart.
Downloads
| Modrinth | |
|---|---|
| Hosh Loader (install first) | Download Hosh Loader |
| HOSH Duels (this plugin) | Download HOSH Duels |
| WorldEdit (dependency) | Download WorldEdit |
Features
- Temporary isolated worlds — Every duel spawns in its own void world. The arena layout is copied from your WorldEdit selection, and the world is automatically deleted after the fight ends
- Kit system — Save, edit, and delete kits from your current inventory via GUI or commands. Full armor + inventory support with a visual editor
- Arena system — Define arenas using WorldEdit selections and player spawn points. Arenas are persisted to YAML and loaded on startup
- Countdown & invulnerability — Players are invulnerable during the configurable countdown. Once the fight goes live, damage is tracked
- Rematch system — After a fight ends, either player can request a rematch. Both players must request within 60 seconds for the rematch to start
- Fight statistics — Wins and total damage dealt are tracked per player and saved to
stats.yml - State restoration — Player location, gamemode, inventory, and armor are saved before the fight and fully restored afterward
- Disconnect handling — If a player leaves mid-fight, the fight is aborted and the temp world is cleaned up
- Full GUI — Main menu, kit list, arena list, and kit editor inventories with intuitive click actions
- Chat-based naming — Create kits and arenas by clicking a GUI button and typing the name in chat
- Tab completion — All subcommands support tab-completing kit names, arena names, and online players
Commands
All commands are subcommands of /hoshd (alias: /hoshduels).
| Command | Permission | Description |
|---|---|---|
/hoshd |
— | Show all available commands |
/hoshd gui |
— | Open the main duel GUI |
/hoshd kit create <name> |
— | Create a kit from your current inventory |
/hoshd kit delete <name> |
— | Delete a saved kit |
/hoshd arena create <name> |
hoshd.arena.create |
Start an arena setup session |
/hoshd arena setarea |
hoshd.arena.setarea |
Use your WorldEdit selection as the arena area |
/hoshd arena setpos1 |
hoshd.arena.setpos1 |
Set player 1 spawn at your current location |
/hoshd arena setpos2 |
hoshd.arena.setpos2 |
Set player 2 spawn at your current location |
/hoshd arena confirm |
hoshd.arena.confirm |
Finalize and save the arena |
/hoshd arena delete <name> |
hoshd.arena.delete |
Delete a saved arena |
/hoshd cancel |
hoshd.cancel |
Cancel your current arena setup session |
/hoshd fight <kit> <arena> <p1> <p2> |
hoshd.fight |
Start a duel between two players |
/hoshd rematch <player> |
hoshd.fight |
Request a rematch with a previous opponent |
Arena Setup Guide
Setting up an arena takes four steps:
- Create — Run
/hoshd arena create <name>to start a setup session - Set area — Make a WorldEdit selection, then run
/hoshd arena setarea - Set spawns — Stand where each player should spawn and run
/hoshd arena setpos1and/hoshd arena setpos2 - Confirm — Run
/hoshd arena confirmto save the arena
You can cancel at any time with /hoshd cancel.
Configuration
All settings live in the default config.yml generated on first run.
prefix: "&8[&bHOSH Duels&8] "
defaults:
max-name-length: 24
duel-countdown-seconds: 5
features:
delete-temp-worlds: true
restore-player-inventory-after-fight: true
auto-set-survival-in-duel: true
rematch-enabled: true
fight-stats-enabled: true
Config Options
| Option | Default | Description |
|---|---|---|
max-name-length |
24 |
Maximum characters for kit and arena names |
duel-countdown-seconds |
5 |
Countdown before players become vulnerable (0 = instant) |
delete-temp-worlds |
true |
Delete temporary duel worlds after fights end |
restore-player-inventory-after-fight |
true |
Restore player inventory and armor after a fight |
auto-set-survival-in-duel |
true |
Force players into Survival gamemode during duels |
rematch-enabled |
true |
Allow rematch requests after fights |
fight-stats-enabled |
true |
Track wins and damage dealt per player |
Data Files
| File | Purpose |
|---|---|
kits.yml |
Persistent storage for all saved kits |
arenas.yml |
Persistent storage for all arena definitions |
stats.yml |
Per-player win count and total damage dealt |
Dependencies
| Plugin | Required | Why |
|---|---|---|
| WorldEdit | Yes | Arena area selection and copying arenas to temporary worlds |
Permissions
| Permission | Default | Description |
|---|---|---|
hoshd.arena.create |
None | Create new arenas |
hoshd.arena.setarea |
None | Set arena area from WorldEdit selection |
hoshd.arena.setpos1 |
None | Set player 1 spawn point |
hoshd.arena.setpos2 |
None | Set player 2 spawn point |
hoshd.arena.confirm |
None | Confirm and save an arena |
hoshd.arena.delete |
None | Delete arenas |
hoshd.cancel |
None | Cancel arena setup sessions |
hoshd.fight |
None | Start fights and request rematches |
Installation
- Download and install Hosh Loader in
plugins/(required). - Install WorldEdit on your server (required).
- Download HOSH Duels and place
hosh-duels-<version>.jarinplugins/. - Restart the server (full restart recommended after first install).
- Edit
plugins/HOSH_Duels/config.ymlto your liking. - Start creating kits and arenas with
/hoshd gui. Use/hosh duels reloadwhen you change config files.


