Skip to content

The Configuration File

Parker Hawke edited this page Aug 3, 2020 · 8 revisions

One of the core components of DragonEggDrop - Revival is its customizability and feature diversity. Many of these features can be taken advantage of through the use of the plugin's configuration file. The configuration file is ever-expanding and will have features added and removed between releases. Although most options are documented when initially generated, this page will go into depth on what each feature will do.

Default Configuration File

The configuration file will generate with relatively fair configuration options (including a few dragon templates - see Creating Custom Dragons). The below default configuration file is up to date as of version 1.4.0 and later.

# Perform update checks using Spigot's API. This only informs administrators and the console. This does not auto-update.
perform-update-checks: true

# Send anonymous statistics to bStats (https://bstats.org/plugin/bukkit/DragonEggDrop/).
metrics: true

Particles:
    # The y coordinates where particles will start.
    egg-start-y: 180.0

    # The particle type to use. See: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html
    type: 'FLAME'

    # The amount of particles to spawn per interval.
    amount: 4

    # Extra data of the particle (Most are not affected by this value).
    extra: 0

    # The particle offsets for each axis
    x-offset: 0.001
    y-offset: 0.001
    z-offset: 0.001

    # The speed multiplier at which particles will be spawned (how fast they will descend).
    speed-multiplier: 1

    # The amount of particle streams that will spawn from the starting position.
    stream-count: 6

    # How often to spawn the particles (in ticks).
    interval: 1

    # Advanced particle configuration. For more information, see https://github.com/2008Choco/DragonEggDrop/wiki/Advanced-Particle-Equations
    Advanced:
        # A pre-defined mathematical shape for the particles. If set to "CUSTOM", x-coord-expression and z-coord-expression will be used.
        # (Available: "BALL", "HELIX", "OPEN_END_HELIX", "CUSTOM")
        preset-shape: 'OPEN_END_HELIX'

        # The mathematical expression particles will use along the x axis.
        x-coord-expression: 'cos(theta)'

        # The mathematical expression particles will use along the z axis.
        z-coord-expression: 'sin(theta)'

# The amount of lightning bolts to spawn when the loot has generated.
lightning-amount: 4

# Start the respawn countdown when a player joins the server.
# Time unit suffixes are supported (i.e. 2w3d12h10m15s = 2 weeks, 3 days, 12 hours, 10 minutes and 15 seconds).
respawn-on-join: false
join-respawn-delay: 1m

# Start the respawn countdown when an ender dragon is killed.
# Time unit suffixes are supported (i.e. 2w3d12h10m15s = 2 weeks, 3 days, 12 hours, 10 minutes and 15 seconds).
respawn-on-death: true
death-respawn-delay: 5m

# Whether or not summoning the dragon with end crystals is possible. If false, crystals will drop as items when the process attempts to start.
# (This option is ignored if the player has the "dragoneggdrop.overridecrystals" permission).
allow-crystal-respawns: true

# Whether or not to stop any running countdowns when a dragon has been spawned before its completion (such as with end crystals).
strict-countdown: true

# The messages to show in the action bar when a respawn countdown is running.
# May be set to either one message or a list of messages. Lists will be iterated in order every second.
announce-messages:
- '&6Dragon respawning in &e%dragoneggdrop_respawn_time%'
- '&eDragon respawning in &6%dragoneggdrop_respawn_time%'

# The radius, relative to the centre of the end portal, required for players to receive the respawn countdown message.
# If set to -1, all players in the end will receive the action bar.
announce-message-radius: -1

perform-update-checks

Update checks will make an asynchronous query to SpiGet's API and ensure that the working version on your server is up to date. If a new version is available, players with op will be notified in chat every 30 minutes identifying the new version number. The /dragoneggdrop help command will also display that a new version is available for those that do not have op but rather the respective permission node. This has no impact on server performance and keeping this to "true" is recommended.

Particles

The entire particles category allows for the customization of the particles displayed after a dragon is killed in The End. From the type of particle to the shape in which it will be rendered, this allows extreme customizability after the dragon's death.

egg-start-y

A rather simplistic integer value that indicates at which height the particles will start spawning at.

type

A String constant that determines the type of particle to be displayed. Note that these particle values may or may not have similar names to those listed in Minecraft's client. For a full list of possible particle effects, see SpigotMC's Javadoc page for the Particle enum. All listed values are accepted in this configuration option. If an invalid value is specified, FLAME will be the default value.

