脚本入门

Crafttweaker 使用一种称为 ZenScript 的自定义脚本语言。ZenScript 读取于 <游戏主目录>/scripts 文件夹下的所有带有 .zs 后缀的文件。

ZenScript is a “top down” scripting language, meaning that, Imports need to be at the top of the file, Variable Declarations should be near the top of the file, however there are no restrictions to that, a Variable can be defined anywhere in a script, however it will not be accessible to the lines above the Variable declaration.

介绍

你有过这样的经历吗?你做了一个整合包,却发现自己只是堆砌了一堆模组,却并没有带来任何综合性的体验? 模组的制作都是相对独立的,相比起别的模组,总是有几个显得过于 OP。 也许你认为一些物品有更好的配方, 也许你渴望在不移除整个模组的情况下,仅仅删除其中的一个物品, 也许你发现一些矿物词典条目包含过多或过少的物品…… 现在你可以全部做到——只需要一条 MineTweaker 指令。

除了支持原版 Minecraft 的主要功能之外,Crafttweaker 也提供了兼容其他模组的库,允许你进一步自定义其他模组相关的机器配方或者修改其他模组的一些行为。

脚本

脚本被存放在<游戏主目录>/scripts 文件夹,并在游戏的预加载(PreInitialization)阶段加载。不同于先前版本的 Crafttweaker,脚本无法被重新加载。这是因为 Mojang 对 1.12 版本的改动,目前仍无解决方案。 最后,脚本需要同时在服务端和客户端上才能启用。

所有以 .zs 为后缀的脚本文件可以被压缩为 .zip 文件,且压缩后仍旧能够正常读取。

书写您的第一个脚本

如果你想开始书写一个脚本,你需要创建一个非常基本的脚本文件,这个文件可以起名叫做 hello.zs,并放置在 <游戏主目录>/scripts 文件夹下。

hello.zs 文件中写入以下内容:

print("你好,世界!");

接着启动 Minecraft 并查看 crafttweaker.log 文件。

crafttweaker.log 文件位于 <0><游戏主目录> 下,它能够被任何读取文本文档的软件打开。

这里推荐使用 Notepad++ 或者 Sublime Text 来编辑脚本文件,当然别的程序也可以。

crafttweaker.log 文件

crafttweaker.log 文件的输出会使用一种特殊的语法,基本的语法结构如下:

[Forge 加载阶段(LOADERSTAGE)][端(SIDE)][类型(TYPE)] <信息>

先前脚本的输出如下:

[PREINITIALIZATION][CLIENT][INFO] 你好,世界

这个语法用于调试,也只有命令的输出信息不使用此语法,在这种情况下,它只是打印消息,这样做能够更容易的复制粘贴输出信息。

注释

注释可以用来使您的脚本文件更易于阅读,更容易理解!

ZenScript 支持三种不同的注释书写方法,它们分别是:

单行注释: // 我是一条单行注释!

另一种单行注释 # 我也是一条单行注释!

多行注释:

/* 我是
一条
多行注释! */