我正在使用需要诸如“.command”之类的命令的 java 结构模型,并且这样做需要我的程序访问已发送的消息。在查看了其他人的一些代码后,我注意到他们都使用 net.minecraft.class_746 作为 mixin。我也在 Minecraft 1.18.1 上尝试过,但是在浏览了 net.minecraft 目录后,我发现只有 class_6567 和 class_6148 以及许多其他包。我一直在挖掘其他文件,但我没有找到任何东西来实现我想要的。我找不到任何东西来访问所有已发送的消息。任何帮助,将不胜感激。谢谢!
问问题
20 次
1 回答
0
经过大约一个小时的挖掘,我找到了 ClientPlayerEntity 类。它似乎就像 class_746 一样工作,我能够得到我想要的结果。如果有人需要,这是代码的基本部分:
@Mixin( ClientPlayerEntity.class )
public class ChatMixin {
@Inject(method={"sendChatMessage"}, at={@At("HEAD")}, cancellable=true)
public void sendChatMessage(final String message, final CallbackInfo ci) {
if(message.equalsIgnoreCase(".command")) {
ci.cancel();
}
}
}
于 2022-02-13T10:47:54.053 回答