Jump to content

TrayMiC


trayMic

Recommended Posts

Hey, i have an error a crash when i click on my item :
I have this crash report

at cpw.mods.fml.common.network.NetworkRegistry.getLocalGuiContainer(NetworkRegistry.java:265)
	at cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:93)
	at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2501)
	at fr.axicraft.mod.GuiHandler.openGui(GuiHandler.java:36)
	at fr.axicraft.mod.init.items.ItemBackpack.onItemRightClick(ItemBackpack.java:20)
	at net.minecraft.item.ItemStack.useItemRightClick(ItemStack.java:164)
	at net.minecraft.client.multiplayer.PlayerControllerMP.sendUseItem(PlayerControllerMP.java:430)
	at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1557)

Class Guihandler

package fr.axicraft.mod;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;

public class GuiHandler implements cpw.mods.fml.common.network.IGuiHandler {

	@Override
	public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
		ItemStack current = player.getCurrentEquippedItem();
		if (current != null) {
			if (ID == GuiID.BACKPACK.ordinal())
				return new ContainerItemStorage(player,
						new InventoryItemStorage(current));
		}
		return null;
	}

	@Override
	public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
		ItemStack current = player.getCurrentEquippedItem();
		if (current != null) {
			if (ID == GuiID.BACKPACK.ordinal())
				return new GuiItemStorage(player,
						new InventoryItemStorage(current));
		}
		return null;
	}

	public static void openGui(GuiID ID, EntityPlayer player, int x, int y, int z) {
		player.openGui(Main.instance, ID.ordinal(), player.worldObj, x, y, z);
	}

	public static void openGui(GuiID ID, EntityPlayer player) {
		player.openGui(Main.instance, ID.ordinal(), player.worldObj, (int)player.posX, (int)player.posY, (int)player.posZ);
	}

	public static enum GuiID {
		BACKPACK;
	}

}

Class ItemBackpack

package fr.axicraft.mod.init.items;



import java.util.List;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import fr.axicraft.mod.GuiHandler;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;

public class ItemBackpack extends Item {
	public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {

			GuiHandler.openGui(GuiHandler.GuiID.BACKPACK, player);
		
		return super.onItemRightClick(is, world, player);
	}

	@SideOnly(Side.CLIENT)
	public void getSubItems(Item id, CreativeTabs table, List list) {
		//list.add(new ItemStack(id, 1, 0));
		list.add(addNBT(new ItemStack(id, 1, 0), 1));
		list.add(addNBT(new ItemStack(id, 1, 0), 3));
		list.add(addNBT(id, SizeStorage.SIZE1));
		list.add(addNBT(id, SizeStorage.SIZE2));
		list.add(addNBT(id, SizeStorage.SIZE3));
		list.add(addNBT(id, SizeStorage.SIZE4));
		list.add(addNBT(id, SizeStorage.SIZE5));
		list.add(addNBT(id, SizeStorage.SIZE6));
		list.add(addNBT(id, SizeStorage.SIZE7));
		list.add(addNBT(id, SizeStorage.SIZE8));
		list.add(addNBT(id, SizeStorage.SIZE9));
	}

	public void addInformation(ItemStack is, EntityPlayer player, List list, boolean flag) {
		NBTTagCompound nbt = is.getTagCompound();
		if (nbt != null && nbt.hasKey("CustomSize")) list.add("Slots: " + (int)(nbt.getByte("CustomSize") & 255) + ".");
	}

	public static ItemStack addNBT(Item item, SizeStorage size) {
		return addNBT(new ItemStack(item, 1, 0), size);
	}

	public static ItemStack addNBT(ItemStack is, SizeStorage size) {
		return addNBT(is, size.getSize());
	}

	public static ItemStack addNBT(ItemStack is, int size) {
		NBTTagCompound nbt = new NBTTagCompound();
		nbt.setByte("CustomSize", (byte)size);
		is.setTagCompound(nbt);
		return is;
	}

	public static enum SizeStorage {

		SIZE1(9),//(9 * 1)
		SIZE2(18),//(9 * 2)
		SIZE3(27),//(9 * 3)//размеры как у одинарного сундука
		SIZE4(36),//(9 * 4)
		SIZE5(45),//(9 * 5)
		SIZE6(54),//(9 * 6)//размеры как у двойного сундука
		SIZE7(63),//(9 * 7)
		SIZE8(72),//(9 * 8)
		SIZE9(81);//(9 * 9)

		private final int size;

		SizeStorage(int size) {
			this.size = size;
		}

		public int getSize() {
			return size;
		}

	}

}

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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