1.2.1
Compatibility
Required content
Changes
BeaCraft 1.2.1
For Minecraft 1.21.1. Three fixes to walking and gathering. Two of these were long-standing; the third arrived with 1.2.0 and is the reason trees were being abandoned half-cut.
Following a path
- Steps are ticked off with a block of vertical tolerance. A step only counted when all three coordinates matched exactly, so a landing, a jump or a swim that left the feet a block off the planned height pinned the follower on a step it could never complete.
- Being stuck is measured as ground gained, not as standing perfectly still. Pinned on a step, the walk key flickers and the body rocks on the spot — which counted as movement, so nothing ever gave up and the route was never recalculated. This is the walking back and forth that never recovered.
- Overshooting a step recovers instead of turning around, and the heading is held rather than recomputed when standing on top of the target, where the angle to it is meaningless.
When a route really cannot be walked, the log now says which step it gave up on.
Gathering
- A tree is finished before the next one is started. A target block cannot be stood inside, so walking to one always ends short of it. Since 1.2.0 that was read as "unreachable" and the block was struck off, which is why Bea took a couple of logs out of a trunk and wandered to the next tree. Arrival is now decided by distance. While finishing a vein, candidates are also ranked by distance from the rest of the vein rather than from the player — the log above your head is further away than the foot of the tree beside you.
Build
make setup now checks the version of the local JDK rather than only whether
one is present.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:px0NmIO6:U3hXVhic"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:px0NmIO6:U3hXVhic"
}

