1.2-SNAPSHOT
Compatibility
Required content
Changes
1.2 (2025-09-04)
-
New — Regional/Chunk-based TPS Manager (R‑TPS)
- Per‑region load tracking (avg AI ms, memory MB, players, redstone updates, BE/scheduled ticks, activity).
- Named scaling levels (e.g., normal=1, warning=2, critical=4) applied as tick multipliers per region.
- Hysteresis via
regionalTPS.hysteresisPct(default 0.15) to stabilize level transitions. - Static region overrides to pin hotspots to specific levels.
- Integrates with chunk random/scheduled tick gating; invisible near players.
-
New — Heatmap UI for Regional TPS
- Request with
/wmb heatmap [radius]; reopen last heatmap with theHkey. - Mouse wheel zoom; right‑click drag to pan; live window requests while panning/zooming.
- Modes: AI ms, Mem MB, Players, Priority; LOD toggle (merged vs per‑region tiles).
- Tooltips and a detailed side panel (emergency state, target multiplier, consecutive good/bad ticks, histories).
- Global TPS display in the header.
- Request with
-
Improvements — Global TPS measurement and safety
- Lazy‑init tick timing; compute TPS only after 5+ samples; clamp to [0..20].
- Gate emergency triggers until warm‑up (≥200 ticks) and require ≥20 samples; add cooldown to avoid log spam.
-
Improvements — Regional decisions and sampling
- Applied hysteresis to regional scaling decisions; introduced
levelIndexto track transitions. - Normalized Y sampling for region gating to
level.getMinBuildHeight() + 1.
- Applied hysteresis to regional scaling decisions; introduced
-
Networking & Client
- Updated heatmap/detail serialization to include memory, player counts, priority, global TPS, target multiplier, and histories.
- Client can refresh the existing screen (
setHeatmap) without reopening; remembers last heatmap for theHkey.
-
Fixes
- Heatmap tooltip compile error fixed by initializing local variables.
- Eliminated false global TPS emergencies at startup or sporadic spikes; reduced warning spam.
-
Config
- Config schema bumped to 5; added
regionalTPS.*keys includinghysteresisPct. - Defaults and inline comments updated in
wmb.toml.
- Config schema bumped to 5; added
-
Migration Notes
- Existing configs auto‑merge new keys and bump
configVersionsafely. ReviewregionalTPS.thresholdsandregionalTPS.scaling.levelsfor your pack.
- Existing configs auto‑merge new keys and bump
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:1nxidmR9:uyluSPnT"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1nxidmR9:uyluSPnT"
}

