2403
本帖最后由 2403 于 2019-10-26 13:21 编辑

开服很久一直有一个问题困扰着我,就是本服使用一些手段提升了玩家的血量上限
>如原版自带的护甲的提升生命上限属性
>还有某些经验值提升血量上限的插件
(注意:并不存在什么插件和原版护甲增加的血量冲突,是客户端无法及时同步服务端血量上限信息造成的问题)
问题来了,当一名玩家死亡后重新复活往往会出现下列问题:
一名玩家的血量原本是120/120
死亡后理所当然就变成了0/120
复活后就变成了120/20
血量上限会强制变回原版默认的20点(仅仅是客户端显示问题,服务端血量正常依然是加成后的血量)
过一会血条就会不断的鬼畜,一会变回提升了上限的血量一会又变回20
有时候安装某些血条mod,血条还会突破边框上限延伸出去
非常影响体验


这个问题我不知道怎么解决
我见过其他的一些服务器也有提升血量上限的操作但在复活后都会直接显示会最大的血量上限,没有这个问题,请问是这么做到的

2019/10/26
问题确定为mc自身bug,本人查找论坛也未发现存在修复插件,因此于2019/10/26已通过定制插件自行修复,如果遇到同样的问题引用某大佬的解释:"血量上限必须异步处理,否则会有bug"去进行定制插件或魔改客户端等方法修复





尒沥
有加血插件就不要用原版的nbt提升血量了

mc能吃吗
原版自带和插件提升会冲突,不推荐
此外一些血条mod会自动重置血量,不支持这种修改
推荐关掉血条mod的数值显示,之后加一个锁血插件,就是那种无论如何血量上限都是固定值的那种
接着把固定值设为1000或者10000,这样就有很好的效果了

2403
mc能吃吗 发表于 2019-10-25 19:06
原版自带和插件提升会冲突,不推荐
此外一些血条mod会自动重置血量,不支持这种修改
推荐关掉血条mod的数值 ...

目前用的就是血量锁定,但是会隐藏玩家真实血量,所以才要解决
还有就是原版自带和插件加的血量会正常相加不存在冲突,我这里问题是客户端无法及时同步服务端血量上限信息造成的问题

mc能吃吗
2403 发表于 2019-10-25 19:13
目前用的就是血量锁定,但是会隐藏玩家真实血量
还有就是原版和自带不存在冲突,我这里问题是客户端无法 ...

是吗,那试试先吧血条mod给删掉看看原版是否同步
等一下 你加了锁血????
删掉试试???锁血不就是锁20的吗=-=
如果发生上限是20但是实际是一百多的情况很正常,毕竟大部分锁血插件都是利用了bukkit的一个方法来设置玩家看到的血量上限
可以说是mc特性使然了

笑面Smile
Q已联系你 一行代码解决 解决后请给我最佳蟹蟹

2403
mc能吃吗 发表于 2019-10-25 19:15
是吗,那试试先吧血条mod给删掉看看原版是否同步
等一下 你加了锁血????
删掉试试???锁血不就是锁 ...

问了下几个做插件的,的确是mc特性了= =
说什么要加异步处理血量显示
你说的这些都无关。因为不管是原版血量显示还是血条mod都无关紧要,是mc本身特性导致无法同步客户端和服务端血量上限,我在问这么修复
锁血mod是因为无法解决这个问题才加上应急的不是说加了锁血之后有这个问题

顾白nb
本帖最后由 顾白nb 于 2019-10-26 15:55 编辑

我是第一个屁

顾白nb

2403
本帖最后由 2403 于 2019-10-28 11:35 编辑

在此说明一下,之前说的"血量上限必须异步处理,否则会有bug"只是在技术群上有人口头和我提到的解决方法并没有实际去做过
JimySpirits后来提醒了我下这个方法存在问题(还要再开一个线程,操作不当异步处理MC本体的东西可能还会崩服,本人不怎么懂java= =)
目前我订制插件的解决办法应该是用两行代码重新设置血量,具体怎么做还是请按自己选择的修复方法来