基本信息
我的世界Java版本
平台
运行环境
其他链接
搬运团队
详情信息
Excavated Variants
NeoForge 版本需要:动态资产生成器
Fabric/Quilt 版本需要:动态资产生成器 和 Fabric API/Quilted Fabric API
根据各种石头自动添加生成的矿石变体。
细节:
许多模组添加了新的石头或新的矿石。_挖掘变体_会为每种矿石和石头变体的组合自动添加新的矿石。此外,_挖掘变体_会尝试为这些矿石变体设置世界生成。添加的变体可以在配置文件中更改;一些模组内置在默认配置中;其他的需要手动添加。查看 Curseforge 页面的 图片 标签以获取生成的矿石的示例。
故障排除:
遇到问题了吗?从这里开始!
- 如果世界或游戏加载时间很慢,请尝试在 动态资产生成器 的配置中打开更强的资产和/或数据缓存。
- 游戏在启动时崩溃?矿石纹理变成品红色和黑色?你的配置可能有问题。尝试删除并重置它。
- 你缺少下面列出的某个模组的兼容性吗?删除你的配置以将它们重置为默认值。
兼容性:
除了原版石头和矿石之外,_挖掘变体_还带有默认配置,其中包含以下模组的矿石变体:
- Quark
- Create
- Oh The Biomes You'll Go
- Tech Reborn
- Immersive Engineering
- Blockus
- Better End
- Better Nether
- Promenade
- Twigs
- Unearthed
- Bewitchment
- Mekanism
- Mystical Agriculture
- 等等!
配置格式
主配置文件 config/excavated_variants.json
包含几个选项:
- attempt_worldgen_replacement:切换矿石生成更改;没有这个,在世界生成期间矿石将不会被替换。
- add_conversion_recipes:切换是否添加将变体转换回基础矿石的配方。
所有其他配置都通过 globalresources
文件夹加载。你可以直接在那里添加新的配置文件,但如果你想提取内置的配置以便编辑它们,请打开 defaultresources.json
配置文件。它应该看起来像这样:
{
"extract": {
"excavated_variants": "unextracted"
}
}
将 unextracted
更改为 extract
并加载游戏一次。现在,默认配置将在 globalresources
文件夹中可供编辑。
注意:如果你只是想添加更多的配置,你不需要(也不应该)这样做。你可以添加新的配置文件而不提取现有的文件。
配置定义了四种主要的数据类型:
- 地面类型:地面类型代表矿石和石头的类。它们用于确定应该创建哪些新的矿石/石头组合(变体)。例如:
excavated_variants:overworld
是一个由普通的 Minecraft 石头、深板岩和下界矿石共享的类别。 - 矿石:矿石是可以存在于任何数量的不同石头中的块类型。在世界生成期间,它们将被替换为与相邻石头匹配的变体。例如:
excavated_variants:minecraft/iron_ore
代表普通和深板岩铁矿石,以及生成的任何其他变体。 - 石头:石头是矿石生成的块。例如:
excavated_variants:minecraft/granite
代表花岗岩,并包含关于基于花岗岩生成哪些新变体的信息。 - 修饰符:修饰符用于修改变体的属性。它们可用于添加标签、更改块属性、阻止变体创建等。
除了被修饰符更改之外,对于共享地面类型且尚未有变体的所有矿石/石头组合,都会生成变体。
地面类型
放置在 globalresources/[folder/pack]/globaldata/[namespace]/excavated_variants/ground_type
中。它们是具有以下结构的 JSON 文件:
- (无):这些实际上不包含任何数据!只需使用一个空的 JSON 文件:
{}
。
矿石
放置在 globalresources/[folder/pack]/globaldata/[namespace]/excavated_variants/ore
中。它们是具有以下结构的 JSON 文件:
types
:此矿石可以生成的地面类型的列表。例如:["excavated_variants:overworld"]
。translations
:一个以语言环境为键(如en_us
)和矿石的翻译名称为值的对象。翻译将在石头名称之前添加,除非翻译包含%s
,在这种情况下,石头名称将在该位置插入。tags
:一个包含此矿石的变体将被添加到的标签的列表,作为块和物品标签。blocks
:一个映射,代表此矿石的变体与石头的配对。每个键是表示矿石变体的块的标识符。值采用以下两种形式之一:- 一个表示石头标识符的字符串。例如:
"excavated_variants:minecraft/granite"
。如果块 ID 的命名空间是该模组的命名空间,则将假定存在此变体。 - 一个具有以下字段的对象:
stone
:一个表示石头标识符的字符串。例如:"excavated_variants:minecraft/granite"
。required_mods
:一个必须存在才能生成此变体的模组 ID 列表。例如:["spelunkery", "create"]
。generating
:(可选,默认值为 true)此变体是否可以用作新生成变体的父级。
- 一个表示石头标识符的字符串。例如:
石头
放置在 globalresources/[folder/pack]/globaldata/[namespace]/excavated_variants/stone
中。它们是具有以下结构的 JSON 文件:
types
:此石头可以生成的地面类型的列表。例如:["excavated_variants:overworld"]
。translations
:一个以语言环境为键(如en_us
)和石头的翻译名称为值的对象。block
:与该石头对应的块的标识符。例如:"minecraft:granite"
。ore_tags
:一个包含此石头的矿石变体将被添加到的标签的列表,作为块和物品标签。
修饰符
放置在 globalresources/[folder/pack]/globaldata/[namespace]/excavated_variants/modifier
中。它们是具有以下结构的 JSON 文件:
tags
:(可选)一个将添加到与过滤器匹配的变体的标签列表。可以是块或物品标签,格式为"namespace:[blocks/items]/path"
。flags
:(可选)以下一组标志中的一个或多个将应用于匹配的变体:"original_without_silk"
:变体应该掉落其原始块会掉落的东西,除非使用了丝绸之触。请注意,对于任何具有掉落“原始矿石块”等行为的矿石块,此标志是无关紧要的,仅在原始块本身掉落时才相关。"original_always"
:变体应该始终掉落其原始块会掉落的东西,即使使用了丝绸之触。"disable"
:该变体不应生成或被该模组识别。"non_generating"
:该变体不应用作新变体的父级,但该模组仍然知道它。
properties
:(可选)一个具有以下字段的对象,用于修改生成的块的属性:destroy_time
:破坏块所需的时间。explosion_resistance
:块对爆炸的抗性。xp
:块掉落的经验值。可以采用与原版数据包中看到的相同的整数范围。
filter
:描述此修饰符应用于哪些变体。
过滤器
修饰符过滤器可以采用字符串或对象的形式。作为对象,它们至少有一个字段 type
,用于描述过滤器的类型。可用的类型有:
all
匹配所有内容。empty
不匹配任何内容。not
匹配除了其"filter"
字段匹配的所有内容。and
匹配其"filters"
字段中的所有成员匹配的所有内容。or
匹配其"filters"
字段中的至少一个成员匹配的所有内容。
作为字符串,它们采用以下形式之一:
*
:匹配所有内容。~
:不匹配任何内容。~[filter]
:匹配除了[filter]
匹配的所有内容。ground_type@[namespace]:[path]
:匹配具有给定地面类型的所有变体。stone@[namespace]:[path]
:匹配具有给定石头的所有变体。ore@[namespace]:[path]
:匹配具有给定矿石的所有变体。mod@[mod_id]
:匹配所有内容,但仅当存在具有给定 ID 的模组时。generated
:匹配由该模组生成的所有变体。block@[namespace]:[path]
:匹配具有给定块 ID 的所有变体。这里提供的命名空间和路径可以使用*
作为通配符来匹配一个或多个字符。