Skip to main content

uxmDragonEvent Plugin Guide

This guide provides comprehensive instructions for setting up and configuring the uxmDragonEvent plugin for your Minecraft server, creating exciting dragon fighting events for your players.

What is uxmDragonEvent?

uxmDragonEvent is a powerful Minecraft plugin that allows server owners to create scheduled dragon fighting events where players can battle custom dragons and earn prizes based on their performance. The plugin offers:
  • Automatic event scheduling at specific days and times
  • Custom dragon settings (health, appearance, behavior)
  • End dimension portal teleportation
  • Damage tracking and leaderboards
  • Automated reward distribution
  • Discord integration for event announcements
  • Custom end-world rules to ensure fair play

Prerequisites

Before installing uxmDragonEvent, you’ll need:
  • A Minecraft server running Spigot, Paper, or a compatible fork (Minecraft 1.19.4 or newer)
  • Server operator permissions
  • Access to your server files
  • Basic understanding of file editing

Optional Dependencies

The following plugins are supported but not required:
  • Vault (for economy integration)
  • PlaceholderAPI (for custom placeholders)
  • WorldGuard (for defining portal regions)
  • ModelEngine (for custom dragon models)
  • ItemsAdder (for custom dragon models)

Step-by-Step Installation Guide

1. Downloading the Plugin

  1. Download uxmDragonEvent plugin from a trusted source
  2. Make sure you have the correct version for your Minecraft server

2. Installing the Plugin

  1. Stop your Minecraft server if it’s running
  2. Locate your server’s plugins folder
  3. Place the downloaded uxmDragonEvent.jar file into the plugins folder
  4. Start your server
  5. The plugin will automatically create its configuration files
  6. Stop your server again to configure the plugin

Basic Configuration

After installation, you’ll find a new folder called uxmDragonEvent in your plugins directory. Let’s configure the essential settings:

1. Setting Up Spawn Locations

Before running your first event, you need to set up spawn locations:
  1. Start your server and log in as an operator
  2. Go to the location where you want players to return after the event ends
  3. Run the command: /dragon setspawn
  4. Go to the location in your event world where players should spawn when joining
  5. Run the command: /dragon setspawn event
  6. Save the locations with: /dragon save

2. Portal Configuration

Players will use an End Portal to join the event. You need to:
  1. Build an End Portal in your main world
  2. If using WorldGuard, create a region around this portal:
    • Create a WorldGuard region: /rg define dragonportal
    • Update the config.yml with this region name (default is already “dragonportal”)

3. Event World Setup

The plugin requires a separate world for the dragon fight:
  1. Open config.yml
  2. Set event-world-name to your desired world name (default: “dragonevent_end”)
  3. The plugin will automatically create this world if it doesn’t exist
  4. Set lobby-world-name to your main world name (default: “world”)

Configuration Files Explained

Main Configuration (config.yml)

# General Settings
remaining-time-format: '%days% days %hours% hours %minutes% minutes %seconds% seconds'
next-event-time-format: dd/MM hh:mma
dragon-event-time: 15  # Event duration in minutes
price-required: true  # Whether players need to pay to join
event-price: 500  # Cost to join the event
price-required-for-every-join: true  # Pay every time they join/rejoin
keep-stats-on-leave: true  # Retain player stats if they leave and rejoin
auto-join-after-leaving: true  # Auto-rejoin after server reconnect
delete-end-crystals: true  # Delete end crystals in event world (1.20+)

# World Settings
lobby-world-name: world  # Main world name
worldguard-region-name: dragonportal  # Region containing portal
event-world-name: 'dragonevent_end'  # Event world name

# Automatic Event Scheduling
auto-start:
  enabled: true  # Enable automatic events
  max-per-month: 100  # Maximum events per month
  timezone: 'GMT+3'  # Your server timezone
  
  # Schedule days and times
  days:
    Sunday:
      times: 01:15AM, 12:05PM, 08:00PM
    # Other days follow same format...

# Dragon Settings
dragon:
  name: "&aEvent Dragon"  # Dragon display name
  pinata: false  # Drop items on hit?
  required-kills: 4  # Dragons to kill before event ends
  glow: true  # Glowing effect
  glow-color: RED  # Glow color
  health: 200  # Dragon health (max 200)
  custom-nbt: ""  # Custom NBT data
  custom-model:
    model-plugin: DEFAULT  # Model type (DEFAULT/MODEL_ENGINE/ITEMS_ADDER)
    model-id: unknown  # Custom model ID if using special models

# Event World Rules
end-rules:
  disable-pvp: true  # Disable player vs player combat
  keepInventory: true  # Keep inventory on death
  announceAdvancements: false  # Don't announce advancements
  showDeathMessages: false  # Don't show death messages

