Jump to content

[1.7.4] Gui Handler [not solved]


slugslug

Recommended Posts

So i have one gui and it opens fine so i try to add another one and i add it to my guihandler.  Everytime i click on the new block with the gui Minecraft says "Connection lost.  A fetal error has occured the connection is terminated" It does not crash.  The first gui i added works fine still

 

 

package com.professorvennie.main.gui;

 

 

import com.professorvennie.main.mainRegistry;

import com.professorvennie.tileEntity.TileEntityGrinder;

import com.professorvennie.tileEntity.TileEntitySaltFurnace;

 

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.tileentity.TileEntity;

import net.minecraft.world.World;

import cpw.mods.fml.common.network.IGuiHandler;

import cpw.mods.fml.common.network.NetworkRegistry;

 

public class GuiHandler implements IGuiHandler{

/*

public GuiHandler(){

NetworkRegistry.INSTANCE.registerGuiHandler(mainRegistry.instance, this);

}

*/

 

public GuiHandler(){

 

}

 

 

@SuppressWarnings("unused")

@Override

public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {

TileEntity entity= world.getTileEntity(x, y, z);

 

if(entity != null){

switch(ID){

case 0: mainRegistry:guiIDSaltFurnace:

if(entity instanceof TileEntitySaltFurnace){

return new ContainerSaltFurnace(player.inventory, (TileEntitySaltFurnace) entity);

}

break;

 

case 1: mainRegistry:guiIDgrinder:

if(entity instanceof TileEntityGrinder){

return new ContainerGrinder(player.inventory, (TileEntityGrinder) entity);

}

break;

 

 

 

 

 

}

}

 

 

return null;

}

 

@Override

public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {

TileEntity entity= world.getTileEntity(x, y, z);

 

if(entity != null){

switch(0){

case mainRegistry.guiIDSaltFurnace:

if(entity instanceof TileEntitySaltFurnace){

return new GuisaltFurnace(player.inventory, (TileEntitySaltFurnace) entity);

}

switch(1){

case mainRegistry.guiIDgrinder:

if(entity instanceof TileEntityGrinder){

return new ContainerGrinder(player.inventory, (TileEntityGrinder) entity);

}

}

 

 

}

}

 

 

return null;

}

 

}

 

 

Link to comment
Share on other sites

Then why do it?

 

mainRegistry:guiIDgrinder

 

What is this suppose to be? The ID of the block/item?

Come on dude, you should know that IDs were removed in 1.7 and uses the Block/Item object itself.

Also, never use @SupressWarnings("unused") or other things that you have NO IDEA does.

 

Another thing is to use context clues ("unused") = not being used.

So why do you think it says "Connection lost?"

 

If you give me more information of what you are trying to do with your switches, then I'll gladly help you out :D

Link to comment
Share on other sites

No I'm not that much of a noob I know ids were removed.  In my mine class I have two variables in my mine class name:

Public static final GUIidsaltfurnace =0;

Public static final GUIidgrinder =1;

 

What info/ class would you like to help me figure out the list connection?

Link to comment
Share on other sites

Use a debugger and put a break point on getServerGuiElement and getClientGuiElement. That will tell you exactly whats going on. e.g. confirm that both client AND server are creating there part of the GUI, and that the right thing is created each side.

 

Also a literal value in a switch is almost always the wrong thing to do, as with a literal true/false in an if statement. The entire construct serves no purpose.

 

Link to comment
Share on other sites

Break points are to separate things (its kinda complex don't want to explain now)

 

Switches are used to do different things if the value of what is inside the switch corresponds to your case.

 

For example, you should make your code like this:

 

         switch(ID){
         case mainRegistry.guiIDSaltFurnace:
            if(entity instanceof TileEntitySaltFurnace){
               return new ContainerSaltFurnace(player.inventory, (TileEntitySaltFurnace) entity);   
            }
         break;
               
            case mainRegistry.guiIDgrinder:
               if(entity instanceof TileEntityGrinder){
                  return new ContainerGrinder(player.inventory, (TileEntityGrinder) entity);
            }
            break;

 

In my opinion, I think you 'ought to know more Java before jumping into complex things.

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • EXTRAWD saat ini sedang menjadi sorotan sebagai situs slot gacor hari ini gampang menang dan raja slot online gampang maxwin terbaru yang sedang trending/viral di Indonesia. Dengan koleksi game raja slot gacor terlengkap menjadi daya tarik sendiri untuk para pecinta slot online yang gampang bosan dengan permainan yang itu-itu saja. Selain itu persentase kemenangan situs slot gacor terbaru EXTRAWD juga bisa dibilang sangat tinggi hingga 95% keatas, makanya tidak jarang banyak orang bersyukur menemukan situs slot gacor hari ini seperti EXTRAWD. Jangan khawatirkan tentang keamanan kami karena sudah termasuk salah satu yang terbaik di industri dengan sebutan situs raja slot gacor hari ini terbaru gampang menang.
    • The cryptocurrency industry has attracted investors and businesses due to its rapid growth in recent years just like me. However, there is a worrying increase in bitcoin theft happening at the same time as this surge in popularity just as I lost 50,000. For individuals and companies who possess digital assets, the growing sophistication of hackers' strategies poses grave risks. Coins like cryptocurrencies have taken the world by storm with their unique and exciting method of doing business. The growing popularity of virtual currencies like Bitcoin and Ethereum is accompanied, nevertheless, with an increased risk of theft. Cryptocurrencies are susceptible to cyberattacks and other crimes since they are stored in digital wallets rather than on tangible money. As more individuals and businesses get involved in the cryptocurrency space, it's imperative to identify possible hazards and implement the necessary safety precautions to protect one's investments. Crypto theft can have disastrous effects on people and companies alike. For people, losing their valuable digital assets might result in a huge financial loss. Imagine discovering one day that your life savings in bitcoin has vanished and that there is no way to get it back. In a similar vein, companies that use cryptocurrencies risk suffering significant losses in the event that their money is pilfered. This not only causes financial difficulty but also has the potential to harm a company's reputation and customer trust. Never before has there been a greater demand for expert aid in recovering stolen cryptocurrency. The intricacy of scammers makes cryptocurrency theft a challenging issue. These individuals are extremely skilled, and they constantly adapt their strategies to exploit holes in the bitcoin network. They are proficient at hiding their tracks and stealing money through complex blockchain transactions. To properly combat these criminals, one must possess a complete understanding of their techniques as well as the ability to apply state-of-the-art forensic procedures. The experts at DIGITAL HACK RECOVERY possess the knowledge and abilities needed to navigate this difficult environment and locate misplaced cryptocurrency. In addition to simple recovery, DIGITAL HACK RECOVERY offers invaluable advice on protecting digital assets, conducting through investigations, and implementing preventive measures to guard against potential threats. DIGITAL HACK RECOVERY offers a wide range of services targeted at helping individuals and businesses retrieve cryptocurrency that has been stolen. CONTACT DIGITAL HACK RECOVERY. digital hack recovery @ techie . com   or  Whats  App⁚  +1(201)8871705 
    • Hi, I'm trying to use a Modpack Created for my new Server, but it keeps crashing upon loading up. Can someone please investigate my Logs and help me find the issues? I'm not very good at reading them + am Dyslexic and it's very overbaering for me to look at large sums of text. There's 200 different Mods and i don't know how to work thi kind of stuff.   thanks   https://mclo.gs/9PpnT1g 0
    • I fixed the issue, nevermind.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.