全新视界 探索无限

全新视界 探索无限
全面升级,全新体验!横屏版本重磅上线,性能优化畅享丝滑冒险,还有多重更新福利等你领取!方块乐园亮眼升级,探索兼具实用与趣味的冒险起始地!天体碰撞,跨越银河的比赛拉开序幕,跟随史莱姆迷航加入这场巅峰对决!强大冷酷的黑洞之心发出邀请,探究引力之谜,与他一起称霸群星!远方星球惊现传说武器,以电子霓虹之力划破星界黑暗!而在银河之上,星座降临,化身星座守护,点亮属于你的星空!现在开启冒险,一同探索天外新视界!

扫码下载

下载
tp

会“吸血”的钻石剑?拿来吧你!

2021-08-16

众所周知在游戏里

暗处的怪物是最大的威胁

拥有属性强大的武器防具

能适当增加生存的几率

强大的装备并不容易获得

但如果你学会了自制…

这些统统不在话下!

今天就跟着发发菌学起来叭~

 

 

开始教学前,开发者们可以先在公众号后台回复“装备示例包”获取教学示范文件夹,里面不仅包括防具模型,还有实操练习的内容,对照阅读更有助于理解哦~

目前,我的世界中国版支持以弓为主的自定义远程武器。使用附加包可以添加新的弓道具以及弓的手持位置拉伸动画。使用弓的功能逻辑则会依赖MOD SDK

为了让开发者们更快理解,发发菌将这两部分各自拆解一下~

开发者们可以戳这里回顾MOD SDK相关知识~

材质包配置

① 自定义弓的命名必须在符号“:”后以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

控制大小缩放

发射投掷物功能

做好了前期准备,就该轮到MOD SDK出马了:

(1)首先,我们需要监听ItemReleaseUsingServerEvent事件。

(2)接着判断蓄力的时间。这个是由开发者自行决定的,大家可以根据时间的长短来划分箭的伤害,以此模拟出原版弓箭的动态伤害效果

(3)最后还需要判断玩家的游戏模式,这将决定弓箭的发射逻辑:

创造模式

发射箭时,不消耗弓的耐久和箭的数量。

非创造模式

搜索背包内是否有箭道具,有则消耗并扣除一点弓耐久;否则直接返回,不执行发射箭的逻辑。

物品包含词缀,当玩家点选物品时,词缀会包含物品的一些信息,如武器的附魔伤害等。

由于当前接口限制,无论是附加包自带的接口还是中国版MOD SDK自带的接口,都无法一开始就将自定义词缀注册在道具上(如从创造背包选取下来的道具等)(;′⌒`)

下面发发菌将通过两种不同的方式,教大家如何自定义武器词缀~

利用战利品功能

使用战利品表的set_lore功能,可以将词缀写入武器道具内,而且战利品表可以随组件行为、村民交易一起使用。

但需要注意,新增的词缀不会覆盖原来的词缀哦~上述代码的最终效果如下所示:

使用MOD SDK

物品信息字典中带有一对customTips的数据,里面会包含着使用接口所改变的物品词缀信息。使用生成物品或者是ChangePlayerItemTipsAndExtraId接口就可以改变物品词缀信息啦~

通过这种方式改变的词缀是会直接覆盖掉原来的词缀的,这一点与战利品表的词缀添加功能有着明显不同。

另外,customTips支持自定义格式,包含四种自带格式:

%name%

物品名

%category%

物品类型

%enchanting%

附魔属性

%attack_damage%

攻击伤害

关于customTips的自带格式,需要注意以下几点:

① 自带格式可以与自定义文本自由组合,顺序可以打乱。当物品的自定义格式文本不存在时将不予显示。

② 自带格式的字符串采用原版的显示格式,物品名前面不带换行符;而物品类型、附魔属性前面自带一个换行符;攻击伤害前面自带两个换行符,比如:

head%name%after%category%%enchanting%\nnewline%attack_damage%\n\nend

该字符串的最终效果如下所示:

目前中国版与国际版一样,支持自定义防具模型;防具被附魔后,模型也会呈现附魔的流光效果

数据各式解析

自定义防具的定义文件,需要放在资源包下的attachables文件夹内,具体代码如下:

① format_version有1.8.01.10.0两种格式,理论上都支持粒子和动画。但由于硬编码缘故,无法对模型进行绑定定位器,且防具模型只支持方块自旋转,不支持骨骼旋转。

所以开发者们需要注意一下啦,如果使用了粒子和动画,那在防具资源上可能会得出错误的效果哟~

② identifier即相对应的物品ID,使用自定义防具时,需要将identifier和对应的物品设置为同一个ID

③ scripts中的parent_setup是用于配合官方商店中由官方推出的3D皮肤包的,可以设置显示与隐藏。若玩家装备了3D头饰皮肤,则定义了parent_setup的头部防具将不予以显示。

④ 其他四项里,除了geometrytexturesdefault键指向自定义的防具贴图和模型资源以外,其他可以保持不做更改

学习完自定义装备的相关知识后,我们就可以迈出实操的第一步啦!先来做顶渔夫帽试试身手叭~

注册物品

添加模型

定义行为

按照以上示例图进行操作,大家就可以在游戏中获得一顶耐久值233的渔夫帽了!

接下来再试试为钻石剑添加吸血属性,让生存的格局进一步打开!

代码逻辑

(1)首先监听ServerChatEventPlayerAttackEntityEvent,通过输入聊天信息获得带有吸血词缀的钻石剑。

(2)然后在玩家攻击实体的事件回调函数内,获取手持物品并匹配词缀信息,然后通过attr组件来获得玩家生命值,并设置新的生命值

这样大家就能获得一把既有不俗伤害,又有恢复加成的钻石剑啦~

学会自定义武器之后

开发者们就可以根据自己的偏好

自定义出不同属性的武器啦

快去制作更多的“防身道具”吧!

【关于“网易大神”】

网易大神

网易大神是网易游戏旗下的精英玩家社区。这里汇聚了广大精英玩家、游戏圈红人、行业大咖,集合了网易独家的官方资讯和福利趣闻,旨在为玩家打造一个丰富的游戏兴趣社交圈。玩家可以在网易大神与游戏中的好友实时聊天、多元互动;以游戏会友,结交更多游戏同好,和大神一起发现更多游戏乐趣。

官方网站:https://ds.163.com
官方微信:wyds_163

注册网易通行证

扫一扫关注微信

Minecraftgf

扫一扫关注微博

我的世界Minecraft

关闭
Android下载

安卓此次开放限号付费不删档测试,仅限集结首测玩家参与。未参与首测的玩家可进行预约,并请于1月12日参与全平台开放性测试

集结首测玩家请点击 >> 下载游戏