<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://theblockheads.wiki/index.php?action=history&amp;feed=atom&amp;title=Inventory_Format</id>
	<title>Inventory Format - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://theblockheads.wiki/index.php?action=history&amp;feed=atom&amp;title=Inventory_Format"/>
	<link rel="alternate" type="text/html" href="https://theblockheads.wiki/index.php?title=Inventory_Format&amp;action=history"/>
	<updated>2026-04-15T08:01:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://theblockheads.wiki/index.php?title=Inventory_Format&amp;diff=11&amp;oldid=prev</id>
		<title>FloofyPlasma: Protected &quot;Inventory Format&quot;: Advanced technical content ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://theblockheads.wiki/index.php?title=Inventory_Format&amp;diff=11&amp;oldid=prev"/>
		<updated>2023-12-16T23:59:59Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/wiki/Inventory_Format&quot; title=&quot;Inventory Format&quot;&gt;Inventory Format&lt;/a&gt;&amp;quot;: Advanced technical content ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:59, 16 December 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>FloofyPlasma</name></author>
	</entry>
	<entry>
		<id>https://theblockheads.wiki/index.php?title=Inventory_Format&amp;diff=6&amp;oldid=prev</id>
		<title>FloofyPlasma: FloofyPlasma moved page Inventory to Inventory Format: Misspelled title</title>
		<link rel="alternate" type="text/html" href="https://theblockheads.wiki/index.php?title=Inventory_Format&amp;diff=6&amp;oldid=prev"/>
		<updated>2023-12-16T23:52:38Z</updated>

		<summary type="html">&lt;p&gt;FloofyPlasma moved page &lt;a href=&quot;/wiki/Inventory&quot; class=&quot;mw-redirect&quot; title=&quot;Inventory&quot;&gt;Inventory&lt;/a&gt; to &lt;a href=&quot;/wiki/Inventory_Format&quot; title=&quot;Inventory Format&quot;&gt;Inventory Format&lt;/a&gt;: Misspelled title&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:52, 16 December 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>FloofyPlasma</name></author>
	</entry>
	<entry>
		<id>https://theblockheads.wiki/index.php?title=Inventory_Format&amp;diff=4&amp;oldid=prev</id>
		<title>FloofyPlasma: Create page</title>
		<link rel="alternate" type="text/html" href="https://theblockheads.wiki/index.php?title=Inventory_Format&amp;diff=4&amp;oldid=prev"/>
		<updated>2023-12-16T23:51:03Z</updated>

		<summary type="html">&lt;p&gt;Create page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The Blockheads uses an interesting method to store Blockhead inventories. The inventories are encoded into a binary property list (plist) format, with each item represented by a specific struct in Objective-C++. This encoding process involves compressing the plist using zlib with a maximum window size (wbits) of 16. This page provides insights into the structure of Blockhead inventories and the tools available to parse and interpret them.&lt;br /&gt;
&lt;br /&gt;
== ItemSaveData Struct ==&lt;br /&gt;
The foundation of the inventory structure lies in the &amp;lt;code&amp;gt;ItemSaveData&amp;lt;/code&amp;gt; struct, which is implemented in Objective-C++. This struct defines the properties associated with each item in the inventory.&lt;br /&gt;
 @interface ItemSaveData : NSObject&lt;br /&gt;
 &lt;br /&gt;
 @property (nonatomic, assign) uint16_t itemType;&lt;br /&gt;
 @property (nonatomic, assign) uint16_t dataA;&lt;br /&gt;
 @property (nonatomic, assign) uint16_t dataB;&lt;br /&gt;
 @property (nonatomic, assign) uint8_t selectedSubItemIndex;&lt;br /&gt;
 @property (nonatomic, assign) uint8_t padding;&lt;br /&gt;
 &lt;br /&gt;
 @end&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;itemType&amp;lt;/code&amp;gt;: Represents the type of item.&lt;br /&gt;
