Skip to content

Releases: yigit-guven/Economy

Economy v1.1.2

21 Jan 04:00

Choose a tag to compare

Release Notes: Economy Mod v1.1.2

Summary

Version 1.1.2 focuses on hardening the plugin's core infrastructure, improving the reliability of the reflection-based component registration system, and expanding deployment capabilities through Maven integration. This update also addresses critical logic checks within player-to-player transactions to ensure data integrity and prevent exploit vectors.


Technical Changes

Core & Framework Enhancements

  • Robust Component Registration: Refactored EconomyPlugin to handle diverse constructor signatures during component registration. This ensures that the dependency injection layer remains stable even when external modules implement non-standard initialization patterns.
  • HytaleUtils Reflection Optimization: Optimized internal reflection methods within HytaleUtils. These improvements provide better compatibility across different runtime environments and reduce the overhead of dynamic method invocation.
  • Maven Publishing Integration: Integrated the maven-publish plugin into the build lifecycle. The build.gradle now includes a configured publishing block for artifact deployment to remote Maven repositories.

Command & Logic Refinement

  • Improved Player Identity Matching: Updated PayCommand and EcoAdminCommand to utilize getDisplayName() for player identification. This migration increases matching accuracy and ensures consistency with Hytale’s player rendering.
  • Transaction Validation: Implemented a recursive check in the PayCommand logic to prevent self-payment. This eliminates a potential loop in the economy ledger where players could initiate transactions with themselves.

Security & Maintenance

  • Credential Management: Updated .gitignore to strictly exclude gradle.properties. This follows security best practices to prevent the accidental exposure of sensitive repository credentials and signing keys.
  • Version Increment: Systematic bump of project versioning to 1.1.2.

Developer Notes

Important

Migration: For developers using this mod as a dependency, the artifacts are now available via the newly implemented Maven publishing pipeline.

  • Stability: The reflection changes in HytaleUtils are backward compatible but offer significant improvements in error handling during class loading.
  • Artifacts: This release includes -sources.jar and -javadoc.jar to assist developers with local environment debugging and API implementation.

Full Changelog: v1.1.1...v1.1.2

v1.1.1

15 Jan 00:12

Choose a tag to compare

⚙️ Fixed Command Validation Bug:

Fully implemented the RequiredArg and ArgTypes pattern for /pay and /ecoadmin. This informs the Hytale engine of expected positional parameters, successfully fixing the "Expected: 0, actual: X" error.

Switched numerical inputs to ArgTypes.INTEGER for better stability within the current command validator.

🛠️ Reflection & Stability Fixes:

Refined HytaleUtils to act as a robust fallback for fetching components and arguments, ensuring the mod doesn't break when Hytale updates its internal method signatures.

Implemented a custom ComponentType registration via reflection in EconomyPlugin to ensure the MoneyComponent is recognized by the server regardless of initialization order.

⚡ Logic Improvements:

Updated all commands to pull data directly from the new Arg objects, removing the need for manual string parsing and improving performance.

Added standard Hytale loggers to EconomyPlugin to provide better debugging info during server startup.

Full Changelog: v1.1.0...v1.1.1

v1.1.0

14 Jan 23:36

Choose a tag to compare

🛠️ Implemented Dynamic Reflection Utilities:

Added a robust HytaleUtils helper class that uses Java Reflection to handle API calls. This fixes persistent compilation errors related to getComponent and getArgs by dynamically resolving the correct method signatures at runtime, ensuring maximum compatibility.

🐛 Fixed Command Argument Parsing:

Resolved issues where command arguments were not being detected by the compiler. The mod now intelligently attempts multiple argument retrieval methods (checking getArguments, getParams, etc.) to ensure seamless execution for /pay and /ecoadmin.

⚡ Stabilized ECS Transactions:

Refactored BalanceCommand, PayCommand, and EcoAdminCommand to bypass strict generic type checks. The economy system now uses raw casting and reflection to reliably attach and retrieve wallets from the EntityStore without crashing the build process.

Full Changelog: v1.0.1...v1.1.0

v1.0.1

14 Jan 16:46

Choose a tag to compare