From e08535d68853d48388accc0a4f3c7504c2d15bf9 Mon Sep 17 00:00:00 2001 From: EvilSeph Date: Thu, 22 Sep 2011 15:38:25 -0400 Subject: [PATCH] Fixed FoodLevelChange event adding too much to the food level. --- src/main/java/net/minecraft/server/ItemFood.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/ItemFood.java b/src/main/java/net/minecraft/server/ItemFood.java index cfafbb6ca4..de2baffa23 100644 --- a/src/main/java/net/minecraft/server/ItemFood.java +++ b/src/main/java/net/minecraft/server/ItemFood.java @@ -29,11 +29,12 @@ public class ItemFood extends Item { public ItemStack b(ItemStack itemstack, World world, EntityHuman entityhuman) { --itemstack.count; // CraftBukkit start - FoodLevelChangeEvent event = new FoodLevelChangeEvent(entityhuman.getBukkitEntity(), Math.min(this.k() + entityhuman.foodData.foodLevel, 20)); + FoodLevelChangeEvent event = new FoodLevelChangeEvent(entityhuman.getBukkitEntity(), Math.min(this.k() + entityhuman.getFoodData().foodLevel, 20)); entityhuman.world.getServer().getPluginManager().callEvent(event); if (!event.isCancelled()) { - entityhuman.getFoodData().a(event.getFoodLevel(), this.l()); + entityhuman.getFoodData().foodLevel = event.getFoodLevel(); + entityhuman.getFoodData().saturationLevel = Math.min(entityhuman.getFoodData().saturationLevel + (float) event.getFoodLevel() - entityhuman.getFoodData().foodLevel * this.l() * 2.0F, (float) entityhuman.getFoodData().foodLevel); } // CraftBukkit end