diff options
author | Alexander Harkness <bearbin@gmail.com> | 2013-10-15 18:39:16 +0200 |
---|---|---|
committer | Alexander Harkness <bearbin@gmail.com> | 2013-10-15 18:39:16 +0200 |
commit | 9376005778494f7f34cf6a656ac0f2e6966e86e1 (patch) | |
tree | 6ad83c006521d648fa6f1df99bec47709c9f9dc6 /source/Mobs | |
parent | APIDump: Documented HOOK_SPAWNING_MONSTER. (diff) | |
parent | Fixed a big fail.I did (diff) | |
download | cuberite-9376005778494f7f34cf6a656ac0f2e6966e86e1.tar cuberite-9376005778494f7f34cf6a656ac0f2e6966e86e1.tar.gz cuberite-9376005778494f7f34cf6a656ac0f2e6966e86e1.tar.bz2 cuberite-9376005778494f7f34cf6a656ac0f2e6966e86e1.tar.lz cuberite-9376005778494f7f34cf6a656ac0f2e6966e86e1.tar.xz cuberite-9376005778494f7f34cf6a656ac0f2e6966e86e1.tar.zst cuberite-9376005778494f7f34cf6a656ac0f2e6966e86e1.zip |
Diffstat (limited to 'source/Mobs')
-rw-r--r-- | source/Mobs/Cow.cpp | 16 | ||||
-rw-r--r-- | source/Mobs/Cow.h | 1 | ||||
-rw-r--r-- | source/Mobs/Horse.cpp | 12 |
3 files changed, 25 insertions, 4 deletions
diff --git a/source/Mobs/Cow.cpp b/source/Mobs/Cow.cpp index 8e9b87d27..431a6916d 100644 --- a/source/Mobs/Cow.cpp +++ b/source/Mobs/Cow.cpp @@ -7,10 +7,6 @@ -// TODO: Milk Cow - - - cCow::cCow(void) : @@ -28,6 +24,18 @@ void cCow::GetDrops(cItems & a_Drops, cEntity * a_Killer) AddRandomDropItem(a_Drops, 1, 3, IsOnFire() ? E_ITEM_STEAK : E_ITEM_RAW_BEEF); } +void cCow::OnRightClicked(cPlayer & a_Player) +{ + if ((a_Player.GetEquippedItem().m_ItemType == E_ITEM_BUCKET)) + { + if (!a_Player.IsGameModeCreative()) + { + a_Player.GetInventory().RemoveOneEquippedItem(); + a_Player.GetInventory().AddItem(E_ITEM_MILK) + } + + } +} diff --git a/source/Mobs/Cow.h b/source/Mobs/Cow.h index b90cb170e..0391d4a31 100644 --- a/source/Mobs/Cow.h +++ b/source/Mobs/Cow.h @@ -18,6 +18,7 @@ public: CLASS_PROTODEF(cCow); virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override; + virtual void OnRightClicked(cPlayer & a_Player) override; } ; diff --git a/source/Mobs/Horse.cpp b/source/Mobs/Horse.cpp index 46e7969cc..c2a8f6ed0 100644 --- a/source/Mobs/Horse.cpp +++ b/source/Mobs/Horse.cpp @@ -107,6 +107,18 @@ void cHorse::OnRightClicked(cPlayer & a_Player) m_TameAttemptTimes++; a_Player.AttachTo(this); + + if (a_Player.GetEquippedItem().m_ItemType == E_ITEM_SADDLE) + { + if (!a_Player.IsGameModeCreative()) + { + a_Player.GetInventory().RemoveOneEquippedItem(); + } + + // Set saddle state & broadcast metadata + m_bIsSaddled = true; + m_World->BroadcastEntityMetadata(*this); + } } |