Links
Tags
Creators
Details
Licensed ARR
Published last month
Updated 6 hours ago
All versions
1.2.6+26.3
Beta
1.2.6+26.36 hours ago 1
Compatibility
Minecraft: Java Edition
26.3-snapshot-6
Platform
Fabric
Supported environments
Server-side
Singleplayer
Required content
Changes
Fixed
sleep_anytimelet you into the bed and then threw you straight back out (mod_support #10). Vanilla gates sleeping in TWO places, and only one was ever bypassed: the ENTRY check insideServerPlayer.startSleepInBed(covered byServerPlayerSleepMixin/ the loader sleep events), and an ONGOING check insidePlayer.tickthat runs every tick while asleep and callsstopSleepInBed(false, true)the moment the day-gate says you may not sleep here. Nothing in the mod touched the second one, so withsleep_anytimeenabled you passed the entry check, entered the bed, and were ejected on the very next tick -- and because you never stayed asleep,areEnoughSleepingnever flipped, the skip never triggered, and no progression (crops/animals/smelting/despawn) ran either. NewPlayerSleepTickMixinredirects thatstopSleepInBedcall insidePlayer.tickand skips it whilesleep_anytimeis on. Dawn wake-up is unaffected (that runs throughServerLevel.wakeUpAllPlayers, a different call site). This was never Fabric-only: NeoForge relies onCanPlayerSleepEvent, which likewise fires only at entry, sosleep_anytimewas broken on NeoForge on EVERY version. Forge was already fine (itsPlayer.tickpatch firesSleepingTimeCheckEventthere) and so was Fabric below 1.21.11 (fabric-api hooks the tick site); the new mixin is inert where the gate is already handled.afk_threshold_seconds = -1did not actually disable auto-AFK detection.AfkManager.tick()ran the raw value throughMath.max(1, ...), flooring any zero/negative value to a 1-second threshold -- the opposite of "off". Auto-AFK detection is now genuinely skipped when the threshold is negative (manual/usleep afkstill works); if the setting is switched to -1 mid-session, any player already auto-AFK is immediately cleared.
Added
- Admin GUI: "Auto-AFK Detection" ON/OFF button, on its own row directly above the
afk_threshold_secondsfield (Auto-sleep & AFK page). OFF sets the threshold to -1; clicking again restores 180s. Landed in both the 26.x (extractRenderState) and pre-26 (render)UltimateSleepScreencopies.
Notes
- Rebuilt across the WHOLE matrix at one version. The AFK fix above had been built for the Fabric 1.21.11 cell only (2026-07-31, never released); it ships everywhere here.
PlayerSleepTickMixinneeds no era gate: the gate EXPRESSION drifts (Level.isDay1.20-1.21.4,Level.isBrightOutside1.21.5-1.21.8,BedRule.canSleepviaenvironmentAttributes1.21.11-26.2,AbstractBedBlock.getBedRule().canSleep26.3+), but thestopSleepInBed(ZZ)Vcall it guards is descriptor-identical with a single call site intickon every version from 1.20.1 to 26.3-snapshot-6. Redirecting the consequence rather than the condition also avoids the equal-priority collision with fabric-api'sALLOW_SLEEP_TIMEredirect (see the 2026-07-05 smoketest note inServerPlayerSleepMixin).- The Paper/Folia plugin is unchanged and keeps its own 1.2.0 line (no mixins, different sleep path).
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:M1lrtuN1:R7j0khmW"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:M1lrtuN1:R7j0khmW"
}
