开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[BE教程] 基岩版实体json基础结构教程(入门必看)

 发表于 2022-10-14 22:17:21|显示全部楼层|阅读模式 IP:福建省
本帖最后由 不道 于 2022-10-14 22:23 编辑

好的,因为一部分新手开发者不清楚这些结构,那么这次就简要讲下,方便新手能对实体文件结构有个总体认识以及更好的拆包
ps:本教程新手向,并且是行为包实体文件教程




首先我们要认识实体文件结构的组成部分,可大体分三个部分:组件组,组件,事件
这三个部分可以在description部分(也就是最上面的那个)结束后找到


组件(components)


组件的功能很简单,就是定义这个实体的初始数值,举个例子,在组件部分下添加minecraft:health组件,并且定义它的值为30,那么这个实体从被生成开始它的生命值就永远是30(触非在特殊事件下被组件组再定义生命值),当然,你如果听不懂,记住组件部分的作用就是定义这个实体自带的属性就行


事件(events)


事件的功能相当于一个中转站一样的,就是组件部分里某个组件检测实体在某状态下(比如minecraft:damage_sensor组件的检测伤害来源与类型)触发了某事件,对应事件再添加(add)或者删除(remove)某组件组,使实体失去或得到这个组件组里的所有组件,当然,事件也可以触发原版指令(子组件run_command)和随机事件(子组件randomize),这里不细讲


组件组(component_groups)

组件组的功能相当于实体的备用组件,它在一般情况下不会被实体调用,也就是说在组件组里写的组件一般情况下没用,只有检测实体处于某状态后触发事件才会触发组件组,组件组里是写正常组件的(像minecraft:health这种的),当事件组件组被触发时会给实体添加或删除某组件组(比如用minecraft:damage_sensor组件检测掉落伤害后触发事件再触发组件组,把实体的生命值改成30这样的),若组件组里有和components里重复的组件,会默认以组件组内的组件替换






能听懂最好,不能听懂但仍想自己做add的可以多看几遍
苦力怕论坛,感谢有您~
 发表于 2022-10-15 13:30:45 来自手机|显示全部楼层 IP:广东省
我有个问题  怎么让生物的某些部位会发光?
2#2022-10-15 13:30:45回复收起回复
苦力怕论坛,感谢有您~
 楼主|  发表于 2022-10-15 13:49:42|显示全部楼层 IP:福建省
慕青Good 发表于 2022-10-15 13:30
我有个问题  怎么让生物的某些部位会发光?

要改渲染控制器,,而且你这个问题与这个教程无关
3#2022-10-15 13:49:42回复收起回复
苦力怕论坛,感谢有您~
 发表于 2022-11-29 13:01:37|显示全部楼层 IP:湖北省
慕青Good 发表于 2022-10-15 13:30
我有个问题  怎么让生物的某些部位会发光?

实体materialsentity_emissive_alpha,贴图透明度越高发光越强烈
4#2022-11-29 13:01:37回复收起回复
苦力怕论坛,感谢有您~

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-11-24 13:56

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3