Harvest+ v1.5

Animated Timber, Harvesting XP, Auto Replant & More - All in an Intuitive GUI
-30% Sale - Get it now for 30% off - Offer ends Jul 19, 2026

HarvestPlus v1.5.0
2×2 Tree Replant Fix, Dark Oak Support, Sapling Improvements

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2×2 Tree Fix Dark Oak Jungle Replant Sapling Logic

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

What's New

2×2 Tree Auto-Replant Fix
  • Large jungle trees (2×2) now correctly replant 4 saplings instead of just 1
  • Dark oak trees now correctly replant all 4 saplings at the tree base
  • Replant detection no longer depends on internal tree scan completeness

Sapling Replant Reliability
  • Force-clear logic ensures saplings always plant at correct positions
  • Soil validation checks all 4 base positions independently
  • Works with all tree-fall modes: FALL, DESTROY, and FALL_DESTROY

Code Quality
  • Refactored sapling spot computation into dedicated method
  • Direct world-block checking for more reliable 2×2 detection


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Upgrade Notes

Simple drag-and-drop update
  • Replace HarvestPlus.jar in your plugins/ folder
  • Delete HarvestPlus.jar from plugins/.paper-remapped/
  • Restart your server

No config or database changes needed
  • Your existing config.yml, language files, and player data are fully compatible with v1.4.0


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Summary

+1 critical bugfix - sapling logic overhaul - 2 files changed - 2×2 trees finally plant 4 saplings

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

HarvestPlus v1.4.0
Paper 1.21+ Fix, Quick Menu, Faster Harvesting

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Paper 1.21 Fix Quick Menu Performance New Crops

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

What's New

Paper 1.21.11+ Compatibility
  • Plugin now loads correctly on the latest Paper 1.21 builds
  • JAR file renamed from Harvest+.jar to HarvestPlus.jar

Quick Settings Menu
  • Just type /hp to open your settings - no more /harvestplus settings
  • Works with all aliases: /hp, /harvest, /harvestplus

Faster & Smoother Harvesting
  • Harvest processing has been streamlined - left and right click harvesting now share optimized logic
  • Reduced lag when many players harvest at once

Easier Crop Configuration
  • Standard crops (WHEAT, CARROTS, POTATOES, etc.) are now auto-detected from your config.yml
  • Adding new supported crops in the future will not require a plugin update


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Upgrade Notes

Manual cleanup required on first install
  • Delete the old Harvest+.jar from your plugins/ folder
  • Delete Harvest+.jar and HarvestPlus.jar from plugins/.paper-remapped/
  • Place the new HarvestPlus.jar in plugins/ and restart

No config or database changes needed
  • Your existing config.yml, language files, and player data are fully compatible


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Summary

+1 critical fix - +1 new feature - performance improvements - 8 files optimized

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Harvest+ v1.3.0
Sapling Replant Fixes, Tree-Fall Auto-Replant, Full Config Audit

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Sapling Replant Tree-Fall Fix Config Audit Anti-Dupe

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Bug Fixes

Sapling Auto-Plant from Leaves - Critical Fix
  • Sapling is now properly removed from leaf drops before planting - no more item duplication
  • require-inventory-sapling: true now correctly checks player inventory before removing drops
  • When inventory check fails, drops remain intact and a no-sapling message is sent
  • require-inventory-sapling: false now uses the dropped sapling as the planting cost - no more free dupes
  • VIP nocost permission (harvestplus.vip.nocost) now properly bypasses inventory requirement

Tree-Fall Auto-Replant - Fixed
  • Sapling type was read AFTER handleTreeFall set the base log to AIR - always returned null
  • Log material is now captured before the tree-fall handler removes blocks
  • auto-replant-sapling: true now correctly plants the matching sapling on valid soil

Sapling Message Null Safety
  • sapling-no-inventory message now null-checked before sending to player
  • Prevents potential NPE when message key is missing from language files


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Quality Assurance

Full Configuration Audit
  • All 16 config sections verified end-to-end against source code
  • Every config key traced from ConfigManager getter through to listener/handler usage
  • Confirmed: crops, boosters, bossbar, particles, sounds, bonemeal, farmers-dance, protect-immature, tree-fall, world-settings, database, performance, language - all operational


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Minor Changes

AreaChange
LeafBreakListenerRewritten sapling drop handling - removed from drops before planting, inventory check moved before drop removal
TreeFallListenerLog material captured before handleTreeFall mutates the block
build.gradle.ktsVersion bumped to 1.3.0
HarvestPlus.javaJavadoc version updated to 1.3.0


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Upgrade Notes

Drop v1.3.0 into your plugins folder and restart.

No manual config changes needed
  • Config version remains at 4 - no new keys added
  • All custom values, worlds, and crop settings preserved

No database migration needed
  • Schema unchanged from v1.2.0

No permission changes
  • All existing permission nodes unchanged


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Summary

+3 bug fixes - 1 quality pass - 2 files changed

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Harvest+ v1.2.0
Tree Fall 2.0, Crop Protection Rebuilt, Pale Oak Support

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Tree Fall 2.0 Crop Protection Config Auto-Update Thread Safety Pale Oak

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

New Features

Tree Fall 2.0
  • Realistic hinged-rotation physics: base blocks stay near the pivot, top blocks arc outward and down
  • Attached blocks destroyed automatically: vines, cocoa pods, glow lichen, moss carpet
  • Leaves scatter with random directional variance for a natural look
  • Euclidean foliage range detection - big jungle canopies are now fully captured

Config Auto-Update System
  • Missing keys from newer versions automatically merged into existing config.yml
  • Works on startup and on /harvestplus reload
  • Version-tracked - only adds genuinely missing keys, never overwrites your values

Pale Oak Support
  • Pale Oak logs, wood, leaves, and saplings added to all internal lists
  • Pale Moss Block recognized as valid sapling soil
  • Pale Moss Carpet destroyed with tree fall

Farmer's Dance Expanded
  • Now boosts tree saplings of all types
  • Wild plants supported: bamboo, kelp, sugar cane, cactus, chorus, vines, sea pickle, pink petals


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Bug Fixes

Crop Protection Rebuilt
  • Completely rewritten with direct inline logic - no more unreachable code paths
  • Now correctly blocks breaking of all immature crops including ones with auto-replant disabled
  • Works independently of harvest mode and auto-replant settings

Memory Leaks Resolved
  • Debounce tracking maps cleaned on player quit
  • BossBar instances removed when player disconnects

Runtime Crashes Eliminated
  • ConcurrentHashMap null-value NPE: replaced null sentinel with Material.AIR
  • ConcurrentModificationException in tree attached-block detection: replaced with work-queue pattern
  • IllegalPluginAccessException during shutdown: added synchronous save path for onDisable

Thread Safety
  • TreeFallHandler internal maps: HashMap to ConcurrentHashMap
  • Debounce maps in both harvest listeners: HashMap to ConcurrentHashMap

Gameplay Fixes
  • Hoe no longer destroys freshly replanted crops: added 1-tick delay before replant on right-click
  • Bonemeal consumption properly updates inventory via setItemInMainHand/OffHand
  • Tree fall unified null-handling: disabled when player data not loaded
  • Polish language file typo: nistczenie to niszczenie


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Performance

Cached Material Sets
  • Log and leaf material sets computed once and cached

Sapling Spot Search
  • Limited to 20 blocks downward instead of scanning to bedrock

Faster Random
  • Tree fall direction uses Math.random() instead of new Random()

Async Config Save
  • Debug toggle save moved off the main thread


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Code Quality

Deduplication
  • HarvestUtils utility class: shared debounce and crop name logic
  • Removed ~80 duplicate lines across harvest listeners

Cleanup
  • Removed unused fields from ParticleManager, SoundManager, XPCalculator, SettingsGUIListener, LeafBreakListener, BonemealListener, FarmersDanceListener
  • Removed unused imports across all modified files


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Database

MySQL Schema
  • CREATE TABLE includes all 8 player columns from the start
  • Column migrations check metadata before ALTER: no warnings on restart


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Minor Changes

AreaChange
plugin.ymlCommand usage includes 'debug' subcommand
config.ymldefault-player-settings now lists all 7 toggles
Language filesAdded sapling-pale-oak key, fixed pl_PL typo
Settings GUIRemoved debug holder mismatch messages from chat


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Upgrade Notes

Drop v1.2.0 into your plugins folder and restart.

No manual config changes needed
  • Auto-update merges any missing keys from the new config
  • All custom values, worlds, and crop settings preserved

No database migration needed
  • Schema unchanged from v1.1.0

No permission changes
  • All existing permission nodes unchanged


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Summary

+4 features - 12 bug fixes - 4 performance improvements - 2 code quality passes

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Harvest+ v1.1.0
Stability, Performance, and Smart Config Updates

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Config Auto-Update Memory Leaks Fixed Thread Safety Performance Code Quality

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

New Features

Config Auto-Update System
  • Missing keys from newer versions are now automatically merged into your existing config.yml
  • Works both on server startup and on /harvestplus reload
  • Uses config-version tracking to detect when an update is needed
  • Your custom values are preserved - only genuinely missing keys are added
  • All added keys are logged to console for transparency


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Bug Fixes

Memory Leaks Resolved
  • Debounce tracking maps in harvest listeners now properly cleaned on player quit
  • BossBar instances now removed when a player disconnects - no more orphaned bars

Thread Safety
  • TreeFallHandler internal maps upgraded from HashMap to ConcurrentHashMap
  • Eliminates rare race condition between falling block cleanup and landing events
  • Debounce maps in both harvest listeners also upgraded to ConcurrentHashMap

Logic Fixes
  • Tree fall null-handling unified with other listeners - disabled when player data not yet loaded
  • Bonemeal consumption now properly updates inventory via setItemInMainHand/OffHand
  • Polish language file typo fixed: nistczenie -> niszczenie


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Performance

Cached Material Sets
  • Log and leaf material sets computed once and cached - no more EnumSet allocation per tree detection

Sapling Spot Search
  • Sapling planting search limited to 20 blocks downward instead of scanning to bedrock
  • Significant reduction in getBlockAt() calls on tall trees

Faster Random Generation
  • Tree fall direction uses Math.random() (ThreadLocalRandom-equivalent) instead of new Random()

Async Config Save
  • setDebugEnabled config save moved off the main thread


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Code Quality

Deduplication
  • HarvestUtils utility class extracted - shared debounce, crop name, and immature crop check logic
  • Removed ~80 lines of duplicate code across BlockBreakListener and PlayerInteractListener

Dead Code Removal
  • Deprecated ReplantHandler.replantCrop() - seed consumption now handled directly in listeners
  • Removed unused plugin fields from ParticleManager, SoundManager, XPCalculator, SettingsGUIListener
  • Removed unused imports across 5 files


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Database

MySQL Schema
  • CREATE TABLE now includes all 8 player columns - fresh installs skip 4 unnecessary ALTER TABLE calls
  • Column migrations now check metadata before attempting ALTER - no more warnings on every restart


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Minor Fixes

FileChange
plugin.ymlCommand usage now includes 'debug' subcommand
pl_PL.ymlFixed typo in crop protection lore text
BlockPlaceListenerCorrected misleading comment about PDC key coordinate scope


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Upgrade Notes

Drop v1.1.0 into your plugins folder and restart.

No manual config changes needed
  • The auto-update system will merge any missing keys from the new config into your existing file
  • All your custom values, worlds, and crop settings are preserved

No database migration needed
  • MySQL schema unchanged - v1.1.0 uses the same tables
  • YAML playerdata files are fully compatible

No permission changes
  • All existing permission nodes unchanged


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Full Changelog Summary

+1 new feature - 4 bug fixes - 4 performance improvements - 5 code quality improvements

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Buy a license now
$3.49 $4.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
267 Views
9 Purchases
5 Downloads
Apr 21, 2026 Published
Jun 27, 2026 Updated
5.00 star(s)
Average rating (1)
2.9 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
AI use in marketing
No
AI use in product
No
Type
  1. Gameplay
  1. Food
  1. Core
Game mode
  1. Survival
  1. Skyblock
  1. Oneblock
Supported software
  1. Paper
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
  1. Polish
Creator
Owner
Recommended for you
Christmas Weapons & Tools plugin for Paper 1.21 to 1.21.10 custom items, abilities
5.00 star(s) 1 ratings
10 purchases
Bring Quality Enchanting to Your Community
Not yet rated
8 purchases
A plugin that adds customizable gradient chat colors for players who have donated to the server.
5.00 star(s) 1 ratings
8 purchases
Dash, wall run, double jump, and master momentum like never before
Not yet rated
1 purchase
Smart Chat Pings. Player, Area, Global and Role Mentions.
Not yet rated
0 purchases
Share and earn
Refer this resource and earn a 10% commission.
267 Views
9 Purchases
5 Downloads
Apr 21, 2026 Published
Jun 27, 2026 Updated
5.00 star(s)
Average rating (1)
2.9 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
AI use in marketing
No
AI use in product
No
Type
  1. Gameplay
  1. Food
  1. Core
Game mode
  1. Survival
  1. Skyblock
  1. Oneblock
Supported software
  1. Paper
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
  1. Polish
Creator
Owner
Recommended for you
Christmas Weapons & Tools plugin for Paper 1.21 to 1.21.10 custom items, abilities
5.00 star(s) 1 ratings
10 purchases
Bring Quality Enchanting to Your Community
Not yet rated
8 purchases
A plugin that adds customizable gradient chat colors for players who have donated to the server.
5.00 star(s) 1 ratings
8 purchases
Dash, wall run, double jump, and master momentum like never before
Not yet rated
1 purchase
Smart Chat Pings. Player, Area, Global and Role Mentions.
Not yet rated
0 purchases
Top