
KrepAPI (Mod)
Fabric client bridge for servers: custom key bindings synced from the host, optional raw-key hooks for addons, and a handshake so Paper/Fabric servers can require this mod. Install only on servers that use KrepAPI. Needs Fabric API.
59
0
Список изменений
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.
Метаданные
Канал релиза
Alpha
Номер версии
mc26-1.3.0
Загрузчики
Fabric
Версии игры
26.1–26.1.1
Загрузок
17
Дата публикации
1 нед. назад
