fix: allow covered irrigation in toolmode margins #100

Merged
gecko merged 1 commit from t3/fix-toolmode-irrigation-margin into main 2026-11-03 01:13:01 +00:00
Owner

Summary

  • Fix the reproduced potato/hydrated-toolmode startup failure when a carpet-covered source-water cell lies in the one-block margin just outside the saved plot. The previous exception only surveyed irrigation inside the plot.
  • Survey those adjacent irrigation pairs for hydrated crops only, including diagonal corners. Recheck both the cover and the source water throughout the job without expanding the harvest cells, movement targets or saved profile.
  • Retain rejection of arbitrary carpets, flowing water, outside crops, obstructions and unloaded cells. Nether-wart and normal-farming behavior are unchanged.
  • Replace the generic startup margin error with the actual offending position/block or the damaged irrigation pair. Update the farming requirements accordingly.
  • Leave the harvest, aiming, retry, route, packet and inventory-logistics policies unchanged.

Reproduction and validation

Tested commit: af39bc5ab348bfb60cabe0d2d97e8ea909335897.

  • Added a regression fixture with source water and carpet in every outer-margin direction. It failed on the previous implementation for all four hydrated crops, including potatoes.
  • Added checks for square/chunk layouts, unchanged harvest scope, protected cover/source-water lifetime, unloaded-margin read guards, useful startup diagnostics and unchanged wart/normal-farming behavior.
  • ./scripts/ci-preflight.sh — passed (Prism wrapper contracts and 16 Python tests).
  • ./gradlew --no-daemon --max-workers=1 '-Dorg.gradle.jvmargs=-Xms128m -Xmx1g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8' lint build — passed, 273 unit tests, no failures or skips; Java lint clean.
  • ./scripts/check-release-jar.sh — passed; no bundled Meteor or Baritone.
  • git diff --check — passed.

Forgejo build: run #869 — passed on the tested commit above.

All tests are server-free. This reproduces a concrete validation defect but does not inspect the user's actual farm or establish live-server/custom-tool safety.

After CI passes, merge and publish the corrected prerelease v0.3.0-rc.3 from main through the existing release workflow, continuing the requested PR/merge/prerelease flow.

## Summary - Fix the reproduced potato/hydrated-toolmode startup failure when a carpet-covered source-water cell lies in the one-block margin just outside the saved plot. The previous exception only surveyed irrigation inside the plot. - Survey those adjacent irrigation pairs for hydrated crops only, including diagonal corners. Recheck both the cover and the source water throughout the job without expanding the harvest cells, movement targets or saved profile. - Retain rejection of arbitrary carpets, flowing water, outside crops, obstructions and unloaded cells. Nether-wart and normal-farming behavior are unchanged. - Replace the generic startup margin error with the actual offending position/block or the damaged irrigation pair. Update the farming requirements accordingly. - Leave the harvest, aiming, retry, route, packet and inventory-logistics policies unchanged. ## Reproduction and validation Tested commit: `af39bc5ab348bfb60cabe0d2d97e8ea909335897`. - Added a regression fixture with source water and carpet in every outer-margin direction. It failed on the previous implementation for all four hydrated crops, including potatoes. - Added checks for square/chunk layouts, unchanged harvest scope, protected cover/source-water lifetime, unloaded-margin read guards, useful startup diagnostics and unchanged wart/normal-farming behavior. - `./scripts/ci-preflight.sh` — passed (Prism wrapper contracts and 16 Python tests). - `./gradlew --no-daemon --max-workers=1 '-Dorg.gradle.jvmargs=-Xms128m -Xmx1g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8' lint build` — passed, **273 unit tests**, no failures or skips; Java lint clean. - `./scripts/check-release-jar.sh` — passed; no bundled Meteor or Baritone. - `git diff --check` — passed. Forgejo build: [run #869](https://git.glitched.systems/gecko/mcbot/actions/runs/869) — **passed** on the tested commit above. All tests are server-free. This reproduces a concrete validation defect but does not inspect the user's actual farm or establish live-server/custom-tool safety. After CI passes, merge and publish the corrected prerelease `v0.3.0-rc.3` from `main` through the existing release workflow, continuing the requested PR/merge/prerelease flow.
fix: permit protected irrigation in toolmode margins
All checks were successful
build / Java 25 build (pull_request) Successful in 3m45s
af39bc5ab3
gecko merged commit fe6a1fb7b4 into main 2026-11-03 01:13:01 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gecko/mcbot!100
No description provided.