aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/AddPaintingPacket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/AddPaintingPacket.cpp')
-rw-r--r--Minecraft.World/AddPaintingPacket.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/Minecraft.World/AddPaintingPacket.cpp b/Minecraft.World/AddPaintingPacket.cpp
new file mode 100644
index 00000000..f574cbf2
--- /dev/null
+++ b/Minecraft.World/AddPaintingPacket.cpp
@@ -0,0 +1,58 @@
+#include "stdafx.h"
+#include <iostream>
+#include "InputOutputStream.h"
+#include "net.minecraft.world.entity.h"
+#include "PacketListener.h"
+#include "AddPaintingPacket.h"
+
+
+
+AddPaintingPacket::AddPaintingPacket()
+{
+ id = -1;
+ x = 0;
+ y = 0;
+ z = 0;
+ dir = 0;
+ motive = L"";
+}
+
+AddPaintingPacket::AddPaintingPacket(shared_ptr<Painting> e)
+{
+ id = e->entityId;
+ x = e->xTile;
+ y = e->yTile;
+ z = e->zTile;
+ dir = e->dir;
+ motive = e->motive->name;
+}
+
+void AddPaintingPacket::read(DataInputStream *dis) //throws IOException
+{
+ id = dis->readInt();
+ motive = readUtf(dis, Painting::Motive::MAX_MOTIVE_NAME_LENGTH);
+ x = dis->readInt();
+ y = dis->readInt();
+ z = dis->readInt();
+ dir = dis->readInt();
+}
+
+void AddPaintingPacket::write(DataOutputStream *dos) //throws IOException
+{
+ dos->writeInt(id);
+ writeUtf(motive, dos);
+ dos->writeInt(x);
+ dos->writeInt(y);
+ dos->writeInt(z);
+ dos->writeInt(dir);
+}
+
+void AddPaintingPacket::handle(PacketListener *listener)
+{
+ listener->handleAddPainting(shared_from_this());
+}
+
+int AddPaintingPacket::getEstimatedSize()
+{
+ return 24;
+}