Links
Tags
Creators
Details
Licensed Apache-2.0
Published 6 months ago
Updated 2 days ago
All versions
0.5.8
Release
EasyPlaceFix 0.5.86 months ago 21.4K
Compatibility
Minecraft: Java Edition
1.21.11
Platform
Fabric
Supported environments
Client-side
Required content
Unavailable version
Unavailable version
Changes
EasyPlaceFix 0.5.8
Version 0.5.8 focuses on rotation stability during placement, anti-cheat-friendly placement pacing, and memory stability in long sessions.
Changes
- Fixed a race condition in LookAt.
- Reworked LookAt from a mutable enum into an immutable class.
- Removed shared-state mutation via customize()/NowYaw()/NowPitch(), which could produce incorrect yaw/pitch in rapid chained actions.
- Added safe variants:
- LookAt.PlayerYaw
- LookAt.PlayerPitch
- LookAt.of(float) for computed angles
- Updated orientation-sensitive block mixins (rails, signs, hanging signs, wall hanging signs, pistons, observers, barrels, dispensers, doors, shulkers, skulls, etc.) to use the new LookAt model.
- Added global anti-cheat placement pacing via placementDelay.
- New config: placementDelay (0..20 ticks, default 0).
- Applied before per-position cooldown checks.
- When placementDelay > 0, Easy Place enforces a global pause between placement attempts (ticks * 50ms).
- This reduces anti-cheat flags on stricter servers.
- Fixed memory growth in the placement cooldown cache.
- Added stale-entry pruning in lastPlacementTimeMap (older than 10 seconds) when the cache grows.
- Kept per-position cooldown threshold logic as RTT + 100ms.
- Prevents uncontrolled cache growth in long building sessions.
Placement pipeline details
- Added isGlobalPlacementCooling() check in doEasyPlace before per-position cooldown.
- Added markGlobalPlacement() when a placement action starts.
- Removed duplicated manual yawLock/pitchLock writes from the old path; rotation now follows a single safer flow with current-angle reads.
Compatibility
- Minecraft 1.21.11
- Java 17
- Fabric Loader 0.18.4
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:ZlgcL9N0:kk7E8U03"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ZlgcL9N0:kk7E8U03"
}

