Pierwsze kroki

Twój pierwszy mod

Przedmiot, blok, receptura, powitanie i polecenie, od razu podzielone na małe pliki. Testujesz go na symulowanym serwerze, bez otwierania gry.

1. Utwórz mod

Terminal
crafting new gems
Co zostaje utworzoneTekst
gems/
├── main.craft
├── content/
│   ├── items.craft
│   ├── blocks.craft
│   └── recipes.craft
├── events/
│   └── welcome.craft
└── commands/
    └── gem.craft

main.craft mówi tylko, czym jest mod i z jakich części się składa. Zawartość trafia do content/, a zachowanie do events/ i commands/. Dlaczego tak to wygląda: Porządkowanie moda. Z rozszerzeniem do VS Code widzisz błędy i podpowiedzi w trakcie pisania.

2. Pliki

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

// Co istnieje
import "content/items"
import "content/blocks"
import "content/recipes"

// Co się dzieje
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("&aWitaj, {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 "Przekazano magiczny klejnot: {p.name}"
}

3. Sprawdź go

Terminal
crafting check gems/main.craft

Sprawdzarka podąża za importami. Jeśli coś jest nie tak, podaje plik, wiersz i to, czego się spodziewała, na przykład welcome.craft:2: error: Player has no property 'helth'. Did you mean 'health'?.

4. Przetestuj go bez gry

Sandbox to symulowany serwer z tym samym API co prawdziwa gra. Uruchamia się w trybie deweloperskim: zapisz plik, a mod się przeładuje.

Terminal
mkdir -p test/mods && cp -r gems test/mods/
crafting sandbox test
SesjaTekst
> join Steve
  [Steve] Witaj, Steve!
> op Steve
> as Steve /gem
  [Steve] Przekazano magiczny klejnot: Steve
> inv Steve
  1x gems:magic_gem
> quit

5. Zagraj

Skopiuj folder gems do .minecraft/mods/ i otwórz profil Crafting 26.3. Tekstura przedmiotu trafia do gems/textures/item/magic_gem.png, a tekstura bloku do gems/textures/block/magic_block.png. Na serwerze mod musi być na serwerze i na każdym kliencie, bo dodaje bloki.

6. Rozbuduj go

Każdy nowy pomysł na swoim miejscu: kolejny przedmiot w content/items.craft, nowa zasada gry w nowym pliku w events/, funkcja używana przez kilka plików w lib/, ustawienia w settings.craft. Pełny przykładowy mod znajdziesz na stronie Porządkowanie moda.