aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/FoodData.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/FoodData.h')
-rw-r--r--Minecraft.World/FoodData.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/Minecraft.World/FoodData.h b/Minecraft.World/FoodData.h
new file mode 100644
index 00000000..3416a44a
--- /dev/null
+++ b/Minecraft.World/FoodData.h
@@ -0,0 +1,34 @@
+#pragma once
+
+class FoodItem;
+class Player;
+class CompoundTag;
+
+class FoodData
+{
+private:
+ int foodLevel;
+ float saturationLevel;
+ float exhaustionLevel;
+
+ int tickTimer;
+ int lastFoodLevel;
+
+public:
+ FoodData();
+
+ void eat(int food, float saturationModifier);
+ void eat(FoodItem *item);
+ void tick(shared_ptr<Player> player);
+ void readAdditionalSaveData(CompoundTag *entityTag);
+ void addAdditonalSaveData(CompoundTag *entityTag);
+ int getFoodLevel();
+ int getLastFoodLevel();
+ bool needsFood();
+ void addExhaustion(float amount);
+ float getExhaustionLevel();
+ float getSaturationLevel();
+ void setFoodLevel(int food);
+ void setSaturation(float saturation);
+ void setExhaustion(float exhaustion);
+}; \ No newline at end of file