Jotunn the Valheim Library

Jotunn the Valheim Library

Jötunn(/ˈjɔːtʊn/,“巨人”),瓦尔海姆图书馆的创建旨在让模组开发者的生活更轻松。它使你能够使用抽象的API为瓦尔海姆创建模组,从而专注于实际的内容创作。

实用工具

Jötunn —— 英灵神殿库

Jötunn (/ˈjɔːtʊn/, “巨人”) 是英灵神殿库,旨在通过整理通用辅助工具库来促进开发者创造力、统一社区问题解决工作、提升开发者生产力。此外,它还提供特定的接口和抽象层,帮助实现模组互操作性、网络游戏一致性,并通过充当开发者和游戏内部变动之间的接口,消除维护特定版本代码的需求。

Jötunn 不等于 JotunnLib 也不等于 ValheimLib

Jötunn 是由 JotunnLibValheimLib 合并而成的联合成果,旨在将二者优势集于一身。三个库可以同时使用,因此现有模组仍能正常运行。但我们强烈建议将模组迁移至这个新库,因为另外两个库将不再被积极开发。

使用

请参考我们的 文档。我们已竭尽全力确保提供充足的文档,以促进开发者的学习体验。

安装

如果使用模组安装器,可以忽略本部分。

有关更详细的安装指南,请查阅文档中的 手动安装指南。以下是简要步骤:

  1. 安装BepInEx: 下载 BepInEx,将 BepInEx_Valheim 文件夹内的所有内容解压到你的英灵神殿文件夹(通常是 C:\<你的Steam库路径>\steamapps\common\Valheim)。

  2. 安装Jötunn:Nexus / Thunderstore 下载,解压 ZIP 文件,将全部内容放入英灵神殿安装目录的 BepInEx/plugins/Jotunn 文件夹中。

就这么简单,启动游戏,尽情模组吧!

功能

JVL 提供了三大类功能。实体:将游戏自身的实体抽象为易于使用的接口。管理器:在实体与原生集合或子系统之间充当接口。工具:用于辅助通用/常见功能,可涵盖多个不同领域。

实体

  • CustomCreature —— 表示自定义动物、敌怪和 NPC。
  • CustomItem —— 表示游戏内的物品,如武器、工具和消耗品。
  • CustomItemConversion —— 在一个抽象中表示 CookingStation、Fermenter 和 Smelter 的游戏内物品转换。
  • CustomLocalization —— 表示模组的自定义本地化内容。
  • CustomLocation —— 表示从简单石圈到完整村庄的自定义地点。
  • CustomPiece —— 表示游戏内的建筑部件。
  • CustomPieceTable —— 表示游戏内的建筑工作台。支持自定义类别。
  • CustomRecipe —— 表示游戏内用于管理物品制作和升级的配方。
  • CustomStatusEffect —— 表示游戏内的状态效果,从武器打击效果到守护之力。
  • CustomVegetation —— 表示分布在各生物群落中的植被,包括可拾取物和装饰物。
  • KitbashObject —— 表示由各种其他预制件组件组装而成的自定义对象。
  • Mocks —— 模拟任意原版预制件,并在自定义资源中使用 —— Jötunn 会在运行时解析对原版对象的引用。
  • 配置类 —— 除了主要实体外,还有许多其他抽象类,便于轻松创建按键绑定、自定义命令、技能等内容。

管理器

  • 命令管理器 —— 促进实现可注册为可执行控制台命令的方法。
  • 生物管理器 —— 添加新生物,或复制并修改原版生物。
  • GUI管理器 —— 允许通过代码即时调用 UI 预制件。
  • 输入管理器 —— 提供通过 ZInput 以一致方式绑定按键的接口,便于自定义按键提示。
  • 物品管理器 —— 抽象了应用于物品/配方的配置实现细节,为添加新物品提供一致的开发者体验。简而言之,物品变得简单了!
  • Kitbash管理器 —— 使用原版预制件中的单独部件创建自定义资源。
  • 按键提示管理器 —— 为武器和工具创建自定义按键提示,甚至细化到选中的部件。
  • 本地化管理器 —— 提供多种将本地化数据加载到游戏中的方法,并暴露一个接口,用于添加更多语言,以支持未被官方支持的语言的本地化。
  • 小地图管理器 —— 修改地图数据或创建地图覆盖层。
  • 部件管理器 —— 与物品管理器非常相似,抽象了部件/配方配置的实现细节。
  • 预制件管理器 —— 提供通过其他管理器注册的预制件缓存,开发者通常仅用于查询通过其他管理器添加的预制件。
  • 渲染管理器 —— 提供自定义渲染队列,将可视化的游戏对象渲染为精灵图 —— 用于为自定义物品生成图标。
  • 技能管理器 —— 便于添加额外的自定义技能。
  • 区域管理器 —— 创建自定义地点和植被,以添加到世界生成中。

工具

  • 资源辅助工具 —— 用于简化资源引用和加载的方法。
  • 骨骼重排序器 —— 修复已导出并导入 Unity 的 SkinnedMeshRenderer 上的骨骼顺序问题。
  • 网络兼容性 —— 允许模组为连接到服务器的客户端定义自己的版本要求。确保模组之间可按模组粒度,与不同模组配置的客户端实现可定制的互操作性级别。
  • 配置同步 —— 允许管理员通过游戏内菜单调整配置值。配置设置会同步到已连接的客户端。
  • 模组注册表 —— 按模组查询已添加的内容。
  • SimpleJSON —— 应一些开发者要求,我们将 SimpleJSON 导入到了库中,这些开发者希望直接依赖此库。我们使用了采用 MIT 许可证的 SimpleJSON

漏洞、支持、贡献

在通过 Discord 寻求支持之前,请先查阅我们的 文档。如果你遇到任何模组互操作性问题(不仅仅是 JVL 专属问题),我们希望听取你的意见!如果我们能通过提供通用接口、暴露原生英灵神殿对象,或包含你创建的工具来更好地促进模组互操作性,请随时创建一个新的 功能请求拉取请求

路线图

请查看我们的 项目 以获取当前开发中功能的更完整列表,或通过创建新的 功能请求 建议你自己的功能。

更新日志

查看完整的 更新日志

Jötunn (英灵神殿库) 的贡献者

以下人员在推动 JVL 发布方面发挥了不可或缺的作用,没有他们,我们不可能取得如此成就。请在 GitHub、Thunderstore 和 Nexus 上给予他们一些支持。

核心

贡献者