Proyekto
CLI at mga editor
Isang tool, crafting, para mag-install, gumawa ng mod, i-check ito at subukan ito nang hindi binubuksan ang laro. At isang language server na nagbibigay sa editor mo ng parehong mga error na makikita mo kapag nilo-load ang mod.
command not found: crafting. Pagkatapos mag-build, nasa crafting-cli/build/install/crafting/bin/crafting ang executable. Idagdag ang folder na iyon sa PATH mo o i-link ito mula sa folder na nasa PATH na, halimbawa ln -s "$PWD/crafting-cli/build/install/crafting/bin/crafting" /usr/local/bin/crafting.
Mga utos
| Utos | Ano ang ginagawa nito |
|---|---|
install --mc 26.3 [--dir DIR] |
Idinadagdag ang profile ng Crafting sa opisyal na launcher. |
install --mc 26.3 --server DIR |
Inihahanda ang folder ng server na may start-crafting.sh at .bat. |
new <name> [--kind script|kotlin|plugin] |
Gumagawa ng bagong mod. |
check <file.craft>… |
Tinitingnan ang syntax at mga type. |
sandbox [folder] |
Simulated na server para subukan ang mga mod nang walang laro. |
mods [folder] |
Inililista ang mga mod sa isang folder ng laro at tinitingnan ang mga dependency nila. |
lsp |
Language server para sa mga editor (ang editor ang nagpapatakbo nito). |
version |
Bersyon ng Crafting. |
Gumawa ng mod
Gumagawa ng mod na nakahati na ayon sa responsibilidad, gaya ng inirerekomenda sa Pag-aayos ng mod:
| Utos | Ginagawa |
|---|---|
crafting new gems |
main.craft, content/items.craft, content/blocks.craft, content/recipes.craft, events/welcome.craft, commands/gem.craft |
crafting new gems --kind kotlin |
GemsMod.kt (nagkakabit lang ng mga bahagi), content/ModContent.kt, events/Welcome.kt, commands/GemCommand.kt, isang manifest at build.gradle.kts para sa Java 25 |
crafting new gems --kind plugin |
Ang entry class, events/ChatFilter.kt at commands/HelloCommand.kt |
Suriin ang mod
Tinitingnan ang syntax at mga type ng isa o higit pang .craft file, sinusundan ang mga import nila. Kasama sa bawat error ang file at linya, at mungkahi kapag may kahawig na pangalan. Lumalabas ito nang may non-zero na code kung may error, kaya magagamit mo ito sa continuous integration.
crafting check mods/rubies/main.craftSubukan sa sandbox
Isang simulated na server na may parehong API ng laro. Nilo-load nito ang mga mod sa <folder>/mods at <folder>/plugins sa development mode: nire-reload ng pag-save ng file ang mod.
join <name> pumapasok ang isang player
leave <name> umaalis
as <name> <chat or /command> mag-chat o magpatakbo ng command bilang player na iyon
/<command> command bilang console
break <name> <x> <y> <z> sirain ang isang block
tick [n] umusad nang n tick
op <name> magbigay ng permission ng operator
inv <name> ipakita ang inventory
reload <mod> i-reload ang isang script o plugin
quit lumabasMga editor
Iisang language server ang ginagamit nilang lahat, crafting lsp, na nagpapatakbo ng totoong checker ng CraftScript. Kailangan nilang nasa PATH ang crafting.
VS Code
Nagbibigay ang CraftScript extension ng: highlighting (pati ang {interpolation} at mga kulay na &a sa loob ng string), mga error habang nagta-type ka, typed na autocompletion (pagkatapos ng player., pagkatapos ng on, pagkatapos ng :, at para sa mga class mo at mga na-import na module), impormasyon kapag nag-hover, mga snippet, at ang mga command na Check current file at Run sandbox server for this mod.
git clone <extension-repository> craftscript-vscode && cd craftscript-vscode
npm install --omit=dev
npx @vscode/vsce package --allow-missing-repository
code --install-extension craftscript-0.1.0.vsixKung wala sa PATH ang crafting, itakda ang path nito sa setting na craftscript.craftingPath.
Neovim 0.11+
vim.filetype.add({ extension = { craft = "craftscript" } })
vim.lsp.config("craftscript", {
cmd = { "crafting", "lsp" },
filetypes = { "craftscript" },
root_markers = { "main.craft", ".git" },
})
vim.lsp.enable("craftscript")Helix
[language-server.craftscript]
command = "crafting"
args = ["lsp"]
[[language]]
name = "craftscript"
scope = "source.craftscript"
file-types = ["craft"]
roots = ["main.craft"]
comment-token = "//"
indent = { tab-width = 4, unit = " " }
language-servers = ["craftscript"]Sublime Text at JetBrains
Sublime Text: ang package na LSP na may command na ["crafting", "lsp"] para sa mga .craft file, at ang grammar na CraftScript.tmLanguage.json. JetBrains: ang plugin na LSP4IJ na may parehong command, at i-import ang grammar bilang TextMate bundle. Gumagana ang grammar sa anumang editor na nagbabasa ng mga .tmLanguage file.