Skip to content

Releases: mattbaconz/IonAPI

🚀 IonAPI v1.5.0

20 Dec 17:17

Choose a tag to compare

🚀 IonAPI v1.5.0

🐛 Bug Fixes

ion-gui

  • Event Priority Hardening: Changed all GUI event handlers from EventPriority.NORMAL to EventPriority.HIGHEST to prevent other plugins from un-canceling cancelled events and causing item exploits
    • IonGuiBuilder: 5 handlers updated
    • InputGui: 3 handlers updated
    • SignInput: 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 handled flag to prevent onCancel callback from firing twice

Examples

  • ComprehensiveExample.java: Fixed compile error - changed .async() to .asyncSupply() for lambda that returns a value

🥶 IonAPI v1.4.0

12 Dec 12:56

Choose a tag to compare

[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

10 Dec 14:28

Choose a tag to compare

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

09 Dec 10:50

Choose a tag to compare

[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

09 Dec 09:37

Choose a tag to compare

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

07 Dec 13:10

Choose a tag to compare

🚀 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

07 Dec 03:54

Choose a tag to compare

🔒 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 if setAutoCommit(false) fails

✨ Added

  • ion-economy: Complete economy system with Vault integration
    • EconomyProvider - Core async economy interface
    • Currency - Multi-currency support with formatting
    • TransactionResult - Detailed transaction outcomes
    • EconomyAccount - Database entity with BigDecimal precision
    • IonEconomy - Static API entry point with fluent transactions
    • IonEconomyVaultHook - Full Vault compatibility bridge
  • GitHub Actions CI/CD pipeline for automated builds and tests
  • Comprehensive input validation for database queries
  • New EconomyExample.java demonstrating 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 specification
    • FetchType - EAGER/LAZY loading strategies
    • CascadeType - 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 size
    • EntityCache - Thread-safe cache with automatic expiration
    • CacheManager - Centralized cache management
  • New AdvancedDatabaseExample.java showing relationships, caching, and transactions
  • ion-redis: Redis integration module
    • IonRedis - Async Redis client interface
    • IonRedisBuilder - 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.java demonstrating config hot-reloading
  • JitPack configuration for Maven Central publication
  • "IonAPI vs Others" comparison table in README

⚡ IonAPI v1.0.0 - Initial Release

05 Dec 13:42

Choose a tag to compare

🎉 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