
多尔特克斯附魔
Alfie出色的"沉浸式附魔"模组的扩展包,根据我自己的愿景设计
需要 沉浸式附魔 4.0.3 和 蓝图。你必须下载 4.0.3 版本,更新的版本将无法工作。仙尘材质取自 索引附魔 中的 Vitalis 物品(基于 MIT 许可)。这是一个临时材质,我会尽快替换。
更一致的附魔
首先简要介绍沉浸式附魔的机制:如果你想为工具附魔,必须通过探索找到带有该附魔的古代书,将其放在附魔台旁边的雕纹书架中,这样就完成了。你可以在此阅读更多信息。
这是一个很棒的机制;我对它有一些小不满,无法通过数据包解决,所以我决定制作这个附加包。
首先,在沉浸式附魔中获取附魔书非常依赖随机数。这正是本模组要解决的主要问题。因此,我添加了一个更复杂的系统来将附魔分布到战利品箱中。
- 普通附魔是指可以应用于基础工具和盔甲(镐、剑、锹、锄、头盔、胸甲、护腿、靴子、刀(农夫乐事)、弓、弩)的附魔。这排除了宝藏附魔(如灵魂疾行)。大多数地牢宝箱(刷怪笼房间、水下遗迹、沙漠神殿)可以包含带有普通附魔的书。
- 除此之外,一些地牢拥有更特定的附魔;例如,水下遗迹会生成钓鱼竿和三叉戟的附魔。
- 宝藏附魔会在其正确的位置出现;例如,迅捷潜行在远古城市,灵魂疾行在堡垒遗迹。
- 模组工具有时会有一套其他工具没有的专属附魔。这些工具通常与结构相关联(比如重锤和试炼密室的附魔)。这些专属附魔的书籍只会在对应结构中生成,不会污染其他附魔池。

我对此仍不满意;在 Minecraft 中探索本身就高度依赖随机数,所以我做了一些其他工作。首先,我将每个附魔与某个随机物品关联起来;这被称为它的试剂。如果你想为特定附魔制作一本书,可以使用以下合成配方:

生成的古代书带有深度探索者附魔,因为热带鱼是深度探索者的试剂。试剂是完全数据驱动的,稍后会提到。你也可以通过一个称为召唤的过程,使用附魔台获取任意古代书。

将一本书放在附魔台中央,并将任何可附魔物品放入试剂槽。系统将提示所有可以应用于该可附魔物品的附魔,你可以花费 20 级经验将其添加到书本上。

这会消耗书、试剂和 20 级经验。图片中的下界合金镐不会被消耗。
从地牢找到的古代书有一定几率包含多于一个附魔;这是书籍获得多个附魔的唯一途径。

此外,你可以设置某些附魔在附魔台中自动可用,无需古代书。在提供的数据包中,这对一些基础附魔(如精准采集、效率)以及我暂时想不到合适试剂的附魔(如力量、饵钓、穿刺)进行了设置。
标准化附魔成本
在沉浸式附魔中,要应用一个等级的附魔,除了青金石之外,你还需要一个额外的物品作为成本。所需物品的种类变化很大。要将一件物品的效率附魔升满,你需要:
- 1 个蛋糕
- 8 个红石块
- 16 个闪烁的西瓜片
- 1 个兔子脚
- 8 个龙息
要给弓附魔无限,你需要一个下界之星。

蠢萌附魔将这个成本标准化为仙尘。仙尘是一种用钻石加上一些半珍贵材料合成的物品。要给物品附魔到特定等级,你需要 等级 个青金石物品和 等级 - 1 个仙尘物品。例如,要将弓附魔到力量 III,你需要 3 个青金石和 2 个仙尘。
这是一个总结上述所有内容的视频。
Embed Removed: https://www.youtube-nocookie.com/embed/aXoBq7fJoBI
自定义
附魔数据
本模组的所有功能都是数据驱动的。要设置试剂,你需要将 JSON 文件放入 你的模组id:reagents/ 文件夹中,如此处所示。
以下是另一个示例:
{
// 格式为 "附魔": "试剂"
// 试剂可以是单个物品、标签或物品列表。
// 不要在列表中使用标签;不支持此操作。
"allurement:alleviating": "heart_crystals:heart_crystal_shard",
"allurement:launch": "#minecraft:saplings",
"allurement:obedience": [
"species:broken_links",
"minecraft:ghast_tear",
"dungeonsdelight:rotbulb"
]
}
要将附魔标记为宝藏附魔,请将其放入 #doltastic_enchantments:treasure 附魔标签中。这将把它从用于生成战利品表的池中移除,并且游戏不会因为缺少试剂而出错。
要声明某个附魔应在附魔台上可用而无需古代书,请转到该附魔的沉浸式附魔成本 JSON,并添加 "requireBook": false,如此处所示。
在基础的沉浸式附魔中,如果定义了附魔成本 JSON 但没有 levels 字段,游戏会崩溃。安装本模组后,附魔成本将默认为仙尘物品的 等级 - 1 公式(如果附魔只有一个等级,则为固定两个物品)。它也可以选择接受一个 fairyDustAmounts 字段,该字段接受一个整数列表。
{
"fairyDustAmounts": [19, 23, 29, 31, 37]
}
这将序列化为一个附魔成本:1 级需要 19 个仙尘,2 级需要 23 个仙尘,以此类推。
最后,没有定义成本 JSON 的任何附魔都将默认使用 等级 - 1 公式。
我还添加了可靠移除器集成;被可靠移除器标记为已移除的附魔将不会再出现在任何池中。
战利品添加
古代书通过一个Forge 全局战利品修改器添加到战利品中。以下是一个示例。
{
"type": "doltastic_enchantments:ancient_book",
"conditions": [],
"injections": [
{
"items": [
"minecraft:crossbow"
],
"tables": [
"minecraft:chests/bastion_bridge",
"minecraft:chests/bastion_other"
],
"weightedBookCount": 0.09
},
{
"commonEnchants": true,
"tables": [
"minecraft:chests/simple_dungeon",
"atmospheric:chests/arid_garden"
],
"weightedBookCount": 0.8
}
]
}
injections 字段接受一个包含 BookInstance 对象的列表,其目的是确定应将哪些附魔添加到哪些战利品表中。tables 字段处理后一部分。有三个字段用于创建可供采样的附魔列表,以便生成书籍:
enchantments:最简单的字段。从列表中指定的任何附魔中抽取。
commonEnchants:接受 true/false,设置为 true 将从之前定义的“普通附魔”池中抽取;即非宝藏附魔,且可以应用于标准工具和盔甲等的附魔。
items:接受一个物品名称列表。从可以应用于列表中任何物品的附魔集合中抽取,排除宝藏附魔。
weightedBookCount 控制平均注入到箱子中的书籍数量。
enchantCount(未在图中显示)接受一个 UniformInt 对象,该对象将被采样以决定书籍上将添加的附魔数量。例如:
"enchantCount": {
"min_inclusive": 2,
"max_inclusive": 5
}
这将使生成的书籍带有 2 到 5 个附魔。min_inclusive 和 max_inclusive 可以设置为相同的数字。
综合以上所有内容,如果你希望每个沙漠神殿宝箱有 1/2 的几率包含一本带有任意两个三叉戟附魔的书籍,你可以这样做:
{
"type": "doltastic_enchantments:ancient_book",
"conditions": [],
"injections": [
{
"items": [
"minecraft:trident"
],
"tables": [
"minecraft:chests/desert_pyramid"
],
"weightedBookCount": 0.09,
"enchantCount": {
"min_inclusive": 2,
"max_inclusive": 2
}
}
]
}
不要遗漏 conditions 字段,否则游戏会崩溃。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。