Не всегда работает ивент

Версия Minecraft
1.12+
API
Forge
106
3
7
Привет, создал ивент чтобы запретить есть пищу не из мода (в будущем это будет зависеть от капы), в пищу из мода имплементирован пустой интерфейс для проверки IGhoulFood. При сьедании обычной еды у игрока отнимаются очки голода которые еда восстановила, и накладывается эффект тошноты. Но ивент работает не всегда, то есть иногда просто ничего не происходит (проверка false) , иногда все работает как надо. Может надо проверку world.isRemote?

Код:
@SubscribeEvent
    public static void ghoulEat(LivingEntityUseItemEvent.Finish e) { 
        if (e.getEntity() instanceof EntityPlayer) { 
            if (!(e.getItem().getItem() instanceof IGhoulFood) && ((e.getItem().getItem() instanceof ItemFood) || (e.getItem().getItem() instanceof ItemSoup))) {
                ((EntityLivingBase) e.getEntity()).addPotionEffect(new PotionEffect(MobEffects.NAUSEA, 240, 1)); 
                EntityPlayer player = (EntityPlayer) e.getEntity();
                ItemFood itemFood = (ItemFood) e.getItem().getItem();
                player.getFoodStats().setFoodLevel(player.getFoodStats().getFoodLevel()-itemFood.getHealAmount(e.getItem()));
                player.getFoodStats().setFoodSaturationLevel(player.getFoodStats().getSaturationLevel()-itemFood.getSaturationModifier(e.getItem()));
            }
        }        
        
    }
 
Сверху