Files
netease-modsdk-wiki/docs/mconline/10-addon教程/第07章:自定义生物/课程14.让水鸭活动起来.md
boybook 760c2dd9ad 2.6
2025-12-01 20:59:16 +08:00

144 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/14_1.199826f4.jpg
hard: 进阶
time: 25分钟
---
# 让水鸭活动起来
#### 作者:境界
在材质包完成了水鸭的一切工作后,开发者回到行为包上。在这里,我们可以使用原版的鸡行为去掉一部分多余的内容,增加一些新的行为,来模拟出水鸭的行为状态。
```
{
"format_version": "1.16.0",
"minecraft:entity": {
"description": {
"identifier": "design:green_head_duck",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false,
"runtime_identifier": "design:green_head_duck"
}
},
"component_groups": {
},
}
"components": {
"minecraft:type_family": {
"family": [ "duck", "mob" ]
},
"minecraft:breathable": {
"total_supply": 15,
"suffocate_time": 0
},
"minecraft:collision_box": {
"width": 0.6,
"height": 0.8
},
"minecraft:nameable": {
},
"minecraft:health": {
"value": 4,
"max": 4
},
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": { "test": "in_lava", "subject": "self", "operator": "==", "value": true },
"cause": "lava",
"damage_per_tick": 4
}
]
},
"minecraft:movement": {
"value": 0.25
},
"minecraft:damage_sensor": {
"triggers": {
"cause": "fall",
"deals_damage": false
}
},
"minecraft:behavior.rise_to_liquid_level": {
"priority": 0,
"liquid_y_offset": -0.5,
"rise_delta": 0.01,
"sink_delta": 0.01
},
"minecraft:leashable": {
"soft_distance": 4.0,
"hard_distance": 6.0,
"max_distance": 10.0
},
"minecraft:balloonable": {
"mass": 0.5
},
"minecraft:navigation.walk": {
"can_path_over_water": true,
"can_sink": false,
"avoid_damage_blocks": true
},
"minecraft:movement.basic": {
},
"minecraft:jump.static": {
},
"minecraft:can_climb": {
},
"minecraft:despawn": {
"despawn_from_distance": {}
},
"minecraft:behavior.panic": {
"priority": 1,
"speed_multiplier": 1.5
},
"minecraft:behavior.tempt": {
"priority": 4,
"speed_multiplier": 1.0,
"items": [
"wheat_seeds",
"beetroot_seeds",
"melon_seeds",
"pumpkin_seeds"
]
},
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 1.0
},
"minecraft:behavior.look_at_player": {
"priority": 7,
"look_distance": 6.0,
"probability": 0.02
},
"minecraft:behavior.random_look_around": {
"priority": 8
},
"minecraft:physics": {
},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
}
},
"events": {
}
}
}
```
1将format_version格式设置为最新的1.16.0水鸭作为一个带有生物蛋的生物我们将is_summonable可用指令生成的设置为trueis_spawnable可用生物蛋设置为trueis_experimental是否是实验玩法打开才能看到的生物设置为false。同时将runtime_identifier指向自己。
2行为组内的组合都清空同时在原本鸡的行为上加入”minecraft:behavior.rise_to_liquid_level“行为这是一个来自炽足兽的新行为。可以让生物在水面上下起伏就像水上的鸭子一样。
3其中行为内部属性里priority设置为0即最高级优先使用的行为。liquid_y_offset设置为-0.5。rise_delta是上升增量sink_delta是下降增量来模拟鸭子的上下起伏。这里都设置为0.01。这样一个可爱的绿头鸭就做好了。
![](./images/14_1.jpg)