renyunzhong
本帖最后由 SHEEP_REALMS 于 2021-11-5 01:35 编辑
前言



在其他很多游戏中,剑气算是近战武器常有的技能

可是在MC中却没有剑气!

甚至连创造类似剑气的子弹弹幕都需要用数据包和萝卜钓竿

或者就是在玩家攻击敌人的同时放出剑气

可是这样也就代表了敌人已经扑到你面前了

不,用近战武器的弹幕远程攻击才是战士的浪漫!

所以我就做了个泰拉之刃(剑气武器标准模板)

好吧依然是泰拉瑞亚




物品介绍:泰拉之刃



拥有19.5的攻击伤害和很快的攻击速度

且挥动时会放出剑气,剑气拥有剑本身1.5倍伤害,且能穿透三个敌怪

(由于MC硬性限制无法做到连挥)


在放出剑气1.5秒之后才能再次放出剑气,以防止有连点器问题

弹幕剑气飞行速度为1格/秒

(相信我,在原版中拿到这个武器就是横着走)

使用/function terra_blade:swords/give_sword可获得此剑


左键检测原理


说实话原版中左键检测真的没有多少方法能选

不像右键,可通过物品和方块的使用进行检测

目前最流行的办法就是在玩家前面生成一个可以打到的生物

通过生物被攻击或者玩家剑使用次数的增加来判断是否使用了左键

也正因为如此,我们无法做到连挥,除非使用连点器外部辅助


而这个用来挨打的生物也不能随便选

首先我们需要确保这个生物只有玩家自己能打到,而不是其他的玩家和实体

例如用恶魂来检测,你无论如何都能打到恶魂,而其他玩家和生物也只能打到恶魂而打不到你

所以我们只能选择那些小型的实体

可是经过测试我们并不能使用tp指令,因为实体被tp要在1tick之后才能到位

而在实体到位之前我们视线内就没有用于检测的实体,自然就无法使用剑气

所以这里我们可以采用不断summon实体和清除上一tick召唤的实体

可是用summon的话还有一个问题,就是召唤隐形生物的话

隐形效果在下一tick才会起作用,相当于没有

而且生物还会与玩家相互挤压,还需要用team解决碰撞问题

所以最后我采用了小型的盔甲架

通过玩家在生存/冒险模式用带有特定标签的铁剑挥砍盔甲架增加铁剑使用次数来检测


请注意这个数据包配套的材质包无论如何都需要加上

因为盔甲架不能设置成隐形(挥砍隐形盔甲架不计入使用次数)

除非你想自己的视野总是被奇怪的东西挡住



实体伤害原理


很多数据包所使用的伤害系统是原版的弹射物和瞬间伤害/治疗

但不管是弹射物还是Buff,都会遇到一些问题

例如多名玩家围殴一个Boss,结果由于0.5秒无敌时间

骗伤问题明显,DPS严重走低

以及对付凋零第二阶段时弹射物和Buff直接给无效了

加之弹射物和Buff的伤害都不能准确控制


所以我选择直接修改生物血量

通过execute store将血量nbt存到记分板中

再进行简单加减法

把减去伤害的血量存回生物血量nbt中,完成一次伤害

这样做的好处是血量把控非常精准,且不会受到各种特殊能立的干扰

这样做的问题在于首先血量为负生物会直接死亡而不掉落任何物品

这个的解决方法很简单,如果发现减去伤害的血量为非正数就直接kill掉生物

还有就是生物没有任何受伤动画、声音和击退

受伤动画提示我选择使用粒子效果代替

而声音可以手动加上去(滑稽)




目前已知问题


1.使用连点器高速连点时切换为其他物品,可以刷出来一个盔甲架物品

这个问题是盔甲架快速两下攻击可以打成物品导致的,可以使用/gamerule doTileDrops false解决

如果方块掉落因其他原因无法关闭,可以通过插件或者mod限制连点速度在20cps以下解决

2.玩家拿着泰拉之刃潜行时若剑射往玩家头顶或在玩家头顶垂直落下有几率射出一个盔甲架物品

还是盔甲架被破坏掉落导致的,解决方法同上

3.剑气的伤害无视了护甲和buff!

关于护甲和buff的减伤算法如果想算是能算的,我懒而已(而且这个帖子也不是教你如何算最终伤害的)



关于材质包


材质来源于泰拉瑞亚

使用材质包想看到效果需要安装最新版Optifine(最好为Pre30或以上)

这个材质包会让名为的left_click_detect盔甲架隐形,以防止在使用泰拉之刃时盔甲架造成的视觉阻挡




多人兼容


多人我还没测试

不过这么简单的功能应该没问题吧

至少代码上基本没问题



结尾


求金粒、求人气

杜绝白嫖,从我做起


如果有什么疑问欢迎下方恢复





小猫汪汪汪
厉害了   不过  有点变态啊

幽月琉璃
……我选择植物魔法,因为这个太bt了

小樱aaa
原版的话有点强的过头了

964799091
666666666666666666

renyunzhong
幽月琉璃 发表于 2020-7-16 09:25
……我选择植物魔法,因为这个太bt了

这把剑设定的强度是打自定义boss用的,而且这个更像是个模板,做好一个其他类似功能的剑直接改数值就行

12tianxun
侯超航 发表于 2020-7-16 09:28
原版的话有点强的过头了

没错,植物魔法里的几个剑气都杀不死

sand-diao
双厨狂喜

q1244629965
原版的话就有点强了点吧

Hs123y
爱了爱了,谢谢

Devanaai
emmmmm
我加载了好一会,重新安装无数次终于弄好了
但是
材质包又死活不加载
明明已经读取了但还是不行



永爱不忘
那小姐姐加  剑气不就起飞了

王利尧
大佬真棒,不想我每个字都认识 拼到一起就听不懂了吗

myy呀
有点厉害啊,这刀

Tfriendhb
我的世界加泰拉瑞亚的武器

擎星者
泰拉瑞亚之刃?高端大气上档次

52赫兹deyu
66666666666

wz900629
受教了 一直没关注这个剑

Dearq
战士的浪漫难道不是带悠悠球袋的泰拉yoyo嘛

wch20080208
感谢分享!!!

davwq
这个太nb了剑

lilinhao123456
很强,感觉在原版我就是无敌的

1398953719
asdfasdfsd

1398953719
adfasfasdfsadfas

Mikatsukida
感谢大佬分享ww

一鹿向前
感谢楼主的分享 谢谢

夕阳红熊猫
噢噢噢噢,但是我喜欢植魔的那个贴图。另。这个特效帅不帅哇

pigred
还行吧 植物魔法这把剑还行

917hhhh
感谢楼主分享,楼主加油

131231是
#在这里快速回复#巴阿巴阿巴阿巴

a1670272896
爱了爱了

hatanonono
整个zenith天顶剑玩玩(doge)

夕阳红熊猫
动感原谅光波今天就是要原谅一切

a1670272896
666         

1750708169
梦幻联动 奥利给

浅夏丶白
卧槽牛逼,爱了爱了

xin2286056
我在我的世界玩泰拉瑞亚!

lestafly
大佬厉害了

加藤惠吖
好家伙 泰拉瑞亚直接乱入

丨承诺丶
        MCBBS有你更精彩~

deadoralive
最终之剑不得安排安排?

王潇1999
666666666666666666666666666666

Y制杖杖
(直接改NBT岂不不能打玩家了

月曰
让我想起了以前玩儿植物魔法的时光,还有哪些人