* &amp;lt;code&amp;gt;dataA&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;dataB&amp;lt;/code&amp;gt;: Additional data associated with the item.&lt;br /&gt;
* &amp;lt;code&amp;gt;selectedSubItemIndex&amp;lt;/code&amp;gt;: Index of the selected sub-item.&lt;br /&gt;
* &amp;lt;code&amp;gt;padding&amp;lt;/code&amp;gt;: Additional padding for data alignment.&lt;br /&gt;
&lt;br /&gt;
== Encoding Process ==&lt;br /&gt;
&lt;br /&gt;
# The &amp;lt;code&amp;gt;ItemSaveData&amp;lt;/code&amp;gt; structs are populated with item information.&lt;br /&gt;
# These structs are then serialized into a binary plist.&lt;br /&gt;
# The binary plist is compressed using zlib with a max wbits of 16.&lt;br /&gt;
&lt;br /&gt;
== Sample Mac Server Inventory ==&lt;br /&gt;
A sample inventory in its binary form, extracted using Python:&lt;br /&gt;
 b&amp;#039;\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x13K*\xc8\xc9,.10X\xc1\xc8\xcc\xca\xcd\xcb\xc7/\xb0\x90\xc9\x83\x91\x01\x02\x16\xb2x\x0800\xb0\x82\x98K\xd9\xd898\xb9&amp;lt;l\x18\xea\x81\x90\xc1\x81\x18\xc6B\x1e\x0f\x1e\x889\x0e\x0b\x80\x80CPXFN]\xd7\xcc\xde#0*&amp;amp;5-=\x03&amp;quot;\xc7\x08\xb3L\x90\x01\x15d\x02\x00\xea$B\x0e\x9a\x00\x00\x00&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Parsing Tool Output ==&lt;br /&gt;
A [[Inventory Parsing Tool|tool]] has been developed to parse and interpret the inventory information. The output of the tool, based on the provided binary string, is as follows:&lt;br /&gt;
 Item 1:&lt;br /&gt;
   Item Type: 1 (Clothing Slot)&lt;br /&gt;
   Data A: 0&lt;br /&gt;
   Data B: 0&lt;br /&gt;
   Selected Sub-Item Index: b&amp;#039;\x00&amp;#039;&lt;br /&gt;
   Padding: b&amp;#039;\x00&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 Item 2:&lt;br /&gt;
   Item Type: 16 (Flint Spade)&lt;br /&gt;
   Data A: 1280&lt;br /&gt;
   Data B: 0&lt;br /&gt;
   Selected Sub-Item Index: b&amp;#039;\x00&amp;#039;&lt;br /&gt;
   Padding: b&amp;#039;\x00&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 Item 3:&lt;br /&gt;
   Item Type: 60 (Orange)&lt;br /&gt;
   Data A: 127&lt;br /&gt;
   Data B: 127&lt;br /&gt;
   Selected Sub-Item Index: b&amp;#039;\x00&amp;#039;&lt;br /&gt;
   Padding: b&amp;#039;@&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 Item 4:&lt;br /&gt;
   Item Type: 12 (Basket)&lt;br /&gt;
   Data A: 0&lt;br /&gt;
   Data B: 0&lt;br /&gt;
   Selected Sub-Item Index: b&amp;#039;\x00&amp;#039;&lt;br /&gt;
   Padding: b&amp;#039;@&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 Item 5:&lt;br /&gt;
   This is an empty slot.&lt;br /&gt;
 &lt;br /&gt;
 Item 6:&lt;br /&gt;
   This is an empty slot.&lt;br /&gt;
 &lt;br /&gt;
 Item 7:&lt;br /&gt;
   This is an empty slot.&lt;br /&gt;
 &lt;br /&gt;
 Item 8:&lt;br /&gt;
   This is an empty slot.&lt;/div&gt;</summary>
		<author><name>FloofyPlasma</name></author>
	</entry>
</feed>