Tu propia arma (y su receta)
Un arma nueva son dos archivos: el objeto (cómo es y cuánto pega) y la receta (con qué se fabrica). Con el modelo de una espada del juego funciona desde el primer momento; después le haces el tuyo.
Paso 1: el objeto
Crea mods/items/mi_arma.json. Es una lista: en un mismo archivo caben varios objetos.
[
{
"id": "bone_cleaver",
"name": "Cuchilla de hueso",
"category": "weapon",
"color": "iron_ore",
"model": "items/short_sword_iron",
"grip": [1.5, 3.5, 2.0],
"maxStack": 1,
"weapon": {
"type": "melee",
"style": "heavy",
"damage": 14,
"cooldown": 0.7,
"reach": 2.8,
"arc": 110
}
}
]| Campo | Qué es |
|---|---|
id | Identificador único: minúsculas, números y _ (48 como mucho). |
name | El nombre que ve el jugador. |
category | weapon para un arma; también hay tool, equipment, block y material. |
color | Un bloque cuyo color representa al objeto. |
model | El modelo .vox, sin extensión, dentro de mods/models/. Aquí, la espada corta de hierro del juego. |
grip | Por dónde la agarra la mano: [x, y, z] en vóxeles del modelo. |
maxStack | Cuántas caben en un hueco del inventario (1 en las armas). |
weapon.type | melee (cuerpo a cuerpo) o bow (arco). |
weapon.style | El golpe: slash (tajo), heavy (golpe pesado) o thrust (estocada). |
weapon.damage | Daño por golpe. La espada corta de hierro hace 10. |
weapon.cooldown | Segundos entre golpe y golpe (de 0,05 a 10). |
weapon.reach | Alcance en metros (de 0,5 a 8). |
weapon.arc | Ancho del barrido en grados (de 5 a 360): 30 en una lanza, 140 en un mandoble. |
Un arco usa además projectileSpeed (de 1 a 200) y gravity (de 0 a 60) para la flecha. Mira el bow de mods/items/gear_weapons.json.
Paso 2: la receta
Crea mods/recipes/mi_arma.json, también una lista:
[
{
"id": "bone_cleaver",
"result": "bone_cleaver",
"count": 1,
"ingredients": [
{
"item": "bone",
"count": 4
},
{
"item": "iron_ingot",
"count": 1
},
{
"item": "stick",
"count": 1
}
],
"station": "anvil"
}
]| Campo | Qué es |
|---|---|
id | Identificador de la receta. |
result y count | Qué objeto sale y cuántos. |
ingredients | Los materiales: item y count. Cada material, una sola vez. |
station | Dónde se fabrica: hand, workbench, forge, anvil, cauldron, loom, campfire, cooking_pot, oven, barrel. Sin station, a mano. |
Paso 3: probarla
- Cierra el juego y ábrelo de nuevo: los objetos y las recetas se leen al arrancar.
- Usa un yunque: la receta sale en su lista de fabricar. Busca «cuchilla» en el buscador.
Si algo está mal escrito, al arrancar sale un aviso arriba de la pantalla con el archivo y el motivo. El juego sigue funcionando y se salta lo que esté roto.
Paso 4: tu propio modelo
- Abre
mods/models/items/short_sword_iron.voxen MagicaVoxel y guárdalo comomods/models/items/bone_cleaver.vox. Partir de un arma del juego te da la orientación y la escala buenas. - Dibuja tu arma encima, con la empuñadura en el mismo sitio. Si la mueves, cambia
grip: es el vóxel donde cierra la mano. - En el objeto, cambia
"model": "items/bone_cleaver". - Con el juego abierto, F4 recarga los modelos sin reiniciar.
Make your own weapon (and its recipe) (English)
Two files. The item, mods/items/<file>.json (a list): id, name, category (weapon), color (a block), model (a .vox under mods/models/, without extension), grip (where the hand holds it, in model voxels), maxStack and weapon: type (melee or bow), style (slash, heavy or thrust), damage, cooldown (0.05–10 s), reach (0.5–8 m) and arc (5–360°). The recipe, mods/recipes/<file>.json (a list): id, result, count, ingredients (item and count) and station (hand, workbench, forge, anvil, cauldron, loom, campfire, cooking_pot, oven, barrel; none = by hand). See the two examples above. Restart the game to load them. For your own model, open mods/models/items/short_sword_iron.vox in MagicaVoxel, save it under a new name and draw over it, keeping the handle where grip says.
