はじめに
はじめての Mod
アイテム、ブロック、レシピ、あいさつ、コマンド。最初から小さなファイルに分かれています。ゲームを開かずに、シミュレーションのサーバーでテストします。
1. Mod を作る
crafting new gemsgems/
├── main.craft
├── content/
│ ├── items.craft
│ ├── blocks.craft
│ └── recipes.craft
├── events/
│ └── welcome.craft
└── commands/
└── gem.craftmain.craft は、Mod が何で、どんな部分を持つかだけを書きます。コンテンツは content/ に、振る舞いは events/ と commands/ に置きます。この構成の理由は Mod の整理 を参照してください。VS Code 拡張機能を使うと、入力しながらエラー表示と補完が得られます。
2. ファイル
mod "gems" { name: "gems", version: "1.0.0", author: "you" }
// 存在するもの
import "content/items"
import "content/blocks"
import "content/recipes"
// 起きること
import "events/welcome"
import "commands/gem"item "magic_gem" { rarity: "rare", glint: true }block "magic_block" {
hardness: 3
light: 10
tool: "pickaxe"
drops: "magic_gem"
}recipe shaped "magic_block" {
pattern: ["GGG", "GGG", "GGG"]
keys: { G: "magic_gem" }
result: "magic_block"
}on join(e) {
e.player.send("&aようこそ、{e.player.name}!")
}command gem(target: player?) requires "gems.gem" {
let p = target ?? player
p.give(item("gems:magic_gem", 1))
return "{p.name} に魔法の宝石を渡しました"
}3. チェックする
crafting check gems/main.craftチェッカーはインポートをたどります。問題があれば、ファイル、行、期待していたものを示します。たとえば welcome.craft:2: error: Player has no property 'helth'. Did you mean 'health'? のように。
4. ゲームなしでテストする
サンドボックスは、本物のゲームと同じ API を持つシミュレーションのサーバーです。開発モードで起動するので、ファイルを保存すると Mod が再読み込みされます。
mkdir -p test/mods && cp -r gems test/mods/
crafting sandbox test> join Steve
[Steve] ようこそ、Steve!
> op Steve
> as Steve /gem
[Steve] Steve に魔法の宝石を渡しました
> inv Steve
1x gems:magic_gem
> quit5. 遊ぶ
gems フォルダーを .minecraft/mods/ にコピーし、Crafting 26.3 の起動構成を開きます。アイテムのテクスチャは gems/textures/item/magic_gem.png に、ブロックのテクスチャは gems/textures/block/magic_block.png に置きます。サーバーでは、この Mod はブロックを追加するので、サーバーとすべてのクライアントに入れます。
6. 育てる
新しいアイデアはそれぞれの場所へ。別のアイテムは content/items.craft に、新しいゲームルールは events/ の新しいファイルに、複数のファイルで使う関数は lib/ に、設定は settings.craft に。完全なサンプル Mod は Mod の整理 にあります。