Changelog v1.0.3
New Features:
-
Configuration Management Enhancements:
- Dynamic Key Merging:
- Automatically merges new configuration keys from the default
config.yml
into the existing file while preserving user-defined values. - Ensures that missing keys are seamlessly added without overwriting existing customisations.
- Automatically merges new configuration keys from the default
- Versioning for Updates:
- Introduced
config-version
for streamlined updates and tracking. The plugin now identifies outdated configurations and updates them while preserving custom settings.
- Introduced
- Dynamic Key Merging:
-
bStats Integration:
- Introduced bStats analytics for usage tracking and plugin improvement.
- Explicit logging added to indicate whether bStats is enabled or disabled, along with a prompt encouraging users to enable it to support development.
-
New XP Settings:
- Added multiple configuration options for fine-grained XP control:
repair-cost-xp
: When set tofalse
, repairing items does not consume XP levels. Repair costs still apply but XP is ignored.grindstone-refund-xp
: When set tofalse
, players do not gain XP when disenchanting items using a grindstone.xp-in-creative
: Determines whether players in Creative mode can earn XP. Defaults tofalse
.xp-global-disable
: A master toggle to disable all XP rewards in the game. This setting overrides all other XP configurations.xp-scaling-factor
: Allows global scaling of XP rewards. Set to1.0
for normal XP,0.5
for half XP, and so on.
- Added multiple configuration options for fine-grained XP control:
Bug Fixes:
- Configuration Loading:
- Fixed an issue where missing configuration keys were not added during updates, leading to plugin disabling.
- Ensured that configuration updates no longer override user-defined values.
- XP Handling Fixes:
- Corrected XP costs for anvils
- Fixed an issue where grindstone XP refunds were not properly configurable, allowing for full control via the new
grindstone-refund-xp
option.
Refactor Highlights:
-
Full Codebase Refactor:
- Streamlined and modularised code for better maintainability.
-
Improved Logging:
- Enhanced logging feedback for key operations such as configuration loading, task initialisation, and plugin lifecycle events.
Recommended Steps:
-
Configuration Update:
- Existing configurations should be automatically updated with new keys while preserving user settings.
-
Testing:
- Test all new XP-related functionalities:
- Repair mechanics to ensure XP costs are applied or ignored as configured.
- Grindstone disenchanting to verify XP refunds match the settings.
- Global XP scaling using the
xp-scaling-factor
.
Changelog v1.0.2
Enhanced Compatibility
- Verified full support for Minecraft versions 1.21.1 up to 1.21.4.
New Features
-
Raid Completion XP Distribution:
- Added XP distribution for raid completions.
- XP is now directly awarded to all participating players, with a configurable amount (
xp-overrides.raids.COMPLETION
). - Players will no longer lose out on XP after successful raids.
-
Grindstone XP Handling Improvements:
- Updated XP handling for grindstone usage, ensuring more accurate XP awards.
Bug Fixes
-
XP Drops for Bottle o' Enchanting:
- Corrected XP calculation for thrown Bottles o' Enchanting to match configured values accurately.
-
XP Bypass Edge Cases:
- Fixed an issue where XP bypass logic failed for specific event scenarios (e.g., negative XP values).
Recommended Steps
- Configuration Update:
- Add the new configuration entry (
xp-overrides.raids.COMPLETION
If this is missing, default values will be used, but for full customisation, regenerating the config is recommended.
- Add the new configuration entry (
Update config with the below:
raids:
COMPLETION: 150.0
- Testing:
- Ensure you test raid completions, grindstone usage, and Bottles o' Enchanting XP functionality after updating.
Changelog v1.0.1
- Fractional XP System: We now track partial XP to ensure no XP goes to waste. This means whenever you gain fractional XP, it accumulates until it becomes a whole number, and is then awarded to you.
- Creative XP Toggle: There's a new option in the config to allow or disallow XP gains while in Creative mode.
- Debug Mode: A new
debug
setting has been introduced to help with diagnostics. When enabled, more information is shown to users (with permission) and is logged in the console. - More Customisation:
- Blocks: Configuration now supports per-block XP overrides.
- Furnace Extraction: Smelting items in a furnace can now grant XP based on how many items are smelted.
- Enhanced Warnings: Warnings now only show if debug mode is enabled.
- Minor Tweaks & Fixes: Various behind-the-scenes improvements to performance and stability.
Breaking Change in Configuration
- Config Structure Updates: We have introduced new config paths and settings (for example,
xp-overrides.blocks.*
,xp-overrides.crafting.FURNACE.*
, fractional XP settings, andxp-in-creative
). - Recommendation: It is strongly recommended to delete your existing
config.yml
and let the plugin generate a fresh version. If you continue to use an older config, you may encounter errors or miss out on the new features.
Other Notable Improvements
- Periodic Clean-ups: The plugin now cleans up old damage data more effectively, preventing lag or memory usage from stale entries.
- Zero/Negative XP Bypasses: If a source tries to grant zero or negative XP, the plugin will now skip it more gracefully.
- More XP Sources: Additional checks for XP awarding in various events (like grindstone usage and block interactions).
Changelog
1.0.0 - Initial Release
Features
- Remove Experience Orb: This plugin removes the vanilla experience orb and applies the XP directly to the player.
- Shared XP Distribution: XP is shared among players based on their contribution to mob kills.
- Custom XP Overrides: Configure XP values for mobs, skills, crafting, and miscellaneous actions in the
config.yml
. - XP Retention: Prevent XP loss on player death with configurable options.
- Free Enchanting: Enable enchanting without consuming XP levels.
- Challenge Rewards: Grant bonus XP for completing advancements.
- Comprehensive Configuration: Easily customise all features through the
config.yml
file. - Permissions: Granular permission nodes for reloading the plugin and receiving warnings.
Compatibility
- Fully compatible with Paper MC version 1.21.4.
- Developed and tested on the latest Minecraft server environments.
Additional Notes
- Extensive documentation available for setup and configuration.
- Built to support dynamic gameplay and balanced server progression.