已标记的村民保护

已标记的村民保护

保持数据包NPC村民原版化,防止Minecraft Comes Alive将其转换并破坏标签选择器。

杂项

标记村民保护

你是否在运行一个数据包,为《我的世界:重生》(MCA)添加自定义NPC村民?那么你可能见过,当MCA接管这些NPC后,它们便停止工作。这个模组解决了这个问题。

问题所在

MCA会用自己的村民实体替换原版村民。它会保留名称、交易和标签——但无法保留实体类型。数据包通过类似 @e[type=minecraft:villager,tag=boris] 的选择器来定位它们的NPC,而一旦MCA交换了实体,所有这些选择器就会失效。基于这些NPC构建的对话、交易和任务脚本便会直接出错。

这个模组的作用

它在MCA认领村民之前介入,并告诉它放过带标签的村民。带有实体标签的村民是数据包正在脚本控制的,因此它会保持为普通原版村民,其选择器也能继续工作。来自普通村庄、没有任何标签的村民仍会像往常一样被MCA转换——MCA的正常行为不会发生任何变化。

它不包含任何数据包的内容,并且能与所有数据包兼容,而非特定某一个。

配置——config/taggedvillagers-common.toml

enabled —— 总开关。
requiredTags —— 留空以保护所有带标签的村民(对大多数数据包来说是正确的设置)。只在需要专门保护特定命名NPC时填写。
logDecisions —— 开启后记录MCA提供的每个村民以及它是否被保护。用于故障排查。

兼容性

客户端和服务端。为 NeoForge 1.21.1 构建。需要《我的世界:重生》才能发挥作用。已针对 MCA 7.7.x 验证。开源,采用 MIT 许可证。