Erste Schritte

Deine erste Mod

Ein Gegenstand, ein Block, ein Rezept, eine Begrüßung und ein Befehl, schon in kleine Dateien aufgeteilt. Du testest sie auf einem simulierten Server, ohne das Spiel zu öffnen.

1. Die Mod erstellen

Terminal
crafting new gems
Was erstellt wirdText
gems/
├── main.craft
├── content/
│   ├── items.craft
│   ├── blocks.craft
│   └── recipes.craft
├── events/
│   └── welcome.craft
└── commands/
    └── gem.craft

main.craft sagt nur, was die Mod ist und welche Teile sie hat. Inhalte kommen nach content/, Verhalten nach events/ und commands/. Warum das so aufgebaut ist: Eine Mod organisieren. Mit der VS-Code-Erweiterung bekommst du Fehler und Autovervollständigung schon beim Tippen.

2. Die Dateien

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

// Was es gibt
import "content/items"
import "content/blocks"
import "content/recipes"

// Was passiert
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("&aWillkommen, {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 "{p.name} hat einen magischen Edelstein bekommen"
}

3. Prüfen

Terminal
crafting check gems/main.craft

Die Prüfung folgt den Imports. Stimmt etwas nicht, nennt sie die Datei, die Zeile und was sie erwartet hat, zum Beispiel welcome.craft:2: error: Player has no property 'helth'. Did you mean 'health'?.

4. Ohne das Spiel testen

Die Sandbox ist ein simulierter Server mit derselben API wie das echte Spiel. Sie startet im Entwicklungsmodus: Speicher eine Datei und die Mod wird neu geladen.

Terminal
mkdir -p test/mods && cp -r gems test/mods/
crafting sandbox test
SitzungText
> join Steve
  [Steve] Willkommen, Steve!
> op Steve
> as Steve /gem
  [Steve] Steve hat einen magischen Edelstein bekommen
> inv Steve
  1x gems:magic_gem
> quit

5. Spielen

Kopiere den Ordner gems nach .minecraft/mods/ und öffne das Profil Crafting 26.3. Die Textur des Gegenstands kommt nach gems/textures/item/magic_gem.png, die des Blocks nach gems/textures/block/magic_block.png. Auf einem Server gehört die Mod auf den Server und auf jeden Client, weil sie Blöcke hinzufügt.

6. Erweitern

Jede neue Idee an ihren Platz: ein weiterer Gegenstand in content/items.craft, eine neue Spielregel in einer neuen Datei unter events/, eine Funktion, die mehrere Dateien nutzen, in lib/, Einstellungen in settings.craft. Die vollständige Beispiel-Mod steht in Eine Mod organisieren.