From 71b01234a2eadbf3512e8efcdd28b2728d720628 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Sun, 19 Jan 2014 00:55:08 +0000 Subject: ProtoProxy: UpdateBlockEntity NBT is written --- Tools/ProtoProxy/Connection.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'Tools') 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; } -- cgit v1.2.3