同步官网文档8m_25d
This commit is contained in:
0
mconline/10-addon教程/第12章:更完善的自定义掉落物/README.md
Normal file
0
mconline/10-addon教程/第12章:更完善的自定义掉落物/README.md
Normal file
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/2_1.jpg
Normal file
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/2_1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 243 KiB |
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/3_1.jpg
Normal file
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/3_1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 224 KiB |
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/4_1.jpg
Normal file
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/4_1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 243 KiB |
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/5_1.jpg
Normal file
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/5_1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 137 KiB |
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/6_1.jpg
Normal file
BIN
mconline/10-addon教程/第12章:更完善的自定义掉落物/images/6_1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 220 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
23
mconline/10-addon教程/第12章:更完善的自定义掉落物/课程01.更完善的自定义掉落物.md
Normal file
23
mconline/10-addon教程/第12章:更完善的自定义掉落物/课程01.更完善的自定义掉落物.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
front:
|
||||
hard: 进阶
|
||||
time: 5分钟
|
||||
---
|
||||
|
||||
# 更完善的自定义掉落物
|
||||
|
||||
|
||||
|
||||
#### 作者:境界
|
||||
|
||||
|
||||
|
||||
自定义掉落物不仅仅能掉落生物相关物品,在合理的配置与想象力的发挥下,开发者可以利用掉落物池、掉落物功能、掉落物条件、特殊的掉落物入口等方法实现多样的战利品系统。。本章将逐一拆解每个方法的细节。
|
||||
|
||||
|
||||
|
||||
#### 以下是自定义掉落物时,需要注意的几个点:
|
||||
|
||||
- 崩溃:当掉落物配置文件中带有错误的语法时,一旦在生成带有装备的生物、击杀生物、破坏自定义方块、打开被改动了战利品的奖励箱、钓鱼、与生物交互产生该文件的掉落物时,游戏会立即崩溃并且不提供任何错误提示。
|
||||
- 装备战利品:只有原版的鞘翅、头盔、铠甲、护腿、鞋子、掠夺者旗帜可以被生物装备;无法设置生物装备生物头颅、自定义装备、雕刻过的南瓜;可以被玩家副手手持的物品例如:盾牌等,也可以被生物通过装备战利品副手持有。
|
||||
- 附魔:设定掉落物附魔时,无法给予没有附魔能力的道具附魔。
|
||||
65
mconline/10-addon教程/第12章:更完善的自定义掉落物/课程02.战利品池.md
Normal file
65
mconline/10-addon教程/第12章:更完善的自定义掉落物/课程02.战利品池.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/2_1.eeeb242d.jpg
|
||||
hard: 进阶
|
||||
time: 15分钟
|
||||
---
|
||||
|
||||
# 战利品池
|
||||
|
||||
|
||||
|
||||
#### 作者:境界
|
||||
|
||||
|
||||
|
||||
我们以原版僵尸的战利品池(pools)为例,它与其他生物的战利品配置不同的是,在战利品池中一共有两种组合。
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
#### rolls
|
||||
|
||||
rolls可以理解为投掷骰子的次数,它接受整型数值和包含最小次数和最大次数的随机区间,因此当次数等于1时,可以从战利品入口处筛选一次战利品。若大于1次时,可以筛选多次战利品。而当写成区间对象时,则会在最小次数和最大次数之间取一个数值,来筛选几次战利品。
|
||||
|
||||
|
||||
|
||||
#### type
|
||||
|
||||
type一共有三种参数,item代表战利品为物品,empty代表战利品为空,loot_table则会将该战利品指向其他战利品配置文件中。
|
||||
|
||||
当type为item时,可以通过name指定物品名称,格式为命名空间:标识符。weight是权重的意思。
|
||||
|
||||
当type为loot_tables时,可以通过name指定战利品文件路径,路径名一般以loot_tables开头。weight是权重的意思。
|
||||
|
||||
当入口存在多个战利品时,权重越高的越容易中到。name在类型为empty下无效。
|
||||
|
||||
|
||||
|
||||
在每个战利品中依旧可以开启一个战利品池,当战利品配置表被游戏触发时,会依次从最头部的战利品池内筛选出一个战利品,紧接着若在战利品内还有一个战利品池,则会继续筛选下去。这种方法会在需要玩家生成某件物品时,若还要再生成另一件物品时会非常好用。
|
||||
|
||||
|
||||
|
||||
如果战利品池里有两次以上的筛选组合,在没有加入条件前,全部会根据rolls的数值执行次数。若在筛选组合内加入条件,则必须满足条件后才可以筛选其中的战利品。
|
||||
|
||||
### 补充内容:
|
||||
我的世界中国版自2.1版本增加玩家的幸运属性,因此战利品表也同步支持quality和bonus_rolls两个字段,如下图所示。
|
||||
>此部分内容不在原版僵尸的战利品表内,需要开发者自行配置战利品表实现
|
||||
|
||||

