Primeiros passos

Seu primeiro mod

Um item, um bloco, uma receita, uma saudação e um comando, já divididos em arquivos pequenos. Você o testa em um servidor simulado, sem abrir o jogo.

1. Crie o mod

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

main.craft só diz o que o mod é e quais partes ele tem. O conteúdo vai em content/ e o comportamento em events/ e commands/. Por que está organizado assim: Organizando um mod. Com a extensão para VS Code você vê erros e autocompletar enquanto digita.

2. Os arquivos

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

// O que existe
import "content/items"
import "content/blocks"
import "content/recipes"

// O que acontece
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("&aBem-vindo, {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 "Uma gema mágica foi dada a {p.name}"
}

3. Verifique

Terminal
crafting check gems/main.craft

O verificador segue os imports. Se algo estiver errado, ele informa o arquivo, a linha e o que esperava, por exemplo welcome.craft:2: error: Player has no property 'helth'. Did you mean 'health'?.

4. Teste sem o jogo

O sandbox é um servidor simulado com a mesma API do jogo real. Ele inicia em modo de desenvolvimento: salve um arquivo e o mod é recarregado.

Terminal
mkdir -p test/mods && cp -r gems test/mods/
crafting sandbox test
SessãoTexto
> join Steve
  [Steve] Bem-vindo, Steve!
> op Steve
> as Steve /gem
  [Steve] Uma gema mágica foi dada a Steve
> inv Steve
  1x gems:magic_gem
> quit

5. Jogue

Copie a pasta gems para .minecraft/mods/ e abra a instalação Crafting 26.3. A textura do item vai em gems/textures/item/magic_gem.png e a do bloco em gems/textures/block/magic_block.png. Em um servidor, o mod vai no servidor e em todos os clientes, porque adiciona blocos.

6. Faça crescer

Cada ideia nova no seu lugar: outro item em content/items.craft, uma nova regra do jogo em um novo arquivo em events/, uma função usada por vários arquivos em lib/, ajustes em settings.craft. O mod de exemplo completo está em Organizando um mod.