希望:迷人的

希望:迷人的

附魔系统大修,专注于自定义、确定性与选择!

魔法

希望附魔(Hopeful: Enchanting)的目标是重建附魔系统,使其专注于选择、可定制性和意图。

所有系统都考虑到了数据包和整合包制作者的需求。

这个模组是我的第一个“商业”模组,所以我准备好接受建设性的反馈!:)

当前特性

工具等级

  • 每个工具都有一个工具等级,当放入锻造台时可以查看。
  • 当它们全部用完时,该工具将不再接受卷轴。
  • 某些工具(如锁链甲和弓)在使用时会升级。升级后它们可以接受更多的卷轴。
  • 使用内置数据包“希望无限”(Hopeful Unlimited),工具将获得几乎无限的工具等级,因此该机制将变得过时。
  • 一个名为 innate_enchantments 的数据组件允许工具拥有不占用工具等级且无法移除的附魔。

经验值重做

  • 现在每个等级需要16点经验值。
  • 有3个新的游戏规则来改善经验值处理:
    • xpPerLevel(在26.1版本中为 hopeful:xp_per_level)定义每个等级所需的经验值点数(默认值:16)
    • percentageXPLost(在26.1版本中为 hopeful:percentage_xp_lost)定义死亡时(不可恢复地)损失的经验值百分比(默认值:0)
    • percentageXPDropped(在26.1版本中为 hopeful:percentage_xp_dropped)定义死亡时掉落地上的经验值百分比(默认值:100)
  • 铁砧可以使用铁锭(或 #hopeful:anvil_mends 标签)修复。
  • 铁砧将仅使用一个修复材料完全修复物品(感谢 Forgery 提供的代码)。
  • 修复由数据驱动。

卷轴

  • 卷轴是一组附魔的集合,包含2-3个附魔。
  • 在锻造台中将装备与卷轴和青金石结合,可将附魔等级提升一级。
  • 默认情况下,附魔被标准化为1或3级。
  • 卷轴可以是祝福(消耗工具等级的正向附魔)、诅咒(释放工具等级的负向附魔)和交易(两者兼具)。
  • 当在野外获得附魔书和附魔工具时,它们将被剥离并转化为卷轴。
  • stripAllEnchants 游戏规则决定是剥离所有附魔,还是仅剥离至有效配置(即已使用的工具等级不大于默认工具等级)。

附魔台大改

附魔台菜单已移除。现在,用纸右键点击附魔台,有几率将其转化为一个卷轴。

默认几率相当低,但你可以使用催化剂来提高它!

催化剂是必须位于附魔台周围 5x5x5(可使用 enchantingTableRange 游戏规则配置,26.1版本中为 hopeful:enchanting_table_range)区域内的方块,它们可以提供不同的效果。

目前,我们有以下催化剂:

  • 书架:增加产出卷轴的几率,但会增加经验值需求。
  • 青金石块:减少经验值等级需求,但有几率蒸发。
  • 以下方块会增加卷轴几率,但会增加经验值需求:
    • 岩浆块:火焰卷轴。
    • 海晶石:鱼鳍与鳃卷轴。
    • 灵魂沙/灵魂土及灵魂火相关方块:亡灵卷轴。
    • 宝库:旋风卷轴(有几率生成旋风人)。
    • 雕刻南瓜:绑定卷轴。
    • 附魔台:无尽卷轴。
    • 避雷针:引雷卷轴。
    • 滴水石锥:灭除卷轴。
    • 幽匿类方块:回响卷轴。

开发相关内容

卷轴

卷轴文件将放置在 datapack_name/hopeful/scroll/scroll_name.json,其格式如下:

{
  "title":{
    "translate": "scroll.hopeful.acceleration"
  },
  "type": "blessing",
  "tool_levels": 1,
  "player_levels": 5,
  "enchantments": "#hopeful:hopeful/acceleration"
}

强烈建议使用标签,因为它们更易于兼容,但使用附魔数组也可以。

标签位于 datapack_name/tags/enchantment/hopeful 目录下。

固有附魔

该组件与原版附魔结构相同。
请注意,固有附魔并不应用其附魔效果。
例如,要召唤一个带有(实际生效的)时运2的金镐:
/give @s minecraft:golden_pickaxe[minecraft:enchantments={fortune:2},hopeful:innate_enchantments={fortune:2}]

等级

工具等级属性可以在 datapack_name/data/hopeful/data_maps/item/tool_levels.json 中修改,格式如下:

{
  "values": {
    "minecraft:chainmail_chestplate": {
      "starting_level": 5,
      "level_ups": [10,50,100] 
    },
    "minecraft:crossbow": {
      "starting_level": 3,
      "level_ups": [50, 100, 150]
    }
  }
}

请注意,这些数字是在上次升级基础上所需的额外使用次数。 例如,对于弩来说,在达到2级后,你需要再使用50次才能升到3级。

工具修复可以在 datapack_name/data/hopeful/data_maps/item/tool_repairs 中修改。

格式如下:

{
  "values": {
    "minecraft:iron_sword": [
      {
        "material": "minecraft:diamond",
        "level_cost": 1,
        "durability": 100,
        "is_percentage": true
      }
    ]
  }
}

materials(材料)可以省略,以使用该物品的默认修复材料。请注意,数据映射的优先级是从最低到最高,所以最通用的覆盖应放在前面。

催化剂

这些催化剂由数据驱动,我们目前有5种效果,未来还会添加更多。

催化剂文件的形式为:datapack_name/hopeful/hopeful/catalyst/unused_name.json

内容如下所示:(虚构的催化剂示例)

{
  "blocks": "minecraft:bedrock",
  "limit": 2,
  "effects": [
    {
      "type": "hopeful:scroll_weight",
      "scrolls": "hopeful:acceleration",
      "increase_by": 2
    },
    {
      "type": "hopeful:xp_levels_requirement",
      "increase_by": 10000
    },
    {
      "type": "hopeful:success_chance",
      "increase_by": 0.5
    }

] }