DragonEggDrop Revival icon

DragonEggDrop Revival -----

Ender Dragon loot tables and death effects. (Active Fork of PixelStix's DragonEggDrop)



! NO LONGER MAINTAINED !

DragonEggDrop will only work on versions of Spigot released after July 18th, 2020 and DOES NOT SUPPORT CRAFTBUKKIT. If you are having issues, please consider updating first and seeing if this resolves any errors.

[​IMG]

"Reward your players with a dragon egg / loot chest after every Ender Dragon battle in a grand fashion!"

  • Custom Ender Dragon YAML templates with changeable names, boss bar styles and colours, attributes and more...
  • Flexible loot system using vanilla-inspired loot tables
  • Infinite and automatic Ender Dragon respawns for each end world
  • Countdown between automatic Ender Dragon respawns (even between restarts!)
  • Customizable and prefabricated particle animations upon killing the dragon
  • Extensive command system to control how and when the dragon respawns and what loot it will generate
  • Announcements when specific dragons respawn
  • PlaceholderAPI support
Please see the plugin wiki here!
https://github.com/2008Choco/DragonEggDrop/wiki/

[​IMG]
[​IMG]

This plugin is a fork of @NinjaStix's DragonEggDrop plugin that was no longer maintained after Minecraft 1.10.2. This was a request from a user to allow for 1.11.2 support but has instead evolved into a frequently updated and active fork for modern versions of Minecraft. This is the unofficial successor to the original DragonEggDrop.


[​IMG]

All commands are accompanied by in-game command completion for quick reference.

/dragoneggdrop (Alias... /ded):
See a basic overview of the plugin, its author(s) and version information.
Arguments:
- /dragoneggdrop reload - Reload the plugin's configuration file, templates and loot tables​

/dragontemplate (Aliases... /dragontemplates, /template and /templates):
View information about a specific dragon template from in-game.
Arguments:
- /dragontemplate list - List all loaded templates
* May be abbreviated with /dragontemplates or /templates
* The list of templates is hoverable. Hover over a template to see information!​
- /dragontemplate <template> (view/info) - View information about a given template
- /dragontemplate <template> generateloot - Generate a chest at the command executor's feet with random loot from the loot table of a given template​
/dragonrespawn (Alias... /respawndragon):
Manual override to the automatic respawn for Ender Dragons
Arguments:
- /dragonrespawn start [time] [world] [template] [loot_table] - Force start a dragon respawn if one is not already started. All arguments are optional
- /dragonrespawn stop - Cancel the current dragon respawn (if one is in progress)
- /dragonrespawn template [set|<world>] [world] - Manipulate the template to be spawned next (optionally, in the specified world)​

/dragonparticle:
Allows for the testing of JSON-defined particle shapes without the slaying of a dragon.
Arguments:
- /dragonparticle <particle> [x y z] [world] [startY] - Start a particle animation at the given coordinates, world, and starting y coordinate. Will default to player location.​


[​IMG]

Unless otherwise specified, all permission nodes listed below default to operators only!

dragoneggdrop.* - Grant access to all features in dragoneggdrop
dragoneggdrop.overridecrystals - Override the allow-crystal-respawns configuration option and grant the ability to spawn dragons using crystals
dragoneggdrop.command.* - Grant access to all commands in dragoneggdrop
dragoneggdrop.command.reload - Grant access to the /dragoneggdrop reload command
dragoneggdrop.command.respawn.* - Grant access to the /dragonrespawn command and all its subcommands
dragoneggdrop.command.respawn.stop - Grant access to the /dragonrespawn stop command
dragoneggdrop.command.respawn.start - Grant access to the /dragonrespawn start command
dragoneggdrop.command.respawn.template - Grant access to the /dragonrespawn template command
dragoneggdrop.command.template.* - Grant access to the details of all loaded dragon templates
dragoneggdrop.command.template.list - Grant access to the /dragontemplate list command
dragoneggdrop.command.template.info - Grant access to the /dragontemplate <template> info command
dragoneggdrop.command.template.generateloot - Grant access to the /dragontemplate <template> generateloot command
dragoneggdrop.command.particle - Grant access to the /dragonparticle command


[​IMG]

DragonEggDrop supports PlaceholderAPI (PAPI) with the following placeholders:
  • %dragoneggdrop_dragon% - The formatted name of the dragon currently being faught (or, if not available, the dragon being respawned)
  • %dragoneggdrop_dragon_<world>% - The formatted name of the dragon currently being faught in the specified world (or, if not available, the dragon being respawned)
  • %dragoneggdrop_slain_dragon% - The formatted name of the dragon that was most recently slain
  • %dragoneggdrop_slain_dragon_<world>% - The formatted name of the dragon that was most recently slain in the specified world
  • %dragoneggdrop_respawn_time% - The formatted time remaining for the dragon to respawn
  • %dragoneggdrop_respawn_time_<world>% - The formatted time remaining for the dragon to respawn in the specified world
  • %dragoneggdrop_top_damager% - The name of the player that's done the most damage to the current dragon
  • %dragoneggdrop_top_damager_<position>% - The name of the player that's done the x most amount of damage to the current dragon (i.e. position 1 = top damage, position 2 = second most damage, etc.)
  • %dragoneggdrop_top_damager_<position>_<world>% - The name of the player that's done x most amount of damage to the current dragon in the specified world
  • %dragoneggdrop_top_damage% - The damage done by the top damager to the current dragon
  • %dragoneggdrop_top_damage_<position>% - The damage done by the player that's done x most amount of damage to the current dragon
  • %dragoneggdrop_top_damage_<position>_<world>% - The damage done by the player that's done x most amount of damage to the current dragon in the specified world
PlaceholderAPI is an optional dependency. If not installed, DragonEggDrop will replace these placeholders in loot tables and configurable messages.


[​IMG]

Inspired by vanilla Minecraft's loot tables for entity and chest loot generation, DragonEggDrop's loot is generated through the use of JSON loot tables which may be found under the plugins/DragonEggDrop/loot_tables directory. Below is an example loot table generated by DragonEggDrop by default.
Code (Text):
{
    "egg": {
        "chance": 100.0,
        "name": "%dragon%'s Egg",
        "lore": [
            "The egg of %dragon%",
            "A valiant opponent"
        ]
    },
    "command_pools": [
        {
            "rolls": 1,
            "chance": 100.0,
            "commands": [
                {
                    "weight": 1.0,
                    "command": 'minecraft:tellraw %dragoneggdrop_top_damager% {"text":"Congratulations! You have killed ","color":"red","extra":[{"text":"%dragon%"}]}'
                }
            ]
        }
    ],
    "chest": {
        "chance": 100.0,
        "name": "&6Testing Chest",
        "pools": [
            {
                "name": "base-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:diamond_sword",
                        "name": "Hello!",
                        "lore": [
                            "First line",
                            "Second line!"
                        ],
                        "damage": {
                            "min": 0,
                            "max": 35
                        },
                        "unbreakable": true,
                        "custom_model_data": 1337,
                        "enchantments": {
                            "minecraft:sharpness": {
                                "min": 2,
                                "max": 4
                            },
                            "minecraft:unbreaking": 3
                        },
                        "attribute_modifiers": {
                            "generic_max_health": {
                                "uuid": "3da64fcf-328f-4815-b0a6-ec9a3a839562",
                                "name": "my_health_modifier",
                                "operation": "add_number",
                                "value": 10,
                                "slot": "off_hand"
                            },
                            "generic_attack_damage": {
                                "name": "my_damage_modifier",
                                "operation": "multiply_scalar_1",
                                "value": 2.5
                            }
                        },
                        "item_flags": [
                            "hide_enchants",
                            "hide_unbreakable"
                        ]
                    }
                ]
            },
            {
                "name": "banner-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:white_banner",
                        "patterns": [
                            {
                                "color": "red",
                                "pattern": "skull"
                            },
                            {
                                "color": "green",
                                "pattern": "globe"
                            }
                        ]
                    }
                ]
            },
            {
                "name": "book-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:written_book",
                        "author": "Choco",
                        "title": "How To Write Loot Tables",
                        "generation": "tattered",
                        "pages": [
                            "This is the first page of the book. You can write whatever you want here",
                            "This is the second page of the book. You have to click the arrow to go to the next page",
                            "This is the third page of the book! The end!",
                            "(You can include as many pages as you'd like - limited to Minecraft's page limit)"
                        ]
                    }
                ]
            },
            {
                "name": "firework-star-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:firework_star",
                        "effect": "star",
                        "flicker": true,
                        "trail": false,
                        "color": {
                            "primary": [
                                "#EB3434",
                                "#19B33D"
                            ],
                            "fade": "#E8CB25"
                        }
                    }
                ]
            },
            {
                "name": "firework-rocket-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:firework_rocket",
                        "power": 3,
                        "effects": [
                            {
                                "effect": "star",
                                "flicker": false,
                                "trail": true,
                                "color": {
                                    "primary": [
                                        "#EB3434",
                                        "#19B33D"
                                    ],
                                    "fade": [
                                        "#4681E0",
                                        "#B330E3",
                                        "#E8CB25"
                                    ]
                                }
                            },
                            {
                                "effect": "creeper",
                                "color": {
                                    "primary": [
                                        "#4681E0",
                                        "#B330E3",
                                        "#E8CB25"
                                    ],
                                    "fade": [
                                        "#EB3434",
                                        "#19B33D"
                                    ]
                                }
                            }
                        ]
                    }
                ]
            },
            {
                "name": "knowledge-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:knowledge_book",
                        "recipes": [
                            "minecraft:arrow",
                            "minecraft:furnace",
                            "minecraft:boat"
                        ]
                    }
                ]
            },
            {
                "name": "leather-armour-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:leather_chestplate",
                        "color": "#55E3C2"
                    }
                ]
            },
            {
                "name": "map-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:filled_map",
                        "color": "#9DD62A",
                        "location": "Sunken Treasure",
                        "scaling": false
                    }
                ]
            },
            {
                "name": "potion-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:potion",
                        "base": "weakness",
                        "upgraded": true,
                        "extended": false,
                        "color": "#33FF22",
                        "effects": {
                            "speed": {
                                "duration": 600,
                                "amplifier": 2,
                                "ambient": true
                            },
                            "increase_damage": 1000,
                            "fire_resistance": 400
                        }
                    }
                ]
            },
            {
                "name": "skull-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:player_head",
                        "owner": "2e5bb75b-c55f-4798-903e-db21c6f814c8"
                    }
                ]
            },
            {
                "name": "suspicious-stew-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:suspicious_stew",
                        "effects": {
                            "speed": {
                                "duration": 600,
                                "amplifier": 2,
                                "ambient": true
                            },
                            "increase_damage": 1000,
                            "fire_resistance": 400
                        }
                    }
                ]
            },
            {
                "name": "fish-bucket-meta-example",
                "rolls": 1,
                "items": [
                    {
                        "weight": 1.0,
                        "type": "minecraft:tropical_fish_bucket",
                        "pattern": "dasher",
                        "color": {
                            "body": "red",
                            "pattern": "blue"
                        }
                    }
                ]
            }
        ]
    }
}
For more on loot tables, see the wiki which goes in detail on how to write your own loot tables (or modify one of the existing loot tables generated by default!)



