EnchantedShulkers
注意:这个模组仅适用于 Fabric。如果你在寻找具有类似功能的 Forge 模组,可以看看 Shulker Enchantments
为潜影盒添加一些实用的附魔
本项目的搭建基于
灵感来源
我是在观看
后受到启发并制作了这个模组。在那期视频中,展示了一个名为
Shulker Enchantments 的 Forge 模组。
而本模组试图为 Fabric 提供类似的功能,因为我能找到的另一个带有这些附魔的 Fabric 模组(即
只支持 Minecraft 1.16。
功能
本模组向游戏中添加了 “Siphon” 和 “Refill” 附魔。它们的获取方式与 Mending 以及其他宝藏附魔类似。这些附魔可以在铁砧上添加到潜影盒上,并且也可以选择添加到末影箱上(见
[配置](#configuration))。
Siphon
拥有 Siphon 附魔后,只要某个已附魔容器中已经存在该物品的同类且未满的一组,你拾取到的任何该物品都会立即存入其中。该容器必须位于你的物品栏内。
Refill
拥有 Refill 附魔后,你消耗掉的任何物品或物品堆都会从已附魔容器中自动补充,只要被消耗的那一组原本拿在你的某只手中(见 [配置](#configuration))。同样,该容器必须位于你的物品栏内。
Vacuum
Vacuum 附魔默认不会生成,因此在生存模式中无法获得。要更改这一点,请
[将 generateVacuum 选项设为 true](#server)
(也可以选择通过将 generateSiphon 设为 false 来禁用 Siphon)。它的行为与 Siphon 附魔非常相似,关键区别在于它不要求已附魔容器中预先存在相同物品。这意味着,只要容器还有空间,附有 Vacuum 的容器就会吸收你拾取到的所有物品。
Void
和 [Vacuum 附魔](#vacuum) 一样,Void 附魔默认也不会生成。若要让它能在生存模式中获得,请
[启用 generateVoid 选项](#server)。当你拾取与一个带有 Void 附魔容器中所含物品同类型的物品时,拾取到的物品会被删除。已附魔容器不需要有空间来放置这些被删除的物品,而且与 Siphon 不同,已附魔容器中的物品堆可以是满的。
Augment
Augment 附魔会扩展潜影盒的容量。它有多个等级,每一级都会为潜影盒额外增加九个槽位。和 [Vacuum](#vacuum) 与 [Void](#void) 一样,在默认设置下它也无法在生存模式中获得,但这可以通过
[generateAugment 选项](#server)
进行配置。最大等级也可以通过
[maxAugmentLevel 选项](#server)
进行修改。
关于资源包的说明
当 EnchantedShulkers 与会改变潜影盒和/或末影箱外观的资源包一起使用时,这些物品和方块的附魔版本在关闭状态下仍会使用原版纹理。这样做是为了修复这些方块上附魔光效重叠的问题。
你可以在 为你的资源包打补丁,以加入本模组所需的纹理。
服务端/客户端
这个模组实际上可以作为纯服务端模组运行,但仍推荐同时安装在客户端和服务端上。未在客户端安装该模组的玩家,将看不到已附魔容器上的附魔光效。
我只是想快速试试看
如果你只是想在创造模式世界里快速测试这些附魔,可以使用多种方式。
方式一:你可以在创造模式物品栏中搜索这些附魔书,然后用铁砧应用它们。
方式二:你可以使用命令给予自己这些附魔书,然后用铁砧应用它们。注意,这些 ID 以 enchantedshulkers: 开头,而不是 minecraft:。
- Siphon 的命令:
/give @s minecraft:enchanted_book{StoredEnchantments:[{id:"enchantedshulkers:siphon",lvl:1}]}
- Refill 的命令:
/give @s minecraft:enchanted_book{StoredEnchantments:[{id:"enchantedshulkers:refill",lvl:1}]}
方式三:你可以使用 /enchant
命令直接给你手中的物品附魔。
- Siphon 的命令:
/enchant @s enchantedshulkers:siphon - Refill 的命令:
/enchant @s enchantedshulkers:refill
配置
客户端
要配置客户端设置,你必须同时安装
和
Mod Menu,并与
EnchantedShulkers 一起使用。然后你可以通过打开模组菜单,选择 EnchantedShulkers,并点击右侧的设置按钮来打开设置界面。
可用选项如下:
| 选项 | 默认值 | 说明 |
|---|---|---|
| 对已放置的容器应用附魔光效 | 是 | 为放置在世界中的已附魔潜影盒和末影箱应用附魔光效 |
| 防止自定义模型的光效重叠 | 是 | 对关闭状态的容器使用不同的方块模型和纹理,以防止附魔光效重叠。这不会改变关闭状态容器的外观,但会始终使用原版纹理,因此当你使用自定义资源包时应禁用此选项。此选项仅在上一个选项开启时生效 |
| 在打开物品栏时进行 Refill | 否 |
服务端
模组的行为可以针对每个世界进行调整:你可以编辑世界存档文件夹中的 enchantedshulkers.toml
配置文件,或在游戏中使用 /enchantedshulkers
命令。以下是可用选项列表。
| 选项 | 可选值 | 默认值 | 说明 |
|---|---|---|---|
refillOffhand |
true, false
|
true |
允许补充副手中的物品堆 |
refillNonStackables |
true, false
|
false |
允许补充如不死图腾之类的不可堆叠物品 |
enchantableEnderChest |
true, false
|
false |
允许末影箱也能被附魔 |
coloredNames |
true, false
|
false |
让已放置的附魔容器名称显示为青色。此效果对所有玩家生效 |
creativeSiphon |
true, false
|
false |
为创造模式玩家启用 Siphon 附魔 |
creativeRefill |
true, false
|
false |
为创造模式玩家启用 Refill 附魔 |
creativeVacuum |
true, false
|
false |
为创造模式玩家启用 Vacuum 附魔 |
creativeVoid |
true, false
|
false |
为创造模式玩家启用 Void 附魔 |
generateSiphon |
true, false
|
true |
允许带有 Siphon 的附魔书生成,从而使该附魔可在生存模式中获得 |
generateRefill |
true, false
|
true |
允许带有 Refill 的附魔书生成,从而使该附魔可在生存模式中获得 |
generateVacuum |
true, false
|
false |
允许带有 Vacuum 的附魔书生成,从而使该附魔可在生存模式中获得 |
generateVoid |
true, false
|
false |
允许带有 Void 的附魔书生成,从而使该附魔可在生存模式中获得 |
generateAugment |
true, false
|
false |
允许带有 Augment 的附魔书生成,从而使该附魔可在生存模式中获得 |
nestedContainers |
0 到 32767 之间的任意整数 |
255 |
递归搜索容器,最大深度为指定层数(例如,搜索末影箱中的潜影盒) |
strongerSiphon |
true, false
|
false |
允许 Siphon 附魔填充空槽位。也可以通过 weakerVacuum 为 Vacuum 附魔启用相同的行为 |
weakerVacuum |
true, false
|
false |
要求容器中已存在相同物品。也可以通过 strongerSiphon 为 Siphon 附魔启用相同的行为 |
maxAugmentLevel |
1 到 10 之间的任意整数 |
3 |
Augment 附魔的最大等级。为了获得最佳体验,更改此值后请执行 /reload
|
面向模组开发者
如果你的模组添加了一个应支持这些附魔的新容器,你只需要将该容器加入 enchantedshulkers:portable_container
物品标签。为此,请在你的模组的
src/main/resources/data/enchantedshulkers/tags/items/
文件夹中创建 portable_container.json
文件,内容如下:
{
"replace": false,
"values": ["your_mod_namespace:your_container_item"]
}
如果你的容器并不是继承原版潜影盒类,你可能需要手动实现
接口,并支持附魔光效与名称颜色显示。更多信息请查看
ShulkerBoxBlockEntityRendererMixin.java
和
ShulkerBoxBlockEntityMixin.java。
如果还有其他问题,请在
上提交 issue。