
铁魔法属性
为Iron's Spells and Spellbooks注册的每个法术和学派创建Minecraft属性,包括由附属模组提供的条目。
查看大图铁之咒术属性扩展(Attributes For Iron's Spells)
Attributes For Iron's Spells(ais)是一个 NeoForge 1.21.1 模组,为 Iron's Spells and Spellbooks 注册的每一个法术和学派创建 Minecraft 属性,包括由附属模组提供的条目。
前置要求
- Minecraft 1.21.1
- NeoForge 21.1.226 或更高版本
- Iron's Spells and Spellbooks 1.21.1-3.15.6 或更高版本
- Iron's Spells 的常规依赖:Iron's Lib、GeckoLib、Player Animator 和 Curios
属性
全局属性:
| 属性 | 默认值 | 效果 |
|---|---|---|
ais:all |
0 |
所有法术的固有等级 |
ais:all_cooldown |
1.0 |
所有法术的冷却时间倍率 |
ais:all_cast_time |
1.0 |
所有法术的施法时间倍率 |
ais:all_cost |
1.0 |
所有法术的魔力消耗倍率 |
ais:keep_scroll |
0.0 |
成功使用卷轴后不消耗的几率 |
对于每个注册的法术 <命名空间>:<路径>:
ais:spell/<命名空间>/<路径>ais:spell_cooldown/<命名空间>/<路径>ais:spell_cast_time/<命名空间>/<路径>ais:spell_cost/<命名空间>/<路径>
对于每个注册的学派 <命名空间>:<路径>:
ais:school/<命名空间>/<路径>ais:school_cooldown/<命名空间>/<路径>ais:school_cast_time/<命名空间>/<路径>ais:school_cost/<命名空间>/<路径>
示例:
attribute @s ais:school/irons_spellbooks/fire base set 3
attribute @s ais:spell/irons_spellbooks/cloud_of_regeneration base set 5
attribute @s ais:spell_cooldown/irons_spellbooks/fireball base set 0.5
所有属性都支持原版操作,例如 add_value、add_multiplied_base 和 add_multiplied_total。
解析规则
有效法术等级为:
max(法术书等级, ais:all, 学派等级, 法术等级)
小数等级向下取整,结果被限制在法术声明的等级范围内。
冷却时间、施法时间和魔力消耗使用:
全局倍率 × 学派倍率 × 法术倍率
例如,全局倍率为 0.5 且法术倍率为 0.5 时,最终倍率为 0.25。这些倍率影响法术书和固有施法。负值将被限制为零;非有限值将安全地回退到中性行为。
重置命令
拥有权限等级 2 的管理员可以重置存储的基础值,而不会移除由装备、效果或其他模组提供的修饰符:
/ais reset <目标> all
/ais reset <目标> spell [法术ID]
/ais reset <目标> school [学派ID]
/ais reset <目标> cooldown [法术或学派ID]
/ais reset <目标> cast_time [法术或学派ID]
/ais reset <目标> cost [法术或学派ID]
/ais reset <目标> keep_scroll
法术和学派 ID 支持 Brigadier 自动补全。省略 ID 将重置整个所选类别。
法术特定伤害标签
伤害谓词可以识别产生 Iron's Spells SpellDamageSource 的确切法术。每个法术都会自动暴露一个虚拟的伤害类型标签,使用:
<法术命名空间>:spell/<法术路径>
例如,一个 minecraft:player_hurt_entity 进度可以只匹配牺牲(Sacrifice):
{
"damage": {
"type": {
"tags": [
{
"id": "irons_spellbooks:spell/sacrifice",
"expected": true
}
]
}
}
}
无需伤害类型标签 JSON 文件。附属法术 ID 遵循相同的规则,因此注册为 hazennstuff:shadow/arcane_cards 的法术可通过 hazennstuff:spell/shadow/arcane_cards 使用。这适用于使用或继承 Iron 的 SpellDamageSource 的附属模组,包括标准的 AbstractSpell#getDamageSource 流程。创建不相关伤害来源的附属模组不携带法术 ID,因此不会被标记。
在 ai/ais-sacrifice-damage-test 提供了一个仅用于开发的简化牺牲测试包。在测试世界中安装后,用 ais_sacrifice_test_target 标记一个目标,当牺牲对其造成伤害时,该目标会说 hello。ai 目录不属于构建的模组 jar 文件的一部分。
稳定性行为
- 动态持有者在启动期间被缓存;施法不会扫描注册表。
- 缺失属性、未知法术、缺失学派、格式错误的卷轴数据和不兼容的附属条目会安全地无操作处理。
- 对于在 Minecraft 属性注册表冻结之后才引入的法术,将保持原样而非冒服务器崩溃的风险。
- 属性同步仅在相关等级属性发生变化时刷新客户端固有选择。
正在加载版本记录…



正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。