在 minecraft forge 中向 HUD 添加备用聊天

Add an alternate chat to the HUD in minecraft forge

我正在编写一个 Minecraft mod,它将来自 Skype 等外部聊天服务的聊天覆盖到你的 Minecraft HUD 上,这样你就不必在收到新消息时不断切换应用程序。

唯一的问题是我似乎找不到向 HUD 添加第二个聊天的方法。我已经成功地创建了一个替代聊天,但我不知道如何将它添加到 HUD,以便我可以查看我发布的消息是否有效。我曾尝试搜索 "make alternate chat minecraft modding" 和其他类似术语,但我得到的只是 mod 展示和旧的 1.7 教程。 (mod 的目标是 1.8.8)

我也试过查看 Minecraft 代码,但似乎找不到任何可以向 HUD 添加聊天的东西。如果有人能指出我可以用来将我的备用聊天添加到 HUD 的方法或我的代码,我将不胜感激(我成功地使用白框完成了此操作...)

这是我创建聊天的代码

GuiNewChat altchat = new GuiNewChat(mc);
altchat.drawChat(1);
String msg = "hi";
this.mc.ingameGUI.getChatGUI().sendChatMessage(msg,true);//displayGuiScreen(altchat);
if (i == 0) {
    altchat.addToSentMessages("test Message to alt chat");
    System.out.println("added message");
    i++;
} else if (i == 100) {
    i = 0;
} else {
    i++;
}

您需要编写自己的 GUI 容器,然后添加渲染代码来渲染聊天台词。

我建议你复制当前的 minecraft 聊天图形用户界面,并为聊天源实现你自己的行。并选择不同的位置来渲染当然。

不要使用当前的聊天界面。使用你自己的。

@SideOnly(Side.CLIENT)
public class TalkGui  extends Gui {
}

并添加强制方法。但正如我所说,我建议你复制 minecraft 聊天 gui 中的代码,它里面有所有整洁的东西。只需拥有您自己的显示行来源,并为人们输入的行设置一个处理程序。

这是《我的世界》中用户界面设计的最精髓所在。您可以使用按钮和事件侦听器 :-) minecraft 也有 类。