aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/TileEntityDataPacket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/TileEntityDataPacket.cpp')
-rw-r--r--Minecraft.World/TileEntityDataPacket.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/Minecraft.World/TileEntityDataPacket.cpp b/Minecraft.World/TileEntityDataPacket.cpp
new file mode 100644
index 00000000..41be4526
--- /dev/null
+++ b/Minecraft.World/TileEntityDataPacket.cpp
@@ -0,0 +1,65 @@
+#include "stdafx.h"
+#include <iostream>
+#include "InputOutputStream.h"
+#include "PacketListener.h"
+#include "TileEntityDataPacket.h"
+
+
+
+void TileEntityDataPacket::_init()
+{
+ x = y = z = 0;
+ type = TYPE_MOB_SPAWNER;
+ tag = NULL;
+}
+
+
+TileEntityDataPacket::TileEntityDataPacket()
+{
+ _init();
+ shouldDelay = true;
+}
+
+TileEntityDataPacket::TileEntityDataPacket(int x, int y, int z, int type, CompoundTag *tag)
+{
+ _init();
+ shouldDelay = true;
+ this->x = x;
+ this->y = y;
+ this->z = z;
+ this->type = type;
+ this->tag = tag;
+}
+
+TileEntityDataPacket::~TileEntityDataPacket()
+{
+ delete tag;
+}
+
+void TileEntityDataPacket::read(DataInputStream *dis)
+{
+ x = dis->readInt();
+ y = dis->readShort();
+ z = dis->readInt();
+ type = dis->readByte();
+ tag = readNbt(dis);
+}
+
+void TileEntityDataPacket::write(DataOutputStream *dos)
+{
+ dos->writeInt(x);
+ dos->writeShort(y);
+ dos->writeInt(z);
+ dos->writeByte((byte) type);
+ writeNbt(tag, dos);
+}
+
+void TileEntityDataPacket::handle(PacketListener *listener)
+{
+ listener->handleTileEntityData(shared_from_this());
+}
+
+int TileEntityDataPacket::getEstimatedSize()
+{
+ return 6 * 4 + 1;
+} \ No newline at end of file