diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-10-03 20:44:42 +0200 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-10-03 20:44:42 +0200 |
commit | 5bbeeb3d6697c3b8ec5640aea07e594eaf3a22b0 (patch) | |
tree | 66abec621a03faf3dd57e28af53e7aeed7a6abb3 /source | |
parent | Minor style cleanup (diff) | |
download | cuberite-5bbeeb3d6697c3b8ec5640aea07e594eaf3a22b0.tar cuberite-5bbeeb3d6697c3b8ec5640aea07e594eaf3a22b0.tar.gz cuberite-5bbeeb3d6697c3b8ec5640aea07e594eaf3a22b0.tar.bz2 cuberite-5bbeeb3d6697c3b8ec5640aea07e594eaf3a22b0.tar.lz cuberite-5bbeeb3d6697c3b8ec5640aea07e594eaf3a22b0.tar.xz cuberite-5bbeeb3d6697c3b8ec5640aea07e594eaf3a22b0.tar.zst cuberite-5bbeeb3d6697c3b8ec5640aea07e594eaf3a22b0.zip |
Diffstat (limited to 'source')
-rw-r--r-- | source/Protocol/Protocol132.cpp | 22 | ||||
-rw-r--r-- | source/Protocol/Protocol132.h | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/source/Protocol/Protocol132.cpp b/source/Protocol/Protocol132.cpp index d8c9f1f27..f356b611a 100644 --- a/source/Protocol/Protocol132.cpp +++ b/source/Protocol/Protocol132.cpp @@ -14,6 +14,7 @@ #include "../Player.h"
#include "../Mobs/Monster.h"
#include "../UI/Window.h"
+#include "../Pickup.h"
@@ -56,6 +57,7 @@ enum PACKET_ENTITY_EQUIPMENT = 0x05,
PACKET_COMPASS = 0x06,
PACKET_PLAYER_SPAWN = 0x14,
+ PACKET_COLLECT_PICKUP = 0x16,
PACKET_SPAWN_MOB = 0x18,
PACKET_DESTROY_ENTITIES = 0x1d,
PACKET_CHUNK_DATA = 0x33,
@@ -247,6 +249,26 @@ void cProtocol132::SendChunkData(int a_ChunkX, int a_ChunkZ, cChunkDataSerialize +void cProtocol132::SendCollectPickup(const cPickup & a_Pickup, const cPlayer & a_Player)
+{
+ cCSLock Lock(m_CSPacket);
+ WriteByte(PACKET_COLLECT_PICKUP);
+ WriteInt (a_Pickup.GetUniqueID());
+ WriteInt (a_Player.GetUniqueID());
+ Flush();
+
+ // Also send the "pop" sound effect with a somewhat random pitch (fast-random using EntityID ;)
+ SendSoundEffect(
+ "random.pop",
+ (int)(a_Pickup.GetPosX() * 8), (int)(a_Pickup.GetPosY() * 8), (int)(a_Pickup.GetPosZ() * 8),
+ 0.5, (float)(0.75 + ((float)((a_Pickup.GetUniqueID() * 23) % 32)) / 64)
+ );
+}
+
+
+
+
+
void cProtocol132::SendDestroyEntity(const cEntity & a_Entity)
{
cCSLock Lock(m_CSPacket);
diff --git a/source/Protocol/Protocol132.h b/source/Protocol/Protocol132.h index 977ddca92..f5175e3bb 100644 --- a/source/Protocol/Protocol132.h +++ b/source/Protocol/Protocol132.h @@ -33,6 +33,7 @@ public: virtual void SendBlockAction (int a_BlockX, int a_BlockY, int a_BlockZ, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override;
virtual void SendBlockChange (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override;
virtual void SendChunkData (int a_ChunkX, int a_ChunkZ, cChunkDataSerializer & a_Serializer) override;
+ virtual void SendCollectPickup (const cPickup & a_Pickup, const cPlayer & a_Player) override;
virtual void SendDestroyEntity (const cEntity & a_Entity) override;
virtual void SendEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) override;
virtual void SendLogin (const cPlayer & a_Player, const cWorld & a_World) override;
|