Jump to content

[1.7.2]Creating an item that opens a gui


Looke81

Recommended Posts

Hello i wont lie i am new to modding but i have come here to get help so if your going just tell me to learn java i know that is what i am trying to do.Ok now my problem is i am trying to create an item that when you right click opens a GUI. Now i don't know weather i have made the GUI wrong or the item right click wrong.

Here is my code.

 

---------------------------------------------------------------------------------------------------------------------

package portalgestures;

 

 

 

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.init.Items;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import net.minecraft.world.World;

import cpw.mods.fml.common.Mod;

import cpw.mods.fml.common.Mod.EventHandler; // used in 1.6.2

//import cpw.mods.fml.common.Mod.PreInit;    // used in 1.5.2

//import cpw.mods.fml.common.Mod.Init;      // used in 1.5.2

//import cpw.mods.fml.common.Mod.PostInit;  // used in 1.5.2

import cpw.mods.fml.common.Mod.Instance;

import cpw.mods.fml.common.SidedProxy;

import cpw.mods.fml.common.event.FMLInitializationEvent;

import cpw.mods.fml.common.event.FMLPostInitializationEvent;

import cpw.mods.fml.common.event.FMLPreInitializationEvent;

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

import cpw.mods.fml.common.network.internal.FMLNetworkHandler;

import cpw.mods.fml.common.registry.GameRegistry;

 

 

@Mod(modid = Portalgestures.modid, version = Portalgestures.version)

public class Portalgestures {

 

public static final String modid = "Portalgestures";

public static final String version = "0.0.0.0.0";

 

public static Portalgestures instance;

     

        @Instance(value = "portalgestures")

     

       

    public static Item portalgesturesInterface;

   

    public static final int guiPortalgestures = 0;

 

       

        @SidedProxy(clientSide="portalgestures.client.ClientProxy", serverSide="portalgestures.CommonProxy")

        public static CommonProxy proxy;

       

        public static CreativeTabs portalgestures = new CreativeTabs("portalgesturesTab"){

    public Item getTabIconItem() {

    return Items.nether_star;

    }

   

        };

        @EventHandler

    public void preInit(FMLPreInitializationEvent e){

        portalgesturesInterface = new Item().setUnlocalizedName("portalgesturesInterface").setCreativeTab(portalgestures).setTextureName("portalgestures:portalgestures Interface");

    GameRegistry.registerItem(portalgesturesInterface, "portalgesturesInterface");  }

       

        public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player)  {     

 

        {

        if(!world.isRemote)

                FMLNetworkHandler.openGui(player, Portalgestures.instance, Portalgestures.guiPortalgestures, world, x, y, z);

       

        }

           

       

 

      return itemstack;

     

}

       

 

        @EventHandler

    public void Init(FMLPreInitializationEvent e) {

        instance = this;

       

       

       

        NetworkRegistry.INSTANCE.registerGuiHandler(this, new LookeGuiHandler());

        }

       

        @EventHandler

        public void load(FMLInitializationEvent event) {

                proxy.registerRenderers();

        }

       

        @EventHandler

        public void postInit(FMLPostInitializationEvent event) {

                // Stub Method

        }

}

 

---------------------------------------------------------------------------------------------------------------------------------

package portalgestures;

 

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.world.World;

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

 

public class LookeGuiHandler implements IGuiHandler {

 

@Override

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

 

 

switch(ID) {

  case Portalgestures.guiPortalgestures:

  return new Object();

 

}

 

return null;

}

 

@Override

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

 

switch(ID) {

  case Portalgestures.guiPortalgestures:

  return new GuiPortalgestures();

 

}

 

 

 

return null;

}

 

}

-----------------------------------------------------------------------------------------------------------------------------------------

package portalgestures;

 

import net.minecraft.client.gui.GuiScreen;

import net.minecraft.inventory.Container;

import net.minecraft.util.ResourceLocation;

 

public class GuiPortalgestures extends GuiScreen{

 

public final ResourceLocation texture = new ResourceLocation(Portalgestures.modid, "textures/portalgestures/textures/gui" );

 

 

 

 

public void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {

 

}

 

}

 

 

 

 

-----------------------------------------------------------------------------------------------------------------------------------

package portalgestures;

 

public class CommonProxy {

 

        // Client stuff

        public void registerRenderers() {

                // Nothing here as the server doesn't render graphics or entities!

        }

}

--------------------------------------------------------------------------------------------------------------------------

BioWarfare Mod: http://goo.gl/BYWQty

Link to comment
Share on other sites

Did you even bother to look at any of the google results? *sigh* if I really must... http://www.minecraftforge.net/wiki/Basic_Items

 

That's how you make an item. The tutorial shows you how to create an item class and use it from your code. And BTW, your code will not work. onItemRightClick needs to go inside your custom item class, _not_ your main mod class. In there, it won't do anything.

 

Also, protip: make sure you use @Override on methods where applicable (look it up).

I like to make mods, just like you. Here's one worth checking out

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



×
×
  • Create New...

Important Information

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