Autores de modpacks
6 TOP-LEVEL ITEMSCultivos personalizados
Croparia IF permite a los autores de modpacks definir dos tipos adicionales de cultivos:
Cultivos de fruto: al madurar producen frutos y corresponden aCropCultivos gigantes: generan bloques de fruto como las calabazas o las sandías y corresponden aMelon
Ambos tipos de contenido personalizado se cargan desde los directorios de datos configurados:
- Cultivos de fruto:
<filePath>/crops - Cultivos gigantes:
<filePath>/melons
Aquí, filePath es la raíz de archivos personalizados definida en Configuración y comandos. Cada archivo JSON se trata como una definición de cultivo.
Los cultivos solo se registran al iniciar el juego, así que cualquier cambio en una definición requiere un reinicio completo para que tenga efecto.
Si solo quieres empezar rápido, lo más cómodo es exportar primero un archivo de plantilla con comandos. Si vas a mantener el modpack a largo plazo, lo más recomendable sigue siendo escribir el JSON a mano.
Creación rápida con comandos
La creación por comandos es útil para generar rápidamente un JSON inicial editable. En la práctica escribe un archivo de definición en disco; no recarga el nuevo cultivo automáticamente en la instancia actual.
Cultivos de fruto
Formato del comando:
/croparia|cropariaServer crop create <color> [type] [id] [force]- Si se omite
id, se usa por defecto la ruta del objeto de la mano principal y se fuerza a un namespace distinto deminecraft - Si se omite
type, su valor por defecto escrop - Si ya existe una definición con el mismo nombre, no se sobrescribe salvo que añadas
force
Al crear el archivo, el comando toma dos piezas de contexto:
- Objeto en la mano principal: se usa como
material - Croparia en la mano secundaria: su nivel se usa como
tier
Cultivos gigantes
Formato del comando:
/croparia|cropariaServer melon create <color> [id] [force]Las diferencias frente a los cultivos de fruto son:
- No necesitan
type - El objeto en la mano principal debe ser un bloque, porque se interpreta como el material de bloque del cultivo gigante
Escritura manual de archivos
Si necesitas un control más fino, tendrás que escribir a mano los archivos de definición de cultivos.
Archivos de cultivos de fruto
Ejemplo completo:
{
"id": "kubejs:tin",
"material": {
"name": "#c:ingots/tin",
"count": 2
},
"color": "#E3E3E0",
"tier": 2,
"type": "crop",
"translations": {
"en_us": "Tin",
"zh_cn": "锡"
},
"dependencies": {
"techreborn": "item.techreborn.tin_ingot",
"modern_industrialization": "item.modern_industrialization.tin_ingot"
}
}Lista completa de campos
id:string- Identificador del recurso del cultivo, por ejemplo
kubejs:tin - Determina los IDs derivados de la semilla, el fruto y el bloque del cultivo
- Identificador del recurso del cultivo, por ejemplo
material:ItemMaterial- Material asociado a este cultivo
- Puede escribirse como ID de objeto o como etiqueta que empiece por
# - La cantidad es opcional y por defecto es 2
color:Color- Color principal del cultivo
- Admite
#RRGGBB,0xRRGGBBy enteros decimales
tier:number- Nivel de Croparia
type:string- Opcional; por defecto es
crop - Se usa principalmente para decidir qué plantilla de textura de fruto emplear
- Los valores integrados más habituales incluyen
animal,crop,food,monsterynature
- Opcional; por defecto es
translations:Map<String, string>- Nombres multilingües opcionales
- Como mínimo, se recomienda añadir
zh_cn
dependencies:string | Map<String, string>- Mapeo opcional de dependencias y claves de traducción
- Sirve para expresar que el cultivo solo debe cargarse si existe un mod concreto, y qué clave de traducción debe usarse en ese caso
Forma de objeto de material: ItemMaterial
Además de una cadena simple, material también puede escribirse como un objeto:
{
"name": "#c:ingots/tin",
"count": 2
}Si solo necesitas un objeto normal o una etiqueta, la cadena simple es suficiente. Solo necesitas la forma de objeto cuando quieras personalizar la cantidad o añadir componentes adicionales.
Archivos de cultivos gigantes
Ejemplo completo:
{
"id": "kubejs:tin_block",
"material": {
"name": "#c:storage_blocks/tin",
"count": 2
},
"color": "#E3E3E0",
"tier": 2,
"translations": {
"en_us": "Tin Block",
"zh_cn": "锡块"
},
"dependencies": {
"modern_industrialization": "block.modern_industrialization.tin_block"
}
}Lista completa de campos
id:string- Identificador del recurso del cultivo gigante
- Deriva objetos como
melon,melon_item,stem,attachyseed
material:BlockMaterial- Material de bloque asociado a este cultivo gigante
- Puede escribirse como ID de bloque o como etiqueta de bloque
- La cantidad es opcional y por defecto es 2
color:Color- Usa los mismos formatos de color que los cultivos de fruto
tier:number- Nivel de Croparia
translations:Map<String, string>- Nombres multilingües opcionales
dependencies:string | Map<String, string>- Mapeo opcional de dependencias y claves de traducción
Vía KubeJS
Si quieres registrar cultivos de fruto dinámicamente desde scripts, también puedes usar el punto de entrada de ampliación de KubeJS.
La firma del código fuente es aproximadamente:
CropUtil.create(
rawId,
material,
color,
tier,
type,
rawDependencies,
translations
)Sus parámetros se corresponden casi uno a uno con los campos del JSON escrito a mano:
rawIdcorresponde aidmaterialcorresponde almaterialdel cultivo de frutocolores un valor entero de colortiercorresponde al niveltypecorresponde al tipo de cultivo y puede sernullrawDependenciescorresponde adependenciestranslationscorresponde atranslations
Recomendaciones
- Cuando crees tu primer cultivo personalizado, exporta primero una plantilla con comandos y después conviértela en el JSON final.
- Si necesitas compatibilidad con materiales de varios mods, prioriza las etiquetas o los mapeos en
dependenciesantes que fijar una clave de traducción de un único mod. - Los cultivos de fruto y los cultivos gigantes tienen estructuras parecidas, pero sus tipos de
materialson distintos y solo los cultivos de fruto tienen campotype.