实体

From Minecraft基岩版开发Wiki

实体(Entity)包括在Minecraft中所有动态的、移动中的对象。

行为[edit]

所有实体都有以下性质:

  • 具有速度、位置和旋转角度。(以经典力学为依据)
  • 占有特定的空间大小。此空间是一个固定长宽高的三维长方体(实体不偏斜时,俯视图为正方形)。
  • 当前的生命值(除了方块实体、物品、弹射物(包括药水)、区域效果云和经验球)。
  • 当着时,生命值逐渐减少,实体显示出被火焰包围的样子。
  • 状态效果,主要由药水产生。

一部分实体能被流推动。包括玩家、生物、船、物品、点燃的TNT、经验球等。一些实体能够命名牌将其重命名。

实体不能穿过固体方块。大多数实体会占用所在的空间,阻止方块的放置,除了掉落物和经验球会自动让出占用的空间。若实体确实与固体方块处在同一位置,如被掉落的沙子掩埋或被活动的卡在一起。

实体会根据所在位置的亮度等级被照亮。例如,如果矿车斜着撞进一个固体方块中,就会变成黑色(固体方块的亮度永远是0);射出的有时候也会呈现黑色(尤其是几乎水平地卡在了天花板上时)。

相关组件[edit]

实体客户端文档[edit]

描述

名称 描述
identifier 实体(材质,纹理,模型等)的标识符。行为包中的实体行为json中对应的标识符为实体提供了行为。
min_engine_version 该实体可以被运行的最低游戏版本
materials 待补充
textures 该实体的纹理

示例:

         "textures": {
            "default": "textures/feibiao/iron_feibiao"
//后面是textures文件夹中路径
         }
animations 待补充
animation_controllers 待补充
scripts 待补充

示例:

"scripts": {
  "pre_animation": [
    "variable.ZRot = !query.is_in_water ? Math.cos((query.time_stamp + global.frame_alpha) * 14.32) * 90 : 0.0;",
    "variable.AnimationAmountBlend = Math.lerp(variable.AnimationAmountPrev, variable.AnimationAmount, global.frame_alpha);"
  ]
},

待补充

示例:

"scripts": {
  "scale": "0.35"
},
particle 待补充
render_controllers 该实体的渲染控制器

示例:

  "render_controllers": [
         "controller.render.translucence"
//填render_controllers文件夹中定义的
]


locators 待补充

示例:

"locators": {
  "lead": { "head": [ 0.0, 14.0, -6.0 ] }
}
enable_attachables 待补充

示例:

"enable_attachables": true
spawn_egg 待补充

16进制刷怪蛋示例:

"spawn_egg": {
  "base_color": "#53443E",
  "overlay_color": "#2E6854"

待补充

指定纹理刷怪蛋示例:

"spawn_egg": {
  "texture": "spawn_egg", 
  "texture_index": 2
}

实体服务端文档[edit]

AI

名称 描述
待补充 待补充

特性

名称 描述
待补充 待补充

内置事件

名称 描述
待补充 待补充

组件

名称 描述
minecraft:addrider 给该实体添加骑手,需要minecraft:rideable组件。
minecraft:admire_item 使生物在指定时间内无视攻击目标。
minecraft:ageable 添加一个用于实体成长的计时器。
minecraft:ambient_sound_interval 设置实体播放环境音效的延迟。
minecraft:angry 使用计时器定义该实体的“愤怒”状态。
minecraft:annotation.break_door 若旗标是为组件在寻路AI中使用而设置的,则允许活动对象破坏门。
minecraft:annotation.open_door 若旗标是为组件在寻路AI中使用而设置的,则允许活动对象打开门。
minecraft:area_attack 当实体进入范围时,造成伤害的组件。
minecraft:attack 定义一个实体的近战攻击和附加效果。
minecraft:attack_cooldown 为生物增加冷却时间,这个冷却时间的目的是用来防止实体试图获取新的攻击目标。
minecraft:barter 使组件能够将物品进行交换。
minecraft:block_sensor 当方块列表中的方块在传感器范围内被破坏时触发指定的事件。
minecraft:boostable 定义可骑乘实体提升的条件和行为。
minecraft:boss 使生物拥有boss血条。
minecraft:break_blocks 指定该实体在移动时可以破坏的方块。
minecraft:breathable 定义该实体可以呼吸的方块并给予它们窒息的能力。
minecraft:breedable 定义实体进入“发情”状态的方式。
minecraft:bribeable 定义实体进入“被诱骗”状态的方式。
minecraft:buoyant 使实体在指定的液体方块上漂浮。
minecraft:burns_in_daylight 使实体在阳光下自燃。
minecraft:can_climb 允许该实体攀爬。
minecraft:can_fly 设置实体为能够飞行,寻路时不会被限制在其路径下方需要固体方块。
minecraft:can_power_jump 允许实体像马那样进行蓄力跳跃。
待补充 待补充

实体定义属性

名称 描述
待补充 待补充

实体描述属性

名称 描述
待补充 待补充

触发器

名称 描述
待补充 待补充

生成规则[edit]

待补充

组件

名称 描述
待补充 待补充

过滤器[edit]

名称 描述
待补充 待补充

相关文件[edit]

以下附加包内路径的文件与实体有关。

文件路径 描述 文件类别
/animation_controllers/ 动画控制器JSON文件的存储位置。 资源包文件
/animations/ 动画JSON文件的存储位置。 资源包文件
/attachables/ 附着物JSON文件的存储位置。 资源包文件
/entitis/ 实体行为定义JSON文件的存储位置。 行为包文件
/entity/ 实体材质资源定义JSON文件的存储位置。 资源包文件
/loot_tables/entities/

或 /loot_tables/gameplay/entities/ 或 /loot_tables/gameplay/fishing/

战利品JSON文件的存储位置。(注:钓鱼竿甩出的鱼钩属于实体) 行为包文件
/models/entity/

或 /models/entity/mobs.json

几何模型JSON文件的存储位置。 资源包文件
/particles/ 粒子JSON文件的存储位置。 资源包文件
/render_controllers/ 渲染控制器JSON文件的存储位置。 资源包文件
/scripts/ JS文件的存储位置。 行为包文件
/sounds/ 声音JSON文件和音频文件的存储位置。 资源包文件
/spawn_rules/ 实体生成规则的JSON文件的存储位置。 行为包文件
/texts/ 语言文件的存储位置。 资源包文件
/textures/entity/ 材质贴图JSON文件和贴图的存储位置。 资源包文件
/trading/ 实体交易列表JSON文件的存储位置。 行为包文件

种类列表[edit]

种类 是否固体 掉落物 生命值 碰撞箱(宽×高) 内部ID 网络ID

特性[edit]

特性 描述

伤害来源[edit]

伤害来源 描述

存储格式[edit]

存档格式/实体

Template:Entities