
AllItemsMini – Mini All Items Challenge
Lightweight all-items challenge with bossbar & timer
120
0
AllItemsMini – Mini All Items Challenge 2.1.0
Release2 нед. назад
Список изменений
[2.1.0] - 2026-04-24
🎉 New Features
Folia Support
- Added: Full Folia compatibility via runtime detection - the plugin now works on both Paper and Folia servers
- Added:
SchedulerUtilutility class that automatically selects the correct scheduler API (BukkitScheduler on Paper, regionized schedulers on Folia)
Modrinth Update Checker
- Added: Automatic update check against the Modrinth API on server startup
- Added: Semantic version comparison (SemVer) - correctly determines if a remote version is newer
- Added: In-game update notification for admins (players with
allitems.admin) on join - Added: Configurable via
update-check: true/falseinconfig.yml - Added: Update messages in all 4 languages (DE, EN, FR, ES)
Tab-Complete
- Added: Tab-completion for
/aicsubcommands (start,stop,reset,show,skip,timer,reload) - Added: Tab-completion for
/aic timeroptions (on,off,start,stop,reset)
bStats Metrics
- Added: bStats integration for anonymous usage statistics
🐛 Bug Fixes
- Fixed: Race condition in offhand item submission - items are now tracked in a pending map and restored via
PlayerQuitEventif the player disconnects during the 1-tick restoration window - Fixed: Invalid materials in
progress.yml(e.g., after a Minecraft version update) are now counted and logged with a summary warning instead of being silently dropped - Fixed: BossBar is now explicitly removed via
Bukkit.removeBossBar()on plugin disable instead of just clearing players
🔧 Changes
- Changed: Plugin now officially supports all 1.21.x versions (1.21, 1.21.1, ... 1.21.11+) via
api-version: "1.21"andfolia-supported: true - Changed: Unobtainable item filter is now string-based instead of hardcoded enum references - automatically adapts to the running server version
- Changed: Config automatically merges missing keys on startup via
copyDefaults- new config options are added without overwriting existing values
🗑️ Removed
- Removed: Unused
exportDefaultLanguageFiles()method fromMessageProvider
📁 New Files
src/main/java/org/example/allitems/SchedulerUtil.java- Platform-agnostic scheduler wrappersrc/main/java/org/example/allitems/UpdateChecker.java- Async Modrinth update checker
[2.0.0] - 2026-01-11
🎉 Major Features
YAML-Based Multi-Language System
- Added: Complete YAML-based translation system replacing hardcoded messages
- Added: French (fr_FR) language support
- Added: Spanish (es_ES) language support
- Added: Live-reloadable translations via
/aic reloadwithout server restart - Added: Automatic fallback to English for missing translation keys
- Added: Lazy loading and in-memory caching for optimal performance
- Added: Thread-safe language file operations using ConcurrentHashMap
Developer Documentation
- Added: Comprehensive Javadoc (in English) for all classes and methods
- Added: Class-level documentation for AllItemsMini with features overview
- Added: Detailed method documentation for MessageProvider (237 lines)
- Added: Complete documentation for ChallengeTimer state management
- Added: Full Javadoc for CommandHandler routing logic
- Added: Enhanced documentation for Lang enum with locale detection
- Added: Documented Msg enum with YAML key conversion
Code Modernization
- Improved: MessageProvider now uses modern Java 21 features
- Improved: Added @NotNull and @Nullable annotations throughout codebase
- Improved: Enhanced null-safety with explicit checks and fallbacks
- Improved: Modernized stream operations and lambda expressions
- Improved: Better error handling with proper exception logging
- Improved: Improved code organization and separation of concerns
🔧 Changes
- Changed: Default language is now English (was German) - BREAKING CHANGE
- Changed: Msg enum simplified to pure key enum (removed hardcoded translations)
- Changed: Lang enum expanded with fileName field for YAML file mapping
- Changed: MessageProvider constructor now requires JavaPlugin instance
- Changed: Language loading moved to runtime instead of compile-time
📁 New Files
src/main/resources/lang/de_DE.yml- German translations (47 keys)src/main/resources/lang/en_US.yml- English translations (47 keys)src/main/resources/lang/fr_FR.yml- French translations (47 keys)src/main/resources/lang/es_ES.yml- Spanish translations (47 keys)
🐛 Bug Fixes
- Fixed: Language reload now properly clears cache and reloads all files
- Fixed: Invalid format strings now log warnings instead of crashing
- Fixed: Missing translation keys now show placeholder instead of null
📚 Documentation
- Updated: README.md with comprehensive language system documentation
- Updated: README.md with developer documentation section
- Updated: README.md with language customization instructions
- Added: Reference to CHANGELOG.md in README
⚠️ Breaking Changes
- Default language changed from German to English
Migration: Add
language: deto yourconfig.ymlto restore German
Файлы
allitems-mini-2.1.0.jar(65.46 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
2.1.0
Загрузчики
FoliaPaperPurpurSpigot
Версии игры
1.21–1.21.11
Загрузок
8
Дата публикации
2 нед. назад
