Autores de modpacks
6 TOP-LEVEL ITEMSRecetas y estructuras
En este momento, los cuatro tipos de datos principales más relevantes para los autores de modpacks de Croparia IF son:
croparia:infusorcroparia:ritualcroparia:soakcroparia:ritual_structure
Esta página explica cómo se escriben estas recetas y estructuras. Si necesitas generar datos en lote, continúa con el Sistema de generación de datos en tiempo de ejecución y Crear un generador de datos.
Formas compartidas de entrada y salida
Estos tipos de receta reutilizan mucho ItemInput, ItemOutput, BlockInput y BlockOutput. En la mayoría de los casos admiten tanto una forma abreviada como una forma de objeto.
Entrada de objeto ItemInput
Forma abreviada:
- Cadena con ID de objeto:
"minecraft:comparator" - Cadena con etiqueta:
"#croparia:seed_ingredient"
Forma de objeto:
{
"id": "minecraft:comparator",
"amount": 1,
"components": {}
}id: stringcoincide con un ID de objeto únicotag: stringcoincide con una etiqueta de objetocomponents: Map<String, T>componentes opcionales del objetoamount: numbercantidad opcional del objeto; por defecto es 1
id y tag no pueden especificarse al mismo tiempo.
Salida de objeto ItemOutput
Forma abreviada:
- Cadena con ID de objeto:
"croparia:croparia"
Forma de objeto:
{
"id": "croparia:croparia",
"amount": 1,
"components": {}
}id: stringcoincide con un ID de objeto únicocomponents: Map<String, T>componentes opcionales del objetoamount: numbercantidad opcional del objeto; por defecto es 1
Entrada de bloque BlockInput
Forma abreviada:
- Cadena con ID de bloque:
"minecraft:sculk" - Cadena con etiqueta:
"#croparia:ritual_stands"
Forma de objeto:
{
"id": "croparia:block_crop_coal",
"properties": {
"age": "7"
}
}id: stringcoincide con un ID de bloque únicotag: stringcoincide con una etiqueta de bloqueproperties: Map<String, string>restricciones opcionales del estado del bloque
id y tag no pueden especificarse al mismo tiempo.
Salida de bloque BlockOutput
Forma abreviada:
- Cadena con ID de bloque:
"minecraft:end_stone"
Forma de objeto:
{
"id": "minecraft:oak_log",
"properties": {
"axis": "y"
}
}id: stringcoincide con un ID de bloque únicoproperties: Map<String, string>estados opcionales del bloque de salida
Receta de Infusor croparia:infusor
element: stringexige que el Infusor contenga actualmente ese elemento y no puede seremptyingredient: [ItemInput](#item-input)objeto de entrada que debe soltarse sobre el Infusor o colocarse en élresult: [ItemOutput](#item-output)salida de objeto producida al tener éxito
Ejemplo:
{
"type": "croparia:infusor",
"element": "elemental",
"ingredient": {
"tag": "croparia:seed_ingredient",
"amount": 4
},
"result": {
"id": "croparia:croparia",
"amount": 1
}
}Receta ritual croparia:ritual
ritual: stringnivel o etiqueta requerida del Atril ritual centralblock: [BlockInput](#block-input)bloque de entrada que debe colocarse en las posiciones marcadas con$en la estructuraingredient: [ItemInput](#item-input)objeto de entrada que debe soltarse sobre el Atril ritual o colocarse en élresult: [ItemOutput](#item-output)objeto de salida producido cuando la receta tiene éxito
Ejemplo mínimo:
{
"type": "croparia:ritual",
"ritual": "#croparia:ritual_stands",
"ingredient": "minecraft:comparator",
"block": "minecraft:sculk",
"result": "minecraft:sculk_sensor"
}Aquí hay dos detalles importantes:
ritualno describe la estructura completa; solo describe el propio Atril ritual central- La forma multibloque real la define la Estructura ritual
En otras palabras, una RitualRecipe solo puede funcionar si la RitualStructure correspondiente también se valida correctamente.
Receta de remojo elemental croparia:soak
element: stringelemento actual del Infusor situado encima, y no puede seremptyprobability: [number](./generator/placeholder.md#number)probabilidad de éxito de este intento de remojo, como decimal entre 0 y 1input: [BlockInput](#block-input)bloque de entrada que va a ser remojadooutput: [BlockOutput](#block-output)bloque de salida en el que se convertirá si tiene éxito
Ejemplo:
{
"type": "croparia:soak",
"element": "air",
"input": "minecraft:stone",
"output": "minecraft:end_stone",
"probability": 1.0
}El número real de intentos también está afectado por la opción soakAttempts, así que puede ser útil ajustarlo junto con Configuración y comandos.
Estructura ritual croparia:ritual_structure
RitualStructure no es una receta. Es la definición de la estructura multibloque usada por los Atriles rituales. Sus campos son:
ritual: stringindica a qué tipo de Atril ritual central pertenece esta estructurakeys: Map<String, BlockInput>define qué significa cada carácter dentro depatternpattern: string[][]una estructura 3D de caracteres que debe contener al menos un*y un$
Los caracteres reservados de keys no pueden mapearse directamente:
*: posición del Atril ritual central, que debe coincidir con elritualactual$: posiciones de bloques de entrada; cuando el ritual se ejecuta, esos bloques se comprueban y se destruyen al tener éxito.: solo aire: cualquier bloque
La estructura de pattern es la siguiente:
- Capa exterior: lista de capas desde abajo hacia arriba
- Dentro de cada capa: patrón bidimensional organizado por filas
- Cada carácter: requisito de bloque en esa posición
Ejemplo integrado:
{
"type": "croparia:ritual_structure",
"ritual": "croparia:ritual_stand",
"keys": {
"A": "minecraft:andesite",
"D": "minecraft:diorite",
"I": {
"id": "croparia:block_crop_coal",
"properties": {
"age": "7"
}
}
},
"pattern": [
[
" ",
" $ ",
" $ $ ",
" $ ",
" "
],
[
" D D ",
"D I I D",
" G * G ",
"D I I D",
" D D "
]
]
}