跳转至

变量

变量有三种生命周期:临时、实体和上下文:

  • 临时变量(例如temp.moo = 1;)是可读写的,并且在定义它们的范围内有效。出于性能原因,它们的生存周期对当前执行的表达式是全局的,并且可能在为表达式定义它们的最外层作用域之外返回一个有效值
  • 实体变量(例如variable.moo = 1;)是可读写的,它们的值将会存储在实体上。请注意,退出和重新加载世界将重新初始化这些变量,同样,如果实体被销毁,其上的任何变量都将丢失
  • 上下文变量(例如context.moo)是只读的,对它们运行的表达式有效。游戏定义了这些变量,每个变量的详细信息将在表达式所在的区域的文档中提供

公共变量

一般来说,实体变量是该实体的私有变量,不能被其他实体访问,要将变量的访问权限公开给其他实体,需要在实体的资源文件中调整该变量的public设置,我们也建议对变量进行初始化:

{ 
  "format_version": "1.10.0", 
  "minecraft:client_entity": { 
    "description": { 
      "scripts": { 
        "variables": { 
          "variable.oink": "public" // 将变量设置为公共变量
        }, 
        "initialize": [ 
          "variable.oink = 0;" // 初始化变量
        ], 
      }, 
    } 
  } 
}