The world can now be configured wether farmers should be able to harvest crops.
This commit is contained in:
parent
8bf9043f98
commit
babc80ed77
@ -141,6 +141,11 @@ void cVillager::HandleFarmerAttemptSpecialAction()
|
||||
|
||||
void cVillager::HandleFarmerAction()
|
||||
{
|
||||
if (!m_World->VillagersShouldHarvestCrops())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Harvest the crops if the villager isn't moving and if the crops are closer then 2 blocks.
|
||||
if (!m_bMovingToDestination && (GetPosition() - m_CropsPos).Length() < 2)
|
||||
{
|
||||
@ -161,6 +166,11 @@ void cVillager::HandleFarmerAction()
|
||||
|
||||
void cVillager::HandleFarmerEndCountDown()
|
||||
{
|
||||
if (!m_World->VillagersShouldHarvestCrops())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if there is still farmland at the spot where the crops were.
|
||||
if (m_World->GetBlock(m_CropsPos.x, m_CropsPos.y - 1, m_CropsPos.z) == E_BLOCK_FARMLAND)
|
||||
{
|
||||
|
@ -547,6 +547,7 @@ void cWorld::Start(void)
|
||||
m_IsDeepSnowEnabled = IniFile.GetValueSetB("Physics", "DeepSnow", false);
|
||||
m_ShouldLavaSpawnFire = IniFile.GetValueSetB("Physics", "ShouldLavaSpawnFire", true);
|
||||
m_bCommandBlocksEnabled = IniFile.GetValueSetB("Mechanics", "CommandBlocksEnabled", false);
|
||||
m_VillagersShouldHarvestCrops = IniFile.GetValueSetB("Monsters", "VillagersShouldHarvestCrops", true);
|
||||
|
||||
m_GameMode = (eGameMode)IniFile.GetValueSetI("GameMode", "GameMode", m_GameMode);
|
||||
|
||||
|
@ -138,6 +138,8 @@ public:
|
||||
|
||||
bool ShouldLavaSpawnFire(void) const { return m_ShouldLavaSpawnFire; }
|
||||
|
||||
bool VillagersShouldHarvestCrops(void) const { return m_VillagersShouldHarvestCrops; }
|
||||
|
||||
eDimension GetDimension(void) const { return m_Dimension; }
|
||||
|
||||
/** Returns the world height at the specified coords; waits for the chunk to get loaded / generated */
|
||||
@ -743,6 +745,7 @@ private:
|
||||
bool m_bEnabledPVP;
|
||||
bool m_IsDeepSnowEnabled;
|
||||
bool m_ShouldLavaSpawnFire;
|
||||
bool m_VillagersShouldHarvestCrops;
|
||||
|
||||
std::vector<BlockTickQueueItem *> m_BlockTickQueue;
|
||||
std::vector<BlockTickQueueItem *> m_BlockTickQueueCopy; // Second is for safely removing the objects from the queue
|
||||
|
Loading…
Reference in New Issue
Block a user