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

这有帮助吗?

  1. ZenCode

函数

函数用于计算结果也可以打包一系列操作。

基本格式

public function 函数名(参数表) as 返回类型名 {
    [代码]
    return 函数返回值;
}

return 关键字将会把指定的值返回至函数的调用点上,执行后续操作。若函数处理时,碰到 return 后,程序将跳出函数,不再执行之后的函数内操作(跳出所有循环)。所以一般 return 会在函数代码的最下方。

如果你的函数不需要返回值,则将返回类型名设置为 void。且 return 关键字将不是必要的了。当然你可以用它来让程序提前跳出函数块。

public 用于设置你的函数为公共函数(实际上以 1.12 的说法就是全局函数)。你就可以在任何脚本上使用这个函数。你可以不加 public ,不过这样以后这个函数就只能在一个脚本上使用。不要尝试定义两个同名的公共函数,这会产生意料之外的问题。

参数默认值

现在你可以给函数的某个参数设置默认值,这样在调用函数时,可以省略这个参数。见例子三。

例子

将删合成与加合成打包起来

public function tweakRecipeShapeless(out as IItemStack, shapeless as IIngredient[]) as void {
    craftingTable.removeRecipe(out);
    craftingTable.addShapeless(out.registryName, out, shapeless); 
    // registryName 为 IItemStack 的一个 Getter,返回物品的注册名,用于指定配方名
}

另一个加法

public function add(x as int, y as int) as int {
    return x + y;
}

默认参数

public function mutliply(x as int, y as int = 1) as int {
    return x * y;
}

println(mutliply(1, 5));
println(mutliply(1)); // 相当于 multiply(1, 1)
上一页数学函数下一页lambda 表达式

最后更新于4年前

这有帮助吗?