Empezar

Tu primer mod

Un ítem, un bloque, una receta, un saludo y un comando, ya repartidos en archivos pequeños. Lo pruebas en un servidor simulado, sin abrir el juego.

1. Crear el mod

Terminal
crafting new gems
Lo que creaTexto
gems/
├── main.craft
├── content/
│   ├── items.craft
│   ├── blocks.craft
│   └── recipes.craft
├── events/
│   └── welcome.craft
└── commands/
    └── gem.craft

main.craft solo dice qué es el mod y qué partes tiene. El contenido va en content/ y el comportamiento en events/ y commands/. Por qué así: Organizar un mod. Con la extensión de VS Code tendrás errores y autocompletado mientras escribes.

2. Los archivos

gems/main.craftCraftScript
mod "gems" { name: "gems", version: "1.0.0", author: "you" }

// What exists
import "content/items"
import "content/blocks"
import "content/recipes"

// What happens
import "events/welcome"
import "commands/gem"
gems/content/items.craftCraftScript
item "magic_gem" { rarity: "rare", glint: true }
gems/content/blocks.craftCraftScript
block "magic_block" {
    hardness: 3
    light: 10
    tool: "pickaxe"
    drops: "magic_gem"
}
gems/content/recipes.craftCraftScript
recipe shaped "magic_block" {
    pattern: ["GGG", "GGG", "GGG"]
    keys: { G: "magic_gem" }
    result: "magic_block"
}
gems/events/welcome.craftCraftScript
on join(e) {
    e.player.send("&aWelcome, {e.player.name}!")
}
gems/commands/gem.craftCraftScript
command gem(target: player?) requires "gems.gem" {
    let p = target ?? player
    p.give(item("gems:magic_gem", 1))
    return "Gave a magic gem to {p.name}"
}

3. Comprobarlo

Terminal
crafting check gems/main.craft

El verificador sigue los imports. Si algo falla, dice archivo, línea y qué esperaba, por ejemplo welcome.craft:2: error: Player has no property 'helth'. Did you mean 'health'?.

4. Probarlo sin el juego

El sandbox es un servidor simulado con la misma API que el juego real. Arranca en modo desarrollo: guarda un archivo y el mod se recarga.

Terminal
mkdir -p prueba/mods && cp -r gems prueba/mods/
crafting sandbox prueba
SesiónTexto
> join Steve
  [Steve] Welcome, Steve!
> op Steve
> as Steve /gem
  [Steve] Gave a magic gem to Steve
> inv Steve
  1x gems:magic_gem
> quit

5. Jugarlo

Copia la carpeta gems a .minecraft/mods/ y abre el perfil Crafting 26.3. La textura del ítem va en gems/textures/item/magic_gem.png y la del bloque en gems/textures/block/magic_block.png. En un servidor, el mod va en el servidor y en cada cliente, porque añade bloques.

6. Hacerlo crecer

Cada idea nueva, en su sitio: un ítem más en content/items.craft, una regla de juego nueva en un archivo nuevo de events/, una función que usan varios archivos en lib/, los ajustes en settings.craft. El mod de ejemplo completo está en Organizar un mod.