Tags
Creators
Details
2.6.7
Compatibility
Changes
VoidAC 2.6.7
Two false flag fixes for modern clients, a couple of hot path cleanups, and the documentation now has a home.
Fixed
Reach and hitbox false flags on 1.21.9 and newer clients. From 1.21.9 the client only restarts an entity's interpolation when the target actually changes. Void restarted it every time, so when a server re-sent a position an entity was already moving towards, Void's copy of the hitbox stayed behind the real one for the rest of that movement and legitimate hits got flagged. Most visible on servers with plugins that resend entity positions, and on entities that move constantly.
False flags on 26.1 and newer clients in the packet order checks. Void read client status action 2 as "the player opened their inventory". On 1.7 through 1.15 that is what it means, but 26.1 reuses the same byte to request gamerule values, so a normal client could get flagged for a slot change or an inventory click, and in one case have the click cancelled outright. Affects PacketOrderE and PacketOrderK, which only run with experimental checks enabled.
Update checker. bdevs.it has shut down (now it's just a wiki page), so Void no longer queries it. Modrinth is the only source now.
Added
- Documentation is now at https://bdevs.it
Performance
- BadPacketsV no longer allocates a vector on every position packet, which is the busiest path in the plugin.
- The interpolation hitbox is now computed from the two endpoints of the step range instead of walking every step and merging boxes. Same box, from up to 19 allocations per call down to one.
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:aauFRVwy:Sp5pwaU3"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:aauFRVwy:Sp5pwaU3"
}

