本帖最后由 lzy20488402 于 2022-6-9 15:05 编辑
如题,最近想接一单插件,结果……要求lore能被sx检测到,并且lore是隐藏的,这个怎么设置?
如题,最近想接一单插件,结果……要求lore能被sx检测到,并且lore是隐藏的,这个怎么设置?
HideFlags也不能隐藏lore,原版客户端好像没有隐藏lore的办法。lore就是用来显示信息的,如果不想显示,就去掉lore,为什么要隐藏?
Ph-苯 发表于 2022-6-10 23:45
HideFlags也不能隐藏lore,原版客户端好像没有隐藏lore的办法。lore就是用来显示信息的,如果不想显示,就 ...
我想让sx检测到这个lore,但是不想让他显示
lzy20488402 发表于 2022-6-11 12:48
我想让sx检测到这个lore,但是不想让他显示
原版是没办法的,只要是lore,就会显示。除非让服务端和客户端的物品不同步,服务端的有lore,发送给客户端的没有。
你应该换个思路。他要的效果是,看不到lore,但是可以触发sx属性效果。
由此有两种解决方案:
1.你给物品塞自定义nbt,然后自己做事件监听,检测玩家装备,并检测nbt,然后给玩家添加对应属性。
2.使用诸如protocollib的插件,监听对应数据包,把要隐藏的lore删掉。这样就做到了玩家看不到,但是服务端依旧可识别。需要注意的是,这种方法在实践时应注意排除创造模式的玩家。因为创造模式的玩家可以把发包的虚假物品转换为服务端真实物品,造成不可逆后果。
由此有两种解决方案:
1.你给物品塞自定义nbt,然后自己做事件监听,检测玩家装备,并检测nbt,然后给玩家添加对应属性。
2.使用诸如protocollib的插件,监听对应数据包,把要隐藏的lore删掉。这样就做到了玩家看不到,但是服务端依旧可识别。需要注意的是,这种方法在实践时应注意排除创造模式的玩家。因为创造模式的玩家可以把发包的虚假物品转换为服务端真实物品,造成不可逆后果。
Neige 发表于 2022-6-12 13:14
你应该换个思路。他要的效果是,看不到lore,但是可以触发sx属性效果。
由此有两种解决方案:
1.你给物品塞 ...
你的意思就是把他添加到nbt里,但不显示?
在群里看见过这个需求,我的建议和楼上一样,给物品加nbt然后加监听器在玩家攻击时给玩家加属性
lzy20488402 发表于 2022-6-12 19:17
你的意思就是把他添加到nbt里,但不显示?
添加自定义nbt
依赖sx使用sx的api不比这种奇葩需求容易?(如果没api当我没说)