All versions
1.2.0
Beta
BeaCraft 1.2.0last month 8
Compatibility
Minecraft: Java Edition
1.21.1
Platform
Fabric
Supported environments
Client-side
Required content
Any compatible version
Changes
BeaCraft 1.2.0
For Minecraft 1.21.1. The pathfinder has been rewritten.
Pathfinding
- Proper A*. The heuristic is now carried through the search, so it aims at the target rather than expanding evenly in every direction. A sixty block walk settles in sixty-one expansions; previously anything past roughly forty blocks ran into the node ceiling and came back "No path found".
- Diagonal movement, with corner checks so it does not clip blocks.
- Real mining costs, taken from the game's own break-speed calculation, so the tool in hand and the hardness of the block both count. Blocks that cannot be broken are left out of the search.
- Hazards are understood. Lava, fire, magma, cactus, powder snow, campfires, sweet berries and wither roses are no longer read as open air.
- Partial routes. When the target cannot be reached, it walks as close as the terrain allows and reconsiders from there instead of returning nothing.
Movement
movereports SUCCESS on arrival only, and otherwise says what stopped it and how far out it ended up.- Recalculating after being stuck no longer leaves the previous action running.
Development
The search no longer depends on MinecraftClient, and twenty unit tests cover
it. Run them with make test.
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:i62Igo8t"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:px0NmIO6:i62Igo8t"
}

