Tags
Creators
Details
All versions
mc26-1.3.0
Alpha
KrepAPI (Mod) mc26.x-1.3.04 months ago 72
Compatibility
Minecraft: Java Edition
26.1–26.1.1
Platform
Fabric
Supported environments
Client-side
Changes
Added
Client update checks, download flow, and in-game update UI
UpdateChecker(bothfabric-1-21andfabric-26-1): On client startup, asynchronously fetches.system/mod/versions.jsonfrom GitHub, resolves the latest mod version and the JAR filename for the running Minecraft version, compares semver against the installed mod usingKrepapiBuildVersion(:protocol), and loads every listed version’s changelog markdown from.system/mod/changelog/{version-with-dashes}.mdintoversionList+allChangelogsfor the menu.UpdateDownloader: On explicit user action only, downloads the update JAR over HTTP intomods/KrepAPI-update-{latestVersion}.jarwith a volatile progress field; guards against overlapping downloads; surfaces errors without crashing the client./krepapi menu: Client command to open the update / changelog screen at any time.KrepapiUpdateToast: One-time toast when an update is available; opens the menu (no direct download from the toast).KrepapiUpdateHud: Optional[KrepAPI ↑]indicator when an update is available; click opens the menu (no direct download from the HUD).
Fabric 1.21.x — MoulConfig update menu
- MoulConfig (
modern-1.21.11) is bundled via GradleUp Shadow: dependency is relocated tonet.shik.krepapi.deps.moulconfig,kotlin-stdlibis included for MoulConfig’s Kotlin internals, and a hand-authoredMETA-INF/services/...IMinecraftentry points at the relocated platform class (Shadow does not rewrite service files by default). - Access widener (
krepapi.accesswidener): Merged the subset of MoulConfig widener entries that validate on Minecraft 1.21.11 with official Mojang mappings so the shaded UI can render withoutIllegalAccessError. - Screen:
KrepapiMenuScreenbuilds a MoulConfigGuiComponenttree (outerVANILLApanel, light header strip, full-width rule, twoDARK_RECTcolumns). Left: “Changelogs” header, magenta underline, dashed separator, clickable version rows (cyan + underline when selected). Right: gray subtitle, scaled headline “Changelog entries for v…”, and formatted markdown body (yellow#, magenta##, green###, gray bullets; first top-level bullet after a##section highlighted in white to match the reference layout). - Headline scaling: Dynamic
min(2×, fit-to-width)so long titles are not clipped inside the scroll viewport (fixes truncatedv1.style glitches). - ModMenu:
modImplementationModMenu 17.0.0-beta.2, dedicatedKrepapiModMenuEntry→KrepapiModMenuIntegrationconfig screen factory;fabric.mod.jsonextended withcustom.modmenu(homepage, issues, GitHub link,update_checker). - Helper UI types in
net.shik.krepapi.client.ui.KrepapiMenuComponents:FullWidthRuleComponent,VersionNavRow,ChangelogHeadlineComponent,StatusBadgeComponent.
Fabric 26.1.x — Vanilla update menu
KrepapiMenuScreen26: Same update semantics and markdown presentation using vanillaScreenwidgets (no MoulConfig / Shadow on this loader).
Structured debug logging (optional)
- Paper (
KrepapiPaperPlugin) and Fabric server networking: whendebug-logging/ JVM flag / marker file enables it, append NDJSON-style lines for handshake, disconnects, version kicks, and mouse/key events to a timestamped file under the server’s KrepAPI data folder.
Fixed
- Menu state:
selectedVersionis only reset when missing from the remoteversionList(or initially unset), so reopening the menu keeps the user’s chosen changelog version. - Changelog headline: Avoids fixed 2× scale that exceeded the scroll clip and cut off the version suffix; headline now scales to the available width (up to 2×).
- Layout: Header row width accounts for panel insets so the top bar, rule, and body columns stay aligned at the designed inner width.
Changed
fabric-1-21/build.gradle: GradleUp Shadow plugin,shadowModImpl/shadowImplconfigurations,remapJarinput fromshadowJar; Maven Central for Kotlin; ModMenu and MoulConfig coordinates as used at build time.fabric.mod.json(1.21):contact,custom.modmenu,entrypoints.modmenuviaKrepapiModMenuEntry; mixin / client resource layout adjusted (e.g. consolidatedkrepapi.mixins.json, removed redundant client mixin descriptor where applicable).fabric-26-1: Alignsfabric.mod.json, mixin config, and access widener with the split client/main setup used for the update UI.gradle.properties:mod_versionset to 1.3.0 for this release line.- Paper: Minor
config.yml/KrepapiPaperVersionGate/KrepapiPaperPlugintweaks for default minimum mod build alignment with the published mod. :protocoltests:KrepapiBuildVersionTest,KrepapiVersionPolicyTest,KrepapiVersionRequirementTestupdated for current version policy behavior.- Repository hygiene:
.gitignoreentries for editor-generated*Edit conflict*/*Name clash*duplicate source files.
Documentation
- Remote
versions.jsonand changelog paths remain documented in-repo under.system/mod/for the update checker URLs used by the client.
Supplementary resources
| File | Type | Size | |
|---|---|---|---|
| KrepAPI-mc26.1-1.3.0-sources.jar | Source jar | 285.22 KiB |
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:uRt7iUC0:2wqnOvA3"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:uRt7iUC0:2wqnOvA3"
}

