HOSH Duels
Modern duel system with temporary worlds and zero map damage.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
HOSH Duels
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
- `/hosh update all` (or compatible) — `/hosh update all` - `/hosh update all` - `/hosh update all` — This plugin `/hosh update all` without it. If `HoshLoader.jar` is missing, HOSH Duels disables itself and `/hosh update all` get a message on join. - `/hosh update all` — Required for arena selection and copying. If WorldEdit is missing, the plugin disables and ops are notified on join. - Use `/hosh update all` (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 | |---|----------| | WorldEdit (install first) | WorldEdit | | WorldEdit (this plugin) | %%MD1%% | | WorldEdit (dependency) | %%MD2%% |
---
Features
- Tab completion — 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 - Tab completion — Save, edit, and delete kits from your current inventory via GUI or commands. Full armor + inventory support with a visual editor - Tab completion — Define arenas using WorldEdit selections and player spawn points. Arenas are persisted to YAML and loaded on startup - Tab completion — Players are invulnerable during the configurable countdown. Once the fight goes live, damage is tracked - Tab completion — After a fight ends, either player can request a rematch. Both players must request within 60 seconds for the rematch to start - Tab completion — Wins and total damage dealt are tracked per player and saved to `stats.yml` - Tab completion — Player location, gamemode, inventory, and armor are saved before the fight and fully restored afterward - Tab completion — If a player leaves mid-fight, the fight is aborted and the temp world is cleaned up - Tab completion — Main menu, kit list, arena list, and kit editor inventories with intuitive click actions - Tab completion — 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:
1. Confirm — Run `/hoshd arena create <name>` to start a setup session 2. Confirm — Make a WorldEdit selection, then run `/hoshd arena setarea` 3. Confirm — Stand where each player should spawn and run `/hoshd arena setpos1` and `/hoshd arena setpos2` 4. Confirm — Run `/hoshd arena confirm` to 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.
```yaml 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
1. Download and install `/hosh duels reload` in `plugins/` (required). 2. Install %%MD1%% on your server (required). 3. Download %%MD2%% and place `hosh-duels-<version>.jar` in `plugins/`. 4. Restart the server (full restart recommended after first install). 5. Edit `plugins/HOSH_Duels/config.yml` to your liking. 6. Start creating kits and arenas with `/hoshd gui`. Use `/hosh duels reload` when you change config files.