[​IMG]

Given that NinjaStix's original DragonEggDrop resource was open sourced and licensed under the GPLv3 license, I am legally obligated to open source this project and provide source code alongside the download of this plugin. Due to this, releases for this project will be made on GitHub (as you may have already discovered had you clicked the download button) and source code will always be readily available.

Active GitHub Fork https://github.com/2008Choco/DragonEggDrop/
NinjaStix's (inactive) GitLab Repository: https://gitlab.com/xPixelRagex/DragonEggDrop/

You are more than welcome to fork and PR this resource or even request features / report bugs. Be sure to do so on GitHub's Issue Tracker in which I will be able to actively maintain bug reports and feature requests. It is rather difficult for me to manage them in either the review section or the Discussion thread, so please do not hesitate to visit the tracker if you are having any issues.

As an added bonus, if you'd like to check this project's Javadocs, you are more than welcome to browse them here. Please note that these Javadocs may be either ahead of the current release or slightly before it. I update these manually:
https://choco.wtf/javadocs/dragoneggdrop-revival/



If you enjoy this resources, please do consider donating. Be aware that this resource is provided free of charge and as long as you're enjoying it, I'm happy. However, if you insist on supporting me financially, you are welcome to donate using the button below. I appreciate it greatly but do not feel inclined to donate if you do not have the funds necessary to do so. Thank you and enjoy this free resource!

support_discord.png

temp.png
Resource Information
Author:
----------
Total Downloads: 8,799
First Release: Jan 29, 2017
Last Update: Mar 7, 2021
Category: ---------------
All-Time Rating:
60 ratings
Find more info at choco.wtf...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings