Releases: mattbaconz/IonAPI
Releases · mattbaconz/IonAPI
🚀 IonAPI v1.5.0
🚀 IonAPI v1.5.0
🐛 Bug Fixes
ion-gui
- Event Priority Hardening: Changed all GUI event handlers from
EventPriority.NORMALtoEventPriority.HIGHESTto prevent other plugins from un-canceling cancelled events and causing item exploitsIonGuiBuilder: 5 handlers updatedInputGui: 3 handlers updatedSignInput: 1 handler updated
- Shift-Click Exploit Fixed: Added blocking for shift-click and hotbar swap (number keys) when clicking in player inventory
- ConfirmationGui Double-Callback Fixed: Added
handledflag to preventonCancelcallback from firing twice
Examples
- ComprehensiveExample.java: Fixed compile error - changed
.async()to.asyncSupply()for lambda that returns a value
🥶 IonAPI v1.4.0
[1.4.0]
✨ New Features
- Scoreboard Stability: Introduced
fixedWidth(int)to prevent scoreboard resizing/jitter when line lengths change. - API Enhancement: Added
IonScoreboard.builder().fixedWidth(int)for consistent display width.
📚 Documentation
- Updated examples and README to reflect the v1.4.0 builder patterns.
👑 IonAPI v1.3.0 - polishing and fixing
IonAPI v1.3.0
🐛 Bug Fixes
- Scoreboard Flashing Fixed - No more flickering on updates
- GUI Item Duplication Fixed - Prevented all item manipulation exploits
✨ New Features
- Animated Scoreboard Lines - animatedLine(score, interval, frames...)
- Auto-Update Scheduling - updateInterval(ticks) for scoreboards
- ConfirmationGui - Simple yes/no dialog builder
- Skull Textures -
.skullTexture(base64)for custom heads - Leather Armor Colors -
.color(Color.RED)for leather items - Potion Effects -
.potionType(),.potionEffect(),.potionColor()
📦 Installation
implementation("com.github.mattbaconz:IonAPI:1.3.0")🔥IonAPI v1.2.6
[1.2.6]
🚀 Improvements
- Build Fix: Resolved artifact conflict for correct JitPack building.
- API: Added
IonPlugin#getIonVersion()utility. - Documentation: Updated all guides and verified correctness (including year 2025 corrections).
- Polish: Resolved various Javadoc warnings for cleaner build output.
⚛️ IonAPI v1.2.5 - Native Paper & Folia Support
IonAPI v1.2.5
🚀 Native Paper & Folia Support
This release implements the core platform logic required for IonAPI to function on modern Minecraft servers. It bridges the gap between the API and the underlying server software.
✨ New Features
- Paper Support: Native implementation for Paper servers tailored for high performance.
- Folia Support: Full support for Folia's regionized threading model.
- Unified Scheduler:
- The IonScheduler now automatically detects the platform.
- Added context-aware scheduling: runAt(Entity, ...) and runAt(Location, ...).
- Safe delegation to Folia's RegionScheduler and GlobalRegionScheduler.
- Core Services: Implemented default providers for Commands, Configuration, and the Event Bus.
🐛 Fixes
- Fixed a build error related to missing Paper API dependencies in
ion-core. - Resolved conflicting method overrides in the base plugin implementation.
🛠️ Usage
implementation("com.github.mattbaconz:IonAPI:1.2.5")🚀 IonAPI v1.2.0 - Performance & Utilities
🚀 IonAPI v1.2.0 - Performance & Utilities
Performance improvements and 8 new developer utilities to make plugin development faster and easier.
⚡ Performance
- 10-50x faster ORM through reflection caching
- Batch operations for bulk insert/update/delete
- Optimized dependencies (Redis now compileOnly)
✨ New Features
- CooldownManager - Thread-safe player cooldowns
- RateLimiter - Sliding window spam prevention
- MessageBuilder - Fluent MiniMessage builder
- IonScoreboard - Easy scoreboard creation
- IonBossBar - Boss bar management
- Metrics - Performance monitoring
- BatchOperation - Bulk database operations
- ReflectionCache - Automatic entity caching
📦 Installation
dependencies {
implementation("com.github.mattbaconz:IonAPI:1.2.0")
}🔄 Migration
No breaking changes! Fully backward compatible with v1.1.0.
⭐ IonAPI v1.1.0 - Economy, Redis & Enterprise Features
🔒 Security
- Fixed SQL injection vulnerability in
QueryBuilderImpl- all column names, operators, and ORDER BY directions are now sanitized - Fixed resource leak in
TransactionImpl- connection is now properly closed ifsetAutoCommit(false)fails
✨ Added
- ion-economy: Complete economy system with Vault integration
EconomyProvider- Core async economy interfaceCurrency- Multi-currency support with formattingTransactionResult- Detailed transaction outcomesEconomyAccount- Database entity with BigDecimal precisionIonEconomy- Static API entry point with fluent transactionsIonEconomyVaultHook- Full Vault compatibility bridge
- GitHub Actions CI/CD pipeline for automated builds and tests
- Comprehensive input validation for database queries
- New
EconomyExample.javademonstrating economy usage - ORM Relationships: Entity relationship annotations
@OneToMany- One-to-many relationships with lazy/eager loading@ManyToOne- Many-to-one relationships@JoinColumn- Foreign key column specificationFetchType- EAGER/LAZY loading strategiesCascadeType- Cascade operations (ALL, PERSIST, MERGE, REMOVE, REFRESH)
- Entity Caching: Reduce database queries with in-memory caching
@Cacheable- Mark entities for caching with TTL and max sizeEntityCache- Thread-safe cache with automatic expirationCacheManager- Centralized cache management
- New
AdvancedDatabaseExample.javashowing relationships, caching, and transactions - ion-redis: Redis integration module
IonRedis- Async Redis client interfaceIonRedisBuilder- Fluent builder for Redis connections- Pub/sub messaging support
- Key-value storage with TTL
- Connection statistics and health monitoring
- Hot-Reload Config: Auto-reload configuration on file changes
HotReloadConfig- WatchService-based config monitoring- Multiple reload handlers support
- Real-time config updates without server restart
- Economy Admin Commands: Debug commands for economy system
/ion eco set <player> <amount>- Set player balance/ion eco give <player> <amount>- Give money to player/ion eco debug <player>- View raw database state
- New
HotReloadExample.javademonstrating config hot-reloading - JitPack configuration for Maven Central publication
- "IonAPI vs Others" comparison table in README
⚡ IonAPI v1.0.0 - Initial Release
🎉 IonAPI v1.0.0 - Initial Release
✨ Features
🔥 Core Features
- ⚡ Unified Scheduler - Paper & Folia compatible
- 🎮 Modern Commands - Fluent registration
- ⚙️ Smart Config - Type-safe configuration
- 📢 Event Bus - Custom event system
- 🛠️ Utilities - MiniMessage support
🆕 Extended Features
- 🎨 Item Builder - Fluent ItemStack creation
- 📦 GUI System - Interactive menus
- 📊 Scoreboard/BossBar - Dynamic UI
- 🔗 Task Chains - Async/sync workflows
- 💾 Database ORM - Simple data persistence
🌟 Additional Modules
- 🔌 Cross-Server Messaging - Velocity/BungeeCord support
- 👻 Packet NPCs - Lightweight NPCs
- 🏷️ PlaceholderAPI Bridge - Auto-registration
- 💉 Dependency Injection - Clean architecture
- 🧪 Unit Testing - Mock framework
- 🔄 Compatibility Layer - Java 8+ polyfills