Nova-Committee / McBot

A mod allowed you to connect minecraft and QQ
Other
115 stars 15 forks source link

[Enhancement/功能请求] 能否为Drex HD的Vanish模组添加兼容性? #130

Closed A0000Xz closed 4 months ago

A0000Xz commented 4 months ago

Checks/检查

Description/描述

事情是这样的,Vanish模组类似于隐身插件,能让人静默上下线等。但是群服互联模组却无视了Vanish,在Q群里的!list指令可以检测到隐身的玩家,vanish模组“伪造”的玩家上下线消息,群服互联完全忽视,并且只转发“真正”的上下线消息。(这意味着我先用了隐身后,首先它不会转发vanish在游戏内伪造的假消息,下线会被提示某某某退出了服务器,上线也是同理,无论我是否提前隐身过,进服就必定会转发真实的上线消息) 我大致排查过原因,大概是vanish模组和本模组用了三个相同的mixin导致的。

xia-mc commented 4 months ago

Vanish的欺骗是面向玩家的,而不是服务器。 除非McBot成为纯客户端模组,或单独为Vanish适配,我认为问题不会解决。

kitUIN commented 4 months ago

存在可行性

McBot的注入点在方法结束时获取ServerPlayer对象 而Vanish的注入点在广播消息,并未修改ServerPlayer

兼不兼容就看演变愿不愿意改了

A0000Xz commented 4 months ago

存在可行性

McBot的注入点在方法结束时获取ServerPlayer对象 而Vanish的注入点在广播消息,并未修改ServerPlayer

兼不兼容就看演变愿不愿意改了

感谢大佬指点,实际上我现在正在自学java等去试着做这个兼容,但mixin那里实在是看不懂就先打算去处理list了,然后list的话处理起来大概率比较简单,另外一提,我在翻源码的时候发现非群聊管理员的命令执行等级疑似有点太高了。我之后大概会交个pr看看。

A0000Xz commented 4 months ago

134 我这里用这个方法算是先修了一下!list指令的问题

cnlimiter commented 4 months ago

已完成