有效

有效

通用能力API的正确实现方式

图书馆

Effectly

让复杂效果变得简单通用

Effectly 作为一个中心枢纽,让多个模组能够列出、管理、利用或扩展同一套游戏能力列表。


署名:

Effectly 是从 Hexvane 的 AbilityAPI 分支出来的。它的定位是一个性能更好、可扩展性更强且非“氛围编程”的即插即用替代品。它与任何以前需要 AbilityAPI 的模组100%向后兼容。

功能

  • 可附魔护甲 - 为护甲部件添加条件效果,赋予它们另一层风采
  • 资源驱动 - 创建新效果或条件可以完全通过资源编辑器完成!调整现有效果也同样简单
  • 高性能 - 你只需为生效中的效果付费。400个未使用的效果在服务器上的性能影响与1个效果相同。

能力

  1. 创造飞行
  2. 黑暗视觉
  3. 摔落伤害免疫
  4. 生命恢复
  5. 无敌
  6. 物品磁铁
  7. 挖掘幸运
  8. 挖掘急迫
  9. 移动速度
  10. 氧气
  11. 徒手拳击伤害
  12. 水下呼吸
  13. 第二次机会
  14. 体力恢复
  15. 力量
  16. 游泳速度
  17. 爬墙
  18. 抗性
  • 命令
  • 溺水
  • 元素
  • 环境 / 环境性
  • 摔落
  • 火焰
  • 冰霜
  • 虚空
  • 物理
  • 中毒
  • 投射物
  • 斩击
  • 窒息

这些仅仅只是默认效果!第三方模组可以根据需要添加更多。

附魔护甲

有两种方法可以附魔护甲——对于玩家来说,不,这在生存模式中不可用。这是为希望进行集成的模组作者准备的!

#1 - 在标签中预定义

{
  "Tags": {
    "Effectly:Ability": [
      "mining_haste:3:sunlight", // 在阳光下条件性地添加急迫 3
      "flight" // 添加飞行
    ],
    "Effectly:Condition": [
      "zone 3" // 将整个能力限制在区域 3 内
    ]
  }
}

这可以在你物品的实际 Item JSON 文件中完成。

或者,你可以通过资源编辑器添加它。 image

如果你计划编辑现有物品,也建议安装 Patchly

#2 - 物品元数据

添加对象元数据(例如:通过制作、通过代码、动态的逐物品能力,如果你想要个性化的话)。

  "PrimaryOutput": {
        "ItemId": "Armor_Iron_Chest",
        "Quantity": 1,
        "Metadata": {
          "Effectly:Abilities": {
            "creative_flight": 1.0,
            "move_speed": 1.5
          },
          "Effectly:Conditions": ["zone 3"]
        }
      },

附魔武器

目前由于性能原因暂时禁用

虽然我已有代码,但我对实现方式并不满意。我在等待一些 Hexcode 能力落地后再完成这个实现,因为我想把它做好。

创建/配置能力或条件

新能力可以通过资源编辑器(或原始 json 修改)进行配置。 image

这让你完全掌控能力的作用、配置方式以及行为方式。对于服务器所有者来说,这让你可以强制禁用不需要的能力、配置强度等级,并调整能力以最适合你的服务器。


总而言之,这只是一个有趣的周末项目!它的灵感来自于另一个服务器上“氛围编程”应用出现的性能问题。当时 Github 上的许可是 CC0——所以我就自作主张把这个想法真正做好了。欢迎在 Discord 上联系 Riprod!在大多数 Hytale 相关的地方都能找到我。