KasugaLib
KasugaLib(简称 Ksglib)是一个致力于减轻 Modder 开发压力,提高 Mod 开发效率的基础模组。
请注意:该 Mod 不会直接添加任何元素到你的游戏中。
该项目目前正在招聘开发人员
一、KasugaLib 开发组人员的工作
①进行 Lib API 开发,为其他 Mod 开发提供便利;
②负责 Lib 与示例项目(主要是 Kuayue)之间的接口协调工作。
二、KasugaLib 开发组人员的要求
→熟悉 Forge API 和原版 API,会使用 Mixin 者优先;
→熟悉 Java 项目开发流程,了解 Annoation , FunctionInterface 等相关概念;
→(或)熟悉 JavaScript 开发流程,有前端项目开发经验。
Ksglib 目前实现的主要功能
注册机制
KasugaLib 为 Forge Mod 提供一组易用的注册机制。
BlockReg(方块);
BlockEntityReg(方块实体);
ItemReg(物品);
EffectReg(药水效果);
CommandReg(指令(集));
FluidReg(流体);
ChannelReg(网络通道);
MenuReg(Menu 和 Screen)。
......
注册拓展
Ksglib 也提供一些 Forge 原生未(直接)提供的注册机制。
KeyBindingReg(注册按键绑定);
StaticImageHolder(StaticImage,ImageMask... 图片的注册);
FontRegistry(如 .ttf 字体);
ModelRegistry(用于带动画的模型);
BundleReg(打包注册,一次性注册一批元素)。
GUI 引擎
Ksglib 拥有一个基于 Reactive Native 的 GUI 引擎,该模块仍在开发中。
支持用于 GUI 的 HTML,CSS,JS 定义;
支持模块热重载;
支持外部工具调试。
工具箱
Ksglib 为开发者准备了一些工具,以帮助开发者克服 MC 开发中的版本差异。
VectorUtils(用于矢量和四元数计算);
ResourceUtils(用于调用 MC 的资源 I/O);
LazyRecomputable<?>(懒加载机制);
DirectionUtils(用于进行一些简单的方向计算);
移除了 1.20.1 版本 MC 对于纹理文件路径的限制;
添加了一个 NBT 和 JSON 相互转换的工具包。
实验性内容
Ksglib 提供了一些实验性功能,它们需要使用者一同参与完善。
移除 MC 中 blockstates 文件的文件路径限制;
增加了对基岩版模型和动画的支持。
机械动力版本
Ksglib 拥有原版版本和机械动力版本,机械动力版本提供了一些针对机械动力的开发工具。
机械动力注册工具(Tracks,TrackMaterials,Bogeys,Behaviours 的注册);
SimpleTrackBlock,StateGenerator 等。