--- a/net/minecraft/world/effect/SaturationMobEffect.java +++ b/net/minecraft/world/effect/SaturationMobEffect.java @@ -12,7 +_,15 @@ @Override public boolean applyEffectTick(ServerLevel level, LivingEntity entity, int amplifier) { if (entity instanceof Player player) { - player.getFoodData().eat(amplifier + 1, 1.0F); + // CraftBukkit start + int oldFoodLevel = player.getFoodData().foodLevel; + org.bukkit.event.entity.FoodLevelChangeEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callFoodLevelChangeEvent(player, amplifier + 1 + oldFoodLevel); + if (!event.isCancelled()) { + player.getFoodData().eat(event.getFoodLevel() - oldFoodLevel, 1.0F); + } + + ((org.bukkit.craftbukkit.entity.CraftPlayer) player.getBukkitEntity()).sendHealthUpdate(); + // CraftBukkit end } return true;