Excavated Variants

Excavated Variants

自动生成的矿石石头变种

世界生成

挖掘变种

NeoForge 版本需要:Dynamic Asset Generator

Fabric/Quilt 版本需要:Dynamic Asset Generator 和 Fabric API/Quilted Fabric API  

基于各种石头自动生成矿石的变种。

详情:

许多模组添加了新的石头或新的矿石。挖掘变种 会为每种矿石和石头变体的组合自动添加新的矿石。此外,挖掘变种 还会尝试为这些矿石变种设置世界生成。添加的变种可以在配置文件中更改;有些模组已内置在默认配置中;其他模组则需要手动添加。有关生成矿石的示例,请参阅 Curseforge 页面的 图片 选项卡。

疑难解答:

遇到问题?从这里开始!

  • 如果世界或游戏加载时间较慢,请尝试在 Dynamic Asset Generator 的配置中启用更强的资源和/或数据缓存。
  • 游戏启动时崩溃?矿石纹理是否变成洋红色和黑色?您的配置可能有问题。尝试删除并重置它。
  • 缺少下面列出的模组的兼容性?删除您的配置以将其重置为默认值。

兼容性:

挖掘变种 带有默认配置,其中包含以下模组的矿石变种,此外还有原版石头和矿石:

  • 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 文件夹中编辑。

注意:如果您只是想添加更多配置,则不需要(也不应该)这样做。您可以在不提取现有配置的情况下添加新的配置文件。

配置定义了四种主要数据类型:

  • 地面类型(Ground Types):地面类型代表矿石和石头的类别。它们用于确定应创建哪些新的矿石/石头组合(变种)。例如:excavated_variants:overworld 是一个由普通 Minecraft 石头、深板岩和主世界矿石共享的类别。
  • 矿石(Ores):矿石是可以存在于任意数量不同石头中的方块类型。在世界生成期间,它们会被替换为与相邻石头匹配的变种。例如:excavated_variants:minecraft/iron_ore 代表普通和深板岩铁矿石,以及任何其他生成的变种。
  • 石头(Stones):石头是矿石在其中生成的方块。例如:excavated_variants:minecraft/granite 代表花岗岩,并包含有关基于花岗岩生成哪些新变种的信息。
  • 修饰符(Modifiers):修饰符用于修改变种的属性。它们可以用于添加标签、更改方块属性、阻止变种创建等。

除非由修饰符更改,否则会为共享地面类型且尚不具有变种的所有矿石/石头组合生成变种。

地面类型

放置在 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 为方块 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 的所有变种。此处提供的命名空间和路径可以使用 * 作为通配符来匹配一个或多个字符。