summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authortonibm19 <tonibm19@gmail.com>2013-11-10 16:03:00 +0100
committertonibm19 <tonibm19@gmail.com>2013-11-10 16:03:00 +0100
commite919496025bdb2dfc47e4686d767ffaa88b007af (patch)
treed856613ac35e9179e27211d024ed923d74a7fa35 /source
parentProtocol 1.7: Attempt at fixing SoundParticleEffect packet. (diff)
downloadcuberite-e919496025bdb2dfc47e4686d767ffaa88b007af.tar
cuberite-e919496025bdb2dfc47e4686d767ffaa88b007af.tar.gz
cuberite-e919496025bdb2dfc47e4686d767ffaa88b007af.tar.bz2
cuberite-e919496025bdb2dfc47e4686d767ffaa88b007af.tar.lz
cuberite-e919496025bdb2dfc47e4686d767ffaa88b007af.tar.xz
cuberite-e919496025bdb2dfc47e4686d767ffaa88b007af.tar.zst
cuberite-e919496025bdb2dfc47e4686d767ffaa88b007af.zip
Diffstat (limited to '')
-rw-r--r--source/Mobs/Sheep.cpp158
1 files changed, 156 insertions, 2 deletions
diff --git a/source/Mobs/Sheep.cpp b/source/Mobs/Sheep.cpp
index 703482ddb..85081b294 100644
--- a/source/Mobs/Sheep.cpp
+++ b/source/Mobs/Sheep.cpp
@@ -33,7 +33,6 @@ void cSheep::GetDrops(cItems & a_Drops, cEntity * a_Killer)
-
void cSheep::OnRightClicked(cPlayer & a_Player)
{
if ((a_Player.GetEquippedItem().m_ItemType == E_ITEM_SHEARS) && (!m_IsSheared))
@@ -51,9 +50,164 @@ void cSheep::OnRightClicked(cPlayer & a_Player)
Drops.push_back(cItem(E_BLOCK_WOOL, NumDrops, m_WoolColor));
m_World->SpawnItemPickups(Drops, GetPosX(), GetPosY(), GetPosZ(), 10);
}
-}
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_BLACK)
+ {
+ m_WoolColor = 15;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_RED)
+ {
+ m_WoolColor = 14;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_GREEN)
+ {
+ m_WoolColor = 13;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_BROWN)
+ {
+ m_WoolColor = 12;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_BLUE)
+ {
+ m_WoolColor = 11;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_PURPLE)
+ {
+ m_WoolColor = 10;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_CYAN)
+ {
+ m_WoolColor = 9;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_LIGHTGRAY)
+ {
+ m_WoolColor = 8;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_GRAY)
+ {
+ m_WoolColor = 7;
+ m_World->BroadcastEntityMetadata(*this);
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_PINK)
+ {
+ m_WoolColor = 6;
+ m_World->BroadcastEntityMetadata(*this);
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_LIGHTGREEN)
+ {
+ m_WoolColor = 5;
+ m_World->BroadcastEntityMetadata(*this);
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_YELLOW)
+ {
+ m_WoolColor = 4;
+ m_World->BroadcastEntityMetadata(*this);
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_LIGHTBLUE)
+ {
+ m_WoolColor = 3;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_MAGENTA)
+ {
+ m_WoolColor = 2;
+ m_World->BroadcastEntityMetadata(*this);
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_ORANGE)
+ {
+ m_WoolColor = 1;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+ if (a_Player.GetEquippedItem().m_ItemDamage == E_META_DYE_WHITE)
+ {
+ m_WoolColor = 0;
+ m_World->BroadcastEntityMetadata(*this);
+
+ if (!a_Player.IsGameModeCreative())
+ {
+ a_Player.GetInventory().RemoveOneEquippedItem();
+ }
+ }
+}