
变体-CIT
用于大型且可扩展的变体集合的替代CIT格式。
Variants-CIT
一种为具有标准化变体的物品设计的精简 CIT 格式。
此模组不如 OptiFine 灵活,但在同一物品基于同一份数据拥有大量变体的场景中表现出色。当存在极大量 CIT 时,它能带来更好的性能,并且使用的资源格式冗余更少,只需一个简短的文件即可一次性配置所有可能的变体。
可直接使用的此模组资源包分支:
- [Even Better Enchants](https://github.com/Estecka/mc-Variants-CIT/releases/tag/2.5.0 1.21.1)(原版资源包)
- Xali's Enchanted Books(原版资源包)
- Xali's Potions(原版资源包)
- Axolotl Bucket Variants(原版资源包)
资源包格式
此处为概览,完整指南请参阅 wiki。
该格式的核心在于:物品变体会自动与名称匹配的模型或纹理关联。 你无需为每个 CIT 定义条件,而是定义一条单一规则来统管一个集合中的所有 CIT(即所谓的模块)。该模块定义了受影响的物品、如何判断其变体,以及它们的模型位于何处。
例如,下面是一个简单的模块,用于更改附魔书的纹理:
{
"type": "stored_enchantment", // 模块的行为
"items": "minecraft:enchanted_book", // 受影响的物品类型
"modelPrefix": "item/book_cit/", // 包含可能模型/纹理的文件夹。
"modelParent": "item/generated", // 从纹理自动生成模型(如果模型缺失)
"parameters": { // 模块类型特有的额外选项
"levelSeparator": "_lvl_" // 在变体 ID 中包含附魔等级
}
}
在这里,一本带有 2 级 minecraft:unbreaking 附魔的书将拥有变体 ID minecraft:unbreaking_lvl_2,因此会使用存储在 /assets/minecraft/texture/item/book_cit/unbreaking_lvl_2.png 处的纹理。
只要存在对应的纹理,这一个模块就能适用于所有可能的附魔,无论是原版还是模组添加的。
上述模块类型为附魔书提供了专门设计的逻辑。如果某个特定组件没有对应的模块类型,你仍然可以使用更通用的模块来从任意组件获取变体:
{
"type": "component_data",
"items": "minecraft:suspicious_stew",
"modelPrefix": "item/suspicious_stew_cit/",
"parameters": {
"componentType": "suspicious_stew_effects", // 包含变体 ID 的组件
"nbtPath": "[0].id" // 变体 ID 在组件中的位置。
}
}
在更高层级上,你可以通过组合来自多个组件的多份数据来创建变体:
{
"type": "component_format",
"items": "minecraft:diamond_sword",
"modelPrefix": "item/trimmed_diamond_sword/",
"parameters":{
"format": "${pattern}_${material}", // 如何将多份数据组合成一个变体 ID
"variables": { // 从何处找到这些数据。
"pattern": {
"componentType": "trim",
"nbtPath": ".pattern"
},
"material": {
"componentType": "trim",
"nbtPath": ".material",
"transform": "discard_namespace"
}
}
}
}
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。