Per iniziare

La tua prima mod

Un oggetto, un blocco, una ricetta, un saluto e un comando, già divisi in piccoli file. La provi su un server simulato, senza aprire il gioco.

1. Crea la mod

Terminale
crafting new gems
Cosa creaTesto
gems/
├── main.craft
├── content/
│   ├── items.craft
│   ├── blocks.craft
│   └── recipes.craft
├── events/
│   └── welcome.craft
└── commands/
    └── gem.craft

main.craft dice solo cos’è la mod e quali parti ha. I contenuti vanno in content/ e il comportamento in events/ e commands/. Perché è organizzata così: Organizzare una mod. Con l’estensione per VS Code vedi errori e completamento automatico mentre scrivi.

2. I file

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

// Ciò che esiste
import "content/items"
import "content/blocks"
import "content/recipes"

// Ciò che succede
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("&aBenvenuto, {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 "Hai dato una gemma magica a {p.name}"
}

3. Controllala

Terminale
crafting check gems/main.craft

Il controllo segue gli import. Se qualcosa non va, indica il file, la riga e cosa si aspettava, per esempio welcome.craft:2: error: Player has no property 'helth'. Did you mean 'health'?.

4. Provala senza il gioco

La sandbox è un server simulato con la stessa API del gioco vero. Parte in modalità sviluppo: salvi un file e la mod si ricarica.

Terminale
mkdir -p test/mods && cp -r gems test/mods/
crafting sandbox test
SessioneTesto
> join Steve
  [Steve] Benvenuto, Steve!
> op Steve
> as Steve /gem
  [Steve] Hai dato una gemma magica a Steve
> inv Steve
  1x gems:magic_gem
> quit

5. Giocala

Copia la cartella gems in .minecraft/mods/ e apri il profilo Crafting 26.3. La texture dell’oggetto va in gems/textures/item/magic_gem.png e quella del blocco in gems/textures/block/magic_block.png. Su un server, la mod va sul server e su ogni client, perché aggiunge blocchi.

6. Falla crescere

Ogni nuova idea al suo posto: un altro oggetto in content/items.craft, una nuova regola di gioco in un nuovo file dentro events/, una funzione usata da più file in lib/, le impostazioni in settings.craft. La mod di esempio completa è in Organizzare una mod.