aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/FoodData.cpp
diff options
context:
space:
mode:
authordaoge <3523206925@qq.com>2026-03-03 03:04:10 +0800
committerGitHub <noreply@github.com>2026-03-03 03:04:10 +0800
commitb3feddfef372618c8a9d7a0abcaf18cfad866c18 (patch)
tree267761c3bb39241ba5c347bfbe2254d06686e287 /Minecraft.World/FoodData.cpp
parent84c31a2331f7a0ec85b9d438992e244f60e5020f (diff)
feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki <lokirautio@gmail.com>
Diffstat (limited to 'Minecraft.World/FoodData.cpp')
-rw-r--r--Minecraft.World/FoodData.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/Minecraft.World/FoodData.cpp b/Minecraft.World/FoodData.cpp
index 79ef0fc1..ab0ced84 100644
--- a/Minecraft.World/FoodData.cpp
+++ b/Minecraft.World/FoodData.cpp
@@ -13,9 +13,9 @@ FoodData::FoodData()
exhaustionLevel = 0;
tickTimer = 0;
- this->foodLevel = FoodConstants::MAX_FOOD;
- this->lastFoodLevel = FoodConstants::MAX_FOOD;
- this->saturationLevel = FoodConstants::START_SATURATION;
+ foodLevel = FoodConstants::MAX_FOOD;
+ lastFoodLevel = FoodConstants::MAX_FOOD;
+ saturationLevel = FoodConstants::START_SATURATION;
}
void FoodData::eat(int food, float saturationModifier)
@@ -50,9 +50,9 @@ void FoodData::tick(shared_ptr<Player> player)
}
}
- // 4J Added - Allow host to disable using hunger. We don't deplete the hunger bar due to exhaustion
- // but I think we should deplete it to heal
- if(player->isAllowedToIgnoreExhaustion())
+ // 4J: Added - Allow host to disable using hunger. We don't deplete the hunger bar due to exhaustion
+ // but I think we should deplete it to heal. Don't heal if natural regen is disabled
+ if(player->isAllowedToIgnoreExhaustion() && player->level->getGameRules()->getBoolean(GameRules::RULE_NATURAL_REGENERATION))
{
if(foodLevel > 0 && player->isHurt())
{
@@ -65,12 +65,13 @@ void FoodData::tick(shared_ptr<Player> player)
}
}
}
- else if (foodLevel >= FoodConstants::HEAL_LEVEL && player->isHurt())
+ else if (player->level->getGameRules()->getBoolean(GameRules::RULE_NATURAL_REGENERATION) && foodLevel >= FoodConstants::HEAL_LEVEL && player->isHurt())
{
tickTimer++;
if (tickTimer >= FoodConstants::HEALTH_TICK_COUNT)
{
player->heal(1);
+ addExhaustion(FoodConstants::EXHAUSTION_HEAL);
tickTimer = 0;
}
}
@@ -145,15 +146,15 @@ float FoodData::getSaturationLevel()
void FoodData::setFoodLevel(int food)
{
- this->foodLevel = food;
+ foodLevel = food;
}
void FoodData::setSaturation(float saturation)
{
- this->saturationLevel = saturation;
+ saturationLevel = saturation;
}
void FoodData::setExhaustion(float exhaustion)
{
- this->exhaustionLevel = exhaustion;
+ exhaustionLevel = exhaustion;
} \ No newline at end of file