# Rewards for Top Players
endgame-commands:
  places:
    1:  # First place rewards
      - 'give %player_name% dragon_egg 1'
      - 'give %player_name% dragon_head 3'
    2:  # Second place rewards
      - 'give %player_name% dragon_head 2'
    3:  # Third place rewards
      - 'give %player_name% dragon_head 1'
  
  every-other-player:  # Participation rewards
    - 'bal add %player_name% 1000'

Discord Integration (Optional)

If you want to integrate with Discord for event announcements:
# Discord Settings
discord:
  enabled: true  # Enable Discord integration
  token: 'YOUR_BOT_TOKEN'  # Discord bot token
  channel-id: 'YOUR_CHANNEL_ID'  # Text channel ID for announcements
  
  embeds:
    timer:  # Event countdown announcement
      message: '<@&roleid>'  # Optional role mention
      title: "Dragon Event Starting Soon"
      description: "Dragon Event Starting Soon <t:%timestamp%:R>"
      color: 38f295  # Embed color (hex without #)
      footer:
        icon-url: "https://example.com/icon.png"  # Footer icon
        text: "Your Server Name"  # Footer text
    
    # Similar settings for start and end embeds...

Setting Up Automatic Events

The plugin can automatically start dragon events on a schedule:
  1. In config.yml, set auto-start.enabled to true
  2. Configure your server’s timezone with auto-start.timezone
  3. Set up the days and times for events under the days section
  4. For each day, list the times when events should start
  5. Save the configuration file
  6. Restart your server or run /dragon reload
Example schedule:
auto-start:
  enabled: true
  max-per-month: 100
  timezone: 'GMT+3'

  days:
    Monday:
      times: 08:00PM
    Wednesday: 
      times: 08:00PM
    Saturday:
      times: 02:00PM, 08:00PM
    Sunday:
      times: 02:00PM, 08:00PM

Customizing the Dragon

You can customize the event dragon’s appearance and behavior:
  1. Open config.yml
  2. Navigate to the dragon section
  3. Customize settings:
    • name: The dragon’s display name (supports color codes)
    • pinata: If true, the dragon drops items when hit
    • required-kills: How many times players need to kill it
    • glow: Whether the dragon glows
    • glow-color: The color of the glow effect
    • health: Dragon health (max 200)
Advanced users can customize the dragon model using ModelEngine or ItemsAdder.

Commands and Permissions

Player Commands

CommandDescription
/dragonShows available commands
/dragon joinJoin the dragon event (normally done via portal)
/dragon leaveLeave the dragon event

Admin Commands

CommandPermissionDescription
/dragon reloaddragonevent.adminReloads the configuration
/dragon setspawndragonevent.adminSets the lobby spawn location
/dragon setspawn eventdragonevent.adminSets the event world spawn
/dragon savedragonevent.adminSaves spawn and auto-start data
/dragon teleportdragonevent.adminTeleports to event spawn
/dragon startdragonevent.adminForce starts the event
/dragon stopdragonevent.adminForce stops the event

Setting Up Rewards

Players are ranked by damage dealt to the dragon. You can configure rewards for top performers:
  1. Open config.yml
  2. Navigate to the endgame-commands section
  3. Configure commands to run for each place (1st, 2nd, 3rd)
  4. Configure commands for all other participants
Example:
endgame-commands:
  places:
    1:
      - 'give %player_name% dragon_egg 1'
      - 'eco give %player_name% 10000'
    2:
      - 'give %player_name% dragon_head 2'
      - 'eco give %player_name% 5000'
    3:
      - 'give %player_name% dragon_head 1'
      - 'eco give %player_name% 2500'
  
  every-other-player:
    - 'eco give %player_name% 1000'

Event Flow

When everything is set up, here’s how a typical dragon event works:
  1. The event starts either automatically on schedule or via admin command
  2. Server broadcasts an announcement to all players
  3. Players can join by entering the end portal in the designated region
  4. If price-required is enabled, players need to pay to join
  5. Players are teleported to the event world
  6. The custom dragon spawns with configured settings
  7. Players battle the dragon together
  8. The plugin tracks damage dealt by each player
  9. When the dragon is defeated (as many times as required-kills), or when time runs out:
    • The event ends
    • A leaderboard is displayed showing top damage dealers
    • Rewards are distributed based on rankings
    • Players are teleported back to the main world spawn

Troubleshooting

Common Issues and Solutions

ProblemSolution
Plugin doesn’t loadCheck server logs for errors; verify plugin version matches server version
Dragon doesn’t spawnMake sure event world is properly set up
Players can’t join via portalCheck WorldGuard region name; ensure portal is properly built
Rewards aren’t givenVerify command syntax in endgame-commands section
Auto-start doesn’t workCheck timezone setting; verify times are in correct format
Discord announcements don’t workVerify bot token and channel ID; ensure bot has proper permissions

Checking for Errors

If you encounter issues, check your server’s console and logs for error messages. Most common errors will be reported there with helpful information.

Support and Contact

For additional assistance with uxmDragonEvent configuration: