本文档由 WvT Studio @阿特我自己 制作,未经授权禁止以任何形式进行引用或转载,版权所有,侵权必究!

当前修订版本:1.3.1

加入学习交流群:132538683

索引:
内置对象
系统相关
事件相关
实体相关
组件相关
实体查询
方块相关
指令相关
组件列表
事件列表

内置对象

内置对象是对脚本引擎所返回的对象结构概览

EntityObject

代表一个实体
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。实体对象可以是”entity”或”item_entity”
__identifier__String只读-对象的命名空间标识符。例如:若该对象的类型为”entity”,且指向一个原版牛,则该属性的值为”minecraft:cow”
idPositive Integer只读-所指向的实体的唯一ID

ComponentObject

代表一个组件
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。该属性的值将会是”component”
__identifier__String只读-对象的命名空间标识符。例如:若该对象的类型为”component”,且代表坐标组件,则该属性的值为”minecraft:position”
dataObject只读-组件所包含的数据

EventDataObject

代表一个事件所传递的数据
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。该属性的值将会是”event_data”
__identifier__String只读-对象的命名空间标识符。例如:若该对象的类型为”event_data”,且代表一个发送聊天消息事件,则该属性的值为”minecraft:display_chat_event”
dataObject只读-事件所传递的数据

QueryObject

代表一个实体查询器
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。该属性的值将会是”query”
query_idPositive Integer只读-所指向的实体查询器的唯一ID

LevelObject

代表一个存档
可以通过server.level和client.level获得该对象
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。该属性的值将会是”level”
level_idPositive Integer只读-所指向的level的唯一ID

ItemStackObject

代表容器中的一组物品
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。该属性的值将会是”item_stack”
__identifier__String只读-对象的命名空间标识符。例如:若该对象的类型为”item_stack”,且代表一组草方块,则该属性的值为”minecraft:grass”
itemString只读-物品的标识符。空物品的标识符为”minecraft:undefined”
countString只读-该组物品的数量

BlockObject

代表世界中的一个方块
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。该属性的值将会是”block”
__identifier__String只读-对象的命名空间标识符。例如:若该对象的类型为”block”,且代表一个基岩方块,则该属性的值为”minecraft:bedrock”
ticking_areaObject只读-方块所在的常加载区域
block_positionObject只读-该方块的坐标,该对象包含x, y, z三个属性。该对象也作为其唯一标识符的一部分

常加载区域

有两种类型的常加载区域对象:实体和世界。当一个函数调用一个常加载区域时,可以将任一类型作为参数。

EntityTickingAreaObject

代表世界中的实体所在的常加载区域,例如玩家周围的区块
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。该属性的值将会是”entity_ticking_area”
entity_ticking_area_idPositive Integer只读-该常加载区域的UUID

LevelTickingAreaObject

代表世界中所定义的常加载区域,例如使用 /tickarea 指令添加的常加载区域
该对象的结构如下:
属性

名称类型描述
__type__String只读-对象的类型。该属性的值将会是”level_ticking_area”
level_ticking_area_idString只读-该常加载区域的UUID

系统相关

加入版本:1.9.0.3

client.registerSystem(MajorVersion, MinorVersion)

注册一个客户端并获取对应的System对象
属性

名称类型描述
MajorVersionInteger脚本引擎的主要版本
MinorVersionInteger脚本引擎的修订版本

返回值

类型描述
Object注册的客户端所对应的System对象,该对象包含如下三个属性 名称 类型 描述 initialize Method 当世界已经准备好,但还未进入世界时,执行此方法 update Method 每tick(20/1秒)执行一次此方法,需要保证耗时低于50ms,否则游戏会卡顿 shutdown Method 当执行此客户端脚本的玩家退出世界时,执行此方法

加入版本:1.9.0.3

server.registerSystem(MajorVersion, MinorVersion)

注册一个客户端并获取对应的System对象
属性

名称类型描述
MajorVersionInteger脚本引擎的主要版本
MinorVersionInteger脚本引擎的修订版本

返回值

类型描述
Object注册的服务端所对应的System对象,该对象包含如下三个属性 名称 类型 描述 initialize Method 当世界已经准备好,但还未进入世界时,执行此方法 update Method 每tick(20/1秒)执行一次此方法,需要保证耗时低于50ms,否则服务器可能停止工作 shutdown Method 当所有玩家都退出世界时,执行此方法

事件相关

以下均为System对象的方法

加入版本:1.12.0.2

registerEventData(EventIdentifier, EventData)

注册一个自定义事件到脚本引擎,并指定其事件数据的模板
自定义事件在使用前必须先注册
参数

名称类型描述
EventIdentifierString自定义事件的标识符,使用命名空间格式,且命名空间不能为”minecraft”
EventDataObject一个包含正确所需属性及初始值的事件数据模板/td>

返回值

类型描述
Booleantrue成功注册自定义事件
Objectnull在注册自定义事件时出现了错误

加入版本:1.12.0.2

createEventData(EventIdentifier)

创建一个事件数据的模板,包含事件数据所需的所有属性及其初始值
自定义事件必须先注册
参数

名称类型描述
EventIdentifierString事件的标识符

返回值

类型描述
EventDataObject所获得的事件数据对象
Objectnull在创建事件数据时出现了错误

加入版本:1.9.0.3

broadcastEvent(EventIdentifier, EventData)

广播一个事件并传递数据,服务端和客户端都可监听到该事件
参数

名称类型描述
EventIdentifierString将要广播的事件的标识符
EventDataEventDataObject通过createEventData()获取并修改的数据对象

返回值

类型描述
Booleantrue事件广播成功
Objectnull广播事件时出现了问题

加入版本:1.9.0.3

listenForEvent(EventIdentifier, CallbackObject)

为指定事件注册事件监听器
参数

名称类型描述
EventIdentifierString将要监听的事件的标识符,可以是内置事件,也可以是脚本中自定义的事件
CallbackObjectObject回调的对象,当监听到事件时会调用该对象,该对象需要接收一个EventDataObject对象

返回值

类型描述
Booleantrue成功为该事件注册事件监听器
Objectnull注册事件监听器时出现了错误

实体相关

以下均为System对象的方法

加入版本:1.9.0.3

createEntity()

创建一个空实体,暂且不将其放到世界中

返回值

类型描述
EntityObject新创建的实体的EntityObject对象
Objectnull创建实体时出现了问题

加入版本:1.9.0.3

createEntity(Type, TemplateIdentifier)

创建实体并指定类型和JSON模板

参数

名称类型描述
TypeString实体的类型,必须是”entity”和”item_entity”之一
TemplateIdentifierString实体标识符,可以是内置的,也可以是行为包定义的,如”minecraft:cow”

返回值

类型描述
EntityObject新创建的实体的EntityObject对象
Objectnull创建实体时出现了问题

加入版本:1.9.0.3

destroyEntity(EntityObject)

直接移除一个实体。该方法并不会触发实体死亡的事件

参数

名称类型描述
EntityObjectEntityObject一个实体所对应的EntityObject对象

返回值

类型描述
Booleantrue该实体被成功移除
Objectnull移除实体时出现了点问题

加入版本:1.9.0.3

isValidEntity(EntityObject)

检查给定的EntityObject对象是否对应一个有效实体

参数

名称类型描述
EntityObjectEntityObject一个实体所对应的EntityObject对象

返回值

类型描述
Booleantrue是一个有效实体
Booleanfalse不是一个有效实体
Objectnull验证实体时出现了错误

组件相关

以下均为System对象的方法

加入版本:1.9.0.3

registerComponent(ComponentIdentifier, ComponentData)

注册一个自定义组件
参数

名称类型描述
ComponentIdentifierString自定义组件的标识符。需要使用命名空间,如”my_pack:my_custom_component”
ComponentDataObject一个JavaScript对象,用于定义组件的所有属性及属性的默认值

返回值

类型描述
Booleantrue成功注册
Objectnull注册组件时出现了错误

加入版本:1.9.0.3 最后改动版本:1.12.0.2

createComponent(Target, ComponentIdentifier)

创建指定的组件,并将其添加到指定的目标中
参数

名称类型描述
TargetObject目标对象,该对象可以是EntityObject、LevelObject、BlockObject等
ComponentIdentifierString要添加的组件的标识符,可以是内置组件,也可以是自定义组件,如”minecraft:position”

返回值

类型描述
ComponentObject组件对象
Objectnull创建组件时出错

加入版本:1.9.0.3 最后改动版本:1.12.0.2

hasComponent(Target, ComponentIdentifier)

检查所给的目标是否具有指定的组件
参数

名称类型描述
TargetObject目标对象,该对象可以是EntityObject、LevelObject、BlockObject等
ComponentIdentifierString要检查的组件的标识符

返回值

类型描述
Booleantrue该实体具有所指定的组件
Booleanfalse该实体没有所指定的组件
Objectnull传入了未知组件,或其他错误

加入版本:1.9.0.3 最后改动版本:1.12.0.2

getComponent(Target, ComponentIdentifier)

从指定目标中获得指定的组件
参数

名称类型描述
TargetObject目标对象,该对象可以是EntityObject、LevelObject、BlockObject等
ComponentIdentifierString要获取的组件的标识符

返回值

类型描述
ComponentObject获取到的组件的ComponentObject对象
Objectnull实体没有该组件,或出现其他错误

加入版本:1.9.0.3 最后改动版本:1.12.0.2

applyComponentChanges(Target, ComponentObject)

将组件应用回指定目标
参数

名称类型描述
TargetObject目标对象,该对象可以是EntityObject、LevelObject、BlockObject等
ComponentObjectObject一个组件所对应的ComponentObject对象

返回值

类型描述
Booleantrue该组件已成功应用
Objectnull应用组件时出现错误

加入版本:1.9.0.3 最后改动版本:1.12.0.2

destroyComponent(Target, ComponentIdentifier)

从指定目标中移除组件
参数

名称类型描述
TargetObject目标对象,该对象可以是EntityObject、LevelObject、BlockObject等
ComponentIdentifierString所要移除的组件的标识符

返回值

类型描述
Booleantrue该组件已成功从实体中删除
Objectnull实体没有该组件,或出现了其他错误

实体查询

以下均为System对象的方法

加入版本:1.9.0.3

registerQuery()

注册一个没有过滤规则的实体查询器,默认将捕获所有实体
返回值

类型描述
QueryObject实体查询器对象
Objectnull注册实体查询器时出错

加入版本:1.9.0.3

registerQuery(Component, ComponentField1, ComponentField2, ComponentField3)

注册一个实体查询器并给定一个过滤规则
过滤规则是一个组件,当实体拥有该组件且组件的属性相符时,该实体将会被捕获
参数

名称类型默认值描述
ComponentString将用于过滤实体的组件的标识符
ComponentField1Stringx第一个 组件中的属性 的名称。默认情况下将设置为”x”
ComponentField2Stringy第二个 组件中的属性 的名称。默认情况下将设置为”y”
ComponentField3Stringz第三个 组件中的属性 的名称。默认情况下将设置为”z”

返回值

类型描述
QueryObject实体查询器对象
Objectnull注册实体查询器时出错

加入版本:1.9.0.3

addFilterToQuery(Query, ComponentIdentifier)

为给定的实体查询器添加一个过滤规则
参数

名称类型描述
QueryQueryObject实体查询器对象
ComponentIdentifierString将要添加到过滤规则的组件的标识符,可以是内置组件,也可以是脚本中自定义的组件

加入版本:1.9.0.3

getEntitiesFromQuery(Query)

从给定的实体查询器中获取所有符合规则的实体
参数

名称类型描述
QueryQueryObject一个实体查询器的Query对象

返回值

类型描述
Arrayarray一组EntityObjects对象,包含所有符合规则的实体
Objectnull获取实体时出现了问题

加入版本:1.9.0.3

getEntitiesFromQuery(Query, ComponentField1_Min, ComponentField2_Min, ComponentField3_Min, ComponentField1_Max, ComponentField2_Max, ComponentField3_Max)

从给定的实体查询器中获取所有符合规则的实体
除了需要符合实体查询器的过滤规则外,还手动指定了如下规则
参数

名称类型描述
QueryQueryObject一个实体查询器的Query对象
ComponentField1_MinDecimal在注册实体查询器时,所指定的 第一个属性 的最小值
ComponentField2_MinDecimal在注册实体查询器时,所指定的 第二个属性 的最小值
ComponentField3_MinDecimal在注册实体查询器时,所指定的 第三个属性 的最小值
ComponentField1_MaxDecimal在注册实体查询器时,所指定的 第一个属性 的最大值
ComponentField2_MaxDecimal在注册实体查询器时,所指定的 第二个属性 的最大值
ComponentField3_MaxDecimal在注册实体查询器时,所指定的 第三个属性 的最大值

返回值

类型描述
Arrayarray一组EntityObject对象,包含所有符合规则的实体
Objectnull获取实体时出现了问题

指令相关

加入版本:1.12.0.2

executeCommand(Command, Callback)

在服务端执行一个指令,指令将会在当前帧结束时被查询并执行
指令的所有输出都会被发送到Callback监听器
参数

名称类型描述
CommandString需要执行的指令(包含斜杠)
CallbackObject在指令执行完毕之后的回调对象,结构如下: 属性 名称 类型 描述 data Object 返回的数据 command String 执行的命令

方块相关

Script Engine 无法获取未加载的区块内的方块,可以通过实体的 tick_world 组件获取常加载区域,或在游戏内使用 /tickarea 指令添加一个存档级别的常加载区域有

加入版本:1.12.0.2

getBlock(TickingArea, x, y, z)

获取常加载区域内的一个方块
参数

名称类型描述
TickingAreaTickingAreaObject方块所在的常加载区域
xInteger方块的x坐标
yInteger方块的y坐标
zInteger方块的z坐标

返回值

类型描述
BlockObjectobject一个包含了方块数据的对象
Objectnull在检索方块时出现错误

加入版本:1.12.0.2

getBlock(TickingArea, PositionObject)

获取常加载区域内的一个方块
参数

名称类型描述
TickingAreaTickingAreaObject方块所在的常加载区域
PositionObjectObject一个包含x, y, z三个属性的坐标对象

返回值

类型描述
BlockObject一个包含了方块数据的对象
Objectnull在检索方块时出现错误

加入版本:1.12.0.2

getBlocks(TickingArea, xMin, yMin, zMin, xMax, yMax, zMax)

获取常加载区域内的一片方块
参数

名称类型描述
xMix – zMaxInteger起始坐标与终止坐标

返回值

类型描述
Array包含该片区域的方块对应的BlockObject的数组
Objectnull在检索方块时出现错误

加入版本:1.12.0.2

getBlocks(TickingArea, MinimumPositionObject, MaximumPositionObject)

获取常加载区域内的一片方块
参数

名称类型描述
MinimumPositionObjectObject起始坐标的对象,包含x, y, z三个属性
MaximumPositionObjectObject终止坐标的对象,包含x, y, z三个属性

返回值

类型描述
Array包含该片区域的方块对应的BlockObject的数组
Objectnull在检索方块时出现错误

组件列表

存档组件

存档的组件通过 getComponent() 方法获得,EntityObject 参数传入 server.level 或 client.level

加入版本:1.12.0.2

minecraft:ticking_areas

该组件包含当前世界中使用 /tickarea 指令定义的所有的常加载区域
属性
该组件的数据是所有常加载区域的key-value对
key 是常加载区域的名称
value 是其对应的LevelTickingAreaObject

加入版本:1.12.0.2

minecraft:weather

该组件包含当前世界的天气
属性

名称类型描述
do_weather_cycleBoolean是否进行天气轮换
rain_levelDecimal雨的级别,范围:0 ~ 1
rain_timeInteger雨水的持续时间(单位:tick)
lightning_levelDecimal闪电的级别,范围:0 ~ 1
lightning_timeInteger闪电的持续时间(单位:tick)

方块组件

方块的组件也通过getComponent()方法获得,EntityObject参数传入一个BlockObject

加入版本:1.12.0.2

minecraft:blockstate

该组件包含方块的所有状态,包括材质、方向等等
属性
不同的方块有不同的属性,请自己测试或等待作者收集属性表

服务端组件

加入版本:1.12.0.2

minecraft:armor_container

此组件表示一个实体的装甲栏的所有物品,物品顺序由上至下
注意:目前为止(1.12.0.2)装甲栏为只读模式,无法修改
属性
组件数据为一个包含了所有物品对应的ItemStackObject的数组

加入版本:1.9.0.3

minecraft:attack

实体的攻击伤害
属性

名称类型默认值描述
damageRange [a, b]近战攻击造成的伤害的范围,负值将会治愈实体
effect_nameString攻击附带的药水效果
effect_durationDecimal0.0药水效果的持续时间(单位:秒)

加入版本:1.9.0.3

minecraft:collision_box

实体的碰撞箱体积
属性

名称类型默认值描述
widthDecimal1.0宽度(单位:方块)
heightDecimal1.0高度(单位:方块)

加入版本:1.9.0.3

minecraft:damage_sensor

实体如何对指定类型的伤害作出反应
属性

名称类型默认值描述
on_damageList当受到指定类型的伤害时所要触发的事件的列表,允许为实体定义和事件指定过滤器
deals_damageBooleantrue是否对实体造成伤害
causeString指定类型的伤害

加入版本:1.9.0.3

minecraft:equipment

定义实体可持有的装备以定义实体的战利品列表
属性

名称类型默认值描述
tableString装备列表的JSON文件的路径,相对于行为包的根目录
slot_drop_chanceList可以从该物品栏中删除装备物品的物品栏列表

加入版本:1.9.0.3

minecraft:equippable

定义实体可装备的物品及数量
属性

名称类型默认值描述
accepted_itemsList可用的物品列表
interact_textString使用触控设备与其交互时显示的文本
itemString当实体装备物品时将触发的事件
on_equipString当实体装备物品时将触发的事件
on_unequipString当实体卸下物品时将触发的事件
slotInteger0物品栏的序号

加入版本:1.9.0.3

minecraft:explode

控制实体的爆炸方式及变量
属性

名称类型默认值描述
fuseLengthRange [a, b][0.0, 0.0]爆炸耗时的随机时间范围
powerDecimal3.0爆炸半径
maxResistanceDecimalfalse方块的最大抗爆阻力
fuseLitBooleanfalse是否已被点着
causesFireBooleanfalse是否引起火灾
breaks_blocksBooleantrue是否破坏方块
fireAffectedByGriefingBooleanfalsecausesFire是否受到游戏规则的影响
destroyAffectedByGriefingBooleanfalsebreaks_blocks是否受到游戏规则的影响

加入版本:1.12.0.2

minecraft:hand_container

此组件表示一个实体手上所持有的物品
注意:目前为止(1.12.0.2),手持物内容为只读模式。如果实体是玩家,则0对应左手,1对应右手

属性
组件数据为一个包含了所有物品对应的ItemStackObject的数组

加入版本:1.9.0.3

minecraft:healable

定义玩家如何治疗实体
属性

名称类型默认值描述
force_useBooleanfalse是否可以强制使用物品,无论实体是否已处于健康状态
filtersMinecraftFilter用于定义此触发器条件的过滤器组
itemsArray可用于治疗实体的物品的JSON数组 属性 名称 类型 默认值 描述 item String 物品的标识符 heal_amount Integer 1 治愈的生命值 filters Minecraft Filter 过滤器组,用于定义使用此物品修复实体的条件

加入版本:1.12.0.2

minecraft:hotbar_container

玩家的快捷物品栏所包含的所有物品,按照从左到右的顺序
注意:目前为止(1.12.0.2),快捷物品栏为只读模式
属性
组件数据为一个包含了所有物品对应的ItemStackObject的数组

加入版本:1.12.0.2

minecraft:health

定义实体当前和最大生命值。将组件应用回实体后,实体状态将发生改变,如果当前生命值小于等于0将会死亡
属性

名称类型默认值描述
valueInteger1当前生命值
maxInteger10最大生命值

加入版本:1.9.0.3

minecraft:interact

定义玩家与实体的交互方式
属性

名称类型默认值描述
spawn_entitiesArray发生交互时要生成的实体标识符的数组
on_interactString发生交互时要触发的事件标识符
particle_on_startJSON Object将在交互开始时触发的粒子效果 名称 类型 默认值 描述 particle_type String 将产生的粒子类型的标识符 particle_y_offset Decimal 0.0 y轴偏移 particle_offset_towards_interactor/td> Boolean false 粒子是否会更接近进行交互的人
cooldownDecimal0.0可再次与实体交互的冷却时间(单位:秒)
swingBooleanfalse如果为true,则玩家将在与此实体交互时执行“swing”动画
use_itemBooleanfalse如果为true,则交互将使用物品
hurt_itemInteger0与实体交互时,物品消耗的耐久度
interact_textString使用触摸屏设备时,交互按钮显示的文本(如上马、上船)
add_itemsJSON ObjectLoot table,其中包含成功交互后添加到玩家库存中的项目 名称 类型 默认值 描述 table String 战利品表文件路径,相对于行为包根目录
spawn_itemsJSON Object在成功交互时,物品会掉落在地面上 名称 类型 默认值 描述 table String 战利品表文件路径,相对于行为包根目录
transform_to_itemString使用的项目将在成功交互后转换为此项目。格式:itemName:auxValue
play_soundsArray交互发生时要播放的声音标识符的数组

加入版本:1.9.0.3

minecraft:inventory

定义实体的库存(类型、大小,限制等)。目前还不能更改库存内容。
属性

名称类型默认值描述
container_typeStringnone实体的库存的类型,可以是”horse”, ‘minecart_chest”, “minecart_hopper”, “inventory”, “container”, “hopper”其中之一
inventory_sizeInteger5物品栏数量
can_be_siphoned_fromBooleanfalse是否可以与漏斗交互
privateBooleanfalse是否只有实体可以访问
restrict_to_ownerBooleanfalse是否只能由其所有者或其自身访问
additional_slots_per_strengthInteger0每个额外强度,该实体可获得的物品栏数

加入版本:1.12.0.2

minecraft:inventory_container

此组件表示一个实体的仓库内容
注意:目前为止(1.12.0.2),仓库内容为只读模式。如果实体是玩家,则0~8对应快捷物品栏,9~16对应第一行物品栏,17~24对应第二行物品栏,25~32对应第三行物品栏

属性
组件数据为一个包含了所有物品对应的ItemStackObject的数组

加入版本:1.9.0.3

minecraft:lookat

使实体看向另一个实体
属性

名称类型默认值描述
filtersMinecraft Filterplayer该实体将会看向的实体
look_cooldownRange [a, b][0.0, 0.0]实体寻找目标的冷却时间范围
look_eventString当过滤器内的实体看向该实体时所触发的事件
mAllowInvulnerableBooleanfalse无敌的实体(例如,处于创造模式的玩家)是否可以被视为有效目标
searchRadiusDecimal10.0此实体看向另一个实体的最大距离
setTargetBoolean实体是否将攻击目标设置为看向他的实体

加入版本:1.9.0.3

minecraft:nameable

实体是否可被命名及显示方式
属性

名称类型默认值描述
nameString实体的当前名称
name_actionsJSON Object实体的特殊名称,以及被命名为特殊名称后触发的事件 名称 类型 描述 on_named String 当实体被命名为特殊名称时触发的事件 name_filter List 特殊名称列表
default_triggerString在实体被命名时触发的事件
alwaysShowBooleanfalse是否始终显示名称
allowNameTagRenamingBooleantrue是否可以使用命名牌重命名该实体

加入版本:1.9.0.3

minecraft:position

实体的坐标
属性

名称类型默认值描述
xDecimal0.0X轴(东西方向)位置
yDecimal0.0Y轴(高度)位置
zDecimal0.0Z轴(南北方向)位置

加入版本:1.9.0.3

minecraft:rotation

实体的头部和身体的旋转角度
属性

名称类型默认值描述
xDecimal0.0头部的垂直旋转角度
yDecimal0.0身体的水平旋转角度

加入版本:1.9.0.3

minecraft:shooter

定义实体的远程攻击,此组件并不允许实体使用远程攻击,它只用于定义实体射击的弹药类型
属性

名称类型默认值描述
defString用作远程攻击弹药的实体标识符,该实体必须具有能够作为弹药射击的弹药组件
auxValInteger-1要对命中实体应用的药水效果的数字ID

加入版本:1.9.0.3 最后改动版本:1.12.0.2

minecraft:spawn_entity

控制实体生成实体或物品的能力(如鸡下蛋的能力)
属性

名称类型默认值描述
should_leashBooleanfalse如果为true,被生成的实体将会绑定到其父级/跟随其的父母
num_to_spawnInteger1每次生成的实体数量
min_wait_timeInteger300生成实体或物品的最小冷却时间(单位:秒)
max_wait_timeInteger600生成实体或物品的最大冷却时间(单位:秒)
spawn_soundString“egg”生成实体或物品时要播放的声音的标识符
spawn_itemString“egg”要生成的物品的标识符
spawn_entityString要生成的实体的标识符
spawn_methodString“born”生成实体或物品的方法
spawn_eventString生成实体或物品时触发的事件
filtersMinecraft Filter如果存在,则指定实体仅在过滤器计算结果为true时才会生成
single_useBooleantrue如果为true,则此实体将只生成一次实体

加入版本:1.9.0.3 最后改动版本:1.12.0.2

minecraft:teleport

控制实体传送自身的能力(类似于末影人)
属性

名称类型默认值描述
darkTeleportChanceDecimal0.01实体在夜晚的传送几率(范围:0.0 ~ 1.0)
lightTeleportChanceDecimal0.01实体在白天的传送几率(范围:0.0 ~ 1.0)
maxRandomTeleportTimeDecimal20.0传送的冷却时间的最大值(单位:秒)
minRandomTeleportTimeDecimal0.0传送的冷却时间的最小值(单位:秒)
randomTeleportCubeVector [a, b, c][32.0, 16.0, 32.0]随机传送范围,实体将传送到此立方体区域内的任意位置
randomTeleportsBooleantrue如果为true,则实体将随机传送
targetDistanceDecimal16.0实体在追逐目标时传送的最大距离
target_teleport_chanceDecimal1.0实体的随机传送几率

客户端组件

加入版本:1.9.0.3

minecraft:molang

MoLang组件可以访问实体中的MoLang变量。要了解有关MoLang
varibles的更多信息,请查看附加文档。在脚本中,您可以获取和设置实体的JSON文件中定义的这些变量。由于MoLang变量的格式化(例如entity.isgrazing),您必须使用对象上的[]运算符来访问变量。

事件列表

客户端事件

可监听事件

加入版本:1.9.0.3

minecraft:client_entered_world

只要玩家加入世界,就会触发此事件
属性

名称类型描述
playerEntityObject玩家的 EntityObject 对象,一但玩家断开连接,该对象将会失效

加入版本:1.9.0.3

minecraft:hit_result_changed

当光标(十字准星、触控模式的圆圈中心)从指向一个方块或空气变为指向一个实体时,触发此事件。最多1000格距离
属性

名称类型描述
entityEntityObject指向的实体
positionVector [a, b, c]指向的实体的坐标

加入版本:1.9.0.3

minecraft:hit_result_continuous

每tick都会触发该事件,并告诉你光标(十字准星、触控模式的圆圈中心)指向的实体或方块,最大距离1000格
属性

名称类型描述
entityEntityObject指向的实体(如果存在)
positionVector [a, b, c]指向的实体或方块的坐标

加入版本:1.9.0.3

minecraft:pick_hit_result_changed

当鼠标指针(PC的鼠标指针、其他平台的虚拟指针)从指向一个实体变为指向一个方块或空气时,触发此事件,最大距离1000格
属性

名称类型描述
entityEntityObject指向的实体(如果存在)
positionVector [a, b, c]指向的实体的坐标

加入版本:1.9.0.3

minecraft:pick_hit_result_continuous

每tick都会触发该事件,并告诉你鼠标指针(PC的鼠标指针、其他平台的虚拟指针)指向的实体或方块,最大距离1000格
属性

名称类型描述
entityEntityObject指向的实体(如果存在)
positionVector [a, b, c]指向的实体或方块的坐标

可触发事件

加入版本:1.9.0.3

minecraft:display_chat_event

向运行该客户端脚本的玩家的聊天框发送一条消息
属性

名称类型描述
messageString要发送的消息

加入版本:1.9.0.3

minecraft:load_ui

向运行该客户端脚本的特定玩家显示UI界面,此事件将界面添加到UI堆栈的顶部,触发后UI将立即显示
属性

名称类型描述
pathStringHTML文件的路径,相对于资源包根目录
optionsJSON Object选项。你可以通过将其值设置为true或false来改变界面选项 名称 描述 always_accepts_input 如果为true,只要界面处于UI栈中,将始终接受并处理输入,即使有其他自定义UI显示在其上方 render_game_behind 如果为true,游戏将在界面下继续显示 absorbs_input 如果为true,输入将不会穿透到下方界面 is_showing_menu 如果为true,界面将会被视为暂停菜单,此时游戏的暂停菜单将不会显示在该界面的上方 should_steal_mouse 如果为true,该界面将捕获鼠标指针并限制其移动到该UI界面 force_render_below 如果为true,则即使另一个屏幕位于其上并且将在其上显示(包括HUD),也将显示此屏幕 render_only_when_topmost 如果为true,则仅当该界面处于UI栈顶时才会显示

加入版本:1.9.0.3 最后改动版本:1.12.0.2

minecraft:send_ui_event

将UI事件发送到运行该脚本的特定玩家的UI引擎。触发事件后,将立即发送该UI事件。
属性

名称类型描述
eventIdentifierStringUI事件的标识符
dataStringUI事件的数据

加入版本:1.9.0.3

minecraft:spawn_particle_attached_entity

在客户端创建跟随实体的粒子效果,仅当前客户端可见
属性

名称类型默认值描述
effectString粒子效果的标识符
entityObject要附加到的实体的对象
offsetVector [a, b, c][0, 0, 0]粒子效果相对于实体中心的偏移

加入版本:1.9.0.3

minecraft:spawn_particle_in_world

在客户端创建静态粒子效果,仅当前客户端可见。
属性

名称类型默认值描述
effectString粒子效果的标识符
offsetVector [a, b, c][0, 0, 0]粒子效果的坐标

加入版本:1.9.0.3 最后改动版本:1.12.0.2

minecraft:unload_ui

关闭UI,事件数据仅包含一个字符串,即UI的名字

加入版本:1.12.0.2

minecraft:script_logger_config

此事件用于为客户端脚本打开和关闭各种级别的日志记录。请注意,打开/关闭日志记录不仅限于广播事件的脚本,它将影响所有客户端脚本,包括应用于世界的其他行为包中的脚本。有关日志记录的详细信息,请参阅“调试”部分。
属性

名称类型默认值描述
log_errorsBooleanfalse是否记录error级别的日志
log_warningsBooleanfalse是否记录warning级别的日志
log_informationBooleanfalse是否记录information级别的日志

服务端事件

可监听事件

加入版本:1.12.0.2

minecraft:block_destruction_started

当玩家开始破坏一个方块时触发(创造模式直接破坏不会触发)
属性

名称类型描述
playerEntityObject正在破坏此方块的玩家
block_positionObject被破坏的方块的坐标,包含x, y, z三个属性

加入版本:1.12.0.2

minecraft:block_destruction_stopped

当玩家停止破坏一个方块时触发(创造模式直接破坏不会触发)
当方块被完全破坏时也会触发该方法,但destruction_progress为0。
1.12.0.2的bug: 当方块被破坏后鼠标指针指向空气方块时,会再次触发一次该方法,且触发于真数据之前,本次触发除player以外的属性都为脏数据(x=0,y=0,z=0,进度=0)
属性

名称类型描述
playerEntityObject停止破坏此方块的玩家
block_positionObject被破坏的方块的坐标,包含x, y, z三个属性
destruction_progressDecimal停止破坏此方块时,方块已经被破坏的进度,范围:0.0 ~ 1.0

加入版本:1.12.0.2

minecraft:entity_acquired_item

当实体获得物品时触发
属性

名称类型描述
entityEntityObject获得物品的实体
item_stackItemStackObject获得的物品
acquisition_methodString获得物品的方式 “picked_up” -> 捡起 “filled” -> 因装水获得水桶、因放置水桶获得桶 待补充…
acquired_amountInteger获得的物品数量
secondary_entityString影响该物品的实体。如玩家与村民完成交易(购买物品)时,entity是玩家,secondary_entity是村民

加入版本:1.12.0.2

minecraft:entity_carried_item_changed

当实体的手持物改变时触发(在两个空物品栏之间切换不会触发)
属性

名称类型描述
entityEntityObject改变了手持物的实体
previous_carried_itemItemStackObject上一个手持物
carried_itemItemStackObject当前手持物

加入版本:1.9.0.3

minecraft:entity_created

当玩家除外的实体加入到世界时触发此事件
属性

名称类型描述
entityEntityObject刚刚创建的实体

加入版本:1.9.0.3

minecraft:entity_death

实体正常死亡时会触发此事件,删除实体时不会触发此事件
属性

名称类型描述
entityEntityObject刚刚死亡的实体

加入版本:1.12.0.2

minecraft:entity_dropped_item

当实体丢出物品时会触发
属性

名称类型描述
entityEntityObject丢出物品的实体
item_stackItemStackObject丢出的物品

加入版本:1.12.0.2

minecraft:entity_equipped_armor

当实体的装甲栏装上/卸下了一个装备时触发
属性

名称类型描述
entityEntityObject装上/卸下装备的实体
item_stackItemStackObject被装备的物品。如果是被卸下的,则标识符为”minecraft:undefined”

加入版本:1.9.0.3

minecraft:entity_start_riding

当实体乘上另一个实体时触发此事件
属性

名称类型描述
entityEntityObject乘坐者
rideEntityObject被乘坐的实体

加入版本:1.9.0.3

minecraft:entity_stop_riding

当实体停止乘坐另一个实体时,触发此事件
属性

名称类型描述
entityEntityObject被乘坐的实体
exit_from_riderBoolean是否为乘坐者自行决定停止骑行的
entity_is_being_destroyedBoolean是否因为乘坐者死亡而停止骑行的
switching_ridesBoolean是否是因为乘坐者乘上了其他实体

加入版本:1.9.0.3

minecraft:entity_tick

每个实体每tick都会触发此事件,玩家实体除外
属性

名称类型描述
entityEntityObject触发此事件的实体

加入版本:1.12.0.2

minecraft:entity_use_item

当实体使用物品时触发
属性

名称类型描述
entityEntityObject使用物品的实体
item_stackItemStackObject将要被使用的物品
use_methodString使用物品的方式 “place” -> 放置。放置方块/怪物蛋等 “interact” -> 交互。使用骨粉等 “pour_bucket” -> 放置水桶、岩浆桶、鱼桶 “fill_bucket” -> 往桶装水/岩浆/鱼、往炼药锅装水 待补充…

加入版本:1.9.0.3

minecraft:player_attacked_entity

当玩家攻击实体时,触发此事件
属性

名称类型描述
playerEntityObject玩家
attacked_entityEntityObject被攻击的实体

加入版本:1.12.0.2

minecraft:player_destroyed_block

当玩家破坏了一个方块时触发(创造模式直接破坏不会触发)
属性

名称类型描述
playerEntityObject破坏该方块的玩家
block_positionObject被放置的方块的坐标,包含x, y, z三个属性
block_identifierString方块的标识符

加入版本:1.12.0.2

minecraft:piston_moved_block

当活塞移动方块时触发
属性

名称类型描述
piston_positionObject活塞主体(非活塞臂)的坐标
block_positionObject移动后的方块坐标
piston_actionString活塞移动方块的方式 “extended” -> 推动 “retracted” -> 拉回

加入版本:1.12.0.2

minecraft:play_sound

当播放了一段音效时会触发
属性

名称类型默认值描述
soundString声音的标识符
volumeDecimal1.0音量
pitchDecimal1.0音高
positionVector [a, b, c][0, 0, 0]播放声音的坐标

加入版本:1.12.0.2

minecraft:player_placed_block

当玩家放置一个方块时触发
属性

名称类型描述
playerEntityObject放置该方块的玩家
block_positionObject被放置的方块的坐标,包含x, y, z三个属性

加入版本:1.10.0.3

minecraft:weather_changed

当天气发生变化的时候触发
属性

名称类型描述
dimensionString天气发生变化的世界维度(主世界、末地、地狱等)
rainingBoolean新天气是否有雨
lightningBoolean新天气是否有闪电

可触发事件

加入版本:1.9.0.3

minecraft:display_chat_event

在服务端向所有玩家的聊天框发送一条消息
属性

名称类型默认值描述
messageString要发送的消息

加入版本:1.9.0.3

minecraft:execute_command

在服务端执行一条斜杠指令
属性

名称类型默认值描述
commandString要执行的指令(不带斜杠)

加入版本:1.12.0.2

minecraft:play_sound

播放一段音效
属性

名称类型默认值描述
soundString要播放的音效的标识符
volumeDecimal1.0音量
pitchDecimal1.0音高
positionVector [a, b, c][0, 0, 0]播放声音的坐标

加入版本:1.9.0.3

minecraft:spawn_particle_attached_entity

在服务端创建跟随实体的粒子效果,所有玩家都可见。
属性

名称类型默认值描述
effectString粒子效果的标识符
entityEntityObject要附加到的实体的对象
offsetVector [a, b, c][0, 0, 0]粒子效果相对于实体中心的偏移

加入版本:1.9.0.3

minecraft:spawn_particle_in_world

在服务端创建静态粒子效果,所有玩家都可见。
属性

名称类型默认值描述
effectString粒子效果的标识符
offsetVector [a, b, c][0, 0, 0]粒子效果的坐标

加入版本:1.12.0.2

minecraft:script_logger_config

此事件用于为服务器脚本打开和关闭各种级别的日志记录。请注意,打开/关闭日志记录不仅限于广播事件的脚本,它将影响所有服务器脚本,包括应用于世界的其他行为包中的脚本。有关日志记录的详细信息,请参阅“调试”部分。
属性

名称类型默认值描述
log_errorsBooleanfalse是否记录error级别的日志
log_warningsBooleanfalse是否记录warning级别的日志
log_informationBooleanfalse是否记录information级别的日志

发表评论

邮箱地址不会被公开。 必填项已用*标注