@Override
 public int getMaxItemUseDuration(ItemStack item) {
   for (IUseHandler handler : useHandlers)
     if (handler.isUsable(item)) return handler.getMaxUseDuration(item);
   return 0;
 }
 @Override
 public ItemStack onEaten(ItemStack item, World world, EntityPlayer entity) {
   for (IUseHandler handler : useHandlers)
     if (handler.isUsable(item)) return handler.onUse(item, entity);
   return item;
 }
 @Override
 public EnumAction getItemUseAction(ItemStack item) {
   for (IUseHandler handler : useHandlers)
     if (handler.isUsable(item)) return handler.useAction(item);
   return EnumAction.none;
 }
 @Override
 public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer entity) {
   for (IUseHandler handler : useHandlers)
     if (handler.canUse(item, entity)) return handler.onTryUse(item, world, entity);
   return item;
 }