Changelog

Track the evolution of ChosenLib with detailed release notes and feature updates.

🚀 Version 1.4.0 - Major Feature Release

Released: September 6 2025

✨ Major New Utility Classes

🌍 WorldUtils - World and Block Manipulation

Complete world and block manipulation utilities with safe operations:

  • Block Operations: getBlockState(), setBlockState(), isPositionLoaded()
  • Area Queries: getBlocksInCube(), getBlocksInSphere(), getBlocksInArea()
  • Block Finding: findBlocks(), findNearestBlock(), replaceBlocks()
  • World Properties: getBiome(), getLightLevel(), canSeeSky()
  • Chunk Utilities: getChunk(), isChunkLoaded(), getChunkPos()
  • Fluid Operations: getFluidState(), hasFluid()
  • Entity Queries: getEntitiesInBox(), getEntitiesAround(), getNearestEntity()

👤 EntityUtils - Entity-Related Operations

Comprehensive entity management and manipulation utilities:

  • Health Management: getHealth(), setHealth(), heal(), damage()
  • Status Effects: hasStatusEffect(), addStatusEffect(), removeStatusEffect()
  • Attributes: getAttributeValue(), setAttributeBaseValue()
  • Teleportation: teleport(), teleportToEntity()
  • Distance Utilities: getDistance(), isWithinDistance()
  • Entity Finding: getEntitiesInRadius(), findNearestPlayer()
  • Physics: setVelocity(), launchTowards(), knockback()
  • Player Operations: sendMessage(), giveItem()

🌐 NetworkUtils - Networking and Packet Utilities

Advanced networking utilities for packet creation and communication:

  • Packet Creation: createBuffer(), createSimplePacket(), createPositionPacket()
  • Player Targeting: sendToPlayer(), sendToPlayers(), sendToWorld()
  • Radius Sending: sendToPlayersInRadius()
  • Data Serialization: writeString(), writeBlockPos(), writeVec3d(), writeUuid()
  • Array Support: writeBooleanArray(), writeIntArray(), writeStringArray()
  • Safe Operations: safeBufferOperation(), hasReadableBytes()

🔧 Enhanced Existing Utilities

🎨 GuiUtils - Server-Side Compatibility

  • Server-Side Compatible: Core GuiUtils now works on both client and server
  • ClientGuiUtils: Extended client-side functionality for rendering operations
  • Color Operations: getRed(), getGreen(), getBlue(), getAlpha()
  • Mathematical: rectanglesOverlap(), distance(), interpolateColor()
  • Performance: Cached operations for better performance

📝 TextUtils - Advanced Operations

  • Interactive Text: clickableCommand(), withTooltip(), interactiveText()
  • Text Wrapping: wrapText(), createMultiLineTextBox()
  • Validation: isBlank(), matches() with pattern caching
  • Formatting: formatNumber(), formatDecimal(), formatDuration()
  • Performance: Cached regex patterns and formatting styles

🎒 ItemUtils - Performance and Features

  • Enhanced Validation: canMerge(), isDamageable(), isEnchanted()
  • Item Lookup: getItemById() for Identifier and String
  • Durability: getDurabilityPercentage(), damageItem(), repairItem(), fullyRepairItem()
  • NBT Operations: getNbt(), setNbt(), hasNbt()
  • Enchantments: getEnchantmentLevel(), hasEnchantment()
  • Inventory: findFirst(), findAll(), countItem(), consumeItem(), insertStack()
  • Performance: Caching for getItemId() and getMaxStackSize()

⚡ Performance Optimizations

  • Caching Systems: Concurrent caching for item IDs, stack sizes, regex patterns, and formatting styles
  • Thread Safety: All caches use concurrent hash maps for thread-safe operations
  • Memory Efficiency: Lazy initialization and efficient data structures
  • Cache Management: getCacheStats() and clearCache() methods for debugging

🔧 General Improvements

  • Internal version updated to 1.4.0
  • Comprehensive JavaDoc documentation for all new utilities
  • Extensive null safety checks and error handling
  • Thread-safe operations across all utilities
  • Enhanced /chosenlib command showcasing new features
  • Backward compatibility maintained - no breaking changes

🚀 Version 1.3.1 - Command Improvements

Released: September 4 2025

✨ New Features

  • /chosenlib Command Improvements: Added a clickable Modrinth link to the command output.
  • Provides an easy way for players and developers to quickly access the Modrinth page directly from in-game chat.

🔧 Improvements

  • Minor enhancements to command feedback for a smoother user experience.
  • Internal version bumped to 1.3.1.

🐛 Bug Fixes

  • No bug fixes in this release.

🚀 Version 1.3.0 - Major Feature Release

Released: September 1 2025

✨ New Features

🎨 GuiUtils - Client-side GUI Utilities

