This commit is contained in:
boybook
2025-12-01 20:59:16 +08:00
parent 12738a142c
commit 760c2dd9ad
5535 changed files with 21070 additions and 2021 deletions

View File

@@ -0,0 +1,151 @@
---
front:
hard: 入门
time: 15分钟
---
# 开始配置玩法功能
在本节中,将会带领大家制作一个简单的实体并了解物品、方块的基本配置功能。
<iframe src="https://cc.163.com/act/m/daily/iframeplayer/?id=660a288c95446edbdc2ba1ae" width="800" height="600" allow="fullscreen"/>
## 实体
经过基础玩法教程的学习相信大家一定都对实体有了基础的认识。那么对于一个实体来说它的AI和行为表现是一个实体至关重要的接下来我们将会带领大家新建并配置一个简单的实体。
首先打开我的世界开发工作台后,新建一个空白附加包,然后进入编辑器。
在关卡编辑器内,点击新建按钮,在配置分类,找到实体,点击下一步。
![](./images/01.png)
在数据模板处,我们选择一个僵尸的模板,并将它命名为`custom_zombie`,作为示例进行讲解。
![](./images/02.png)
随后在右侧的属性面板,就可以看到这个新的自定义僵尸的各种属性。
![](./images/03.png)
我们大致翻阅一下这个自定义僵尸的所有属性可以看到一个实体在编辑器中有3个大分类的属性可以供我们进行配置它们分别是
- 基础属性
- 行为包组件
- 资源包组件
### 基础属性
基础属性可以看到我们的自定义实体的标识符此处是在编辑器中是无法进行修改的但是我们可以在游戏中使用summon命令搭配标识符召唤出我们配置的自定义僵尸的实体。
同时此处还可以配置游戏内名字,即它在游戏中显示的名称,例如下图中,我们将它改成`自定义僵尸`,那么如果在游戏中我们被这个僵尸击杀,死亡消息中就会显示 自定义僵尸。
自然生成和召唤生成后面的勾选框,代表了是否允许这个实体以这种方式被生成。将鼠标移动到属性的名字上,如果有注释内容,则会显示这个属性的注释,如下图所示。
> 可使用/summon生成
![](./images/04.png)
### 行为包组件
在这里需要引入一个概念,所有的我的世界基岩版的附加包,都分为行为包和资源包两个包体。行为包顾名思义就是定义了行为的包体,而资源包主要是图片、音频、模型等美术上的资源。
所以我们的行为包组件中,主要负责配置了这个实体在行为逻辑上的一些定义,比如这个僵尸是否会着火,血量是多少,攻击力是多少,攻击方式如何等等。
点击行为包组件这个大分类的右侧的`添加属性`按钮,即可选择并添加一些不在目前实体中的可用的行为属性。
![](./images/05.png)
在添加属性的弹出窗口中,可以清楚地看到特征英文名称,数据类型,中文名称,描述。我们可以在这里找到我们想要添加或删除的属性,并点击右下角的调整按钮,对实体行为进行调整。
> 细心的同学们可能发现了数据类型这个列
>
> 那么这里大多数的数据类型都是Dict是什么意思呢
>
> Dict是一个字典可以理解为一个映射代表这种配置项还有许多子参数可以设定。
>
> 数据类型还有很多,下面是一些基本的数据类型和它们通俗的解释,供参考
>
> | 数据类型 | 定义 |
> | :------: | :-----------------: |
> | Bool | 布尔值(真/假,是/否) |
> | Int | 整数(1,2,100) |
> | Float | 实数(3.1415,0.0001) |
> | Str | 文本(你好,我的世界) |
同时我们也可以在`Search...`窗口中,搜索关键词,例如搜索`在阳光下燃烧`
![](./images/41.png)
接下来我们可以尝试一下,通过修改行为,让这个僵尸在阳光下不燃烧。
![](./images/06.png)
找到在阳光下燃烧这个属性,鼠标悬停在这个字上,可以看到这个属性的具体含义。虽然他不支持编辑,但是我们可以将其删除,点击右边的垃圾桶图标,即可将这个属性删除。删除后我们进入游戏查看效果。
进入游戏后我们有两种方式生成出自定义的这个怪物一种是使用summon命令还有一种是使用刷怪蛋。
在编辑器中找到我们这个自定义实体的标识符,比如我这里是`afhui:custom_zombie`,就在游戏中输入`/summon afhui:custom_zombie`
![](./images/07.png)
可以看到我们的自定义僵尸成功被召唤,且不会在阳关下燃烧。
还可以使用刷怪蛋来生成这个生物。在创造物品栏的刷怪蛋分类中,找到包含实体标识符的刷怪蛋,像原版刷怪蛋一样使用即可。
(因为我们没有配置这个刷怪蛋的对应物品名,所以这里显示的物品名是一大串英文)
![](./images/08.png)
### 资源包组件
资源包组件定义了这个实体的模型和纹理,可以将实体的模型、纹理切换成我们自己想要的模型上。
## 物品
创建物品的大体步骤和实体一样。
点击新建按钮,在配置分类,找到物品,点击下一步。选择数据模板或者空模板,输入命名并进行创建。
![](./images/09.png)
例如这里可食用物品,然后输入名字,进行创建。
创建后物品的属性和实体的属性大体上同样分为基础属性、资源包组件、行为包组件。但是物品多了一个盔甲可穿戴属性,用来配置盔甲的动画、模型、纹理等功能。操作方式和实体基本一致。
在这里我们制作一个回复10点饱食度、拥有生命提升效果的加强苹果作为例子。
![](./images/10.png)
按照上图进行配置进入游戏后就可以找到我们的加强苹果在吃下后可以补充10点饥饿度并给予生命提升的药水效果。
## 方块
同样是在新建中点击配置分类,选择方块。这里我们可以选择自己想要的数据模板,输入名字进行创建。
例如我们可以创建一个发光方块作为演示。
![](./images/11.png)
在属性栏中,我们可以对这个自定义方块的各种属性进行设置。
![](./images/12.png)
决定这个方块会发光的属性就是它的亮度属性。
![](./images/13.png)
将鼠标移动到亮度这个标签上就可以看到相关说明。方块的亮度值可以在0-1之间取值。
那么不难猜出这个值越大,亮度越大。我们修改这个数值后进入游戏验证我们的猜测。
- 亮度0.1
![](./images/42.png)
- 亮度1.0
![](./images/43.png)
在学习了实体、物品、方块的配置方法后,相信大家都可以看出来编辑器的使用对各种游戏玩法的编辑都是大同小异,只需要对游戏有一定的了解,就可以轻松地添加游戏内容 。

