Support Minecraft 1.20.x and 1.21.x versions, refactor code for Adventure API, modernize dependencies, and update Gradle to 8.10. Refactored button handling and material parsing logic; streamlined inventory initialization.
- Added MiniMessage support. - Added explicit support for Minecraft versions 1.20.x and 1.21.x in `Version.java`. - Refactored text handling to use the Kyori Adventure library (`TextUtils`). - Replaced usage of deprecated `displayName` and `lore` with their Adventure API equivalents. - Improved code readability with modern Java features like enhanced `try` blocks and local variable inference. - Updated the Gradle Wrapper to version 8.10. - Simplified configuration and enums for better flexibility (e.g., replaced outdated mapping methods and removed unused getters). - Optimized command execution logic using `CommandActionParser`. - Cleaned up legacy code and streamlined button logic to enhance overall functionality. - **`CommandActionParser`**: Improved substring logic to correctly handle trailing spaces. - **`Config`**: Simplified `Material` parsing; fallback to `AIR` if the material is invalid. - **`OnlineGUIInventory` & `ConditionalGUIInventory`**: - Factored out repeated `setButtons()` calls, ensuring buttons are initialized where necessary. - Replaced iterative logic with `IntStream` for cleaner inventory slot handling. - Added nullability annotations to `execute` method in `ConditionalGUIInventory` for clarity. - General code cleanup for improved readability and maintainability. - Add persistent notification flag for UNKNOWN version warnings.