Bien démarrer

Ton premier mod

Un objet, un bloc, une recette, un message de bienvenue et une commande, déjà répartis en petits fichiers. Tu le testes sur un serveur simulé, sans ouvrir le jeu.

1. Crée le mod

Terminal
crafting new gems
Ce qui est crééTexte
gems/
├── main.craft
├── content/
│   ├── items.craft
│   ├── blocks.craft
│   └── recipes.craft
├── events/
│   └── welcome.craft
└── commands/
    └── gem.craft

main.craft dit seulement ce qu’est le mod et quelles parties il contient. Le contenu va dans content/ et le comportement dans events/ et commands/. Pourquoi cette organisation : Organiser un mod. Avec l’extension VS Code, tu as les erreurs et l’autocomplétion pendant que tu tapes.

2. Les fichiers

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

// Ce qui existe
import "content/items"
import "content/blocks"
import "content/recipes"

// Ce qui se passe
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("&aBienvenue, {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 "Gemme magique donnée à {p.name}"
}

3. Vérifie-le

Terminal
crafting check gems/main.craft

Le vérificateur suit les imports. Si quelque chose ne va pas, il donne le fichier, la ligne et ce qu’il attendait, par exemple welcome.craft:2: error: Player has no property 'helth'. Did you mean 'health'?.

4. Teste-le sans le jeu

Le sandbox est un serveur simulé avec la même API que le vrai jeu. Il démarre en mode développement : enregistre un fichier et le mod se recharge.

Terminal
mkdir -p test/mods && cp -r gems test/mods/
crafting sandbox test
SessionTexte
> join Steve
  [Steve] Bienvenue, Steve !
> op Steve
> as Steve /gem
  [Steve] Gemme magique donnée à Steve
> inv Steve
  1x gems:magic_gem
> quit

5. Joue avec

Copie le dossier gems dans .minecraft/mods/ et ouvre le profil Crafting 26.3. La texture de l’objet va dans gems/textures/item/magic_gem.png et celle du bloc dans gems/textures/block/magic_block.png. Sur un serveur, le mod va sur le serveur et sur chaque client, parce qu’il ajoute des blocs.

6. Fais-le grandir

Chaque nouvelle idée à sa place : un autre objet dans content/items.craft, une nouvelle règle du jeu dans un nouveau fichier sous events/, une fonction utilisée par plusieurs fichiers dans lib/, les réglages dans settings.craft. Le mod d’exemple complet est dans Organiser un mod.