Pufferfish's Unofficial Additions

Pufferfish's Unofficial Additions

额外经验来源与奖励

游戏机制

概述

Pufferfish's Skills 的扩展插件

支持以下内容:

建议查阅文档:


属性已移至 Additional Attributes

经验来源

收割农作物

挂钩到从战利品表中获取物品的方法

操作:

  • player:收割农作物的玩家(原型 是 Player)
  • block:被收割的方块(原型 是 Block State)
  • tool:正在使用的工具(原型 是 Item Stack)
  • dropped_seeds:基于 #forge:seeds 掉落的种子数量(原型为 number)
  • dropped_crops:基于 #forge:crops 掉落的作物数量(原型为 number)

示例:

{
  "type": "pufferfish_unofficial_additions:harvest_crops",
  "data": {
    "variables": {
      "crops": {
        "operations": [
          {
            "type": "block"
          },
          {
            "type": "puffish_skills:test",
            "data": {
              "block": "#minecraft:crops"
            }
          }
        ]
      },
      "dropped_crops": {
        "operations": [
          {
            "type": "dropped_crops"
          }
        ]
      },
      "dropped_seeds": {
        "operations": [
          {
            "type": "dropped_seeds"
          }
        ]
      }
    },
    "experience": [
      {
        "condition": "crops",
        "expression": "dropped_crops + (dropped_seeds * 0.2)"
      }
    ]
  }
}

钓鱼经验

每钓起一个物品时触发

操作:

  • player:正在钓鱼的玩家(原型 是 Player)
  • tool:正在使用的工具(原型 是 Item Stack)
  • fished:钓到的物品(原型 是 Item Stack)

示例:

    {
  "type": "pufferfish_unofficial_additions:fishing",
  "data": {
    "variables": {
      "fishes": {
        "operations": [
          {
            "type": "fished"
          },
          {
            "type": "puffish_skills:test",
            "data": {
              "item": "#minecraft:fishes"
            }
          }
        ]
      },
      "fished_amount": {
        "operations": [
          {
            "type": "fished"
          },
          {
            "type": "count"
          }
        ]
      }
    },
    "experience": [
      {
        "condition": "fishes",
        "expression": "fished_amount * 4"
      },
      {
        "condition": "!fishes",
        "expression": "fished_amount * 2"
      }
    ]
  }
}

奖励

效果

施加药水效果(无限持续时间):

  • 在从定义中移除该奖励之前,你需要重置技能(或手动移除效果)
{
  "type": "pufferfish_unofficial_additions:effect",
  "data": {
    "effect": "minecraft:regeneration",
    "amplifier": 0,
    "type": "GRANT"
  }
}

授予对特定等级以下的免疫:

{
  "type": "pufferfish_unofficial_additions:effect",
  "data": {
    "effect": "minecraft:wither",
    "amplifier": 1,
    "type": "IMMUNE"
  }
}

修改传入效果的持续时间和/或等级:

  • 如果持续时间因修改而降至 0,效果将不会被施加
    • 有效运算符为 +、-、x 和 /
    • 此元素为可选
  • 如果等级因修改而低于 0,效果将不会被施加
{
  "type": "pufferfish_unofficial_additions:effect",
  "data": {
    "effect": "minecraft:slowness",
    "amplifier": -2,
    "duration_modification": "/2.5",
    "type": "MODIFY"
  }
}

可在细雪上行走

允许在细雪上行走

{
  "type": "puffish_skills:tag",
  "data": {
    "tag": "walk_on_powder_snow"
  }
}

Iron's Spells 'n Spellbooks

经验来源

新增了施放法术的经验来源

注意:该经验来源会在每次法术 tick 时触发,这意味着对于持续施放的法术,它可能触发多次(参见 expected_ticks 参数)

操作:

  • player:施法者(原型 是 Player)
  • main_hand:主手中的物品(原型 是 Item Stack)
  • spellbook:当前装备的法术书(原型 是 Item Stack)
  • school:法术的学派类型(自定义原型)
    • 值通过 school 定义
  • spell:法术(自定义原型)
    • 值通过 spell 定义
    • 包含以下子操作:
      • min_level:此类法术的最低等级(原型为 number)
      • max_level:此类法术的最高等级(原型为 number)
      • cast_type:法术的施放方式(INSTANT、LONG、CONTINUOUS)(自定义原型)
        • 值通过 value 定义
  • level:法术的等级(包括通过物品等进行的修改)(原型为 number)
  • min_level_rarity:基于稀有度的法术最低等级(原型为 number)
  • rarity_name:稀有度的名称(COMMON、RARE、EPIC、LEGENDARY)(自定义原型)
    • 值通过 value 定义
  • rarity:稀有度的序数(0 为 COMMON,4 为 LEGENDARY)(原型为 number)
  • mana_cost:该等级法术的魔力消耗(如果施放消耗魔力)(原型为 number)
  • mana_cost_per_second:仅对持续法术设置(且施放消耗魔力时)(原型为 number)
  • cast_duration:持续法术的持续时间(秒)(原型为 number)
  • cast_charge_time:法术的蓄力时间(如果有)(秒)(原型为 number)
  • cooldown:法术施放后的冷却时间(秒)(原型为 number)
  • expected_ticks:对于瞬时和长时法术为 1 - 对于持续法术,如果使用整个持续时间,则为法术 tick 次数(原型为 number)

示例:

    {
  "type": "pufferfish_unofficial_additions:spell_casting",
  "data": {
    "variables": {
      "level": {
        "operations": [
          {
            "type": "level"
          }
        ]
      },
      "rarity": {
        "operations": [
          {
            "type": "rarity_name"
          },
          {
            "type": "puffish_skills:test",
            "data": {
              "value": "LEGENDARY"
            }
          },
          {
            "type": "switch",
            "data": {
              "true": 5,
              "false": 1
            }
          }
        ]
      },
      "mana_cost": {
        "operations": [
          {
            "type": "mana_cost"
          }
        ]
      },
      "mana_cost_per_second": {
        "operations": [
          {
            "type": "mana_cost_per_second"
          }
        ]
      },
      "spellbook": {
        "operations": [
          {
            "type": "spellbook"
          },
          {
            "type": "puffish_skills:test",
            "data": {
              "item": "irons_spellbooks:iron_spell_book"
            }
          }
        ]
      },
      "fire_school": {
        "operations": [
          {
            "type": "school"
          },
          {
            "type": "puffish_skills:test",
            "data": {
              "school": "irons_spellbooks:fire"
            }
          }
        ]
      },
      "blaze_storm": {
        "operations": [
          {
            "type": "spell"
          },
          {
            "type": "puffish_skills:test",
            "data": {
              "spell": "irons_spellbooks:blaze_storm"
            }
          }
        ]
      }
    },
    "experience": [
      {
        "condition": "spellbook & !blaze_storm & fire_school",
        "expression": "level + (mana_cost / 5) + rarity"
      },
      {
        "condition": "blaze_storm",
        "expression": "(level + (mana_cost_per_second / 10)) / 2"
      }
    ]
  }
}