Minecraft Forge 1.12.2合成配方json怎么适配所有元数据值,请给出示范
时间: 2024-11-15 18:33:48 浏览: 6
MinecraftForge 1.12.2 中的合成配方JSON文件(也称为“配方数据”或“CraftingTweaks”)需要适应各种元数据值以提供更丰富的自定义选项。在JSON中,你可以通过以下几个部分来处理这个:
1. **配方结构**:
- `recipes`:包含所有你要修改的合成配方。
- 对于每个配方,有 `entries` 列表,每个条目表示一个输入和产出。
2. **添加元数据**:
- `inputs` 和 `outputs` 都可以设置一个名为 `properties` 的键值对,用于存储额外的元数据。例如:
```json
{
"type": "SHAPELESS",
"entries": [
{
"output": {
"item": "minecraft:stick",
"count": 4,
"properties": { "forge:hasMetadata": true }
},
...
]
]
}
```
这里,`"forge:hasMetadata"` 表示该物品有额外的元数据。
3. **访问元数据**:
- 使用 Forge API(如`@Nullable IItemProperty`),你可以读取并动态处理这个元数据。比如,你可以检查是否设置了特定的元数据属性,然后决定如何改变合成结果。
示例(简化版):
```json
{
"recipes": [
{
"type": "SHAPELESS",
"entries": [
{
"output": {
"item": "your_mod:item_custom",
"properties": {
"@Forge:type": "your_metadata_type",
"@Forge:property_value": "example_value"
}
},
...
]
]
}
]
}
```
在这个例子中,`@Forge:type` 指定了元数据类型,`@Forge:property_value` 存储了具体的值。在游戏代码中,你需要解析这些JSON,并根据`@Forge:type`来调整合成规则。
阅读全文