@EventHandler public void onFoodLevelChange(FoodLevelChangeEvent event) { if (event.isCancelled()) { return; } Entity entity = event.getEntity(); if (!(entity instanceof Player)) { return; } Player player = (Player) entity; String name = player.getName().toLowerCase(); if (PlayerCache.getInstance().isAuthenticated(name)) { return; } if (!data.isAuthAvailable(name)) { if (!Settings.isForcedRegistrationEnabled) { return; } } event.setCancelled(true); }
public void a(EntityHuman entityhuman) { EnumDifficulty enumdifficulty = entityhuman.world.difficulty; this.e = this.foodLevel; if (this.exhaustionLevel > 4.0F) { this.exhaustionLevel -= 4.0F; if (this.saturationLevel > 0.0F) { // Alkazia - food this.saturationLevel = Math.max(this.saturationLevel - 0.8F, 0.0F); } else if (enumdifficulty != EnumDifficulty.PEACEFUL) { // CraftBukkit start org.bukkit.event.entity.FoodLevelChangeEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callFoodLevelChangeEvent( entityhuman, (int) Math.max(this.foodLevel - 0.5D, 0)); if (!event.isCancelled()) { this.foodLevel = event.getFoodLevel(); } ((EntityPlayer) entityhuman) .playerConnection.sendPacket( new PacketPlayOutUpdateHealth( ((EntityPlayer) entityhuman).getBukkitEntity().getScaledHealth(), this.foodLevel, this.saturationLevel)); // CraftBukkit end } } if (entityhuman.world.getGameRules().getBoolean("naturalRegeneration") && this.foodLevel >= 18 && entityhuman.bP()) { ++this.foodTickTimer; if (this.foodTickTimer >= 80) { // CraftBukkit - added RegainReason entityhuman.heal( 1.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.SATIATED); this.a(3.0F); this.foodTickTimer = 0; } } else if (this.foodLevel <= 0) { ++this.foodTickTimer; if (this.foodTickTimer >= 80) { if (entityhuman.getHealth() > 10.0F || enumdifficulty == EnumDifficulty.HARD || entityhuman.getHealth() > 1.0F && enumdifficulty == EnumDifficulty.NORMAL) { entityhuman.damageEntity(DamageSource.STARVE, 1.0F); } this.foodTickTimer = 0; } } else { this.foodTickTimer = 0; } }
@EventHandler(priority = EventPriority.NORMAL) public void onFoodLevelChange(FoodLevelChangeEvent event) { if (event.isCancelled()) return; if (Conf.vampiresLooseFoodNaturally) return; Entity entity = event.getEntity(); if (!(entity instanceof Player)) return; Player player = (Player) entity; VPlayer vplayer = VPlayers.i.get(player); if (!vplayer.isVampire()) return; event.setCancelled(true); }
public void a(ItemFood itemfood, ItemStack itemstack) { // CraftBukkit start int oldFoodLevel = foodLevel; org.bukkit.event.entity.FoodLevelChangeEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callFoodLevelChangeEvent( entityhuman, itemfood.getNutrition(itemstack) + oldFoodLevel); if (!event.isCancelled()) { this.eat(event.getFoodLevel() - oldFoodLevel, itemfood.getSaturationModifier(itemstack)); } ((EntityPlayer) entityhuman) .playerConnection.sendPacket( new PacketPlayOutUpdateHealth( ((EntityPlayer) entityhuman).getBukkitEntity().getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel)); // CraftBukkit end }