本教程主要解决诡厄巫法自定义仪式有关生物实体相关的问题

*适用于kubejs

我们先参考一下诡厄巫法jar文件中的配方文件

配方文件在\data\goety\recipes下

献祭仪式:万灵药配方undeath_potion.json

{
  "type": "goety:ritual",
  "ritual_type": "goety:craft",
  "activation_item": {
    "item": "minecraft:glass_bottle"
  },
  "craftType": "necroturgy",
  "research": "forbidden",
  "entity_to_sacrifice": {
    "tag": "goety:villagers",
    "display_name": "entity.minecraft.villager"
  },
  "soulCost": 1000,
  "duration": 60,
  "ingredients": [
    {
      "item": "goety:unholy_blood"
    },
    {
      "item": "minecraft:wither_rose"
    },
    {
      "item": "minecraft:honey_bottle"
    },
    {
      "item": "minecraft:echo_shard"
    },
    {
      "item": "minecraft:totem_of_undying"
    },
    {
      "item": "minecraft:end_crystal"
    },
    {
      "item": "minecraft:nether_wart"
    },
    {
      "item": "goety:ectoplasm"
    },
    {
      "item": "minecraft:enchanted_golden_apple"
    },
    {
      "item": "minecraft:suspicious_stew"
    },
    {
      "item": "minecraft:fermented_spider_eye"
    },
    {
      "item": "minecraft:glowstone"
    }
  ],
  "result": {
    "item": "goety:undeath_potion"
  }
}

在此配方下需要将献祭的实体写入"entity_to_sacrifice"下的"tag"关键字后,"display_name"则是实体的注册名,最简单的方法就是去模组的lang文件中找。

想要自定义献祭的实体则必须要输入匹配到那个实体的生物标签,我的方案是直接用kubejs的标签添加功能实现。

具体实例如下,使用专家下界仪式献祭sons_of_sins:walking_bed(懒惰)实体合成物品

第一步:给sons_of_sins:walking_bed实体增加goety:walking_bed标签

ServerEvents.tags('entity_type', event => {
        event.add('goety:walking_bed', 'sons_of_sins:walking_bed')
      })

第二步:仿照配方文件格式在ServerEvents.recipes下编写一个event.custom,然后将给予给实体的标签输入"tag"关键字后,别忘了输入注册名

其余需要的物品只需复制物品id粘贴即可

event.custom(
                {
                "type": "goety:ritual",
                "ritual_type": "goety:craft",
                "activation_item": {
                  "item": "goety:shadow_essence"
                },
                "craftType": "expert_nether",
                "entity_to_sacrifice": {
                  "tag": "goety:walking_bed",
                  "display_name": "entity.sons_of_sins.walking_bed"
                },
                "soulCost": 100,
                "duration": 10,
                "ingredients": [
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  },
                  {
                    "item": "minecraft:red_bed"
                  }
                ],
                "result": {
                  "item": "sinsweapons:essenceofsloth"
                }
              })




转化仪式也是有相同的原理,先看jar中的配方文件

转化仪式:牛转化蘑菇牛convert_cow_to_mooshroom.json

{
  "type": "goety:ritual",
  "ritual_type": "goety:convert",
  "activation_item": {
    "item": "minecraft:mycelium"
  },
  "craftType": "animation",
  "entity_to_convert": {
    "tag": "forge:cows",
    "display_name": "entity.minecraft.cow"
  },
  "entity_to_convert_into": "minecraft:mooshroom",
  "soulCost": 1,
  "duration": 10,
  "ingredients": [
    {
      "item": "minecraft:red_mushroom"
    },
    {
      "item": "minecraft:red_mushroom"
    },
    {
      "item": "minecraft:red_mushroom"
    },
    {
      "item": "minecraft:red_mushroom"
    }
  ],
  "result": {
    "item": "goety:jei_dummy/none"
  }
}

可以看到在"entity_to_convert"下依旧需要使用"tag"关键字来匹配生物,所以需要做的事情和以上一样,使用kubejs给转化目标添加标签

而"entity_to_convert_into"下则可以直接输入实体id


*注意转化实体的"ritual_type"有"goety:convert","goety:convert_tamed","goety:convert_complete_tamed"酌情选择。

带有tamed和complete_tamed后缀的转化类型并不会让不可驯服的生物变成宠物,除了那些本来就可以被驯服的生物,比如狗,主人取决于谁放置了黑暗祭坛上的仪式核心物品。

所有填入 "entity_to_convert_into"下作为转化结果的不可驯服生物,无论何种"ritual_type"都只遵循goety:convert类型的转化规则。


实例如下:使用死灵仪式将occultism:wild_hunt_skeleton(狂猎骷髅)转化为occultism:wild_hunt_wither_skeletonss(狂猎凋零骷髅)

第一步:给实体增加标签

ServerEvents.tags('entity_type', event => {
        event.add('goety:wild_hunt_skeleton', 'occultism:wild_hunt_skeleton')
      })

第二步:仿照配方文件格式在ServerEvents.recipes下编写一个event.custom,然后将给予给实体的标签输入"tag"关键字后,别忘了输入注册名

event.custom(
  {
    "type": "goety:ritual",
    "ritual_type": "goety:convert",
    "activation_item": {
      "item": "minecraft:bone"
    },
    "craftType": "necroturgy",
    "entity_to_convert": {
      "tag": "goety:wild_hunt_skeleton",
      "display_name": "entity.occultism.wild_hunt_skeleton"
    },
    "entity_to_convert_into": "occultism:wild_hunt_wither_skeleton",
    "soulCost": 1,
    "duration": 10,
    "ingredients": [
      {
        "item": "minecraft:coal"
      },
      {
        "item": "minecraft:coal"
      },
      {
        "item": "minecraft:coal"
      },
      {
        "item": "minecraft:coal"
      }
    ],
    "result": {
      "item": "goety:jei_dummy/none"
    }
  })




最后是最简单的召唤仪式

直接放例子,"entity_to_summon"后直接填实体id


*注意召唤实体的"ritual_type"有"goety:summon","goety:summon_tamed",同样遵循和转化仪式相同的驯服规则。


安息仪式召唤eeeabsmobs:immortal(不朽者)

event.custom(
  {
    "type": "goety:ritual",
    "ritual_type": "goety:summon",
    "activation_item": {
      "item": "eeeabsmobs:immortal_block"
    },
    "craftType": "sabbath",
    "entity_to_summon": "eeeabsmobs:immortal",
    "soulCost": 100,
    "duration": 10,
    "ingredients": [
      {
        "item": "twilightforest:carminite_block"
      },
      {
        "item": "twilightforest:knightmetal_block"
      },
      {
        "item": "twilightforest:ironwood_block"
      },
      {
        "item": "twilightforest:steeleaf_block"
      }
    ],
    "result": {
      "item": "goety:jei_dummy/none"
    }
  })




最后附带可用的类型

所有的"craftType"

锻造仪式    forge

活力仪式    animation

魔法仪式    magic

霜冻仪式    frost

死灵仪式    necroturgy

大地仪式    geoturgy

大师死灵仪式 lich

天空仪式    sky

风暴仪式    storm

安息仪式    sabbath

进阶下界仪式 adept_nether

专家下界仪式 expert_nether


所有的"ritual_type"

合成    goety:craft

转化    goety:convert

转化驯服    goety:convert_tamed

转化完全驯服    goety:convert_complete_tamed

召唤    goety:summon

召唤驯服    goety:summon_tamed

附魔    goety:enchant




*有关附魔等等的其他诡厄巫法魔改配方会额外开帖,大家拭目以待