0.20.1+26.2
Compatibility
Required content
Changes
0.20.1 — the dragon fixes that 0.20.0 needed
0.20.0 rewrote how the dragon behaves on the ground. Playing it turned up four things that were still wrong, and one of them meant none of the new ground animation was ever visible.
The walk animation was never playing
The new standing, walking and resting poses each carry a 0..1 weight, and the walk weight was read from the entity's velocity vector. On the client that value is effectively zero for any mob you are not riding — a remote entity's position arrives in packets and its physics is not simulated, so velocity is only sent occasionally. The weight never rose above zero, so not one of the ground poses ever reached the screen: the legs really did stay still.
It now comes from Minecraft's own walk animation state, which both sides compute from actual movement — the same source every vanilla walk cycle uses. The stride is a little longer too.
It banked far too hard, and could look upside down
Two separate causes:
- The bank angle came from the raw per-tick turn. One flick of the mouse is 80–90 degrees in a single tick, which the old multiplier turned into 190 — so every mouse movement pinned the dragon at full bank. The turn rate is now linear up to a few degrees and saturates after that, the ceiling dropped from 42° to 24°, and the whole thing eases in more slowly. Normal cornering feels the same; whipping the camera around no longer throws the dragon on its side.
- The drawn nose angle had no limit. It is derived from five ticks of height change, and a steep dive (especially while sprinting) produces 75–100 degrees. Past 90 the model crosses the vertical and reads as upside down — the "it spins all the way around" report. Clamped now.
The skeleton form still triggered on a zombie in your face
0.20.0 added a rule to hand archery back to melee when a reachable target closes in — but set the threshold at 4.5 blocks, and the archer backs away as soon as a target is within 7. It kept the distance in the 5–7 band, so the rule never fired once.
The hand-off distance now sits above that band for ordinary targets, and well below it for ranged enemies like skeletons and witches, where answering arrows with arrows is the whole point. Flying and unreachable targets, and Sniper stance, are unchanged.
It followed too closely
The dragon used the follow distances of a small pet — it stopped 2.6 blocks away, which for an eight-block animal means standing inside you. It now waits at about six blocks, like a horse.
Also fixed
- A hurt Mochi refused to fight for fifty seconds, not ten: the retreat timer counted calls, not ticks, and that method runs once every five ticks.
- The lantern placed a torch every forty seconds instead of every four, for exactly the same reason. The feature looked broken because it effectively was.
- Choosing a lower armour tier charged you again while destroying what you had already paid — two losses from one misclick. Downgrading is free now, like removing armour.
- A pet standing in lava searched a thousand blocks for a way out every single tick; a wild Mochi scanned for droppable items every tick as well. Both are throttled.
236 unit tests, clean build on both Minecraft versions.
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:s9yDUMze:35SLy97s"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:s9yDUMze:35SLy97s"
}