amount

A number of particles that should be spawned per animation tick. If using advanced equations, generally this value is set to 1. Note that larger values may or may not affect server or client performance.

extra

The extra value of particle effects. Many particles are not affected by this parameter, but for those that are, this is recognized primarily as the "speed" of the particle. This accepts a decimal value.

x-offset, y-offset and z-offset

The x, y and z offsets determine the stretch in which particles may be spawned. The larger the values, the further particles will be stretched when spawned. If these values are set to a low decimal value (i.e. 0.001), the particles will seem to not move from where they were spawned.

speed-multiplier

Starting from the egg-start-y configuration value, this affects the speed at which the particles will descend to the portal. The higher this value, the faster particles will descend.

stream-count

Particles are spawned in "streams" which are quite simply vertical lines of particles. By default, this value is set to 6 and each stream is spawned at even intervals between one another (i.e. 60 degrees apart for 6 streams, 45 degrees for 8, etc.).

interval

The interval of time (in ticks) in which particles will be spawned. 1 second = 20 ticks

Particles.Advanced

While still being a part of the Particles configuration option, this section is an extremely flexible equation parsing only usable by those who understand how to create custom mathematical equations for particles. These options go beyond the basic options in the Particles category but will allow for more creative particles after the death of the dragon. To learn how to use this feature, the Advanced Particle Equations page will explain this section in greater depth.

preset-shape

DragonEggDrop - Revival comes with 3 pre-configured particle equations to display various shapes after the death of the dragon.

  • BALL: A sphere of particles shotting directly down to the top of the portal
  • HELIX: A spiraling helix of particles
  • OPEN_END_HELIX: A spiraling helix of particles that gradually closes as it decreases to the portal

If none of the above suit the desired shape, "CUSTOM" may be selected to grant access to the x-coord-expression and z-coord-expression configuration options.

x-coord-expression and z-coord-expression

Each expression affects the axis of the particles respectively. The y axis is not changeable due to its constant decreasing value. These expressions come preset with defined functions and variables which are further explained in the Advanced Particle Equations page.

lightning-amount

A number of lightning bolts that will be spawned as loot strikes the top of the end portal. These lightning bolts may cause a fire on top of the portal, though any loot chests spawned will not be affected.

respawn-on-join and join-respawn-delay

Both of these options coincide together. If respawn-on-join is set to false, join-respawn-delay will take no effect. The respawn-on-join configuration option determines whether the dragon will attempt to respawn when the player joins the game or enters the end world. If set to true, join-respawn-delay declares the time it will take (in seconds) for the dragon to respawn. If a dragon exists in the world as the respawn occurs, the countdown will continue but the respawn process will fail.

respawn-on-death and death-respawn-delay

Both of these options coincide together. If respawn-on-death is set to false, death-respawn-delay will take no effect. The respawn-on-death configuration option determines whether the dragon will attempt to respawn after it has been killed. If set to true, "death-respawn-delay" declares the time it will take (in seconds) for the dragon to respawn. If a dragon exists in the world as the respawn occurs, the countdown will continue but the respawn process will fail.

allow-crystal-respawns

An option to determine whether players are capable of manually respawning the Ender Dragon with end crystals on the portal. If this is set to false, the plugin will recognize that the player attempted to respawn the dragon and will pop all crystals off onto the ground as an item. Otherwise, if set to true, it is recommended to have strict-countdown set to true in order to have the countdown reset back to its configured value once the dragon has been spawned.

strict-countdown

If a dragon was manually spawned while a countdown is running, the countdown will be halted as if it had hit 0 and the dragon will continue to respawn as normal. This is recommended to be set to true unless you encourage the respawning of dragons before the timer hits 0. This is known to cause issues, however, therefore it is not recommended.

announce-messages

A list of Strings which will be iterated over in sequential order to all players in The End every second as the time decreases. The variables %formatted-time% and %time% will be parsed and replaced as they are displayed to players. %formatted-time% will display the time in a formated manor such as "10 minutes 34 seconds", whereas %time% will display the time in seconds such as "634".

announce-message-radius

An integer radius (inclusive) relative to the centre of the end portal. Players in this radius will receive the respawn countdown message in the action bar. If this value is set to -1, all players in the end will receive the action bar.