Easter HolidaysСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (17)
release
Easter Holidays 1.3.6
1.3.617 июн. 2026 г.55Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.3.6] - 2026-06-17
### Bug Fixes
#### Region / Land Protection
- **Block-Changing Features Now Respect Any Protection Plugin (Dominion, Towny, Lands, GriefDefender, ...):** Carrot gardens and bunny hop pads modified the world via direct `setType()` calls, which fire no Bukkit event — so protection plugins never saw them. Only WorldGuard and GriefPrevention were checked, via plugin-specific reflection, meaning claims from any other protection plugin (e.g. **Dominion**) were silently ignored (reported case: an Easter Bunny turning protected stone into farmland). Block placement now runs through a new generic `RegionIntegration.canPlace(...)` check that fires a synthetic `BlockPlaceEvent` and honors its cancellation. Because virtually every land-protection plugin listens to that event, all of them are now respected at once — without adding any of them as a dependency.
- **Bunny Hop Pads Had No Protection Check At All:** `spawnHopPad()` placed its block without ever consulting `RegionIntegration`. It now performs the generic protection check before placing.
- **Carrot Gardens Check Per Block:** Protection is now evaluated for each block of the garden, so a claim covering only part of the spawn area is handled correctly instead of all-or-nothing.
release
Easter Holidays 1.3.5
1.3.53 июн. 2026 г.22Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.3.5] - 2026-06-03
### Bug Fixes
#### Daily Quests
- **Fixed Quest Progress Not Persisting (Reward Duplication):** Daily quest progress was kept only in memory and lost on restart. The empty shutdown block has been replaced with real persistence to `dailyquests.yml`. On load, only entries dated today are restored, which prevents re-claiming rewards after a restart **and** stops the in-memory map from growing unbounded over time.
- **Fixed Quests Not Reloading:** `/easter reload` now reloads quest definitions from config (`DailyQuestManager.reload()` was never called).
#### Themed Mobs
- **Fixed Particle Timer Leak (Easter Chick & Rainbow Sheep):** The repeating particle/color timers were never cancelled when the entity died. On Paper/Spigot (where entity tasks are not auto-retired) this leaked a repeating task per spawned mob. Timers now cancel themselves on death, and `cleanup()` cancels any remaining sheep timers.
#### Update Checker
- **Added Server-Compatibility Filter:** The checker no longer reports updates that are incompatible with the running server. The Modrinth query now filters by the server's Minecraft version (`game_versions`) and a Bukkit-family loader (`loaders`).
- **Pick Highest Version Instead of Newest-Published:** Selects the highest `version_number` across all compatible versions instead of just the first array element.
- **Fixed Resource Leak:** `BufferedReader` is now closed via try-with-resources and the `HttpURLConnection` is disconnected in a `finally` block.
#### Shutdown & Thread-Safety
- **Removed Blocking Sleep on Main Thread:** `AchievementManager.close()` no longer calls `Thread.sleep(1000)`; the existing latch already guarantees all async saves complete.
- **Fixed Non-Thread-Safe Map:** `TimedEventManager.activeEvents` is now a `ConcurrentHashMap` (accessed from both scheduler and main thread).
#### Misc
- **Cleanup Log Accuracy:** `EasterEggLauncherManager.cleanup()` reported the count *after* clearing (always "0"); it now reports the actual number.
### Improvements
- **Language Files Are Now Merged, Not Overwritten:** `messages_de.yml` / `messages_en.yml` previously overwrote admin customizations on every start. They are now merged: existing values are kept and only missing keys are added from the JAR defaults.
- **Removed Dead Code & Stray File:** Removed the unused `saveResourceIfAbsent()` helper and a stray Windows reserved-name `nul` file from the repository root.
release
Easter Holidays 1.3.4
1.3.410 мая 2026 г.26Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.3.4] - 2026-05-10
### Bug Fixes
#### Folia Compatibility
- **Fixed Folia Cleanup Thread-Safety:** All cleanup methods (`/easter cleanup`, `/easter off`, plugin shutdown) now use `scheduler.runForEntity()` / `scheduler.runAtLocation()` instead of accessing entities directly from the command thread. Fixes `IllegalStateException` on Folia servers.
- `EasterEggManager`, `EasterBunnyManager`, `ThemedMobManager` - Entity access via entity scheduler
- `EasterBossManager` - Changed `runAtLocation` to `runForEntity` for entity removal
- `CarrotGardenManager`, `BunnyHopPadManager` - Block operations via location scheduler
- `BunnyHopChallengeManager` - Player potion effects via entity scheduler
- **Fixed Folia Scoreboard Crash:** `initializeDamageScoreboard()` in `EasterBossManager` threw `UnsupportedOperationException` on Folia. Scoreboard API is now wrapped in try-catch and gracefully disabled on Folia servers.
- **Fixed Folia Scoreboard Reset Crash:** `handleBossDeath()` and `spawnBoss()` scoreboard operations now wrapped for Folia compatibility.
#### Easter Boss
- **Fixed BossBar NPE & Duplicate Update:** Removed duplicate `setProgress()` call without null-check in `startBossAI()` that caused NPE when BossBar was disabled.
- **Fixed BossBar Cleanup NPE:** Added null-check before `bossBar.removeAll()` in cleanup.
- **Fixed Damage Sidebar Persisting After `/easter killboss` and `/easter off`:** `cleanup()` did not reset player scoreboards - only `handleBossDeath()` (natural death) did. Sidebar now properly removed on all cleanup paths.
- **Added Missing BossBar Config:** Added `easterBoss.bossBar` section (enabled, color, style, range) to default config - values were used in code but never exposed in config.yml.
#### Easter Egg Cleanup
- **Fixed Eggs Not Being Removed on `/easter off`:** Cleanup checked `item.getCustomName()` (entity name) but Easter Eggs only have a display name on the ItemStack, not on the entity. Now correctly checks `item.getItemStack().getItemMeta().getDisplayName()`.
- **Fixed Language-Dependent Cleanup:** Cleanup only matched English name "Easter Egg" but not German "Osterei". Now checks both languages plus the active language file dynamically.
#### Bunny Hop Pads
- **Fixed Placement:** Hop pad now spawns on top of the block the player is looking at (target block + 1) instead of replacing a block or spawning at the player's feet. Checks for free space above target block.
- **Fixed Invalid Block Type:** Changed default `blockType` from `LIGHT_BLUE_SLAB` (does not exist) to `LIGHT_BLUE_CONCRETE`.
- **Fixed Extreme Boost Power:** Changed default `boostPower` from `50.0` to `3.0` (reasonable value).
#### Commands & Events
- **Fixed Event "parade" Not Recognized:** Added `"parade"` as alias for `"bunny-parade"` in command handler and tab-completion.
### Improvements
#### Easter Title GUI
- **Improved Locked Title Display:** Locked titles now show the title name (grayed out), the unlock requirement, and a visual progress bar instead of just "??? Locked".
- **Added Progress Tracking:** Each locked title shows current progress (e.g., `|||||||||| 12/25`) based on the player's egg/bunny stats.
release
Easter Holidays 1.3.3
1.3.329 апр. 2026 г.34Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.3.3] - 2026-04-29
### Bug Fixes
- **Fixed Folia Scheduler Crash:** `EasterBasketManager` used the Bukkit Scheduler (`runTaskTimerAsynchronously`, `runTaskAsynchronously`) which throws `UnsupportedOperationException` on Folia. Replaced with `FoliaSchedulerHelper` for full Folia compatibility.
release
Easter Holidays 1.3.2
1.3.222 апр. 2026 г.20Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.3.2] - 2026-04-22
### New Features
#### In-Game Loot Table Management
- **New Admin Command:** `/easter drops` - Manage loot tables and egg type chances without editing config files
- Supports tiers: `common`, `rare`, `legendary`, `boss` (Easter Boss loot)
- `/easter drops list <tier>` - View all items in a loot table
- `/easter drops add <tier> <MATERIAL:amount>` - Add items to a loot table
- `/easter drops remove <tier> <index>` - Remove items by index number
- `/easter drops chance` - View current egg type spawn chances
- `/easter drops chance <type> <percent>` - Set spawn chance for normal/golden/diamond/ eggs
- Permission: `easter.admin.drops`
- Changes are saved to config.yml immediately (no restart required)
- Full tab-completion for all sub-commands and arguments
#### Configurable Egg Type Chances
- **Egg type spawn chances are now configurable** via config.yml instead of hardcoded
- `easterEggs.typeChances.normal` (default: 94%)
- `easterEggs.typeChances.golden` (default: 5%)
- `easterEggs.typeChances.diamond` (default: 1%)
- Warning when total doesn't add up to 100%
release
Easter Holidays 1.3.1
1.3.121 апр. 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.3.1] - 2026-04-21
### New Features
#### Give Loot Command
- **New Admin Command:** `/easter giveloot <player> <tier>` - Give loot rewards to players via command
- Supports tiers: `common`, `rare`, `legendary`, `boss`
- Uses the configured loot tables from config.yml
- Gives a random item from the selected tier
- Alias: `/easter loot`
- Permission: `easter.admin.giveloot`
- Full tab-completion for player names and tiers
- Multi-language support (EN/DE)
### Bug Fixes
#### Easter Boss & Region Protection
- **Fixed Boss Invincibility Exploit in GriefPrevention Claims:** Players could claim the land where the Easter Boss spawned, making it invincible to anyone except the claim owner
- Added `HIGHEST` priority event handler that bypasses region protection for Easter Boss damage
- All players can now damage the Easter Boss regardless of claim ownership
- Prevents the exploit where players claim land under the boss to grief other players
#### Title System
- **Fixed Race Condition on Player Load:** Title data is now initialized synchronously before async database load, preventing data loss when players interact with the title GUI immediately after joining
- **Fixed Single Title Unlock Bug:** `updateTitle()` now unlocks ALL titles a player qualifies for, not just the highest one. Previously, a player with 500 eggs would only get "Epic Egg Hunter" but not the lower-tier titles
- **Fixed Thread Safety Issues:** `TitleData.selectedTitle` is now `volatile`, and `unlockedTitles` uses a thread-safe `ConcurrentHashMap.newKeySet()` instead of a regular `HashSet`
- **Fixed Potential NullPointerExceptions:** Added null checks for `ItemMeta` in title GUI creation (both title items and clear button)
- **Fixed Fragile GUI Lock Detection:** Title GUI now checks `Material.GRAY_DYE` instead of checking display name for "Locked" text, which failed with non-English languages
- **Fixed Shutdown Data Loss Risk:** Replaced `Thread.sleep(2000)` with `CompletableFuture.allOf().get(5s)` to properly wait for all async save operations to complete
#### Command System
- **Added `/easter title select none` and `/easter title select clear`:** Players can now remove their title via command instead of only through the GUI
#### Database Repair
- **Added `titles.db` to `/easter dbrepair`:** Title database is now included in all repair operations (check, fix, backup) alongside statistics and baskets
### Improvements
- **Invalid Title Logging:** `parseTitles()` now logs a warning when encountering unknown title entries in the database instead of silently skipping them
release
Easter Holidays 1.3.0
1.3.06 апр. 2026 г.47Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.3.0] - 2026-04-06
### 🐛 Bug Fixes
#### Command System
- **Tab-Completion:** Added missing commands to auto-complete
- Added aliases: `lb`, `top` for leaderboard
- Added aliases: `repairdb` for dbrepair
- Added aliases: `jukebox` for music
- Added resource pack commands: `pack`, `resourcepack`, `texturepack`
- All commands now properly appear in tab-completion
#### Leaderboard System
- **Fixed "Unknown User" Bug:** Players in leaderboard now show correct names
- Automatically resolves player names using Bukkit OfflinePlayer API
- Updates database with resolved names to prevent future issues
- Handles old database entries with missing or invalid names
- Improved name resolution for offline players
#### Easter Basket System
- **Fixed Item Loss Bug:** Items no longer disappear from baskets
- Added backup mechanism during save operations
- Improved transaction handling with proper rollback on errors
- Added auto-save every 5 minutes for modified baskets
- Asynchronous saving to prevent main thread blocking
- Better error handling and recovery
- Fixed race conditions during inventory close events
### 🔧 Improvements
- **Database Operations:** More robust error handling and logging
- **Performance:** Asynchronous basket saving reduces server lag
### 📖 Documentation
- **Updated plugin.yml:** Complete command documentation with all aliases
- **Improved help text:** Added all command variations and options
release
Easter Holidays 1.2.9
1.2.95 апр. 2026 г.34Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.9] - 2026-04-05
### ✨ New Features
#### Boss Damage Tracking System
- **Live Damage Scoreboard:** Shows top 5 damage dealers during boss fights
- Real-time updates with damage values and percentages
- Automatically displayed to players within 50-block radius
- Clean, color-coded display on the sidebar
- "Waiting for combat..." message before first damage
- Configurable via `easterBoss.damageTracking.scoreboard`
- **Post-Battle Damage Report:** Detailed chat report when boss is defeated
- Complete damage breakdown for all participants
- Percentage-based damage distribution
- Top 10 damage dealers displayed with rankings (configurable)
- Medal system (⭐ Gold/Silver/Bronze) for top 3 players
- **MVP System:** Special recognition for the highest damage dealer
- MVP announcement broadcast to all players
- Special title animation and sound effects for MVP
- Unique rewards for top damage dealer
- Fully configurable (broadcast, animation, sounds)
- **Multi-Language Support:** Full EN/DE translations for all damage tracking features
#### Boss Sound Configuration
- **Customizable Sound Settings:** All boss sounds are now configurable
- Spawn sound (volume, pitch, enable/disable)
- Death sound (volume, pitch, enable/disable)
- Attack sounds (volume, pitch, enable/disable)
- **Volume Control:** Set volume from 0.0 to 2.0 for each sound type
- **New config section:** `easterBoss.sounds`
```yaml
sounds:
spawn:
enabled: true
volume: 2.0 # 0.0-2.0
pitch: 0.5 # 0.0-2.0
```
### 🔧 Improvements
#### Configuration System
- **Enhanced ConfigMigrator:** Now correctly compares full version numbers (1.2.8 vs 1.2.9)
- **Automatic Config Updates:** New settings are added without losing existing configuration
- **Better Migration Detection:** Explicitly checks for all new config sections
- **Improved Logging:** Shows exactly which config options were added during migration
#### Damage Tracking Accuracy
- **Overkill Protection:** Damage is correctly capped at boss's remaining health
- **Environmental Damage Tracking:** Fire, fall damage, etc. now properly tracked
- **TNT Damage Attribution:** TNT damage is now credited to the player who placed it
- **Event Priority Fix:** Uses MONITOR priority for accurate final damage values
#### Scoreboard Display
- **Immediate Display:** Scoreboard shows instantly when boss spawns
- **Better Player Detection:** Improved range detection for showing/hiding scoreboard
- **Consistent Updates:** Fixed timing issues with scoreboard updates
- **Automatic Cleanup:** Scoreboard properly removed when players leave range
### 🐛 Bug Fixes
- Fixed ConfigMigrator not detecting version changes properly
### 📝 Technical Changes
- Added value clamping for all sound volumes (0.0-2.0 range)
- Improved debug logging for sound settings and damage tracking
- Better thread safety for damage tracking maps
- Optimized scoreboard update frequency (configurable)
release
Easter Holidays 1.2.8
1.2.85 апр. 2026 г.28Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.8] - 2026-04-05
### ✨ New Features
#### Configurable Permission System
- **Flexible Feature Permissions:** Server admins can now control which features require permissions
- **Per-Feature Configuration:** Each feature (hoppad, launcher, trail, etc.) can be made public or restricted
- Added new `permissions` section in config.yml:
```yaml
permissions:
requirePermissionFor:
hoppad: false # Everyone can use hop pads!
launcher: true # Requires permission
```
- **Live Reload:** Permission changes take effect with `/easter reload` - no restart needed
- **Backwards Compatible:** All existing permissions continue to work as before
- Added comprehensive permission documentation in `PERMISSIONS_GUIDE.md`
#### Automatic Configuration Migration
- **No More Config Deletion!** Updates automatically add new config options without losing existing settings
- **Smart Migration:** Only missing options are added, existing values are preserved
- **Automatic Backups:** Creates backup before any migration (`config.yml.backup`)
- **Backup Rotation:** Maintains only 2 backups to keep plugin folder clean:
- `config.yml.backup` - Latest backup
- `config.yml.backup.old` - Previous backup
- **Version Tracking:** Config version tracked at file end with prominent warning
- **Detailed Logging:** Shows exactly which options were added during migration
- Old timestamped backups are automatically cleaned up
### 🔧 Improvements
#### Configuration
- **Config Version Location:** Moved to end of file with clear warning message:
```yaml
# ============================================================================
# WARNING: DO NOT MODIFY THE CONFIG VERSION!
# This is used for automatic configuration updates.
# ============================================================================
config-version: "1.2.8"
```
- **Better Organization:** Permission settings grouped logically in config
- **Cleaner Updates:** Future plugin updates won't require config deletion
### 📚 Documentation
- Added `PERMISSIONS_GUIDE.md` - Complete guide for the new permission system
- Added `CONFIG_MIGRATION.md` - Technical details about automatic config updates
- Updated examples showing how to configure permissions for different server types
### 🛠️ Technical
- Added `PermissionManager` class for centralized permission handling
- Added `ConfigMigrator` class for automatic configuration updates
- Improved config file I/O operations for reliable migration
- Migration runs automatically on plugin startup when needed
release
Easter Holidays 1.2.7
1.2.73 апр. 2026 г.106Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.7] - 2026-04-03
### 🔒 Security & Bug Fixes
#### Fixed
- **Critical: Easter Basket Item Duplication Bug**
- Fixed a critical exploit allowing players to duplicate items from Easter Baskets
- Added `EasterBasketGUIListener` to properly handle inventory interactions
- Players can no longer remove items from the basket GUI (view-only mode)
- Exchange button functionality preserved and working correctly
- Prevents all forms of item extraction including click and drag events
- Fixed issue where player's own inventory became unusable in basket GUI
- **Boss Spawn & Boss Bar Issues**
- Fixed boss repeatedly attempting to spawn in protected regions
- Added region protection checks to `findSafeSpawnLocation()` method
- Fixed orphaned boss bars appearing without actual boss
- Added cleanup routine for dead bosses and their boss bars
- Boss spawn timer now resets when spawn fails due to region protection
- Fixed Purpur compatibility: Boss now spawns on correct regional thread
- Fixed boss spawn warning timer running repeatedly instead of once (changed runGlobalTimer to runGlobalTaskLater)
- **Easter Basket Improvements**
- Items are now individually removable from basket while preventing duplication
- Basket contents sync on inventory close to prevent item loss
- Exchange button (slot 26) remains protected
- Full item management support: take, place, and organize items freely
- **Boss Entity Removal on Folia/Purpur**
- Fixed `/easter killboss` command not removing boss entities on Folia/Purpur servers
- Boss entity removal now runs on the correct regional thread
- `/easter off` command now properly cleans up all boss entities
- Boss removal is now thread-safe across all server platforms
#### Compatibility
- **Server Platform Support:**
- Fixed thread-safety issue preventing boss spawns on Purpur servers
- Boss entity spawning now uses proper regional thread execution
- Fixed Folia chunk access error: findSafeSpawnLocation now runs on regional thread
- Full compatibility with Paper, Spigot, Purpur, and Folia
#### Known Issues (Non-Critical)
- **FoliaLib 0-tick Warning:** Harmless informational warning about 0-tick delays being auto-corrected to 1 tick
- Does not affect functionality - FoliaLib handles this automatically
- Can be suppressed via config if desired
- **JOML Unsafe Deprecation Warning:** Server startup warning about sun.misc.Unsafe::objectFieldOffset
- NOT caused by EasterHolidays - comes from Minecraft's JOML library
- Does not affect plugin functionality
- Will be resolved by Mojang/JOML maintainers in future releases
#### Security
- **Inventory Protection:**
- Easter Basket GUI is now fully protected against manipulation
- All inventory click and drag events are properly cancelled
- Ensures basket contents remain synchronized with database
- Player inventory remains fully functional while viewing basket
release
Easter Holidays 1.2.6
1.2.62 апр. 2026 г.30Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.6] - 2026-04-02
### 🐰 Boss Improvements & Combat System
#### Added
- **Boss Fall Damage Protection:**
- Easter Boss is now immune to fall damage
- Prevents boss from dying to environmental damage during jump attacks
- **Group Loot System:**
- All players who dealt damage to the boss receive rewards
- Damage tracking system for fair loot distribution
- Rewards include Golden Carrots, Enchanted Golden Apple, Diamonds, and Emeralds
- Special effects (Regeneration, Strength, Speed, Jump Boost, Luck) for all participants
#### Fixed
- **Boss Respawn Timer:**
- Fixed immediate boss respawn after death
- Properly enforces 60-minute minimum interval between spawns
- Added multiple safeguards against timer bypass
- `lastBossSpawn` correctly initialized and maintained
- **Boss Health Configuration:**
- Fixed health value exceeding Minecraft's 1024 limit
- Server config properly set to 1000 health
- Default config set to 500 for safety
- **Boss Bar Management:**
- Boss bar properly removed on boss death
- Fixed potential memory leaks from lingering boss bars
- **Complete Region Protection Integration:**
- All Easter features (Eggs, Bunnies, Carrot Gardens, Boss) now respect WorldGuard and GriefPrevention protected areas
- Configurable via `regionIntegration` settings with `allowInClaims: false`
#### Changed
- **Boss Death Rewards:**
- Changed from killer-only to all damage dealers
- More cooperative gameplay experience
- Encourages teamwork in boss fights
release
Easter Holidays 1.2.5
1.2.529 мар. 2026 г.55Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.5] - 2026-03-29
### 🔧 Critical Folia Fix & Title System Improvements
#### Added
- **PlaceholderAPI Support for Titles:**
- `%easter_title%` - Returns player's selected title with color codes
- `%easter_title_raw%` - Returns title without color codes
- Can be used in scoreboards, holograms, and other plugins
- **Note:** Direct chat integration removed due to Minecraft 1.19+ signed chat limitations
- **Resource Pack Tips Configuration:**
- Added `resourcePackTips.enabled` and `resourcePackTips.showOnStartup` options
- Tips are now enabled by default as requested
#### Changed
- **Title System:**
- Titles are now earned through achievements (collecting eggs/catching bunnies)
- 11 different titles from "Ei-Finder" to "LEGENDÄRER Eier-Meister"
- GUI selection via `/easter title gui` with German translations
- Automatic title unlocking based on statistics
- **Chat integration removed** - Minecraft's signed chat system (1.19+) blocks message modifications
#### Fixed
- **Critical Folia Threading Bug**: Fixed `IllegalStateException: Recursive update` on player quit
- Removed recursive `statsCache.put()` calls inside `computeIfAbsent` in StatisticsManager
- Changed player data saving to async operations in PlayerQuitListener
- Prevents ConcurrentHashMap violations in Folia's strict threading model
- Affects Folia 1.21.11+ and potentially Paper under high load
#### Changed
- **PlayerQuitListener**: Now saves statistics and titles asynchronously for better performance
- **StatisticsManager**: Fixed loadPlayerStats to not modify cache during computeIfAbsent
release
Easter Holidays 1.2.4
1.2.427 мар. 2026 г.29Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.4] - 2026-03-27
### 🌍 Multi-World Support & Critical Fixes
#### Added
- **Full Multi-World Support**: Easter features can now run in multiple worlds simultaneously
- Configure via `easterWorlds` list in config.yml
- Support for "ALL" to enable in every world
- Legacy `easterWorld` config still supported for backwards compatibility
- **Helper Methods**: New `isEasterWorld()` and `getEasterWorlds()` methods in main class
- **Status Command Update**: `/easter status` now shows all configured Easter worlds
- **Debug Mode**: `/easter debug` command shows detailed world configuration and player tracking status
- **Resource Pack Tip**: OPs receive a one-time notification about the EggLauncher resource pack on first login after server start
#### Changed
- **EasterEggManager**: Now spawns eggs in all configured worlds
- **EasterBunnyManager**: Spawns bunnies across all configured worlds with per-world limits
- **CarrotGardenManager**: Manages gardens per-world with individual world limits
- **ThemedMobManager**: Spawns Easter Chicks and Rainbow Sheep in all configured worlds
- Per-world limits for both mob types
- Rainbow Sheep counting now per-world instead of global
#### Fixed
- **FoliaLib Update**: Updated from 0.4.3 to 0.4.4 to fix task wrapping exception
- Fixes: `IllegalArgumentException: The nativeTask provided must be a BukkitTask`
- Improves compatibility with Paper/Spigot servers
- **Multi-World Support**: Fixed issue where only the first world in `easterWorlds` list was working
- PlayerJoinListener now checks if player's world is an Easter world before starting features
- Added PlayerWorldChangeListener to handle players moving between worlds
- Easter features now properly start/stop when players enter/leave Easter worlds
- Prevents unnecessary task scheduling in non-Easter worlds
- **Cleanup Command**: Fixed `/easter off` not cleaning up entities in unloaded worlds
- All cleanup methods now iterate through configured Easter worlds only
- Entities in unloaded worlds are skipped with debug messages
- Cleanup now works correctly across all configured worlds regardless of player location
- **Mob Cleanup**: Fixed themed mobs not being removed after server restart
- Changed from exact name matching to substring matching for emoji compatibility
- Properly handles custom names with special characters
#### Dependencies
- **FoliaLib**: 0.4.3 → 0.4.4 (Critical bug fixes for task wrapping)
#### Resource Pack Integration
- Changed default item from `EGG` to `STICK` for resource pack compatibility
- Added `/easter pack` command for resource pack information
- Integrated with EggLauncher Resource Pack (https://modrinth.com/resourcepack/egglauchner)
- Pre-configured CustomModelData values for the pack
#### Configuration Example
```yaml
# Multi-world support
easterWorlds:
- "world"
- "world_nether"
- "creative"
# OR
easterWorlds: "ALL"
# Resource pack ready config
easterEggs:
itemMaterial: "STICK"
customModelData:
common: "4-5" # egg1, egg2 models
rare: "2-3" # egg3, egg4 models
legendary: "6-7" # egg5, egg6 models
easterEggLauncher:
itemMaterial: "STICK"
customModelData: 1 # osterblaster_3000 model
release
Easter Holidays 1.2.3
1.2.322 мар. 2026 г.30Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.3] - 2026-03-22
### 🎮 Testing & Admin Features
#### Added
- **New Admin Command**: `/easter spawnegg [type]` - Manually spawn eggs for testing
- Supports types: normal, golden, diamond, random
- Alias: `/easter egg [type]`
- Permission: `easter.admin.spawnegg`
- Eggs spawn 2 blocks in front of player with 1 second pickup delay
- Perfect for testing Custom Model Data and resource packs
- **New Launcher Command**: `/easter launcher infinite` - Toggle infinite ammo for admins
- Permission: `easter.admin.launcher.infinite`
- Must be explicitly enabled per player (not active by default)
- Shows status message when toggled on/off
- Only works if player has permission AND has it enabled
#### Fixed
- **Plugin Persistence**: Fixed plugin turning off after server restart
- **Config Persistence**: Only saves default config if none exists
- **CustomModelData Parsing**: Fixed range parsing issues with invalid ranges
- **Egg Pickup**: Added pickup delay to prevent instant collection when spawning eggs
- **Debug Output**: Enhanced debug messages for CustomModelData configuration
release
Easter Holidays 1.2.2
1.2.221 мар. 2026 г.26Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.2] - 2026-03-21
### 🔧 Maintenance Update
#### Changed
- **Updated SQLite JDBC**: Upgraded from 3.45.0.0 to 3.51.3.0 for better performance and security
- **Fixed bStats Plugin ID**: Changed from placeholder to actual ID
- **Code Cleanup**: Removed unused hardcoded CustomModelData values from EggType enum
#### Added
- **Resource Pack Template**: Complete template with English documentation for community resource pack creators
release
Easter Holidays 1.2.1
1.2.18 мар. 2026 г.33Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
## [1.2.1] - 2026-03-08
### 🐛 Bug Fixes - Critical Stability Improvements
#### Database & Performance
- **Fixed NullPointerException in StatisticsManager**: `getStats()` now automatically loads player stats if not in cache
- **Replaced Thread.sleep() in AchievementManager**: Now uses `CountDownLatch` with 5-second timeout for proper async shutdown
- **Migrated to HikariCP Connection Pooling**: All database managers now use connection pooling for better concurrency
- `EasterBasketManager`: Migrated from single connection to HikariCP
- `EasterTitleManager`: Migrated from single connection to HikariCP
- Prevents SQLite lock issues and improves multi-threaded performance
#### Null Safety
- **Added null-checks in PlayerJoinListener**: Prevents NPE when managers fail to initialize
- **Added null-checks in PlayerQuitListener**: Safe cleanup even if managers are unavailable
#### Performance Optimizations
- **Optimized distance calculations in EasterEggManager**: Changed from `distance()` to `distanceSquared()` to avoid expensive sqrt operations
- **Improved config parsing error handling**:
- Added validation for CustomModelData ranges
- Added proper error logging for invalid configuration values
- Prevents silent failures in config parsing
### 🔧 Technical Improvements
- All database managers now consistently use HikariCP for connection pooling
- Improved error logging across all managers
- Better resource cleanup during plugin shutdown
- Thread-safe shutdown procedures with proper timeout handling
release
Easter Holidays 1.2.0
1.2.06 янв. 2026 г.38Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Что нового
**Initial Modrinth release (v1.2.0)**
- Egg hunt system with multiple egg types and loot tiers
- Rare Easter bunnies with rewards and broadcasts
- SQLite stats + leaderboards
- Achievements and event system
- Carrot gardens, challenges, themed mobs, and an Easter boss fight
- Time-limited events, region integration, baskets, daily quests, titles, hop pads, and egg launcher
- Multi-platform scheduling with Folia support