1.2.0-1.21.11
Compatibility
Required content
Changes
1.2.0
New
- Nutrition System v1.0 — First full release of the Nutrition + Excretion gameplay loop.
Metabolism
you can hover to see detailed macro and nutrition values
- Food Stats (new tooltip info)
- Food now shows calories, volume, digestion time, nutrients, and absorption quality.
- Most modded edible items still work using fallback nutrition values.
- Can add more with datapack.

- 3 Digestion Phases

-
Stomach: breaks food down and reduces stomach volume; no nutrient absorption here.
-
Small Intestine: main nutrient absorption phase.
-
Colon: absorbs the remainder and contributes to bowel pressure.
-
How nutrients are split
- Small intestine gets all protein/sugar/starch, most vitamins/minerals, and most fat.
- Colon gets fiber, sodium, and the remaining nutrient fractions.
- Water is currently split 80% small intestine / 20% colon.
-
Overeating can kill you
- Going above stomach capacity causes nausea.
- Exceeding 120% of stomach capacity triggers fatal stomach rupture damage.
-
Raw vs Cooked Food
- Raw food is generally set to digest slower and absorb less than cooked food.
- Raw entries may also have higher contamination risk.
-

-

-
- Energy System (replaces vanilla food bar)- Total energy comes from glycogen and body fat.
- Activity drains glycogen first.
- If glycogen runs out, your body starts burning fat.
- If total energy reaches zero, starvation damage begins.
-
Hydration and Bladder
- Hydration drains based on activity level.
- Kidney processing moves fluid into the bladder over time.
- Water intake can refill hydration, and overflow can fill bladder.
- At zero hydration, thirst damage begins.
-
Excretion System
- Urine urge starts at a bladder fullness threshold.
- Ignoring it long enough can trigger forced release.
- Bowel pressure rises when solid food reaches colon phase.
- Ignoring bowel urge can trigger forced bowel release.
-
Server Config Support (
leklai_server.json5)- Capacity/survival:
baseStomachCapacity,starvationDamage,starvationDamageInterval - Macro pools:
maxGlycogen,maxBodyFat,maxHydration,maxBladder - Drain rates:
baseMetabolismRate,baseHydrationDrain,baseNutrientDrain,exhaustionDecayRate - Digestion timing:
siAbsorptionMultiplier,colonAbsorptionMultiplier - Excretion tuning:
bladderUrgeThreshold,forcedReleaseDelayTicks,bowelUrgeThreshold,bowelForcedDelayTicks,dirtyEffectDuration - Water/food quality:
enableWaterPurity,enableContamination
- Capacity/survival:
Bug Fixes
- Fluid conflict behavior — Changed conflict handling from
preventtosettledto avoid still-water conflicts. - Skill keyframe timing regression — Fixed server-side skip fallback overriding client skip values, which could trigger
CAST_CLEANUPbefore keyframes completed. - Lifeskill tab empty-state — Lifeskill tab now cleanly shows no entries when no lifeskills are found.
Changes (Internal)
- Minecraft 26.1 preparation — Internal compatibility prep and follow-up refactors for the 26.1 update path.
- Core config combat behavior — In combat mode, sprint/sneak switching is no longer auto-toggled.
- Skill engine cleanup
- Restored proper
calculateDuration()behavior forKeyframeInstructablepath. - Removed
scheduled_actionsfromSkillAnimData(plugin no longer exports them). - Removed debug infrastructure (
DEBUGflag, debug reports, ImGui debug accessors). - Removed unused
ActiveCastconvenience constructors. - Cleaned dead JSON action rendering code in
SkillPhaseDebugHud.
- Restored proper
- General cleanup pass — Codebase cleanup and internal API follow-up changes.
Optional dependencies
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:8PTlAPLJ:lj6IlnNi"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:8PTlAPLJ:lj6IlnNi"
}

