{"id":27384042,"url":"https://github.com/4k1d3v/xdragons","last_synced_at":"2026-05-15T11:37:27.129Z","repository":{"id":287526717,"uuid":"965020774","full_name":"4K1D3V/XDragons","owner":"4K1D3V","description":"XDragons is a Minecraft Spigot/Paper plugin for creating and managing custom Ender Dragons with configurable behaviors, waypoints, abilities, phases, and bossbars. ","archived":false,"fork":false,"pushed_at":"2025-04-12T08:42:48.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T16:17:08.434Z","etag":null,"topics":["java","minecraft","minecraft-plugin","paper-api","paper-plugin","papermc","spigot","spigotmc-plugin"],"latest_commit_sha":null,"homepage":"https://ks.akii.pro","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4K1D3V.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-12T08:30:27.000Z","updated_at":"2025-04-12T08:41:08.000Z","dependencies_parsed_at":"2025-04-13T16:17:08.643Z","dependency_job_id":null,"html_url":"https://github.com/4K1D3V/XDragons","commit_stats":null,"previous_names":["4k1d3v/xdragons"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/4K1D3V/XDragons","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4K1D3V%2FXDragons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4K1D3V%2FXDragons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4K1D3V%2FXDragons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4K1D3V%2FXDragons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4K1D3V","download_url":"https://codeload.github.com/4K1D3V/XDragons/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4K1D3V%2FXDragons/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273225363,"owners_count":25067284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","minecraft","minecraft-plugin","paper-api","paper-plugin","papermc","spigot","spigotmc-plugin"],"created_at":"2025-04-13T16:17:07.525Z","updated_at":"2026-05-15T11:37:27.088Z","avatar_url":"https://github.com/4K1D3V.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XDragons\r\n\r\n**XDragons** is a Minecraft Spigot/Paper plugin for creating and managing custom Ender Dragons with configurable behaviors, waypoints, abilities, phases, and bossbars. Designed for Minecraft 1.21, it allows server administrators to spawn dragons with unique patrol routes, dynamic abilities (fireballs, thunderbolts, rush, melee), and health-based phases, all controlled via commands, a GUI, and configuration files.\r\n\r\n## Features\r\n\r\n- **Custom Dragons**: Create dragons with unique IDs, names, health, and bossbar settings.\r\n- **Waypoints**: Define patrol routes for dragons to follow, looping through locations.\r\n- **Abilities**:\r\n    - Fireballs: Explosive, incendiary projectiles targeting players.\r\n    - Thunderbolts: Lightning strikes on players.\r\n    - Rush: Teleport closer to players for sudden approaches.\r\n    - Melee Attack: Configurable damage when near players.\r\n- **Phases**: Change abilities based on health thresholds (e.g., more aggressive at low health).\r\n- **Bossbar**: Displays dragon name and health to nearby players, toggleable.\r\n- **GUI**: \"Dragon Editor\" for managing waypoints (add/remove).\r\n- **Configurable**: Customize movement speed, ability chances/ranges, and phases in `dragons.yml`.\r\n- **Permissions**: Restrict commands with `xdragons.spawn` and `xdragons.admin`.\r\n- **Performance**: Optimized with global tasks to minimize TPS impact.\r\n\r\n## Installation\r\n\r\n1. **Prerequisites**:\r\n    - Minecraft server running Spigot or Paper 1.21.\r\n    - Java 17 or higher.\r\n\r\n2. **Download**:\r\n    - Grab the latest `XDragons-1.0.0.jar` from [Releases](https://github.com/4K1D3V/XDragons/releases).\r\n\r\n3. **Deploy**:\r\n    - Place `XDragons-1.0.0.jar` in your server’s `plugins/` folder.\r\n    - Start or restart the server to generate `config.yml` and `dragons.yml` in `plugins/XDragons/`.\r\n\r\n4. **Verify**:\r\n    - Check `latest.log` for `[XDragons] v1.0.0 Enabled!`.\r\n    - Run `/xdragons` in-game to confirm the plugin is loaded.\r\n\r\n## Usage\r\n\r\n### Commands\r\nAll commands require player execution. Use `/xdragons` or alias `/xd`.\r\n\r\n| Command | Description | Permission |\r\n|---------|-------------|------------|\r\n| `/xdragons create \u003cID\u003e` | Creates a dragon with the given numeric ID. | `xdragons.admin` |\r\n| `/xdragons edit \u003cID\u003e \u003cproperty\u003e \u003cvalue\u003e` | Edits dragon properties (name, maxhealth, bossbar, waypoints). | `xdragons.admin` |\r\n| `/xdragons delete \u003cID\u003e` | Deletes a dragon and its data. | `xdragons.admin` |\r\n| `/xdragons spawn \u003cID\u003e` | Spawns a dragon at your location. | `xdragons.spawn` |\r\n| `/xdragons gui \u003cID\u003e` | Opens the \"Dragon Editor\" GUI for waypoint management. | `xdragons.admin` |\r\n| `/xdragons select \u003cID\u003e` | Selects a dragon for GUI interactions. | `xdragons.admin` |\r\n| `/xdragons reload` | Reloads `config.yml` and `dragons.yml`. | `xdragons.admin` |\r\n\r\n**Examples**:\r\n- Create a dragon: `/xdragons create 1`\r\n- Set name: `/xdragons edit 1 name FireDragon`\r\n- Add waypoint: `/xdragons edit 1 waypoints add`\r\n- Spawn: `/xdragons spawn 1`\r\n- Open GUI: `/xdragons select 1` then `/xdragons gui 1`\r\n\r\n### GUI\r\n- **Access**: Run `/xdragons select \u003cID\u003e` then `/xdragons gui \u003cID\u003e`.\r\n- **Features**:\r\n    - **Set Waypoint** (Emerald): Adds your current location as a waypoint.\r\n    - **Remove Last Waypoint** (Redstone): Deletes the most recent waypoint.\r\n- **Usage**: Click items to manage waypoints, changes save instantly to `dragons.yml`.\r\n\r\n## Configuration\r\n\r\n### `config.yml`\r\nDefines the plugin’s prefix for messages.\r\n\r\n```yaml\r\nprefix: \"\u00264\u0026l[XDragons] \u0026f\"\r\n```\r\n\r\n### `dragons.yml`\r\nStores dragon data, including waypoints, abilities, phases, and movement settings.\r\n\r\n```yaml\r\ndragons:\r\n  1:\r\n    name: \"Legendary Dragon\"\r\n    max-health: 200\r\n    show-bossbar: true\r\n    waypoints:\r\n      - \"world,100,2,100\"\r\n      - \"world,200,2,200\"\r\n      - \"world,150,2,150\"\r\n      - \"world,100,2,100\"\r\n    movement:\r\n      speed: 0.8\r\n      threshold: 3.0\r\n      update-interval: 10\r\n    attack:\r\n      chance: 0.03\r\n      range: 5.0\r\n      damage: 4.0\r\n    abilities:\r\n      fireball:\r\n        chance: 0.05\r\n        range: 30.0\r\n      thunderbolt:\r\n        chance: 0.03\r\n        range: 20.0\r\n      rush:\r\n        chance: 0.03\r\n        range: 20.0\r\n        distance: 10.0\r\n    phases:\r\n      high:\r\n        health: 150\r\n        abilities:\r\n          fireball:\r\n            chance: 0.03\r\n            range: 25.0\r\n          thunderbolt:\r\n            chance: 0.02\r\n            range: 15.0\r\n          rush:\r\n            chance: 0.02\r\n            range: 15.0\r\n            distance: 8.0\r\n        attack:\r\n          chance: 0.02\r\n          range: 4.0\r\n          damage: 3.0\r\n      low:\r\n        health: 50\r\n        abilities:\r\n          fireball:\r\n            chance: 0.07\r\n            range: 35.0\r\n          thunderbolt:\r\n            chance: 0.05\r\n            range: 25.0\r\n          rush:\r\n            chance: 0.05\r\n            range: 25.0\r\n            distance: 12.0\r\n        attack:\r\n          chance: 0.05\r\n          range: 6.0\r\n          damage: 5.0\r\n```\r\n\r\n- **Waypoints**: List of `world,x,y,z` coordinates for dragon patrol.\r\n- **Movement**:\r\n    - `speed`: Blocks per tick (default: 0.8).\r\n    - `threshold`: Distance to switch waypoints (default: 3.0).\r\n    - `update-interval`: Ticks between movement updates (default: 10, 0.5s).\r\n- **Attack**: Melee attack settings (chance, range, damage).\r\n- **Abilities**: Configurable chances and ranges for fireball, thunderbolt, rush.\r\n- **Phases**: Health-based behavior changes (e.g., more aggressive at low health).\r\n\r\n## Permissions\r\n\r\n| Permission | Description | Default |\r\n|------------|-------------|---------|\r\n| `xdragons.spawn` | Allows spawning dragons with `/xdragons spawn`. | op |\r\n| `xdragons.admin` | Allows creating, editing, deleting, GUI access, and reloading. | op |\r\n\r\nUse a permissions plugin (e.g., LuckPerms) to assign to players or groups.\r\n\r\n## Building from Source\r\n\r\n1. **Clone Repository**:\r\n   ```bash\r\n   git clone https://github.com/4K1D3V/XDragons.git\r\n   cd XDragons\r\n   ```\r\n\r\n2. **Dependencies**:\r\n    - Spigot 1.21 API (included in `pom.xml`).\r\n    - Maven 3.6+.\r\n\r\n3. **Compile**:\r\n   ```bash\r\n   mvn clean package\r\n   ```\r\n   Output: `target/XDragons-1.0.0.jar`.\r\n\r\n4. **Deploy**:\r\n    - Copy `target/XDragons-1.0.0.jar` to `plugins/`.\r\n    - Ensure `config.yml` and `dragons.yml` are in `plugins/XDragons/`.\r\n\r\n## Contributing\r\n\r\nWe welcome contributions! To contribute:\r\n\r\n1. Fork the repository.\r\n2. Create a feature branch (`git checkout -b feature/YourFeature`).\r\n3. Commit changes (`git commit -m \"Add YourFeature\"`).\r\n4. Push to your fork (`git push origin feature/YourFeature`).\r\n5. Open a Pull Request.\r\n\r\nPlease:\r\n- Follow the existing code style.\r\n- Test changes on a 1.21 server.\r\n- Report issues at [Issues](https://github.com/4K1D3V/XDragons/issues).\r\n\r\n## Issues\r\n\r\nEncounter a bug or have a suggestion? Create an issue at [Issues](https://github.com/4K1D3V/XDragons/issues) with:\r\n- Plugin version (1.0.0).\r\n- Server version (Spigot/Paper 1.21).\r\n- Steps to reproduce.\r\n- `latest.log` snippet if applicable.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for details.\r\n\r\n## Credits\r\n\r\n- **Authors**:\r\n    - [KiteGG](https://github.com/4K1D3V)\r\n    - [Enttbot](https://github.com/EnttbotX)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4k1d3v%2Fxdragons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4k1d3v%2Fxdragons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4k1d3v%2Fxdragons/lists"}