summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2014-01-19 22:47:52 +0100
committerMattes D <github@xoft.cz>2014-01-19 22:47:52 +0100
commitfde8b0be60fb58796727d240ceab48a5e2aa0b88 (patch)
treec7c97ced908edb8d0a719032fb3b9eaff9d7ca7c /Tools
parentRewritten SocketThreads for proper shutdown scenario. (diff)
parentRemoved unneeded paramters (diff)
downloadcuberite-fde8b0be60fb58796727d240ceab48a5e2aa0b88.tar
cuberite-fde8b0be60fb58796727d240ceab48a5e2aa0b88.tar.gz
cuberite-fde8b0be60fb58796727d240ceab48a5e2aa0b88.tar.bz2
cuberite-fde8b0be60fb58796727d240ceab48a5e2aa0b88.tar.lz
cuberite-fde8b0be60fb58796727d240ceab48a5e2aa0b88.tar.xz
cuberite-fde8b0be60fb58796727d240ceab48a5e2aa0b88.tar.zst
cuberite-fde8b0be60fb58796727d240ceab48a5e2aa0b88.zip
Diffstat (limited to 'Tools')
-rw-r--r--Tools/ProtoProxy/Connection.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/Tools/ProtoProxy/Connection.cpp b/Tools/ProtoProxy/Connection.cpp
index 34da9b700..cd66e2dfd 100644
--- a/Tools/ProtoProxy/Connection.cpp
+++ b/Tools/ProtoProxy/Connection.cpp
@@ -2496,7 +2496,8 @@ bool cConnection::HandleServerUpdateTileEntity(void)
HANDLE_SERVER_PACKET_READ(ReadBEShort, short, BlockY);
HANDLE_SERVER_PACKET_READ(ReadBEInt, int, BlockZ);
HANDLE_SERVER_PACKET_READ(ReadByte, Byte, Action);
- HANDLE_SERVER_PACKET_READ(ReadBEShort, short, DataLength);
+ HANDLE_SERVER_PACKET_READ(ReadBEShort, short, DataLength);
+
AString Data;
if ((DataLength > 0) && !m_ServerBuffer.ReadString(Data, DataLength))
{
@@ -2506,6 +2507,18 @@ bool cConnection::HandleServerUpdateTileEntity(void)
Log(" Block = {%d, %d, %d}", BlockX, BlockY, BlockZ);
Log(" Action = %d", Action);
DataLog(Data.data(), Data.size(), " Data (%u bytes)", Data.size());
+
+ // Save metadata to a file:
+ AString fnam;
+ Printf(fnam, "%s_item_%08x.nbt", m_LogNameBase.c_str(), m_ItemIdx++);
+ FILE * f = fopen(fnam.c_str(), "wb");
+ if (f != NULL)
+ {
+ fwrite(Data.data(), 1, Data.size(), f);
+ fclose(f);
+ Log("(saved to file \"%s\")", fnam.c_str());
+ }
+
COPY_TO_CLIENT();
return true;
}