跳到正文

NilKit API

作者:TamKungZ_

NilKit API provides reusable utilities for mods built around NilLoader, with a particular focus on legacy Minecraft development.

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

<img src="https://raw.githubusercontent.com/NilKitAPI/NilKit-API/refs/heads/main/src/main/resources/assets/nilkit/icon.svg"

width=”40″
alt=””
aria-hidden=”true”>
NilKit API

An independent utility API and developer toolkit for mods built with NilLoader.

Important

NilKit is not part of the official NilLoader project and is not required to use NilLoader.

NilLoader is maintained separately at:
https://git.sleeping.town/Nil/NilLoader

NilKit provides reusable APIs and tooling for legacy Minecraft mod development, with a focus on reducing boilerplate around events, reflection, mappings, metadata, networking, and development utilities.

NilKit 4.1.0 targets Java 8 bytecode and does not require a hard runtime link to a specific Minecraft JAR for its core APIs. Minecraft-specific functionality remains dependent on the mappings and structure of the target game version.

Features

Events and lifecycle

  • Lightweight event bus
  • Cancellable events
  • Listener priorities
  • premain / hijack lifecycle helpers
  • Typed and annotation-based listeners

Reflection and legacy Minecraft tooling

  • Reflection helpers for version-dependent Minecraft code
  • SRG/CSRG mapping utilities
  • Mapping inspection, reversal, chaining, and lookup
  • Integration with the external MinecraftRemapping mapping repository during development

KDL

NilKit includes a general-purpose KDL parser and writer and can use KDL for richer project/mod metadata.

KDL support is optional. NilKit does not require NilLoader mods to use KDL, and standard NilLoader metadata remains fully supported.

Example:

nilmod {
  name "My Mod"
  description "Example mod"
  authors "Author"
  version "1.0.0"
}

entrypoints {
  premain "com.example.MyPremain"
  hijack "com.example.MyHijack"
}

nilkit {
  requires "nilloader" "nilkit"
  load_after "nilkit"

  icon "assets/mymod/icon.png"
  modurl "https://modrinth.com/mod/my-mod"
  sourceurl "https://github.com/example/my-mod"

  license "MIT"
  credits "Author"
}

Networking

  • Java NIO client/server utilities
  • Packet registry and codecs
  • Optional Minecraft-facing network helpers

Developer toolbox

The optional -all.jar also bundles several developer libraries without relocating their public packages:

  • Byte Buddy
  • GEB
  • ClassGraph
  • SnakeYAML

The normal NilKit artifact does not require these libraries at runtime.

Gradle

repositories {
    maven {
        url = uri("https://repo.tamkungz.me")
    }
}

dependencies {
    implementation "me.tamkungz.nilkit:nilkit:4.1.0"
}

Documentation

Full documentation and development information are available in the GitHub repository:

https://github.com/NilKitAPI/NilKit-API/tree/main/docs

NilLoader

NilKit is designed to complement NilLoader, not replace it.

NilLoader itself, its loading lifecycle, and its upstream development remain separate from NilKit.

License

NilKit is licensed under LGPL-3.0-or-later.

常见问题

NilKit API 支持哪些 Minecraft 版本?

NilKit API 支持 Minecraft Java 版 1.2.1–26.1.2,共 99 个版本。下载时注意选择和你游戏版本一致的文件。

NilKit API 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 模组加载器,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

TamKungZ_ 的其他作品

查看全部 →