BBSMC Logo
模组
资源包
数据包
整合包
光影
插件
软件资源
论坛
登录
模组插件数据包光影资源包整合包资源
登录
设置
月光依赖库 - Moonlight Lib

月光依赖库 - Moonlight Lib

Forge和Fabric轻量级依赖,具备诸如自定义村民AI、数据驱动交易、自定义地图标记、第一人称和第三人称物品动画、动态资源及注册等实用功能。

12
0
前置
游戏机制

基本信息

我的世界Java版本

1.21–1.21.1
1.20.4
1.20–1.20.1
1.19.x
1.18.x
1.17.1
1.16.3–1.16.5

平台

\n \n \n Fabric
\n \n \n Forge
NeoForge

其他链接

查看源码
CurseForge地址

创作团队

BBSMC 官方搬运(3)
BBSMC 官方搬运(3)团队

详情信息

许可证 保留所有权益/无许可证
发布于 4 months ago
更新于 5 months ago
简介渲染图更新日志版本百科反馈讨论

月光依赖库

补充物品系列(Supplementaries)的推特

📖 关于 📖

以前叫塞勒涅依赖库(Selene Library),月光依赖库是我在制作模组时使用的一组专用工具和共享代码。
其中包括一些高度专业化的功能,比如动态资源生成、两个新的数据注册表、动态注册系统,以及常见的多加载器辅助工具和包装器,以便同时为Fabric和Forge进行开发。

🛠️ 功能🛠️

以下是包含的最重要的功能。如果你是计划使用这个依赖库的开发者,这部分内容就是为你准备的!

文档的主要存放位置如下:

  • 本页面
  • GitHub上的示例包类: github
  • GitHub上API包中类的Java文档: github

要**导入这个依赖库**,只需进入此处的文件部分并点击“复制Gradle行”。然后将其粘贴到你的build.gradle文件中。


🎨动态资源

月光依赖库允许你为数据包和资源包动态生成任何资源。特别是该模组包含一个广泛的API,可通过提取调色板、裁剪、重塑图像、自动重新上色等工具来生成动态纹理。

  • 动态资源示例:

  • 纹理重新上色示例:

  • 调色板操作示例:

🌍 多加载器工具

这些工具集尽量做到简单,通常仅依靠静态辅助函数,而不使用注解或其他面向对象编程的做法,并且主要通过用辅助函数简单包装来模拟Forge的行为。对于Fabric,如果没有等效行为,就会调用或实现它。其中一些亮点功能包括延迟注册、通用设置等。

模组注重简洁性,所以最重要的调用仅分布在4个主要的API类中。

它们是:平台助手(PlatHelper)、客户端助手(ClientHelper)、注册助手(RegHelper)和Forge助手(ForgeHelper)。

对于配置和网络方面,主要的类是配置构建器(ConfigBuilder)和通道处理器(ChannelHandler)。

配置尤其具有一些额外功能,比如能够使用编解码器、提前加载或自动同步到客户端。

  • 平台助手示例:

  • 客户端助手示例

  • 注册助手示例:

  • 配置构建器示例:

  • 通道处理器示例:

📒 动态注册

这包括一个新系统(块集API,BlockSetAPI),它允许在所有方块注册完成后立即动态检测“块集”,并动态注册依赖于它的新条目。例如,可以使用内置的木材类型注册表(WoodTypeRegistry)或树叶类型注册表(LeavesTypeRegistry),这两个块集会动态填充来自任何模组的所有已安装的木材和树叶,从而允许你在所有现有的木材类型中注册你的木制物品。

  • 块集API示例:定义一个块集

  • 块集API示例:注册动态方块


🧙‍♂️ 杂项工具

  • 投掷器助手(DispenserHelper)示例

  • 第一人称和第三人称物品动画示例:

🍩自定义烘焙模型

  • 自定义模型和模型加载器示例:

  • 四边形工具(Quad Utils)示例:

🌽自定义村民交易

使用`moonlight/villager_trades`数据包文件夹,你将能够为任何村民添加新的自定义交易。这是一个示例交易。 查看锯木厂补充物品(Supplementaries of Sawmill)以获取更多示例。



  • 方块颜色API: 一组工具,可用于检测任何任意模组添加的方块的染料颜色,以及获取不同颜色的等效方块。
    这对任何模组添加的方块或物品都能动态生效。

  • 自定义地图标记:
    一个完整的系统,可轻松实现并添加地图装饰和地图标记,以及控制它们的各个方面,如渲染。还允许在地图数据中存储简单数据,并提供了几个可使用它的钩子,比如在物品提示框上。
    该系统还提供了一个简单的数据驱动实现,这意味着你可以轻松地用数据包注册新的标记!

  • 动态村民AI
    一个辅助系统,可轻松、动态地添加任务并以兼容的方式修改村民的日程安排,而不会覆盖现有的整个AI。还允许正确添加记忆类型。

  • 自定义第一人称和第三人称动画:
    允许模组制作者在他们的物品中实现一个简单的接口,使其能够拥有自定义的第三人称和第一人称动画(比如弩)。
    包括简单易用的接口,可让你控制第一人称和第三人称动画,以及一个在物品类中直接渲染物品本身的回调(类似于望远镜)。

  • 砂轮成就触发:
    该模组添加了一个自定义触发,当一个物品通过砂轮时会被调用,你可以在你的模组进度JSON文件中调用它。

  • 软流体系统:
    一个完全由数据驱动的自定义虚拟流体系统,它基于Forge的流体系统之上,旨在更好地适配原版《我的世界》,其主要特点是能够拥有多个流体容器物品,如瓶子、碗和水桶,并且还为可以直接从流体罐中食用的炖菜和饮料提供支持。与Forge流体系统不同,它的基本单位是1个《我的世界》瓶子(250 Forge MB)。该系统还会自动为已注册的Forge流体生成所有所需的流体,并允许用户轻松覆盖或添加它们。流体是虚拟的,所以它们只能存在于专门为它们设计的模组容器中。

🦉 我们的模组🦉

闹鬼的收获(Haunted Harvest) 雪之精灵(Snowy Spirit) 存储标签(Storage Labels) 很棒的(Goated) 神秘橡树(Mysyical Oak Tree) 铺地毯的楼梯(Carpeted Stairs)

设置
"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

本站与Modrinth无从属关系,网站遵循Modrinth网站程序的LGPL协议开源 开源地址

版权所有 © 2019-2024 青岛柒兮网络科技有限公司 | ICP经营许可证: 鲁B2-20210590 | ICP备案: 鲁ICP备2021009459号-12