EnderDragonTweaks v1.4.0

Simple & configurable tweaks for the Ender Dragon in multiplayer

  1. Evs
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.16
    • 1.17
    • 1.18
    Source Code:
    EvsDev, HeathFX
    EnderDragonTweaks - EvsDev
    EnderDragonTweaks improves the defeating of the Ender Dragon, especially in multiplayer. All features can be enabled/disabled individually and are highly configurable.

    • Shared XP drop
      • The same number of experience points is given to every player in the End when the Dragon is defeated
    • Decorative XP orbs
      • XP orbs with no value are spawned above every player in the End to add excitement to the defeat
    • Respawn Dragon Egg
      • The Dragon Egg respawns in a configurable place every time the Dragon is defeated
    • Dragon death announcement
      • A customisable message is displayed in chat when the Dragon is defeated, including the killer's name and the contributors to the fight
    • Custom commands
      • Run custom commands when the Dragon is defeated
    • Bossbar customisation
      • Change the title, colour, and style of the Dragon's bossbar to your liking
    • Dragon respawn cooldown
      • Set a cooldown between the defeat of the Dragon and when it can next be respawned
    • Dragon statistics
      • Various statistics about the Dragon (like its deaths and killers) are tracked and can be used in configured messages
    Code (YAML):
    # EnderDragonTweaks - Ender Dragon tweaks, mainly for SMP servers
    # by EvsDev (https://github.com/evs-dev)
    # contributors: https://github.com/evs-dev/EnderDragonTweaks/graphs/contributors
    # - All text supports using the ampersand (&) symbol for colours and formats
    #   (https://minecraft.fandom.com/wiki/Formatting_codes#Color_codes)
    # - Placeholders can be included in strings and are replaced by the plugin
    # - Every string that has placeholders has a comment above explaining them
    # - You can use any statistic from statistics.yml as a placeholder, e.g. <stat-dragonDeathCount>
    # - Every string requires quotes ("example string") unless the default does not have them
    # - 20 ticks = 1 second
    # - This plugin uses bStats. To opt out of its anonymous stats collection,
    #   find the bStats folder in your plugins folder and set enabled to false in its config
    #   (https://bstats.org/plugin/bukkit/EnderDragonTweaks/12284)

    # Config version - DO NOT CHANGE (is set by plugin)
    : 0

    # Is the plugin enabled?
    # DEFAULT: true
    : true

    # The delay in ticks between the death of the Dragon and when this plugin triggers
    # DEFAULT: 80
    : 80

    # The radius (in blocks) from the centre of the End island where players will be counted as Dragon fight participants
    # DEFAULT: 128
    : 128

    # |------------------------|
    # |        Features        |
    # |------------------------|

    : true

      # The way xp-per-player should be interpreted.
      # levels: The value is given in levels (e.g. 68 will add 68 to the XP number displayed to the player)
      #         This is useful to add a consistent number of points
      # points: The value is given in points, which changes based on the player's current XP
      #         i.e. 12000 points will not always equal 68 levels
      # DEFAULT: levels
    : levels

      # The amount of XP to give each Dragon fight participant upon Dragon death
      # This is interpreted differently depending on xp-mode
      # DEFAULT: 68
    : 68

    : true

      # The number of XP orbs spawned per player upon Dragon death (these are decorative only and have no XP value)
      # If there are a large number of players in the End upon Dragon death, having this too high may cause a lag spike
      # This will not be triggered if enable-xp-drop is disabled
      # DEFAULT: 8
    : 8

    : true

      # The chance of the Dragon egg respawning upon Dragon defeat and when enable-egg-respawn is true
      # RANGE: 0.0-1.0 (0.0 = 0%, 1.0 = 100%)
      # DEFAULT: 1.0
    : 1.0

      # The message broadcasted when the Dragon egg respawns (leave blank to have no message)
      #   <position>: x, y, and z coordinates of the Egg (e.g. "x=0 y=68 z=0")
      # DEFAULT: ""
    : ""

      # The coordinates of the Dragon egg when it spawns
      # DEFAULT: 0, 0, 0 (this does not need to be configured by default since the portal coordinates are always (0, 0))
    : 0
    : 0
    : 0
        # Should the y coordinate specified here dictate exactly where the Dragon egg should go?
        # If false, the plugin will try to find an air block above a bedrock block
        # DEFAULT: false
    : false

    : true

      # The message broadcasted when the Dragon is defeated
      #   <killer>: name of the player who killed the Dragon
      #   <participants>: list of players within max-player-distance-from-end-centre upon Dragon defeat (EXCEPT the killer)
      # DEFAULT: "&6<killer>&r just defeated the &5Ender Dragon&r!"
    : "&6<killer>&r just defeated the &5Ender Dragon&r!"

      # DEFAULT: "&6<killer>&r just defeated the &5Ender Dragon&r with help from <participants>!"
    : "&6<killer>&r just defeated the &5Ender Dragon&r with help from <participants>!"

    : false

      # The commands to be run by the server when the Dragon is defeated
      # Note that they will always send command feedback to the server console and all online ops
      #   <killer>: name of the player who killed the Dragon
      #   <killer-display-name>: display name of the player who killed the Dragon (may be the same as <killer>, or e.g. the nickname of the player)
      #   <participants-list>: list of players within max-player-distance-from-end-centre upon Dragon defeat (e.g. "p1, p2, & p3") (EXCEPT the killer)
      #   <each-participant>: the command will be run individually for players within max-player-distance-from-end-centre upon Dragon defeat (EXCEPT the killer)
      # DEFAULT: [a list of commands]
       - "give <killer> minecraft:diamond 4"
        - "give <each-participant> minecraft:iron_ingot 8"
        - "say Congratulations <killer-display-name> and <participants-list>!"
        - "say The killer <killer-display-name> has now killed the Dragon <stat-dragonKillers.<killer>> times!"

      # The text to replace <participants-list> with if there are no Dragon fight participants other than the killer
      # E.g. (using the 3rd example command) "Congratulations dragonkiller495 and no-one else!"
      # DEFAULT: "no-one else"
    : "no-one else"

    # Customisation of the Dragon's bossbar
    : false

      # List of possible names to be displayed above the bossbar (leave empty for "Ender Dragon")
      # DEFAULT: [a list of names]
       #- "Bertha"

      # The colour of the bossbar
      # COLOURS: blue, green, pink, purple, red, white, yellow
      # DEFAULT: pink
    : pink

      # The style of the bossbar
      # STYLES: progress, notched_6, notched_10, notched_12, notched_20
      # DEFAULT: progress
    : progress

    : false

      # The delay in ticks before the Dragon can be respawned after having been defeated
      # The cooldown is reset when the server is restarted
      # DEFAULT: 6000 (5 minutes)
    : 6000

      # The message broadcasted when the Dragon respawn cooldown begins (if there is one)
      #   <time-remaining>: number of seconds before the cooldown ends
      # DEFAULT: "The <time-remaining>-second Dragon respawn cooldown has started!"
    : "The <time-remaining>-second Dragon respawn cooldown has started!"

      # The message broadcasted when the Dragon respawn cooldown ends
      #   <cooldown-length>: number of seconds the cooldown lasts; dragon-respawn-cooldown / 20
      # DEFAULT: "The <cooldown-length>-second Dragon respawn cooldown has ended!"
    : "The <cooldown-length>-second Dragon respawn cooldown has ended!"

      # The message sent to a player who tries to place an End Crystal to respawn the Dragon when the cooldown is active
      #   <time-remaining>: number of seconds before the cooldown ends
      # DEFAULT: "The Ender Dragon cannot be respawned at the moment because it's in cooldown. Cooldown time left: &r<time-remaining> seconds"
    : "&cThe Ender Dragon cannot be respawned at the moment because it's in cooldown. Cooldown time left: &r<time-remaining> seconds"

    : true

    1. Download the latest EnderDragonTweaks-x.x.x.jar
    2. Place it into your server plugins folder
      • If updating EnderDragonTweaks, you might need to rename or delete your current config to generate a new and updated version. You will have to copy your configured values over
    3. (Re)start your server!
    If you need support, leave a comment here or make a new issue on https://github.com/evs-dev/EnderDragonTweaks/issues

    This plugin uses bStats: https://bstats.org/plugin/bukkit/EnderDragonTweaks/12284

    Thanks for checking out this plugin!
    This helps me improve the plugin and my skills, both of which are greatly appreciated! Reviews should not be used for bug reports :)