View File

@@ -0,0 +1,76 @@
# 功能玩法课后作业
在学习了实体编辑的基本功能之后,我们来尝试做一个新的流浪商人,具有自我保护的能力!
## 创建实体
首先新建一个空的实体,并给它命名,这里我们起名叫`merchant`,使用流浪商人的实体模板。
![](./images/44.png)
创建完成后,我们就创建了一个和原版行为一模一样的流浪商人。
## 删除原版逻辑
因为不再需要原版的逻辑,所以我们需要在行为包组件组中,删除所有的组件组:[0] [1] [2]。
![](./images/48.png)
并删除所有的事件:[0] [1] [2] [3]
![](./images/49.png)
修改游戏内名字,方便和原版流浪商人作出区分
![](./images/47.png)
接下来我们可以删除交易(暂时不需要这个功能)、避开生物(躲避和主动攻击敌对生物冲突)相关的行为包组件,只保留最基础的行为包组件方便我们后续的编辑。实际操作时,不必和下图完全一样,可根据自己的想法自行增改。
![](./images/45.png)
## 配置攻击能力
接下来,我们为其添加近战攻击的能力,和攻击力。
![](./images/46.png)
但是这样配置,它并不会进行自我保护,所以我们还需要添加一个`行为.追赶最近目标`的行为并按照图片进行配置。其中实体类型编辑器暂不支持编辑我们需要手动打开json进行编辑。
![](./images/17.png)
我们在配置文件栏中找到行为包Json点击打开文件`entity_types`这一项改为下方的内容。
> 这段实体类型的意思是选择所有 实体种族 为 monster 的实体
>
> 在这里我们只做了解,想要学习具体语法可以参考[基岩版Wiki](https://bedrock.dev/zh/docs/stable/Entities#Filters)或者原版文件
>
> 原版文件可以在`MCStudioDownload\game\MinecraftPE_Netease\版本\data\`文件中找到
>
> MCStudioDownload文件夹在电脑上某个硬盘的根目录内可自行查找。
```
"entity_types": [
{
"filters": {
"all_of": [
{
"test": "is_family",
"subject": "other",
"value": "monster"
}
]
},
"within_default": 10
}
],
```
修改后的json文件是这样的
![](./images/16.png)
接下来保存后,点击运行进入游戏,进行测试。
![](./images/19.png)
可以看到,我们放出的流浪商人,已经可以主动攻击所有敌对生物了。

View File

@@ -0,0 +1,96 @@
---
front:
hard: 入门
time: 10分钟
---
# 开始配置经济功能
本章中,将介绍如何配置游戏的经济功能——配方、交易、战利品表。
<iframe src="https://cc.163.com/act/m/daily/iframeplayer/?id=6328633de6c041f2578ca7e8" width="800" height="600" allow="fullscreen"/>
## 配方
配方的创建非常简单,在新建中找到配置,配方,选择模板后即可创建。
配方有3种类分别是有序合成、无序合成、熔炉配方。它们各有不同的用途。
### 有序合成
有序合成即在合成栏中,用指定材料,摆出指定形状的合成配方。
例如箱子的合成需要8个木板围成一圈。
![](./images/20.png)
例如这样就是一个自定义的合成鞍的配方需要3个皮革摆到一排进行合成。
### 无序合成
无序合成指不规定摆放顺序、只要求指定材料的合成。
例如原版中书的合成只需要3个纸和一个皮革而不考虑他们的排列方式。
![](./images/21.png)
例如这里可以指定一个皮马铠和1个铁锭合成1个铁马铠不考虑他们在工作台中的摆放方式。
同时适用方块还可以选择制图台、切石机,指定了这个配方可以在哪些方块上生效。
### 熔炉配方
熔炉配方指通过烧制来合成的配方。
例如原版中的原木被烧制后变成木炭。
![](./images/22.png)
例如这里配置了一个使用熔炉烧制腐肉变成皮革的配方。
适用方块用法和无序合成同理。比如我们这里只选择了熔炉,那么这个配方就不能在烟熏炉、高炉和营火中生效。
## 交易
交易是我的世界中一个非常有意思的玩法,下面我们来看一下如何自定义一个交易表。
同样是在新建->配置,找到交易表。
选择模板`ne_simple_template`,来创建一个简单的交易表模板。
![](./images/23.png)
在这里我们可以很清晰地看到,这个交易表的商品和抵换物品是什么。
接下来我们尝试修改一下交易将交易改成2-5个铁锭兑换1-2个钻石。
![](./images/24.png)
修改完成后效果如图。交易需要配置到一个实体上来进行,这里我们先暂时略过。
在本节的课后作业中,会带领大家配置这个交易到我们上一节创建的自定义流浪商人身上。
同时,在交易随机池的后面还有一个添加按钮,点击后就可以新增一个交易列表,我们可以对其设置经验。
来实现达到多少交易经验值,来解锁新的交易项目的功能。
## 掉落表
掉落表是指在击杀某个实体/破坏某个方块时,可以配置的掉落物列表。
在新建->配置,找到掉落表。
选择模板`ne_simple_template`,来创建一个简单的掉落表模板。
![](./images/25.png)
这样的一个掉落池会在随机池中随机根据权重抽取物品抽取1次然后生成掉落物。
我们可以试着修改一下掉落池将其改成必掉一个绿宝石有可能掉落萤石或红石随机次数2次。
![](./images/26.png)
不难理解,掉落池中每个项目,都会进行一次随机。而掉落池中的单个项目,会对其随机池进行指定次数的随机,来决定掉落物。
> 概率计算公式:单个概率=随机权重/权重和
>
> 例如现在的红石和萤石掉落概率都为50%

View File

@@ -0,0 +1,38 @@
---
front:
hard: 入门
time: 5分钟
---
## 经济功能课后作业
刚刚学习完如何配置交易表和掉落表,现在我们尝试把它们加到我们的自定义流浪商人上吧!
在左侧的配置栏中,找到之前配置的会自我保护的商人。
![](./images/27.png)
选中后右侧属性面板就会显示这个商人的属性。
在右侧行为包组件中,添加一个`经济交易表`属性,来让这个实体可以交易。
并按照下方方式,配置这个交易。
![](./images/28.png)
表选择我们之前创建的交易表,显示名称可以自己发挥。
随后我们配置掉落物。新建一个`掉落物`属性,并添加一个表的属性,选择之前创建的掉落表。
![](./images/29.png)
完成配置后,点击保存,进入游戏测试。
![](./images/30.png)
右键点击商人,可以看到交易正常工作。
击杀商人,可以看到必掉绿宝石,红石和萤石是随机的。
![](./images/31.png)
这时候就是两次随机都抽到了红石的情况。

View File

@@ -0,0 +1,63 @@
---
front:
hard: 入门
time: 10分钟
---
# 开始配置群系功能
在本节中会主要介绍生成规则、特征、特征规则的配置和使用。
<iframe src="https://cc.163.com/act/m/daily/iframeplayer/?id=632863afe6c041f2578ca7ea" width="800" height="600" allow="fullscreen"/>
## 生成规则
生成规则主要用来配置实体的刷新规则。在原版中,僵尸等生物的自然刷新就是利用生成规则来实现的。
我们打开编辑器,新建一个生成规则,创建一个自定义僵尸的生成规则。还是在新建->配置->生成规则中进行创建,并命名。并按照下图配置。
![](./images/32.png)
> 一些配置的解释:
>
> 名字:没有特殊要求,仅用来区分不同的规则文件
>
> 生物:要生成的生物
>
> 光照要求限制生物在什么光照要求下生成例如我们这里设置僵尸在0-7的亮度下可以生成
>
> 总量控制类型:按照我们的实体的定位进行选择,游戏中有相关对各种类型实体总量的控制
>
> 生成权重:用来控制生物的生成概率,数字越大,生成概率越大
>
> 其他配置可以根据需要,自己移动鼠标到标题上查看具体解释。
## 特征
特征又称地物。表示一系列方块在地图生成时的单个的产生规则。与其一起使用的还有特征规则。
我们举一个钻石矿石在游戏中的生成规则,来说明特征和特征规则之间的联系。
钻石矿石大家都知道是在地下13层以下开始刷新的。并且通常以1-8个之间的矿簇进行生成。
那么我们就可以使用特征来表示1-8个钻石矿石的矿簇使用特征规则来表示钻石矿石生成在地下13层以下。
那么建筑的生成也是如此,我们使用编辑器,点击新建,配置,特征,命名并创建。
![](./images/33.png)
可以看到有一个选择框,可以选择要生成的结构,即一个方块建筑。
此处的结构我们会留到课后作业中,制作一个流浪商人小屋,再进行配置。
## 特征规则
特征规则用来设置特征将在什么地方,什么时候进行生成。
编辑器中,新建,配置,特征生成,命名并创建,**注意文件名必须全部小写**。
![](./images/34.png)
我们在属性窗口中点击特征的选择框,选择之前创建的特征,随后调整一下单区块特征数量,防止生成数量过多。
其他配置保持默认,感兴趣的同学可以将鼠标移动到它们的名字上查看对应解释,并自由进行配置。

View File

@@ -0,0 +1,45 @@
---
front:
hard: 入门
time: 5分钟
---
# 群系功能课后作业
本次课后作业,要求如下:
- 为新流浪商人配置新的生成规则
- 使用地图编辑器制作小屋,并保存成结构,使用特征规则随机生成在世界上
## 流浪商人的生成规则
像之前教程中一样创建一个新的生成规则,然后配置选择生物为我们在 [玩法功能课后作业](./1-玩法功能课后作业.html) 中配置的自定义实体。
![](./images/35.png)
配置如图所示将总量控制类型改为动物生成权重调为500这样方便我们后续验证。
## 流浪商人小屋
我们使用地图编辑器,在素材库的内置素材中,选择,并放置一个小屋。
![](./images/36.png)
然后使用选取工具,将小屋框选出来,然后点击保存为结构。
![](./images/37.png)
![](./images/38.png)
随后给它命名,进行保存。
接下来我们回到关卡编辑器,在左侧配置栏中,找到之前创建的特征。
![](./images/39.png)
然后将它的结构选择刚刚保存的这个小屋的结构。
最后点击保存,配置完成。我们可以进入游戏验证一下。
![](./images/40.png)
可以看到房子成功生成在了游戏中,但是现在生成概率仍然偏高,感兴趣的学员可以自行调整,找到一个合适的值。