|
||||
|
||||
luck:幸运值属性,与Java版的幸运值类似,属于玩家属性的一种,能够配合战利品表的quality和bonus_rolls字段改变战利品池的投掷次数和每个物品的抽取权重,最终实现幸运值越高,掉落物品更丰富和宝贵的效果。
|
||||
|
||||
quality:配合幸运值属性增加此物品的权重,值只能为整数,可以为负数,计算公式如下
|
||||
|
||||
weight = weight + luck*quality
|
||||
|
||||
bonus_rolls:配合幸运值属性增加战利品投掷的次数,值可为浮点数,可以为负数,等同于在rolls的次数基础上增加额外的抽取次数。计算公式如下:
|
||||
|
||||
最终投掷次数=rolls+luck*bonus_rolls(结果向下取整,若最终投掷次数≤0则不掉落)
|
||||
|
||||
>注意事项1:幸运属性的影响范围仅限被玩家击杀的生物和钓鱼的战利品表(掉落表),暂不支持自然生成的容器(箱子),破坏方块的掉落物,猪灵的以物易物的战利品表。
|
||||
|
||||
>注意事项2:钓鱼时的战利品还可以被海之眷顾的附魔效果影响,但是这并不会提升玩家的幸运值属性
|
||||
|
||||
>注意事项3:掠夺附魔效果额外得到的数量会受最终投掷次数影响而成倍增长,例如:受幸运值影响最终投掷次数为3,则掠夺附魔效果会额外得到的数量基准为3,附魔等级每增加一级,将额外得到3个物品,因此请避免将bonus_rolls值设置过大。
|
||||
252
mconline/10-addon教程/第12章:更完善的自定义掉落物/课程03.战利品功能.md
Normal file
252
mconline/10-addon教程/第12章:更完善的自定义掉落物/课程03.战利品功能.md
Normal file
@@ -0,0 +1,252 @@
|
||||
---
|
||||
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/3_1.ea877fdd.jpg
|
||||
hard: 进阶
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 战利品功能
|
||||
|
||||
|
||||
|
||||
#### 作者:境界
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
战利品功能可以赋予战利品更加强大的能力,以僵尸正常掉落战利品的情况为例,functions内定义了两个功能:set_count和looting_enchant,前者是设置掉落腐肉时的数量,后者是被抢夺附魔赋予的额外数量。min是最小值,而max是最大值,数量会在这区间内随机产生。
|
||||
|
||||
|
||||
|
||||
除此之外,原版还有非常多的功能以供选择。
|
||||
|
||||
|
||||
|
||||
#### 与附魔相关的有:
|
||||
|
||||
enchant_with_levels:通过附魔等级给予附魔。可以设置为附魔等级设置固定数值或随机区间。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "enchant_with_levels", //功能名称
|
||||
"treasure": false, //若为真,则赋予稀有的附魔
|
||||
"levels": 1 //附魔等级
|
||||
}
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "enchant_with_levels", //功能名称
|
||||
"treasure": false,//若为真,则赋予稀有的附魔
|
||||
"levels": {"min":1, "max": 2}//附魔等级
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
enchant_randomly:随机附魔。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "enchant_randomly",//功能名称
|
||||
"treasure": false,//若为真,则赋予稀有的附魔
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
enchant_random_gear:给予随机的护甲附魔。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "enchant_random_gear", //功能名称
|
||||
"chance": 0 //概率,0.0~1.0区间,1.0=100%
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
specific_enchants:指定附魔和等级(等级可以超过原版上限,但游戏内只会显示原版的最高等级)。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "specific_enchants",
|
||||
"enchants": [
|
||||
{
|
||||
"id": "aqua_affinity",
|
||||
"level": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 与物品相关的有:
|
||||
|
||||
set_data://指定物品附加值,如羊毛附加值15为黑色羊毛。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "set_data",
|
||||
"data": 15
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
set_damage:指定物品百分比耐久度,1=100%的剩余耐久度,0为没有剩余耐久度,取值在0.0~1.0之间。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "set_damage",
|
||||
"damage": 1
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
set_data_from_color_index:根据minecraft:color行为设置对应的附加值,原版使用minecraft:color行为的生物有羊,因此会根据羊的羊毛颜色掉落对应的羊毛。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "set_data_from_color_index"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
random_aux_value:会给予一个非方块物品随机的附加值。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "random_aux_value",
|
||||
"values": {
|
||||
"min": 2,
|
||||
"max": 9
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
set_book_contents:会给予一本写好的书书名、作者、以及书本内容。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "set_book_contents",
|
||||
"title": "1",
|
||||
"author": "1",
|
||||
"pages": [
|
||||
"1111",
|
||||
"2222"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
fill_container:会掉落或者给予一个箱子方块、发射器方块、漏斗方块一个自定义的战利品配置表。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "fill_container",
|
||||
"loot_table": "loot_tables/table.json"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
furnace_smelt:会掉落一个带有熔炉配方的道具的配方结果,如牛肉变烤牛肉;条件目前只有on_fire着火和on_ground着地两种。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "furnace_smelt",
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "entity_properties",
|
||||
"entity": "this",
|
||||
"properties": {
|
||||
"on_fire": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
set_banner_details:设置旗帜的细节。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "set_banner_details",
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "entity_properties",
|
||||
"type": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
exploration_map:设置地图变为探险家地图,其中destination的目标值为原版/locate指令的参数,包括 "monument", "mansion", "village", "stronghold", "temple", "ruins", "shipwreck", "pillageroutpost", "buriedtreasure", "mineshaft", "endcity", "fortress", "ruinedportal", "bastionremnant"。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "exploration_map",
|
||||
"destination": "monument"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
random_block_state:随机选取一个block state值,当设置的物品为方块物品且含有该值的话,如 "coral_color", "flower_type", "sapling_type",更多blockstate请参考[官方文档](https://learn.microsoft.com/en-us/minecraft/creator/reference/content/blockreference/examples/intrinsicblockstateslist?view=minecraft-bedrock-stable)。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "random_block_state",
|
||||
"values": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
set_lore:设置物品词缀。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "set_lore",
|
||||
"lore": [ "111" ]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
set_name:设置物品名称。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "set_name",
|
||||
"name": "design"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
set_actor_id:设置生物蛋物品的生物ID,会掉落该生物的生物蛋。
|
||||
|
||||
```json
|
||||
{
|
||||
"function": "set_actor_id",
|
||||
"id": "minecraft:zombie"
|
||||
}
|
||||
```
|
||||
|
||||
61
mconline/10-addon教程/第12章:更完善的自定义掉落物/课程04.战利品条件.md
Normal file
61
mconline/10-addon教程/第12章:更完善的自定义掉落物/课程04.战利品条件.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/3_1.ea877fdd.jpg
|
||||
hard: 进阶
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 战利品条件
|
||||
|
||||
|
||||
|
||||
#### 作者:境界
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
当开发者希望筛选组合必须满足条件时才会掉落战利品,可以使用战利品条件功能。
|
||||
|
||||
```json
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "has_mark_variant",//当该生物的minecraft:mark_variant值为几时,条件通过,可以筛选
|
||||
"value": 1
|
||||
},
|
||||
{
|
||||
"condition": "entity_properties",//当该生物因着火或者落地而被击败时
|
||||
"value": {
|
||||
"on_ground": false,
|
||||
"on_fire": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "killed_by_player",//当该生物是被玩家击败的
|
||||
},
|
||||
{
|
||||
"condition": "killed_by_player_or_pets",//当该生物是被玩家或玩家的宠物击败的
|
||||
},
|
||||
{
|
||||
"condition": "random_chance_with_looting",//当随机值满足时,且掠夺附魔会增加随机概率,取值范围在0.0~1.0
|
||||
"chance": 0.0,
|
||||
"looting_multiplier": 0.0
|
||||
},
|
||||
{
|
||||
"condition": "random_difficulty_chance",//当难度为下列某一难度时,值越大,越容易被筛选到,取值范围在0.0~1.0
|
||||
"default_chance": 0, //若没有设置游戏难度,则此段生效
|
||||
"peaceful": 0,//若游戏难度为和平难度
|
||||
"easy": 0,//若游戏难度为简单难度
|
||||
"normal": 0,//若游戏难度为正常难度
|
||||
"hard": 0//若游戏难度为困难难度
|
||||
},
|
||||
{
|
||||
"condition": "random_regional_difficulty_chance", //将最大区域难度随机机会满足指定值时,取值范围在0.0~1.0
|
||||
“max_chance”: 0.0
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/4_1.af85ce66.jpg
|
||||
hard: 进阶
|
||||
time: 10分钟
|
||||
---
|
||||
|
||||
# 简易教学①:自定义掉落一种颜色的羊毛
|
||||
|
||||
|
||||
|
||||
#### 作者:境界
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
1)创建一个在行为包主目录中,loot_tables文件夹下的战利品配置文件。
|
||||
|
||||
|
||||
|
||||
2)根据内容格式写入
|
||||
|
||||
```
|
||||
{
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": []
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
由于只掉落一种颜色的羊毛,筛选次数写1即可
|
||||
|
||||
|
||||
|
||||
3)插入战利品内容
|
||||
|
||||
```
|
||||
{
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{“type”: "item", "name": "minecraft:wool","function": [{"function": "set_data","data":15}]}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
将战利品类型设置为物品,将物品名称设置为minecraft:wool,最后再加入战利品功能,设置物品附加值为15,这样就会在战利品出现时,出现一个黑色羊毛。
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/6_1.b9815060.jpg
|
||||
hard: 进阶
|
||||
time: 10分钟
|
||||
---
|
||||
|
||||
# 简易教学②:自定义多次筛选同个奖励池
|
||||
|
||||
|
||||
|
||||
#### 作者:境界
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
1)创建一个在行为包主目录中,loot_tables文件夹下的战利品配置文件。
|
||||
|
||||
|
||||
|
||||
2)根据内容格式写入
|
||||
|
||||
```
|
||||
{
|
||||
"pools": [
|
||||
{
|
||||
"rolls": {
|
||||
"min":1,
|
||||
"max":2
|
||||
},
|
||||
"entries": []
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
由于我们希望多次筛选同一个战利品池,但希望是在一个随机的区间里,因此筛选次数最小值填1,最大次数填2,则最终筛选次数会在1~2次之间。
|
||||
|
||||
|
||||
|
||||
3)插入战利品内容
|
||||
|
||||
```
|
||||
{
|
||||
"pools":[
|
||||
{
|
||||
"rolls":{
|
||||
"min":1,
|
||||
"max":2
|
||||
},
|
||||
"entries":[
|
||||
{
|
||||
"type":"item",
|
||||
"name":"minecraft:diamond_sword",
|
||||
"weight":1
|
||||
},
|
||||
{
|
||||
"type":"item",
|
||||
"name":"minecraft:stone",
|
||||
"weight":4
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
投放两个物品类型的战利品,将物品名称设置为minecraft:diamond_sword钻石剑和minecraft:stone圆石。同时更加昂贵的钻石剑的权重被设置为了1,普通的圆石设置为4,这样单次抽取战利品的概率里,钻石剑抽中的概率为1/ (1 + 4) * 100% = 25%。
|
||||
Reference in New Issue
Block a user