HOSH Duels
PluginLicenseRef-All-Rights-Reserved

HOSH Duels

Modern duel system with temporary worlds and zero map damage.

70
Downloads
1
Followers
2 months ago
Updated
📦
7
Versions

📖About 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

  • 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.jar is 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:

  1. Create — Run /hoshd arena create <name> to start a setup session
  2. Set area — Make a WorldEdit selection, then run /hoshd arena setarea
  3. Set spawns — 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.

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 Loader in plugins/ (required).
  2. Install WorldEdit on your server (required).
  3. Download HOSH Duels 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.