aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/LevelEventPacket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/LevelEventPacket.cpp')
-rw-r--r--Minecraft.World/LevelEventPacket.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/Minecraft.World/LevelEventPacket.cpp b/Minecraft.World/LevelEventPacket.cpp
new file mode 100644
index 00000000..a044aded
--- /dev/null
+++ b/Minecraft.World/LevelEventPacket.cpp
@@ -0,0 +1,54 @@
+#include "stdafx.h"
+#include <iostream>
+#include "InputOutputStream.h"
+#include "PacketListener.h"
+#include "LevelEventPacket.h"
+
+
+
+LevelEventPacket::LevelEventPacket()
+{
+ type = 0;
+ data = 0;
+ x = 0;
+ y = 0;
+ z = 0;
+}
+
+LevelEventPacket::LevelEventPacket(int type, int x, int y, int z, int data)
+{
+ this->type = type;
+ this->x = x;
+ this->y = y;
+ this->z = z;
+ this->data = data;
+}
+
+void LevelEventPacket::read(DataInputStream *dis) //throws IOException
+{
+ type = dis->readInt();
+ x = dis->readInt();
+ y = dis->readByte() & 0xff;
+ z = dis->readInt();
+ data = dis->readInt();
+}
+
+void LevelEventPacket::write(DataOutputStream *dos) //throws IOException
+{
+ dos->writeInt(type);
+ dos->writeInt(x);
+ dos->writeByte(y & 0xff);
+ dos->writeInt(z);
+ dos->writeInt(data);
+}
+
+void LevelEventPacket::handle(PacketListener *listener)
+{
+ listener->handleLevelEvent(shared_from_this());
+}
+
+int LevelEventPacket::getEstimatedSize()
+{
+ return 4 * 5 + 1;
+}
+