Skip to content

About

Dragon Ascendant: Paper plugin that makes the Ender Dragon progressively harder and more rewarding with each defeat.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

Built by Kitsune Technologies

Dragon Ascendant

Paper plugin that makes the Ender Dragon progressively harder and more rewarding with each defeat.

Every Ender Dragon kill spawns a stronger dragon next time, with loot and rewards that scale up alongside it.

Build Status License: MIT Minecraft Spigot Java

What it does

EnderDragonProgressive tracks a dragon level that increases each time the Ender Dragon is killed. Higher levels mean more health, more damage, more XP, extra abilities during the fight, and better loot on death, including Dragon Hearts that give players permanent extra hearts. The level and per-player health bonuses are stored in config.yml and persist across restarts.

Features

  • Dragon health scales up per level (roughly +7.5% per level for levels 1-20, +1% per level after that), up to the Minecraft attribute maximum
  • Dragon damage scales up per level (roughly +2% per level for levels 1-20, +0.5% per level after that)
  • XP awarded on kill scales up with a configurable factor
  • Extra fight abilities: endermite swarms, a roar that weakens and slows nearby players, and area damage from dragon breath
  • Loot scales with level: guaranteed elytra, more totems of undying and spawners at higher levels, diamonds/emeralds/max-enchant books on early levels (1-20), random high-tier loot rolls (netherite blocks, beacons, nether stars, sponges) past level 20
  • Dragon Hearts drop periodically and can be consumed for 2 permanent hearts, up to a configurable cap
  • Admin command to reset, force a level, spawn, or clear dragons

Architecture & Mechanics

flowchart TD
    A[Ender Dragon Spawned] --> B[Read Current Dragon Level from Config]
    B --> C[Scale Attributes: Health, Damage, Abilities]
    C --> D[Boss Battle: Endermite Swarms + Roar Debuff + Area Breath]
    D --> E[Dragon Defeated]
    E --> F[Calculate Progressive Loot Drop]
    F --> G[Roll Dragon Heart: +2 Permanent Player Hearts]
    F --> H[Tier Loot: Elytra, Netherite, Totems, Beacons]
    E --> I[Increment Next Dragon Level & Save State]
Loading

Commands

Command Description Permission
/dragon reset Resets the next dragon's level back to 1 enderdragon.admin
/dragon setlevel <level> Sets the level of the next dragon to spawn enderdragon.admin
/dragon kill Removes all Ender Dragons currently in the End enderdragon.admin
/dragon spawn Spawns a new dragon in the End enderdragon.admin

Permissions

Permission Default Description
enderdragon.admin op Access to all /dragon subcommands

Config

Key options in config.yml:

  • next-dragon-level - the level of the dragon that will spawn next
  • Dragon levels are limited to 1000 to keep scaling and loot generation bounded
  • respawn-delay - seconds before a new dragon can respawn (default 600)
  • health-scaling-low / health-scaling-high - health multiplier per level, for levels 1-20 and 21+
  • damage-scaling-low / damage-scaling-high - damage multiplier per level, for levels 1-20 and 21+
  • xp-scaling-factor - extra XP awarded per level, as a fraction of base XP
  • max-player-health-cap - maximum bonus HP a player can gain from Dragon Hearts (default 100.0, meaning 50 hearts)
  • player-health-bonuses - per-player stored HP bonus, keyed by UUID, managed automatically

Quick start

Prerequisites

  • A Spigot or Paper server on Minecraft 1.21 (get Paper at https://papermc.io/downloads; vanilla Minecraft and Realms don't work)
  • Java 21 (get it from https://adoptium.net; check your version with java -version)
  • Maven (for building from source; check with mvn -version)

Download or build

Download the jar:

  1. Go to the v1.2 release and download EnderDragonProgressive-1.2.jar.
  2. Drop it in your server's plugins/ folder and skip to "Start the server" below.

Build from source:

  1. Clone the repo:
    git clone https://github.com/KitsuneTech1/EnderDragonProgressive.git
    cd EnderDragonProgressive
    
    (No git? Click the green "Code" button on GitHub, download the ZIP, unzip it, and open a terminal in that folder.)
  2. Build with Maven:
    mvn clean package
    
    The jar lands at target/EnderDragonProgressive-1.2.jar.
  3. Drop it in your server's plugins/ folder.

Start the server

  1. Restart the server. A full restart is required (not /reload); config.yml is created on first load.
  2. Verify it worked: check the console for errors, then run /dragon reset in-game or console. If the command works (responds instead of saying "Unknown command"), the plugin loaded successfully.

Troubleshooting

  • UnsupportedClassVersionError: Your server is running Java 17 or older. This plugin needs Java 21. Check with java -version and update if needed.
  • Plugin fails to load or API version warning: Your server isn't on Minecraft 1.21. Update to a 1.21 Paper or Spigot build.
  • /dragon commands do nothing or dragon never scales: The plugin tracks level in config.yml. Make sure the server has fully restarted (not just reloaded) since install, and verify you're fighting the dragon in The End (not a copy from another plugin).

License

MIT. Copyright (c) 2026 Kitsune Technologies LLC. Do what you like with it, commercially or otherwise, just keep the copyright notice. Full text in LICENSE.


Part of Buildtober 2026: 31 open source projects in 31 days. Built by Kitsune Technologies. More at github.com/KitsuneTech1.

About

Dragon Ascendant: Paper plugin that makes the Ender Dragon progressively harder and more rewarding with each defeat.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages