1
0

The world can now be configured wether farmers should be able to harvest crops.

This commit is contained in:
STRWarrior 2014-01-27 22:02:19 +01:00
parent 8bf9043f98
commit babc80ed77
3 changed files with 14 additions and 0 deletions

View File

@ -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)
{

View File

@ -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);

View File

@ -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