HarvestFlow v1.16 - The Control & Display Update This update introduces highly requested display enhancements, flexible harvest controls, a new language management system, and critical bug fixes for configuration stability.
✨ New Features
Flexible Harvest Controls: The harvesting system has been completely overhauled. You can now configure which mouse actions (left/right click, sneak + click) trigger a single harvest, area harvest, or seed removal via config.yml.
Planted Block Protection: Added a new feature to protect blocks beneath crops (like Farmland & Soul Sand) from being broken while a crop is still on them.
Compact Number Formatting: A new option, use-compact-number-format, has been added to config.yml. When enabled, large numbers in the harvest counter are automatically abbreviated (e.g., 1,234 becomes 1.2k, 2,500,000 becomes 2.5M), providing a cleaner and more modern look.
Improved Seed Removal Feedback:
Players now receive a specific action bar message (remove-seed-no-hoe) if they attempt to remove a seed with their hand when a hoe is required.
A new configurable sound (remove-seed-no-hoe) has been added to accompany this action, giving immediate auditory feedback.
New Sound Effects: Added configurable sounds for the seed removal (seed-removed) and automatic replanting (seed-replanted) actions.
Improvements
Language System Update: An automatic update system has been added for all language files (lang_xx.yml).
Automatic Addition: When you update the plugin, any new messages will now be automatically added to your existing language files.
Preservation: The system preserves all your custom-translated messages, so you won't lose any of your work.
Organization: The updater now intelligently rebuilds the language file to place new messages in their correct, logical order, keeping the files clean and organized.
Flexible Harvest Counter: The harvest counter is now more configurable with the new harvest-counter-format setting in config.yml. Server owners can define custom number patterns, such as using dots (.) or commas (,) as thousand separators to match regional preferences. The number also uses a thousands separator by default for better readability.
Robust Config Updater: The automatic configuration updater has been completely overhauled. The new system safely preserves all existing user settings when the plugin is updated, while seamlessly adding new options. (Note: Comments within the config.yml file will be removed during this one-time process to ensure a safe update).
Bug Fixes
Fixed Critical Config Wipe: Resolved a major issue where the automatic config updater would sometimes wipe the config.yml file, leaving only the version number. The new updater prevents this from happening.
Seed Duplication Bug: Fixed the drop-seeds logic that previously gave an extra seed to the player instead of using it for replanting.
Area Harvest Message Bug: Resolved an issue where the area harvest counter would sometimes display a crop.AIR message.
Language File Completeness: Updated all language files with the missing translation keys to prevent "Missing language key" errors.
Fixed YAML Parsing Error: Corrected a syntax error (InvalidConfigurationException caused by a stray }) in the default config.yml that prevented the plugin from loading correctly on some server setups.