public ItemType CheckItem(ItemStack stack) throws InvocationTargetException, IllegalAccessException { int ItemID = stack.getTypeId(); byte meta = stack.getData().getData(); Object item = nmsResolver.getItemList().get(ItemID); ForgePermittor.log(item.toString(), true); if (item != null) { /* if (this.getInformationManager().HasConnectableInferface(item)) return ItemType.Connectable;*/ if (this.getInformationManager().HasItemBlockContainerInterface(item)) return ItemType.Container; if (this.getInformationManager().HasFoodInterface(item)) return ItemType.Food; if (this.getInformationManager().HasSwordInterface(item)) return ItemType.Weapon; if (this.getInformationManager().HasItemBlockInterface(item)) return CheckItemBlock(item, ItemID, meta); if (this.getInformationManager().HasItemInterface(item)) { if (nmsResolver .getItemStackHandler() .HasTagCompound(nmsResolver.getCraftItemStackHandler().asNMSCopy(stack))) return ItemType.AdvItem; return ItemType.Item; } } return ItemType.Unknown; }