Cog
  • 首页
  • 导论
    • 脚本
    • 指令
  • 配方
    • 物品
    • 标签
    • 原版配方修改
    • 模组配方修改
    • 通用配方修改
    • 配方材料替换
  • ZenCode
    • 数据类型
    • 运算符
    • if
    • switch
    • 循环
    • 数组
    • List
    • 映射
    • 数学函数
    • 函数
    • lambda 表达式
    • 预处理器
    • OOP
      • 自定义类
      • 拓展类
      • 空类型安全
      • 运算符重载
      • 泛型
    • 变量代理
  • 高级运用
    • Tooltip
    • 属性修改
    • 物品条件
    • 物品转换器
    • 配方函数
    • 事件
    • 全局战利品修饰器
      • 战利品修饰器
      • 方块掉落修改
      • 实体掉落修改
      • 战利品修饰器管理器
  • ContentTweaker
    • 前言
    • 资源文件
    • 物品
    • 方块
    • 流体
    • 创造标签
    • 高级运用
由 GitBook 提供支持
在本页
  • 简单预处理器
  • 带参数的预处理器
  • Snip 预处理器
  • 开始预处理器
  • 例子

这有帮助吗?

  1. ZenCode

预处理器

以 # 开头的注释会被 ZenCode 特殊处理,将其视为「预处理器」。ZenCode 语言本身不会对这些注释进行任何特殊处理,而 CraftTweaker 则添加了部分预处理器来处理它们。虽然如果找不到合适的预处理器,该行会被当成注释处理,但依旧有可能产生未定义的行为。尽量使用 // 来书写注释。

简单预处理器

简单预处理器只需要一个单词,没有任何参数。

名称

作用

#debug

脚本编译后的字节码文件将会输出到 classes 文件夹内

#noload

该脚本将不再加载

#loadfirst

该脚本将第一个加载

#loadlast

该脚本将最后一个加载

#nobrand

脚本重载时将不再显示 CrT 赞助者

带参数的预处理器

带参数的预处理器需要在其名字后加参数。

名称

参数

参数默认值

作用

使用例子

#loader

脚本加载器名

crafttweaker

指定脚本加载器

#loader contenttweaker

#priority

脚本优先级

10

指定脚本优先级

#priority 100

#replace

将被替换的字符,替换的字符

无

将脚本的部分字符替换掉

#replace ture true (这样 ture 就能当 true 用了)

Snip 预处理器

Snip 预处理器需要一个开始预处理器和一个结束预处理器(#snip end)。在这两个预处理器中间的脚本代码将视为一个片段。根据开始预处理器,将决定这些片段会不会执行。

开始预处理器

开始预处理器有三个:

  • #snip start:该片段肯定会执行

  • #snip modloaded <mod1> [mod2] [mod3] [modN]:只有指定的模组全部安装上才会执行。

  • #snip modnotloaded <mod1> [mod2] [mod3] [modN]:只有指定的模组都没安装上才会执行。

例子

#snip modloaded mekanism

print("mekanism loaded!");

#snip end

print("out side of snip");

#snip modnotloaded mekanism

print("mekanism not loaded!");

#snip end
上一页lambda 表达式下一页OOP

最后更新于4年前

这有帮助吗?