1
0
mirror of https://github.com/Mojang/bedrock-protocol-docs.git synced 2025-02-24 12:05:28 +00:00
bedrock-protocol-docs/html/svg/InventoryTransactionPacket.svg
Oswaldo Leyva Barrientos 933599d224 Protocol version 622 for r/20_u7
2024-02-15 15:10:22 -08:00

309 lines
17 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: InventoryTransactionPacket Pages: 1 -->
<svg width="1899pt" height="422pt"
viewBox="0.00 0.00 1899.38 422.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 418)">
<title>InventoryTransactionPacket</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-418 1895.38,-418 1895.38,4 -4,4"/>
<!-- 0 -->
<!-- name: &quot;InventoryTransactionPacket&quot;, typeName: &quot;&quot;, id: 0, branchId: 30, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node1" class="node">
<title>0</title>
<ellipse fill="none" stroke="black" cx="114.94" cy="-180" rx="114.94" ry="18"/>
<text text-anchor="middle" x="114.94" y="-174.57" font-family="Times New Roman,serif" font-size="14.00">InventoryTransactionPacket</text>
</g>
<!-- 1 -->
<!-- name: &quot;Raw Id (32 bit signed)&quot;, typeName: &quot;&quot;, id: 1, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node2" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="857.27" cy="-392" rx="93.98" ry="18"/>
<text text-anchor="middle" x="857.27" y="-386.57" font-family="Times New Roman,serif" font-size="14.00">Raw Id (32 bit signed)</text>
</g>
<!-- 0&#45;&gt;1 -->
<g id="edge1" class="edge">
<title>0&#45;&gt;1</title>
<path fill="none" stroke="black" d="M138.41,-197.88C166.57,-219.4 217.08,-255.1 265.87,-275 430.95,-342.33 638.24,-371.88 758.15,-384.11"/>
<polygon fill="black" stroke="black" points="757.67,-387.58 767.97,-385.09 758.37,-380.61 757.67,-387.58"/>
</g>
<!-- 3 -->
<!-- name: &quot;Dependency on &#39;above ID (the legacy request ID) nonzero&#39;&quot;, typeName: &quot;&quot;, id: 3, branchId: 0, recurseId: &#45;1, attributes: 2, notes: &quot;&quot; -->
<g id="node4" class="node">
<title>3</title>
<polygon fill="none" stroke="black" points="604.37,-266 265.87,-266 265.87,-230 610.37,-230 610.37,-260 604.37,-266"/>
<polyline fill="none" stroke="black" points="604.37,-266 604.37,-260"/>
<polyline fill="none" stroke="black" points="610.37,-260 604.37,-260"/>
<text text-anchor="middle" x="438.12" y="-242.57" font-family="Times New Roman,serif" font-size="14.00">Dependency on &#39;above ID (the legacy request ID) nonzero&#39;</text>
</g>
<!-- 0&#45;&gt;3 -->
<g id="edge3" class="edge">
<title>0&#45;&gt;3</title>
<path fill="none" stroke="black" d="M185.23,-194.67C230.07,-204.16 289.11,-216.66 338.77,-227.18"/>
<polygon fill="black" stroke="black" points="337.88,-230.57 348.38,-229.21 339.33,-223.72 337.88,-230.57"/>
</g>
<!-- 19 -->
<!-- name: &quot;Transaction Type&quot;, typeName: &quot;&quot;, id: 19, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;enumeration: ComplexInventoryTransaction::Type&quot; -->
<g id="node20" class="node">
<title>19</title>
<ellipse fill="none" stroke="black" cx="1598.9" cy="-72" rx="76.51" ry="18"/>
<text text-anchor="middle" x="1598.9" y="-66.58" font-family="Times New Roman,serif" font-size="14.00">Transaction Type</text>
</g>
<!-- 0&#45;&gt;19 -->
<g id="edge19" class="edge">
<title>0&#45;&gt;19</title>
<path fill="none" stroke="black" d="M168.77,-163.75C268.71,-134.5 492.73,-76 685.83,-76 685.83,-76 685.83,-76 1237.81,-76 1331.13,-76 1438.04,-74.64 1510.97,-73.51"/>
<polygon fill="black" stroke="black" points="1510.92,-77.01 1520.87,-73.35 1510.81,-70.01 1510.92,-77.01"/>
</g>
<!-- 21 -->
<!-- name: &quot;mTransaction&#45;&gt;mTransaction&quot;, typeName: &quot;InventoryTransaction&quot;, id: 21, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;Our ComplexInventoryTransaction contains an InventoryTransaction within it&quot; -->
<g id="node22" class="node">
<title>21</title>
<ellipse fill="none" stroke="black" cx="438.12" cy="-22" rx="120.92" ry="18"/>
<text text-anchor="middle" x="438.12" y="-16.57" font-family="Times New Roman,serif" font-size="14.00">mTransaction&#45;&gt;mTransaction</text>
</g>
<!-- 0&#45;&gt;21 -->
<g id="edge21" class="edge">
<title>0&#45;&gt;21</title>
<path fill="none" stroke="black" d="M133.52,-161.81C159.84,-135.68 212.13,-87.83 265.87,-62 288.54,-51.1 314.35,-43.08 338.94,-37.2"/>
<polygon fill="black" stroke="black" points="339.69,-40.62 348.66,-34.99 338.13,-33.8 339.69,-40.62"/>
</g>
<!-- 2 -->
<!-- name: &quot;varint&quot;, typeName: &quot;&quot;, id: 2, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node3" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="1801.4" cy="-396" rx="31.1" ry="18"/>
<text text-anchor="middle" x="1801.4" y="-390.57" font-family="Times New Roman,serif" font-size="14.00">varint</text>
</g>
<!-- 1&#45;&gt;2 -->
<g id="edge2" class="edge">
<title>1&#45;&gt;2</title>
<path fill="none" stroke="black" d="M951.36,-393.54C1027.77,-394.66 1138.8,-396 1235.81,-396 1235.81,-396 1235.81,-396 1415.86,-396 1540.5,-396 1687.86,-396 1758.52,-396"/>
<polygon fill="black" stroke="black" points="1758.47,-399.5 1768.47,-396 1758.47,-392.5 1758.47,-399.5"/>
</g>
<!-- 4 -->
<!-- name: &quot;if (0)&quot;, typeName: &quot;&quot;, id: 4, branchId: 0, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node5" class="node">
<title>4</title>
<polygon fill="none" stroke="black" points="686.83,-347 646.37,-329 686.83,-311 727.29,-329 686.83,-347"/>
<text text-anchor="middle" x="686.83" y="-323.57" font-family="Times New Roman,serif" font-size="14.00">if (0)</text>
</g>
<!-- 3&#45;&gt;4 -->
<g id="edge4" class="edge">
<title>3&#45;&gt;4</title>
<path fill="none" stroke="black" d="M495.41,-266.48C543.54,-282.28 611.23,-304.51 651.6,-317.76"/>
<polygon fill="black" stroke="black" points="650.43,-321.06 661.03,-320.86 652.62,-314.41 650.43,-321.06"/>
</g>
<!-- 6 -->
<!-- name: &quot;if (1)&quot;, typeName: &quot;&quot;, id: 6, branchId: 1, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node7" class="node">
<title>6</title>
<polygon fill="none" stroke="black" points="686.83,-266 646.37,-248 686.83,-230 727.29,-248 686.83,-266"/>
<text text-anchor="middle" x="686.83" y="-242.57" font-family="Times New Roman,serif" font-size="14.00">if (1)</text>
</g>
<!-- 3&#45;&gt;6 -->
<g id="edge6" class="edge">
<title>3&#45;&gt;6</title>
<path fill="none" stroke="black" d="M610.8,-248C618.88,-248 626.62,-248 633.87,-248"/>
<polygon fill="black" stroke="black" points="633.67,-251.5 643.67,-248 633.67,-244.5 633.67,-251.5"/>
</g>
<!-- 5 -->
<!-- name: &quot;[No Data]&quot;, typeName: &quot;&quot;, id: 5, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node6" class="node">
<title>5</title>
<ellipse fill="none" stroke="black" cx="1801.4" cy="-342" rx="47.57" ry="18"/>
<text text-anchor="middle" x="1801.4" y="-336.57" font-family="Times New Roman,serif" font-size="14.00">[No Data]</text>
</g>
<!-- 4&#45;&gt;5 -->
<g id="edge5" class="edge">
<title>4&#45;&gt;5</title>
<path fill="none" stroke="black" d="M723.79,-331.1C789.89,-334.78 935.18,-342 1057.77,-342 1057.77,-342 1057.77,-342 1415.86,-342 1531.59,-342 1666.91,-342 1742.22,-342"/>
<polygon fill="black" stroke="black" points="1741.82,-345.5 1751.82,-342 1741.82,-338.5 1741.82,-345.5"/>
</g>
<!-- 7 -->
<!-- name: &quot;Legacy Set Item Slots&quot;, typeName: &quot;&quot;, id: 7, branchId: 0, recurseId: &#45;1, attributes: 8, notes: &quot;Only matters when ItemStackNetManager is enabled&quot; -->
<g id="node8" class="node">
<title>7</title>
<ellipse fill="none" stroke="black" cx="857.27" cy="-248" rx="92.48" ry="18"/>
<text text-anchor="middle" x="857.27" y="-242.57" font-family="Times New Roman,serif" font-size="14.00">Legacy Set Item Slots</text>
</g>
<!-- 6&#45;&gt;7 -->
<g id="edge7" class="edge">
<title>6&#45;&gt;7</title>
<path fill="none" stroke="black" d="M728.17,-248C735.98,-248 744.47,-248 753.26,-248"/>
<polygon fill="black" stroke="black" points="753,-251.5 763,-248 753,-244.5 753,-251.5"/>
</g>
<!-- 8 -->
<!-- name: &quot;Array Size&quot;, typeName: &quot;&quot;, id: 8, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node9" class="node">
<title>8</title>
<ellipse fill="none" stroke="black" cx="1058.77" cy="-288" rx="49.57" ry="18"/>
<text text-anchor="middle" x="1058.77" y="-282.57" font-family="Times New Roman,serif" font-size="14.00">Array Size</text>
</g>
<!-- 7&#45;&gt;8 -->
<g id="edge8" class="edge">
<title>7&#45;&gt;8</title>
<path fill="none" stroke="black" d="M923.04,-260.99C949.09,-266.21 978.78,-272.16 1003.65,-277.15"/>
<polygon fill="black" stroke="black" points="1002.72,-280.53 1013.22,-279.07 1004.1,-273.67 1002.72,-280.53"/>
</g>
<!-- 10 -->
<!-- name: &quot;example element&quot;, typeName: &quot;&quot;, id: 10, branchId: 0, recurseId: &#45;1, attributes: 16, notes: &quot;&quot; -->
<g id="node11" class="node">
<title>10</title>
<ellipse fill="none" stroke="black" stroke-dasharray="1,5" cx="1058.77" cy="-234" rx="71.52" ry="18"/>
<text text-anchor="middle" x="1058.77" y="-228.57" font-family="Times New Roman,serif" font-size="14.00">example element</text>
</g>
<!-- 7&#45;&gt;10 -->
<g id="edge10" class="edge">
<title>7&#45;&gt;10</title>
<path fill="none" stroke="black" d="M944.9,-241.92C955.98,-241.14 967.28,-240.35 978.25,-239.58"/>
<polygon fill="black" stroke="black" points="978.28,-243.09 988.01,-238.89 977.79,-236.1 978.28,-243.09"/>
</g>
<!-- 9 -->
<!-- name: &quot;unsigned varint&quot;, typeName: &quot;&quot;, id: 9, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node10" class="node">
<title>9</title>
<ellipse fill="none" stroke="black" cx="1801.4" cy="-288" rx="66.53" ry="18"/>
<text text-anchor="middle" x="1801.4" y="-282.57" font-family="Times New Roman,serif" font-size="14.00">unsigned varint</text>
</g>
<!-- 8&#45;&gt;9 -->
<g id="edge9" class="edge">
<title>8&#45;&gt;9</title>
<path fill="none" stroke="black" d="M1108.65,-288C1234.56,-288 1570.76,-288 1723.27,-288"/>
<polygon fill="black" stroke="black" points="1722.85,-291.5 1732.85,-288 1722.85,-284.5 1722.85,-291.5"/>
</g>
<!-- 11 -->
<!-- name: &quot;Container Enum&quot;, typeName: &quot;&quot;, id: 11, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node12" class="node">
<title>11</title>
<ellipse fill="none" stroke="black" cx="1236.81" cy="-234" rx="70.52" ry="18"/>
<text text-anchor="middle" x="1236.81" y="-228.57" font-family="Times New Roman,serif" font-size="14.00">Container Enum</text>
</g>
<!-- 10&#45;&gt;11 -->
<g id="edge11" class="edge">
<title>10&#45;&gt;11</title>
<path fill="none" stroke="black" d="M1130.61,-234C1138.53,-234 1146.65,-234 1154.69,-234"/>
<polygon fill="black" stroke="black" points="1154.46,-237.5 1164.46,-234 1154.46,-230.5 1154.46,-237.5"/>
</g>
<!-- 13 -->
<!-- name: &quot;Slot vector&quot;, typeName: &quot;&quot;, id: 13, branchId: 0, recurseId: &#45;1, attributes: 8, notes: &quot;&quot; -->
<g id="node14" class="node">
<title>13</title>
<ellipse fill="none" stroke="black" cx="1236.81" cy="-180" rx="51.56" ry="18"/>
<text text-anchor="middle" x="1236.81" y="-174.57" font-family="Times New Roman,serif" font-size="14.00">Slot vector</text>
</g>
<!-- 10&#45;&gt;13 -->
<g id="edge13" class="edge">
<title>10&#45;&gt;13</title>
<path fill="none" stroke="black" d="M1105.56,-219.95C1130.32,-212.36 1160.92,-202.97 1186.24,-195.21"/>
<polygon fill="black" stroke="black" points="1187.12,-198.6 1195.65,-192.32 1185.07,-191.91 1187.12,-198.6"/>
</g>
<!-- 12 -->
<!-- name: &quot;byte&quot;, typeName: &quot;&quot;, id: 12, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node13" class="node">
<title>12</title>
<ellipse fill="none" stroke="black" cx="1801.4" cy="-234" rx="27" ry="18"/>
<text text-anchor="middle" x="1801.4" y="-228.57" font-family="Times New Roman,serif" font-size="14.00">byte</text>
</g>
<!-- 11&#45;&gt;12 -->
<g id="edge12" class="edge">
<title>11&#45;&gt;12</title>
<path fill="none" stroke="black" d="M1307.65,-234C1427.74,-234 1669.45,-234 1762.6,-234"/>
<polygon fill="black" stroke="black" points="1762.46,-237.5 1772.46,-234 1762.46,-230.5 1762.46,-237.5"/>
</g>
<!-- 14 -->
<!-- name: &quot;Array Size&quot;, typeName: &quot;&quot;, id: 14, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node15" class="node">
<title>14</title>
<ellipse fill="none" stroke="black" cx="1414.86" cy="-180" rx="49.57" ry="18"/>
<text text-anchor="middle" x="1414.86" y="-174.57" font-family="Times New Roman,serif" font-size="14.00">Array Size</text>
</g>
<!-- 13&#45;&gt;14 -->
<g id="edge14" class="edge">
<title>13&#45;&gt;14</title>
<path fill="none" stroke="black" d="M1288.73,-180C1308.96,-180 1332.37,-180 1353.45,-180"/>
<polygon fill="black" stroke="black" points="1353.36,-183.5 1363.36,-180 1353.36,-176.5 1353.36,-183.5"/>
</g>
<!-- 16 -->
<!-- name: &quot;example element&quot;, typeName: &quot;&quot;, id: 16, branchId: 0, recurseId: &#45;1, attributes: 16, notes: &quot;&quot; -->
<g id="node17" class="node">
<title>16</title>
<ellipse fill="none" stroke="black" stroke-dasharray="1,5" cx="1414.86" cy="-126" rx="71.52" ry="18"/>
<text text-anchor="middle" x="1414.86" y="-120.58" font-family="Times New Roman,serif" font-size="14.00">example element</text>
</g>
<!-- 13&#45;&gt;16 -->
<g id="edge16" class="edge">
<title>13&#45;&gt;16</title>
<path fill="none" stroke="black" d="M1276.45,-168.15C1300.1,-160.9 1330.77,-151.49 1357.14,-143.4"/>
<polygon fill="black" stroke="black" points="1358.16,-146.75 1366.7,-140.47 1356.11,-140.05 1358.16,-146.75"/>
</g>
<!-- 15 -->
<!-- name: &quot;unsigned varint&quot;, typeName: &quot;&quot;, id: 15, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node16" class="node">
<title>15</title>
<ellipse fill="none" stroke="black" cx="1801.4" cy="-180" rx="66.53" ry="18"/>
<text text-anchor="middle" x="1801.4" y="-174.57" font-family="Times New Roman,serif" font-size="14.00">unsigned varint</text>
</g>
<!-- 14&#45;&gt;15 -->
<g id="edge15" class="edge">
<title>14&#45;&gt;15</title>
<path fill="none" stroke="black" d="M1464.56,-180C1529.77,-180 1646.15,-180 1723.32,-180"/>
<polygon fill="black" stroke="black" points="1722.89,-183.5 1732.89,-180 1722.89,-176.5 1722.89,-183.5"/>
</g>
<!-- 17 -->
<!-- name: &quot;Slot&quot;, typeName: &quot;&quot;, id: 17, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node18" class="node">
<title>17</title>
<ellipse fill="none" stroke="black" cx="1598.9" cy="-126" rx="27" ry="18"/>
<text text-anchor="middle" x="1598.9" y="-120.58" font-family="Times New Roman,serif" font-size="14.00">Slot</text>
</g>
<!-- 16&#45;&gt;17 -->
<g id="edge17" class="edge">
<title>16&#45;&gt;17</title>
<path fill="none" stroke="black" d="M1486.76,-126C1511.75,-126 1538.86,-126 1560.05,-126"/>
<polygon fill="black" stroke="black" points="1559.96,-129.5 1569.96,-126 1559.96,-122.5 1559.96,-129.5"/>
</g>
<!-- 18 -->
<!-- name: &quot;byte&quot;, typeName: &quot;&quot;, id: 18, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node19" class="node">
<title>18</title>
<ellipse fill="none" stroke="black" cx="1801.4" cy="-126" rx="27" ry="18"/>
<text text-anchor="middle" x="1801.4" y="-120.58" font-family="Times New Roman,serif" font-size="14.00">byte</text>
</g>
<!-- 17&#45;&gt;18 -->
<g id="edge18" class="edge">
<title>17&#45;&gt;18</title>
<path fill="none" stroke="black" d="M1626.11,-126C1661.01,-126 1722.95,-126 1762.82,-126"/>
<polygon fill="black" stroke="black" points="1762.66,-129.5 1772.66,-126 1762.66,-122.5 1762.66,-129.5"/>
</g>
<!-- 20 -->
<!-- name: &quot;unsigned varint&quot;, typeName: &quot;&quot;, id: 20, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node21" class="node">
<title>20</title>
<ellipse fill="none" stroke="black" cx="1801.4" cy="-72" rx="66.53" ry="18"/>
<text text-anchor="middle" x="1801.4" y="-66.58" font-family="Times New Roman,serif" font-size="14.00">unsigned varint</text>
</g>
<!-- 19&#45;&gt;20 -->
<g id="edge20" class="edge">
<title>19&#45;&gt;20</title>
<path fill="none" stroke="black" d="M1675.7,-72C1691.31,-72 1707.77,-72 1723.43,-72"/>
<polygon fill="black" stroke="black" points="1723.15,-75.5 1733.15,-72 1723.15,-68.5 1723.15,-75.5"/>
</g>
<!-- 52 -->
<!-- name: &quot;InventoryTransaction&quot;, typeName: &quot;&quot;, id: 52, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node23" class="node">
<title>52</title>
<ellipse fill="none" stroke="black" cx="1801.4" cy="-18" rx="89.99" ry="18"/>
<text text-anchor="middle" x="1801.4" y="-12.57" font-family="Times New Roman,serif" font-size="14.00">InventoryTransaction</text>
</g>
<!-- 21&#45;&gt;52 -->
<g id="edge22" class="edge">
<title>21&#45;&gt;52</title>
<path fill="none" stroke="black" d="M558.69,-20.25C642.09,-19.17 755.96,-18 856.27,-18 856.27,-18 856.27,-18 1415.86,-18 1512.26,-18 1622.25,-18 1699.84,-18"/>
<polygon fill="black" stroke="black" points="1699.53,-21.5 1709.53,-18 1699.53,-14.5 1699.53,-21.5"/>
</g>
</g>
</svg>