summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Mooshroom.cpp
diff options
context:
space:
mode:
authortonibm19 <tonibm19@gmail.com>2014-01-29 18:08:33 +0100
committertonibm19 <tonibm19@gmail.com>2014-01-29 18:08:33 +0100
commitebe0f9372fa8787b3fe709937ebd3af30810f910 (patch)
treef87c7dc6ca63110233d79f0cad14a506dc67c350 /src/Mobs/Mooshroom.cpp
parentLimited sign lines to 15 chars. (diff)
downloadcuberite-ebe0f9372fa8787b3fe709937ebd3af30810f910.tar
cuberite-ebe0f9372fa8787b3fe709937ebd3af30810f910.tar.gz
cuberite-ebe0f9372fa8787b3fe709937ebd3af30810f910.tar.bz2
cuberite-ebe0f9372fa8787b3fe709937ebd3af30810f910.tar.lz
cuberite-ebe0f9372fa8787b3fe709937ebd3af30810f910.tar.xz
cuberite-ebe0f9372fa8787b3fe709937ebd3af30810f910.tar.zst
cuberite-ebe0f9372fa8787b3fe709937ebd3af30810f910.zip
Diffstat (limited to 'src/Mobs/Mooshroom.cpp')
-rw-r--r--src/Mobs/Mooshroom.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Mobs/Mooshroom.cpp b/src/Mobs/Mooshroom.cpp
index 940e2db44..1ff90392d 100644
--- a/src/Mobs/Mooshroom.cpp
+++ b/src/Mobs/Mooshroom.cpp
@@ -2,6 +2,7 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "Mooshroom.h"
+#include "../Entities/Player.h"
@@ -29,5 +30,31 @@ void cMooshroom::GetDrops(cItems & a_Drops, cEntity * a_Killer)
}
+void cMooshroom::Tick(float a_Dt, cChunk & a_Chunk)
+{
+ cPlayer * a_Closest_Player = m_World->FindClosestPlayer(GetPosition(), (float)m_SightDistance);
+ if (a_Closest_Player != NULL)
+ {
+ if (a_Closest_Player->GetEquippedItem().m_ItemType == E_ITEM_WHEAT)
+ {
+ if (!IsBegging())
+ {
+ m_IsBegging = true;
+ m_World->BroadcastEntityMetadata(*this);
+ }
+ Vector3d PlayerPos = a_Closest_Player->GetPosition();
+ PlayerPos.y++;
+ m_FinalDestination = PlayerPos;
+ }
+ else
+ {
+ if (IsBegging())
+ {
+ m_IsBegging = false;
+ m_World->BroadcastEntityMetadata(*this);
+ }
+ }
+ }
+}