快速开始
你的第一个模组
一个物品、一个方块、一个配方、一句欢迎语和一条命令,已经拆分成几个小文件。你可以在模拟服务器上测试它,无需打开游戏。
1. 创建模组
crafting new gemsgems/
├── main.craft
├── content/
│ ├── items.craft
│ ├── blocks.craft
│ └── recipes.craft
├── events/
│ └── welcome.craft
└── commands/
└── gem.craftmain.craft 只说明模组是什么、有哪些部分。内容放在 content/,行为放在 events/ 和 commands/。为什么这样布局:见组织模组。配合 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。它以开发模式启动:保存文件,模组就会重新加载。
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。在服务器上,由于它添加了方块,模组要同时装在服务器和每个客户端上。
6. 扩展模组
每个新点子都有它的位置:新物品放进 content/items.craft,新的游戏规则放进 events/ 下的新文件,被多个文件使用的函数放进 lib/,设置放进 settings.craft。完整的示例模组见组织模组。