FoodLevelChangeEvent
FoodLevelChangeEvent
继承关系
类描述
Called when a human entity's food level changes
当玩家饥饿值(Food Level)变化时触发。
译注:本事件在玩家饥饿值(Fool Level,常称作“饱食度”)变化时触发。如欲监听玩家饥饿等级(Exhaustion level)变化,请参见
EntityExhaustionEvent
。参见
Minecraft Wiki
中的相关页面 https://minecraft.fandom.com/wiki/Hunger#Exhaustion_level_increase 可知,玩家在完成特定操作(如疾跑、如挖掘方块等)时,会累积饥饿等级(Exhaustion level),该值一旦大于等于四,则自减四,并扣除一点饱和度(Saturation)。如果饱和度为零则扣除一点饥饿值(Food Level)。饥饿值由显示在玩家物品栏上方的一排鸡腿体现。但客户端不会明确展示玩家饱和度的具体数值。参见
net.minecraft.server.v1_16_R3.FoodMetaData#a(EntityHuman)
方法可知,如果饥饿等级大于等于四,且饱和度大于零,则扣除一点饱和度。如果饱和度小于一,则将饱和度设为零,既不再扣除饥饿值,也不会令饱和度出现负数。如果饱和度被扣除,不会触发本事件。只有饱和度等于零,扣除了饥饿值时,才会触发本事件。另外,本事件不仅仅在饥饿值减少时触发,玩家吃下食物增加饥饿值、由于饱和药水效果回复饥饿值也可以触发本事件。
方法列表
getEntity
方法声明: public HumanEntity getEntity()
方法签名: ()Lorg/bukkit/entity/HumanEntity;
译注:无文档。该方法用于获取饥饿值变化的玩家。
getItem
方法声明: public ItemStack getItem()
方法签名: ()Lorg/bukkit/inventory/ItemStack;
Gets the item that triggered this event, if any.
@return an ItemStack for the item being consumed
该方法用于获取引起了饥饿值变化的物品堆(如存在)。
@return 引起了饥饿值变化的物品堆。
getFoodLevel
方法声明: public int getFoodLevel()
方法签名: ()I
Gets the resultant food level that the entity involved in this event
should be set to.
Where 20 is a full food bar and 0 is an empty one.
@return The resultant food level
该方法用于获取玩家的新饥饿值。
如果本方法返回二十,说明玩家饥饿值将会填满饥饿值栏,如果本方法返回零,说明玩家饥饿值栏将会变空。
@return 玩家的新饥饿值。
setFoodLevel
方法声明: public void setFoodLevel(int level)
方法签名: (I)V
Sets the resultant food level that the entity involved in this event
should be set to
@param level the resultant food level that the entity involved in this
event should be set to
该方法用于设置玩家的新饥饿值。
@param level 玩家的新饥饿值。
isCancelled
方法声明: public boolean isCancelled()
方法签名: ()Z
setCancelled
方法声明: public void setCancelled(boolean cancel)
方法签名: (Z)V
getHandlers
方法声明: public HandlerList getHandlers()
方法签名: ()Lorg/bukkit/event/HandlerList;
getHandlerList
方法声明: public static HandlerList getHandlerList()
方法签名: ()Lorg/bukkit/event/HandlerList;
Last updated