Gear Core

Gear Core

用于创建装备修饰符的库模组,这些修饰符可应用实体属性或跟踪一系列事件,如受到伤害、击杀生物等。

装备

Gear Core 标题横幅

Bisect Hosting 横幅

0.3.0 新增内容:装备套装!

通过数据包创建自定义装备套装加成!为任何物品组合创建 RPG 套装加成,套装可以拥有层级、自定义格式,并且几乎可以应用于任何物品!套装加成的提示框会自动出现在相关套装中,并且还支持 EMI 显示所有套装、其物品和加成描述!

装备套装支持属性(包括自定义属性)和装备修饰符。目前只能通过数据包严格添加属性,修饰符必须在代码中创建后才能被装备套装引用。在我的“待办事项”清单中,基于数据包的装备修饰符也在计划之内,敬请期待!

以下是来自 Imbued Gear 的示例装备套装。图中所有加成均已激活: 示例装备套装提示框

这是用于创建它的 JSON。很快我会在 wiki 中提供格式文档。

{
  "name": "set.imbued_gear.lich_kings",
  "active_formatting": [
    "GREEN",
    "BOLD"
  ],
  "items": {
    "tag": "imbued_gear:lich_kings_gear"
  },
  "bonuses": {
    "2": {
        "name":"lich_kings_amplifier",
        "attribute": "amethyst_core:spell_amplifier",
        "amount": "2.0",
        "operation": "ADDITION"
    },
    "4": {
      "name":"lich_kings_duration",
      "attribute": "amethyst_core:spell_duration",
      "amount": "0.15",
      "operation": "MULTIPLY_TOTAL"
    },
    "5": "imbued_gear:horde_master"
  }
}

装备修饰符

这是一个库模组,便于创建能够应用标准 Minecraft 实体属性或追踪各种事件(如受到伤害、击杀生物、挖掘方块等)的装备修饰符。这些修饰符不受砂轮、附魔台或其他 Minecraft 机制的影响。这些修饰符使用 Fzzy Core 修饰符框架;因此,它们可以被安排成从一代传承到下一代的谱系,而非简单地数值叠加。

当前物品支持与示例

Gear Core 内置了对 ArmorItem、ToolItem、BowItem、CrossBowItem、ShieldItem、TridentItem 和 Trinket 的修改支持,但提供了一个框架(借助 Fzzy Core)来实现对其他任何类型物品的可修改性。

通过 Gearifiers 展示装备修饰符的示例:

https://i.imgur.com/aPJanNb.png

装备修饰符的修改功能

装备修饰符可以影响装备的以下方面:

属性修饰符

标准的 Minecraft 属性 可以附加到装备修饰符上。这些属性会叠加在装备自身固有属性和其他修改之上。

耐久度修饰

装备的耐久度可以使用 Fzzy Core 的 PerLvlI 实例进行修改,允许对耐久度进行固定值修改或百分比修改(或两者兼有!)。

命中后事件

可以向装备修饰符添加命中后事件消费者。这些消费者在 ItemStack 的 postHit 方法中触发,允许实现者在玩家击中某物后执行操作。

挖掘后事件

与命中后事件类似,也可以为 postMine 添加消费者,在玩家成功破坏方块后触发。

使用事件

为物品添加激活能力!这些事件在 use 方法中触发,就像任何右键点击操作一样。事件仅在物品固有 use 操作不成功时触发。

受到伤害修改与事件

伤害修改函数可以附加到装备修饰符上,既允许在玩家受到伤害时执行事件代码,也允许进行伤害修改(例如,将所有魔法伤害减少 10%)。

生物击杀事件

当玩家击杀生物时触发的事件,结构与其他事件类似,实现者向修饰符传递一个特殊消费者供其处理。

其他修饰符

其他类型的修饰符可以附加到装备修饰符上,并提供 ModifierProcessor 供实现者决定如何处理它们。

修饰符随机系统

Gear Core 提供了一个修饰符随机化系统,用于为特定装备添加随机修饰符。查看 Gearifiers 可以了解该系统的完整示例。该系统工作原理的简要说明:

修饰符目标

Gear Core 添加了 EquipmentModifierTargets。其工作方式与 Minecraft 中的 EnchantmentTarget 类似,但它们是一个可扩展的类而非枚举。当修饰符随机系统选择修饰符时,只会从正确的目标中选择修饰符。

权重

与 Minecraft 中的战利品和其他内容类似,修饰符可以被赋予权重。这个权重的工作方式正如你所预期的那样……每个符合目标的修饰符根据其权重被放入池中 X 次,并且整个池用于随机修饰符的抽取。

稀有度

修饰符可以被赋予稀有度。这是一个枚举,定义了修饰符在物品提示框上的格式,不同稀有度提供不同颜色(有些还加粗)

稀有度 格式
传奇 金色,加粗
史诗 浅紫色
稀有 青色
罕见 深绿色
常见 灰色
负面 深红色
极负面 深红色,加粗

消耗

每个修饰符会对抽取池产生一定的消耗。池子以一个可支出的消耗量开始,每个加入的修饰符会从池中消耗其耗量,直到剩余量不足以使下一次抽取成功为止。默认消耗量为 5,默认池子平均约为 5.75。

提供不同的消耗量可以精细调整选择概率。

持久性与可抽取性

修饰符可以被创建为 persistent(持久的),这可以防止它在重新抽取时被移除。这可能用于“固有”修饰符或“诅咒”修饰符。

修饰符也可以被标记为不可用于随机选择。这同样可能用于“固有”修饰符,这些修饰符不参与随机几率系统,而是简单地随每个物品实例提供。