Доброго времени суток.
Получаю вылет при открывании GUI.
Регистрирую в preInt:
Сам класс gui:
Ошибка:
Есть я хочу сделать какую-нибудь кликабельную панель, то мне лучше наследоваться от GuiContainer? Там вроде как и фон автоматически затемняется, и никакие doesGuiPauseGame() трогать не нужно, все уже за тебя потрогано и.т.д.
Возвращаясь к вопросу о прокси, getServerGuiElement и getClientGuiElement(если я захочу использвать прокси) должны находится в двух разных GuiHandler, соответственно клиентском и серверном?
Получаю вылет при открывании GUI.
Код:
public class GuiHandler implements IGuiHandler {
@Override
public Object getServerGuiElement(int guiID, EntityPlayer player, World world, int x, int y, int z){
switch(guiID){
case 0:
return new GuiPda();
default:
return null;
}
}
@Override
public Object getClientGuiElement(int guiID, EntityPlayer player, World world, int x, int y, int z) {
switch(guiID){
case 0:
return new GuiPda();
default:
return null;
}
}
}
Регистрирую в preInt:
Код:
NetworkRegistry.instance().registerGuiHandler(this, new GuiHandler());
Сам класс gui:
Код:
public class GuiPda extends GuiScreen {
public GuiPda(){
super();
}
@Override
public void initGui() {
super.initGui();
}
@Override
protected void keyTyped(char par1, int par2){
if (par2 == 1 || par2 == this.mc.gameSettings.keyBindInventory.keyCode)
{
this.mc.thePlayer.closeScreen();
}
}
@Override
public void drawScreen(int par1, int par2, float par3){
fontRenderer.drawString("123", 100, 100, 0x99FF00);
}
}
Ошибка:
Код:
2014-05-06 20:24:02 [INFO] [STDOUT] java.lang.ClassCastException: gui.GuiPda cannot be cast to net.minecraft.inventory.Container
2014-05-06 20:24:02 [INFO] [STDOUT] at cpw.mods.fml.common.network.NetworkRegistry.openRemoteGui(NetworkRegistry.java:308)
2014-05-06 20:24:02 [INFO] [STDOUT] at cpw.mods.fml.common.network.FMLNetworkHandler.openGui(FMLNetworkHandler.java:353)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2480)
2014-05-06 20:24:02 [INFO] [STDOUT] at flymod.baseclasses.MainItem.onItemRightClick(MainItem.java:33)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.item.ItemStack.useItemRightClick(ItemStack.java:177)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.item.ItemInWorldManager.tryUseItem(ItemInWorldManager.java:358)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.network.NetServerHandler.handlePlace(NetServerHandler.java:542)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.network.packet.Packet15Place.processPacket(Packet15Place.java:79)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:141)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:54)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:691)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:587)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:129)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484)
2014-05-06 20:24:02 [INFO] [STDOUT] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
Есть я хочу сделать какую-нибудь кликабельную панель, то мне лучше наследоваться от GuiContainer? Там вроде как и фон автоматически затемняется, и никакие doesGuiPauseGame() трогать не нужно, все уже за тебя потрогано и.т.д.
Возвращаясь к вопросу о прокси, getServerGuiElement и getClientGuiElement(если я захочу использвать прокси) должны находится в двух разных GuiHandler, соответственно клиентском и серверном?