Minecraft Fabric 教程 #8 添加附魔书
首发于Enaium的个人博客
创建一个附魔书类
public class FireBoomEnchantment extends Enchantment {[...]
}
在类中添一下
@Overridepublic int getMinimumPower(int level) {return 15;}@Overridepublic int getMaximumLevel() {return 1;}@Overridepublic void onTargetDamaged(LivingEntity user, Entity target, int level) {if(target instanceof LivingEntity) {World world = user.world;boolean bl = world.getGameRules().getBoolean(GameRules.MOB_GRIEFING);world.createExplosion(target, target.prevX, target.prevY, target.prevZ, 1.0f, bl, bl ? Explosion.DestructionType.DESTROY : Explosion.DestructionType.NONE);world.spawnEntity(target);}}
这就创建了一个FireBoom附魔书
onTargetDamaged //当目标被攻击
在mc FireballEntity类有一个 方法就是当火球碰撞了就创建一个火焰爆炸的效果
protected void onCollision(HitResult hitResult) {super.onCollision(hitResult);if (!this.world.isClient) {if (hitResult.getType() == HitResult.Type.ENTITY) {Entity entity = ((EntityHitResult)hitResult).getEntity();entity.damage(DamageSource.explosiveProjectile(this, this.owner), 6.0F);this.dealDamage(this.owner, entity);}boolean bl = this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING);this.world.createExplosion((Entity)null, this.getX(), this.getY(), this.getZ(), (float)this.explosionPower, bl, bl ? Explosion.DestructionType.DESTROY : Explosion.DestructionType.NONE);this.remove();}}
我们可以加以利用
boolean bl = world.getGameRules().getBoolean(GameRules.MOB_GRIEFING);world.createExplosion(target, target.prevX, target.prevY, target.prevZ, 1.0f, bl, bl ? Explosion.DestructionType.DESTROY : Explosion.DestructionType.NONE);
this.world.createExplosion()
我们替换相对应的参数 参数一就是实体 target就是攻击目标 参数二、三、四 就是目标 X Y Z 由于 xyz是private 只能用 public 的 prevX prevY prevZ 参数五就是爆炸大小 参数六不用管
world.spawnEntity(target);//生成实体在target
创建附魔书
private static final FireBoomEnchantment END_FIRE_BOOM_ENCHANTMENT = new FireBoomEnchantment(Enchantment.Weight.VERY_RARE,EnchantmentTarget.WEAPON,new EquipmentSlot[] {EquipmentSlot.MAINHAND});
注册
Registry.register(Registry.ENCHANTMENT,new Identifier("endarmor","end_fire_boom_enchantment"),END_FIRE_BOOM_ENCHANTMENT);
Minecraft Fabric 教程 #8 添加附魔书相关推荐
- Minecraft Fabric 教程 #6 添加合成表
首发于Enaium的个人博客 位置 src\main\resources\data\endarmor\recipes\end_heart_block.json {"type": & ...
- 【MineCraft】-- 学习我的世界Mod制作引雷附魔书与事件
基于前面搭建的环境继续. 下面完成一个附魔书制作,并且附魔武器后有雷击效果. 一.监听事件两种情况 成员函数 对象构造时AddToEventBus 如: 函数开头上一行加@SubscribeEvent ...
- DevOps实战 —— 如何高效地远程部署?自动化运维利器 Fabric 教程
如何高效地远程部署?自动化运维利器 Fabric 教程 关于 Python 自动化的话题,在上一篇文章中,我介绍了 Invoke 库,它是 Fabric 的最重要组件之一.Fabric 也是一个被广泛 ...
- Apple芯片Mac安装ARM版Win10完美教程(结尾附视频)
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
- 计算机基础教程试题及答案,计算机基础教程考试题「附答案」
一.单选题 1.以下几种说法正确的是________. A:ADSL接入Internet有虚拟拨号和专线接入两种方式 B:拨号接入Internet的速度可以达到56Mbps C:只要接入局域网就可以接 ...
- 计算机基础教程试题及答案,2017计算机基础教程考试题「附答案」
2017计算机基础教程考试题「附答案」 一.单选题 1.以下几种说法正确的是________. A:ADSL接入Internet有虚拟拨号和专线接入两种方式 B:拨号接入Internet的速度可以达到 ...
- 【链块技术51期】超级账本Fabric教程(一):超级账本入门
原文链接:超级账本Fabric教程(一):超级账本入门 本节分享有关拆超级账本的概念以及体验部署过程. 一.简介 是一个带有可插入各种功能模块架构的区块链实施方案,目标是打造成一个由全社会共同维护的开 ...
- Xamarin iOS教程之添加和定制视图
Xamarin iOS教程之添加和定制视图 Xamarin iOS用户界面--视图 在iPhone或者iPad中,用户看到的摸到的都是视图.视图是用户界面的重要组成元素.例如,想要让用户实现文本输入时 ...
- ASP.NET MVC 5 学习教程:添加控制器
ASP.NET MVC 5 学习教程:添加控制器 原文 ASP.NET MVC 5 学习教程:添加控制器 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控 ...
最新文章
- RUST等差分解一个数
- 7.Linux 输入子系统分析
- WinForm 入口Main方法
- mysql 绕过select报错_MySQL注射绕过技巧(三)
- squid代理服务器在企业网中的应用
- Fiddler-004-配置过滤器之-域名过滤
- final、finally 和 finalize的区别
- 详解云安全攻防模型,这些攻击战略和战术越早知道越好!
- 唐宇迪学习笔记6:线性回归算法原理推导
- 《C++ Primer 第5版》-13.6对象移动-康奈尔笔记
- 计算向量相似度 ---余弦相似度
- 【PPP概念股龙头】PPP再迎风口 相关概念股表现格外抢眼(2)
- “华为区块链白皮书”重磅发布(附下载链接)
- 软件工程复习13:软件发布
- 线性代数学习笔记——第六十四讲——相似对角化的判定(1)
- 计算机主机常鸣,电脑开机报警,详细教您电脑开机一直长鸣报警怎么办
- 细说独特的APaaS软件门类
- QGis二次开发基础 -- 根据属性查询要素
- 发烧友实测 | 飞凌嵌入式OKA40i-C开发板试用体验之远程视频监控
- condition_variable用法
热门文章
- Javascript错误处理——try...catch
- 使用Python和地图api进行地图数据采集
- 传智播客最新教学视频,共享给你们了,有需要的戳进来~~~~
- 商用智能显示屏在自动售检票系统(AFC)中的应用
- [转载]计算机科学与技术学生学习基础材料参考
- 读书笔记(五)--公司绝不会告诉你的50大秘密
- chromedriver、geckodriver、MicrosoftWebDriver、IEDriverServer和operadriver之间的恩怨纠葛
- 做一个海纳百川的方外之人------我的极乐世界观
- 相关词挖掘-下拉词挖掘免费工具-用户都在相关搜索的关键词挖掘
- js实现匹配到文字设置为红色