点燃

点燃

Ignite 是一个为其他模组提供 mixin 和访问扩展器支持的模组,允许在运行时修改服务器,无需修改游戏文件。

图书馆

Ignite (ignite-experimental-hytale) 是一个模组,为其他模组提供 Mixin 和访问扩展器支持,使其能够在运行时修改服务器,而无需修补游戏文件。

功能

本模组为开发者提供以下工具:

本模组旨在解决 Hyxin 中的大部分限制,但由于 Hytale 和 Java 本身的局限,无法修复全部问题。此版本适用于单人游戏和多人游戏。它与为 Hyxin 设计的现有模组兼容,无需任何修改。

如果你只关注为独立于客户端运行的服务器创建 mixin,我推荐使用 Ignite 启动器版本

安装

将 ignite jar 文件放入 /earlyplugins 目录(你可能需要手动在 /mods 目录旁创建此目录)。

任何使用 Ignite 的模组都应放入 /earlyplugins 目录。

注意: 运行前请确保移除其他 mixin 加载器,例如 Hyxin。

创建模组

你的模组结构应遵循 Hytale 预期的现有项目结构,并包含 manifest.json。但在 manifest.json 中,你可以在新的 Ignite 部分下添加 mixin 和访问扩展器文件。例如:

{
  "Group": "...",
  "Name": "...",
  "Version": "...",
  "Description": "...",
  "Ignite": {
    "Mixins": [
      "your_plugin.mixins.json"
    ],
    "Wideners": [
      "your_plugin.accesswidener"
    ]
  }
}

你的 mixin 配置文件应按照 mixin 常规预期的方式进行配置。例如:

{
  "required": true,
  "minVersion": "0.8",
  "package": "com.example.mixin.test",
  "plugin": "com.example.mixin.plugin.TestMixinPlugin",
  "target": "@env(DEFAULT)",
  "compatibilityLevel": "JAVA_25",
  "mixins": [
    "TestMixin"
  ],
  "injectors": {
    "defaultRequire": 1
  },
  "overwrites": {
    "requireAnnotations": true
  }
}

你的访问扩展器文件应按照访问扩展器常规预期的方式进行配置。例如:

accessWidener v1  named

accessible class com/example/Example$InnerExample

你的模组随后必须始终放置在 /earlyplugins 目录中,Ignite 才能加载它。

灵感来源

本项目许多部分受以下项目启发: