<details>
<summary>
<img src="https://cdn.modrinth.com/data/cached_images/c852996e53690b60f68333c54359ec5137cf1a36.png" width="15">
Changelog
</summary>
### Added
#### Setup & Configuration
- **Setup Wizard** - New command `/spawnelytra setup`
- Interactive setup process for defining spawn areas
- Set position 1 and position 2 for rectangular areas
- Choose activation mode: `double_jump`, `auto`, `sneak_jump`, or `f_key`
- Save or cancel with immediate config update
- Exit anytime with `/spawnelytra setup exit`
- **Settings Menu** - `/spawnelytra settings`
- Change language and message style in-game
- `/spawnelytra set language <en|de|es|fr>` - Set language
- `/spawnelytra set style <classic|small_caps>` - Set message style
- **Area Visualization** - `/spawnelytra visualize [seconds]`
- Optional duration argument to specify how long to show particles (default: 30 seconds)
- Configurable vertical range for particle display
- Additional vertical range for corner/cardinal pillars
- Particle update frequency control (ticks between updates)
- Particle size multiplier for better visibility from distance
- Enhanced particles option for brighter colors and additional effects
- **First Install Welcome**
- Automatic welcome message on first installation
- Interactive prompts to select language and message style
- Option to start quick setup wizard immediately
- Dismissible with `/spawnelytra dismiss` command
- I tried to make this as non-invasive as possible. I'd appreciate [feedback](https://github.com/blax-k/SpawnElytra/issues).
#### Per-World Configuration
- **World-Specific Settings** under `worlds.<world>`
- Configure different settings for each world
- Enable/disable elytra per world
- Different activation modes per world
- World-specific spawn areas and boost settings
#### Spawn Area Options
- **Flexible Area Definition**
- `spawn_area.mode`: Choose between `auto` (uses world spawn) or `advanced` (custom coordinates)
- `spawn_area.area_type`: Define areas as `circular` or `rectangular`
- Circular areas: Use center point (x, y, z) with radius
- Rectangular areas: Use two corner points (x, y, z) and (x2, y2, z2)
#### Hunger Consumption System (Off by default)
- **Optional Hunger Cost** - `hunger_consumption.enabled`
- Multiple consumption modes: `activation`, `distance`, or `time`
- **Activation mode**: Consume hunger each time elytra activates
- **Distance mode**: Consume hunger based on blocks traveled
- **Time mode**: Consume hunger based on flight duration
- Configurable minimum food level protection
- Adjustable hunger cost for each mode
#### Message & Display Options
- **Message Style Settings** - `messages.style`
- `classic`: Normal message formatting
- `small_caps`: Small caps text style
- **Message Toggles**
- `messages.show_press_to_boost`: Toggle boost activation messages
- `messages.show_boost_activated`: Toggle boost confirmation messages
- `messages.show_creative_disabled`: Show actionbar when elytra is disabled in creative mode
#### Game Mode Restrictions
- **Adventure Mode Control** - `game_modes.disable_in_adventure`
- Option to disable elytra in adventure mode (in addition to existing creative mode toggle)
- Prevents elytra activation in adventure mode when enabled
#### Multi-Language Support
- **Four Languages Included**
- English (en)
- German (de)
- Spanish (es)
- French (fr)
---
### Migration
#### Automatic Data Migration
- Plugin automatically migrates settings from the now legacy folder **CraftAttackSpawnElytra**
- Migration is triggered when the old plugin folder is detected on startup
- Existing configuration data is migrated and backed up to `plugins/SpawnElytra/backups/<timestamp>`
- Language files are **not** migrated due to completely different formatting (MiniMessage vs legacy)
- Old language files are preserved in the backup folder if needed
**Important Note**
This plugin checks for the `CraftAttackSpawnElytra` directory on startup. If files are found, they are moved to `SpawnElytra` and backed up. To prevent this behavior, add `prevent-spawnelytra-from-migrating: true` to config.yml before starting the server.
---
### Changed
- **Plugin Name**: `CraftAttackSpawnElytra` → `SpawnElytra`
- **Maven Artifact**: `craftattackspawnelytra` → `spawnelytra`
- **Package Structure**: Reorganized into logical subpackages
- `command` - Command handling
- `config` - Configuration management and updates
- `data` - Player data management
- `integration` - Third-party integrations (PlaceholderAPI)
- `listener` - Event listeners (core elytra mechanics)
- `setup` - Setup wizard and session management
- `util` - Utility classes (messaging, scheduling, backups, updates)
#### Default Settings
- **Default Language**: Changed from German (de) to English (en)
- Users can still select German or other languages via config or settings command or the first install message
#### Dependencies & Build
- **Maven Shade Plugin**: Updated from `3.5.3` to `3.6.0`
- **Adventure API**: Added complete MiniMessage support
- adventure-api: `4.17.0`
- adventure-text-minimessage: `4.17.0`
- adventure-text-serializer-plain: `4.17.0`
- adventure-platform-bukkit: `4.3.4`
- **Gson**: Added for Modrinth JSON handling and update checking
- **Improved Relocations**: Better dependency shading for bStats and Adventure libraries
#### Configuration Format
- **Restructured Config Layout**
- Clearer organization with global settings and world-specific sections
- More detailed comments explaining each option
- Grouped related settings (game_modes, fireworks, messages, visualization, hunger_consumption)
- Spawn area settings nested under `spawn_area` with mode and area_type options
---
### Fixed / Improved
#### Cleanup & Stability
- **Better Cleanup on Disable**: Properly cancels visualization tasks and clears player data when plugin is disabled
- **Better Logout Handling**: Removes player-specific data and tasks when players disconnect
- **Visualization Task Management**: Prevents memory leaks from lingering particle tasks
#### Messaging System
- **MiniMessage Format**: All messages now use MiniMessage for text formatting
- Support for colors, gradients, hover text, and click actions
- Legacy color codes are no longer used
</details>
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }