File Details
GlymeraIrrigation-1.3.1.jar
- R
- Mar 3, 2026
- 8.29 KB
- 190
- Early Access
File Name
GlymeraIrrigation-1.3.1.jar
Supported Versions
- Early Access
v1.3.1
Fix: Native Decay Handoff on Water Removal
- Visual Reset -
dehydrateBlock()now resets the block state to default/fertilized immediately (soil turns dry visually right away) - scheduleTick - A native Hytale tick is scheduled so
tickSoil()performs the decay toSoil_Mud_Dry - Early Return - Already dehydrated blocks are skipped to avoid unnecessary work per scan cycle
v1.3.0
Complete Rewrite of Irrigation Logic
- externalWater instead of wateredUntil -
setExternalWater(true)is now the primary mechanism. This is a persistent boolean flag that survives chunk unload/reload - wateredUntil as Backup - The native
WaterGrowthModifierAssetoverridesexternalWaterduring crop ticks (only checks 1-block radius).wateredUntilkeeps the soil moist and the growth multiplier active as a fallback - Game-Time instead of Real-Time - Uses
WorldTimeResource.getGameTime()(30x speed) instead ofInstant.now(). Fixes the issue where timers expired in real time during chunk unloads - Decay Protection -
setDecayTime()is set far into the future for unplanted farmland near water. Hytale's decay system is independent of watering! - Block State Variant IDs - All 4 state IDs are now registered (Base=38, Watered=3061, Fertilized=3238, Fertilized_Watered=2301). Without tracking all variants, irrigated blocks were lost after state changes
- dehydrateBlock() - New method that removes externalWater, clears wateredUntil, and sets decayTime to the native ~58 real-time minutes
Bugfixes
- Farmland dries out overnight - Root cause was
wateredUntilusing a 20s real-time timer that expired as soon as chunks were unloaded - Farmland disappears from tracking after irrigation - Block ID changes from 38 (Base) to 3061 (Watered) via
setBlockInteractionState()but was not in thetilledSoilBlockIdsset - Planting seeds makes wet soil dry - Native
WaterGrowthModifierAssetsetsexternalWater=falseduring crop ticks (only 1-block range). Resolved by usingwateredUntilas backup
v1.2.0
Optimization
- Chunk-based discovery with direct BlockSection access
- Block ID caching instead of string comparisons
- Scans all loaded chunks per cycle (~2-10ms for 1000 chunks)
blockChunk.contains(id)as quick filter on chunk and section level
v1.1.0
Chunk-Based Discovery
- Farmland detection is no longer player-based
- Scans all loaded chunks regardless of player position
v1.0.0
Initial Release
- Automatic irrigation of farmland within a 4-block radius of water
wateredUntil-based system with periodic refresh