欢迎光临散文网 会员登陆 & 注册

纯粹的强大——寂灭 【1.12.2最强神器】

2023-05-31 19:26 作者:NOBTG  | 我要投稿

给不懂秒杀的:

>>>>"以下适用Minecraft Java 1.12.2"<<<<


首先,先来了解一下机制:

第一、实体的死亡是靠isDead判断

第二、血量归零会将isDead设置为true

第三、一般击杀方式为造成伤害>扣除相应血量>血量归零

第四、isDead为true时会打开GuiGameOver,渲染0血等...



名词解释:

原代码(class档案)

GuiGameOver(死亡画面)

Mixin(一种注入方式)(https://github.com/SpongePowered/Mixin)

Tick()(游戏在每20分之1秒时会执行的代码)



然后,关于注入:

第一、注入是指把代码加入进去游戏的原代码

第二、顺序是代表在游戏启动时谁最先被加入进去游戏的原代码

第三、当顺序是第一时,游戏最先把你自定义的代码加入进去游戏的原代码


第四、最先加进去的通常在被调用时最先生效(参照以下:

比如你与你的朋友们有一张纸,a朋友最先在纸上染色(整张纸)(这个颜料是黑科技颜料,要很麻烦才能拿掉,几乎拿不掉),然后依序a>b>c....,那纸拿起来时会先看到a的颜色,然后再依序看到后面的,但是如果a的颜色是一个很"恶心的颜色"(返回'return'代码)那你(游戏)就不会再想要看下去,就会走(直接返回),而看不到后面b、c...朋友的美丽颜色(不执行后面注入的代码),导致只有a的代码生效)


第五、游戏获取血量的代码是可以注入的:)



其次,防御、攻击大概可分为几个等级(自己分的:

第一、弱 (无限设置血量为20(攻击的话会是0或负数),某些情况下会触发BUG1,第二种可以打破这种防御、防御这种攻击)


第二、强 (使用Mixin等注入获取血量的方法,可以防(或是杀)第一个,因为改了游戏获取血量的方法,所以即使血量为0(被攻击实体为0以上)也只能获取到20(攻击的话会是0或负数),但就像我前面说的,只要顺序高就可以打破这个防御)


第三、超强(直接从游戏源代码下去改,并且阻止任何注入,基本无敌,但是很麻烦,或是把注入顺序改到超高,也是基本无敌)



攻击的补充:


第一、直接移除实体或者传送或是暂停服务器和客户端一段时间然后直接把实体的nbt抹掉等等...,不算击杀,但是秒杀圈内基本都有防移除(注入)


第二、玩家的话有直接弹出一个死亡Gui或是假死Gui或是绕过弹出直接渲染等等...,并且让血量无法渲染(注入或是遮挡等等...),通常会防弹出死亡Gui等...这种的神器很多,但是渲染就是另外的事了。 。 。



然后以下是常见的BUG


BUG1:游戏在Tick()方法头部检查到实体血量为0(可能为某个武器将实体血量设置为0),但是正要进行下一步操作时,却发现实体的血量变为20(防御用代码设置回20),无法继续进行,迹象:实体闪红抖动、Gui打开后即刻关闭等....(可能会有其他原因,比如血量为NaN等...,这里不多讲)(以上非个人主观判断,可参考:

https://www.mcbbs.net/thread-839937-1-1.html

https://www.mcbbs.net/forum.php?mod=viewthread&tid=839937&page=2#pid13779549)


附注:有错误欢迎指出,随时改

纯粹的强大——寂灭 【1.12.2最强神器】的评论 (共 条)

分享到微博请遵守国家法律