Recent Reviews

  1. Xcap
    Version: v1.3.0
    I think this plugin is pretty great. It is a very small plugin which doesn't do much, but it is also very cool and nice. There is only two things I hope to change, probably won't though due to the long time since the last update, but I would like for the Ender Dragon name on the bossbar to be able to be set to colors with &4, &5, ect. Also it would be cool if the plugin counted each ender dragon kill and we could set messages for each one. For example, the first kill would be "<killer> killed the Ender Dragon creating it's 1st death!" And also a placeholder for how many deaths the ender dragon has, so you could do "<killer> has killed the Ender Dragon! It has now died <dragondeaths> times!
    1. Evs
      Author's Response
      I'm not sure how possible your first suggestion is, but the second one relating to stat-tracking has been suggested in a similar form by someone else, so it seems like it might be a popular feature. I will think about it for the next version. And thanks for the review!
  2. Coax32
    Version: v1.3.0
    Good plugin, does what it says it does, would be cool if we had some placeholders for lets say top players who killed the dragon, this month's top dragon slayer, this week's top dragon slayer, stuff like that. Also ingame commands such as /spawndragon, or /reload would be handy, overall the plugin does perfect job for sharing xp and customizable bossbar is awesome. 4/5
    1. Evs
      Author's Response
      I'm glad it's all working for you. Your suggestions are very interesting so I will think about adding them in a future update. Thanks for the review!
  3. Rybuilder23
    Version: v1.2.0
    nice plugin and brings more fun in the game!!

    i recomment this plugin for everyone that is looking to make the game more fun!
    1. Evs
      Author's Response
      Thanks for the review and for suggesting ideas and reporting issues on GitHub!
  4. Gustavo_Player
    Version: v1.2.0
    Good plugin! :3
    1. Evs
      Author's Response
      Thank you!
  5. Minestick
    Version: v1.1.0
    The plugin flavours up revived dragon fight and brings back the excitement of doing it for the first time. Very good plugin to have for SMP!
    1. Evs
      Author's Response
      That's the idea! Glad you enjoyed!
  6. infectus
    Version: v1.0.0
    Nice feature to have on a semi-vanilla server with many players and group dragon fights. I took this a step further forking the plugin and adding a setting to limit the radius of players that are considered to be a part of the dragon fight. Didn't really wanna give free xp to players that were 10k blocks away raiding end cities, not participating in the dragon fight.
    1. Evs
      Author's Response
      Thanks for the review! It's great that you were able to extend the plugin for your own purposes, and even better that you made a pull request.
  7. stepech
    Version: v1.0.0
    I like it, it's simple with clearly defined purpose and it doesn't try to force me some features I don't need. Just respawns the egg on each kill!!!!
    Thanks a lot! <3
    1. Evs
      Author's Response
      Wonderful, thank you! I'm very glad having the config is useful.