同步官网文档8m_25d
This commit is contained in:
69
mconline/10-addon教程/第15章:制作更好的装备/课程01.自定义远程武器.md
Normal file
69
mconline/10-addon教程/第15章:制作更好的装备/课程01.自定义远程武器.md
Normal file
@@ -0,0 +1,69 @@
|
||||
---
|
||||
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/1_1.48802b15.jpg
|
||||
hard: 进阶
|
||||
time: 30分钟
|
||||
---
|
||||
|
||||
# 自定义远程武器
|
||||
|
||||
|
||||
|
||||
#### 作者:境界
|
||||
|
||||
|
||||
|
||||
目前,我的世界中国版支持以弓为主的自定义远程武器。使用附加包可以添加新的弓道具以及弓的手持位置与拉伸动画。使用弓的功能逻辑则会依赖MODSDK,我们将这两个部分各自拆解一下。
|
||||
|
||||
|
||||
|
||||
#### 材质包配置
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
①自定义弓的命名必须在符号“:”后以bow结尾,这样子才会在接下来为物品添加使用弓动画组件行为时,动画会正常播放。
|
||||
|
||||
②minecraft:icon会指向一个贴图资源短名路径,它会由开发者自己在textures文件夹下的item_texture.json定义。
|
||||
|
||||
③minecraft:use_animation会为物品在玩家使用时做出某个动画,这里我们添加bow这个值,以便玩家拉伸弓的时候默认下会慢慢移动,并且视角缩小。
|
||||
|
||||
④netease:frame_animation内有三个键对,frame_count指的是弓箭拉伸时一共有多少张序列图会播放,在原版的弓中,玩家拉伸弓到最底一共会播放三张贴图。
|
||||
|
||||
|
||||
|
||||
#### 行为包配置
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
①必须将custom_item_type设置为ranged_weapon
|
||||
|
||||
②minecraft:max_damage用来设置弓的最大耐久值。
|
||||
|
||||
③minecraft:use_duration用来设置弓的可拉伸蓄力的使用时间,我们需要将时间设置的足够长,以免出现在一段时间内出现重复蓄力的问题。
|
||||
|
||||
④minecraft:max_stack_size用来设置弓的堆叠数量,弓属于武器装备范畴,因此建议一个栏中只能堆叠一个。
|
||||
|
||||
⑤minecraft:hand_equipped用来将自定义弓在第三人称的渲染形象和原版弓一致。
|
||||
|
||||
⑥netease:render_offsets用来设置自定义弓在第一人称的手持位置,其中controller_position_adjust用来控制位置,controller_rotation_adjust用来控制角度,controller_scale用来控制大小缩放。
|
||||
|
||||
|
||||
|
||||
#### 发射投掷物功能
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
①监听ItemReleaseUsingServerEvent事件
|
||||
|
||||
②根据蓄力的时间,由开发者决定根据时间的长短来划分箭的伤害,以达到模拟出原版弓箭发射时的动态伤害效果。
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
③判断玩家的游戏模式,若为创造模式,不消耗弓的耐久和箭的数量的前提下,即可发射箭。若非创造模式,则会搜索背包内是否有箭道具,有则消耗并扣除一点弓耐久,否则直接返回,不执行后面发射箭的逻辑。
|
||||
Reference in New Issue
Block a user