Complete client-side GUI utility class for creating beautiful Minecraft interfaces:

  • Screen Positioning: centerX(), centerY(), center()
  • Color Utilities: rgba(), rgb(), withAlpha(), hsvToRgb(), adjustBrightness()
  • Drawing Helpers: drawRect(), drawBorderedRect(), drawGradient(), drawTexture()
  • UI Components: drawProgressBar(), isPointInRect()

📝 Enhanced TextUtils

Major expansion of text manipulation capabilities:

  • Text Manipulation: truncate(), toTitleCase(), reverse(), isPalindrome(), wordCount()
  • Text Validation: isAlphanumeric(), isValidEmail(), removeSpecialChars()
  • Visual Elements: progressBar(), centerText(), createTextBox()
  • Clickable Links: clickable() - Create clickable chat text with URLs

🎒 ItemUtils - Item Management

Comprehensive item management and manipulation utilities:

  • Item Validation: isEmpty(), isNotEmpty(), isSameItem(), isExactMatch()
  • Item Information: getItemId(), getDisplayName(), getMaxStackSize(), isStackable()
  • Durability Utilities: getDurability(), getMaxDurability(), isDamaged(), getDamagePercentage()
  • Stack Manipulation: copyWithCount()

🔧 Improvements

  • API Compatibility: Fixed compatibility issues for Minecraft 1.21.1
  • Documentation: Comprehensive JavaDoc coverage for all new utilities
  • Code Organization: Proper client/server separation with GuiUtils in client source set
  • Performance: Optimized utility methods for better performance

🐛 Bug Fixes

  • Fixed compilation errors with client-side classes
  • Resolved API compatibility issues with Minecraft 1.21.1
  • Improved error handling in utility methods

📦 Version 1.2.1 - Bug Fixes & Improvements

Released: August 30 2025

🔧 Improvements

  • Enhanced /chosenlib command with Discord link
  • Improved clickable link functionality in chat
  • Better error handling and logging

🐛 Bug Fixes

  • Fixed version display in command output
  • Resolved configuration loading issues

🎯 Version 1.2.0 - Configuration & Commands

Released: August 30 2025

✨ New Features

  • Custom Command: /chosenlib with version info and clickable links
  • Configuration System: JSON-based config with auto-generation
  • Enhanced TextUtils: New text manipulation helpers

🔧 Improvements

  • Better documentation and examples
  • Improved code organization
  • Enhanced error handling

🚀 Version 1.1.0 - Foundation Release

Released: August 29 2025

✨ Initial Features

  • TextUtils: Basic text formatting and manipulation
  • General Utilities: Math helpers, random functions, and utility methods
  • Fabric Integration: Proper Fabric mod setup and structure

🔧 Foundation

  • Modern Gradle setup with Fabric Loom
  • Java 21 compatibility
  • MIT License
  • Basic documentation

📋 Version History Summary

Version Release Date Key Features Status
1.4.0 January 2025 WorldUtils, EntityUtils, NetworkUtils, Performance ✅ Current
1.3.1 September 6 2025 /chosenlib command Modrinth link 📦 Stable
1.3.0 September 1 2025 GuiUtils, ItemUtils, Enhanced TextUtils 📦 Stable
1.2.1 August 30 2025 Bug fixes, Discord integration 📦 Stable
1.2.0 August 30 2025 Configuration system, custom commands 📦 Stable
1.1.0 August 29 2025 Initial release, basic utilities 📦 Stable

🔮 Upcoming Features

Here's what we're planning for future releases:

📝 Note: These planned features may change based on community feedback, technical requirements, and development priorities.

Version 1.5.0 (Planned)

  • Advanced Block Operations: Enhanced block manipulation with more safety checks
  • Entity AI Utilities: AI-related helper functions for custom mobs
  • Data Persistence: Simple data storage and retrieval utilities
  • Sound & Particle Effects: Easy-to-use effect utilities

Version 1.6.0 (Future)

  • Advanced Networking: More sophisticated packet handling and synchronization
  • Custom Dimensions: Utilities for working with custom dimensions
  • Redstone Integration: Redstone circuit and automation helpers
  • Performance Monitoring: Built-in performance profiling tools

Version 1.7.0 (Future)

  • Advanced GUI Components: More complex UI elements and layouts
  • File System Utilities: Safe file operations and data management
  • Command Framework: Easy command creation and management
  • Event System: Custom event handling and dispatching

Version 1.8.0 (Future)

  • Advanced World Generation: Custom world generation utilities
  • Multiplayer Features: Enhanced multiplayer support and synchronization
  • Resource Management: Advanced resource loading and caching
  • Security Features: Built-in security and validation utilities

Version 1.9.0 (Future)

  • Mod Integration: Better integration with other mods
  • Advanced Configuration: Dynamic configuration system
  • Debugging Tools: Comprehensive debugging and logging utilities
  • API Stability: Final API polish and stability improvements

Version 2.0.0 (Future)

  • Plugin System: Extensible plugin architecture
  • Advanced GUI Framework: Complete GUI building system
  • Database Integration: Built-in database utilities
  • Multi-language Support: Internationalization framework

Have a feature request? Let us know on GitHub!