-
Notifications
You must be signed in to change notification settings - Fork 0
Performance
github-actions[bot] edited this page Jul 12, 2026
·
1 revision
NeroAgriculture is designed to stay cheap even at colony scale. The core rule is that nothing scans the whole world, a whole structure, or a whole work area every tick.
- Crops grow on vanilla random ticks and store their identity/genetics in a non-ticking block entity — there is no crop registry and no world scan.
- Area machines (Planter, Harvester, Fertiliser Applicator) process a capped number of columns per pass from a rolling cursor, on an interval, phase-offset so neighbours do not all fire on the same tick, and skip unloaded columns.
- Greenhouses flood-fill their interior only on a slow safety interval or a structural change, cache the result, and publish it to an O(1) lookup index that crops query.
- Crop towers farm virtual slots (not thousands of blocks), a bounded number per pass, and cache their formed structure.
- Seasonal cycles cache the active modifier on coarse time buckets and compute the phase with a couple of arithmetic operations.
- Terraforming advances by a config-capped amount per tick and mutates no blocks at all.
If you run very large farms, the pacing keys let you trade throughput for tick budget:
automation.columns_per_pass, automation.interval_ticks, crop_tower.slots_per_pass,
greenhouse.revalidate_ticks, and terraforming.progress_per_tick. Lower per-pass counts and longer
intervals reduce per-tick cost.
Server logic never depends on renderer state, so client-side visual quality can be reduced without affecting farms. (Rich crop-layer renderers and animation-quality controls are a client-focused follow-up.)
See also: Automation, Crop Towers, Configuration.