我正在编写一个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聊天gui,并实现你自己的聊天源行。并选择一个不同的位置来渲染。
不要使用当前的聊天gui。用你自己的。
@SideOnly(Side.CLIENT)
public class TalkGui extends Gui {
}
并添加强制方法。但正如我所说的,我建议你复制一下我的游戏gui中的代码,它里面有所有整洁的东西。只需拥有自己的显示行来源,并为人们输入的行设置处理程序。
这是我的世界中用户界面设计最重要的细节。你可以使用按钮和事件监听器:-) minecraft也有这些类。