1
0
mirror of https://github.com/Mojang/bedrock-protocol-docs.git synced 2025-07-07 20:35:25 +00:00
Files
bedrock-protocol-docs/html/svg/CraftingDataEntry.svg
Oswaldo Leyva Barrientos a27d6bb22a Protocol for r/21_u6 NetworkProtocolVersion 776 (#18)
* Protocol for r/21_u6 NetworkProtocolVersion 776

* Protocol for r/21_u6 NetworkProtocolVersion 776 - Fix README version

* Protocol for r/21_u6 NetworkProtocolVersion 776 - Fix changelog release

* Protocol for r/21_u6 NetworkProtocolVersion 776 - Add NoteBlockInstrument to protocol doc
2025-02-13 19:28:13 -08:00

790 lines
43 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 12.2.1 (20241206.2353)
-->
<!-- Title: CraftingDataEntry Pages: 1 -->
<svg width="1271pt" height="1286pt"
viewBox="0.00 0.00 1271.07 1286.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 1282)">
<title>CraftingDataEntry</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1282 1267.07,-1282 1267.07,4 -4,4"/>
<!-- 1 -->
<!-- name: &quot;CraftingDataEntry&quot;, typeName: &quot;&quot;, id: 1, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node1" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="79.5" cy="-612" rx="79.5" ry="18"/>
<text text-anchor="middle" x="79.5" y="-606.95" font-family="Times New Roman,serif" font-size="14.00">CraftingDataEntry</text>
</g>
<!-- 2 -->
<!-- name: &quot;Crafting Type&quot;, typeName: &quot;&quot;, id: 2, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node2" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="287" cy="-963" rx="62.1" ry="18"/>
<text text-anchor="middle" x="287" y="-957.95" font-family="Times New Roman,serif" font-size="14.00">Crafting Type</text>
</g>
<!-- 1&#45;&gt;2 -->
<g id="edge1" class="edge">
<title>1&#45;&gt;2</title>
<path fill="none" stroke="black" d="M90.97,-629.89C124.5,-687.16 229.37,-866.28 269.84,-935.4"/>
<polygon fill="black" stroke="black" points="266.71,-936.98 274.78,-943.84 272.75,-933.44 266.71,-936.98"/>
</g>
<!-- 4 -->
<!-- name: &quot;Dependency on &#39;Crafting Type&#39;&quot;, typeName: &quot;&quot;, id: 4, branchId: 0, recurseId: &#45;1, attributes: 2, notes: &quot;&quot; -->
<g id="node4" class="node">
<title>4</title>
<polygon fill="none" stroke="black" points="373,-603 195,-603 195,-567 379,-567 379,-597 373,-603"/>
<polyline fill="none" stroke="black" points="373,-603 373,-597"/>
<polyline fill="none" stroke="black" points="379,-597 373,-597"/>
<text text-anchor="middle" x="287" y="-579.95" font-family="Times New Roman,serif" font-size="14.00">Dependency on &#39;Crafting Type&#39;</text>
</g>
<!-- 1&#45;&gt;4 -->
<g id="edge3" class="edge">
<title>1&#45;&gt;4</title>
<path fill="none" stroke="black" d="M149.22,-602.97C160.27,-601.52 171.91,-599.99 183.55,-598.46"/>
<polygon fill="black" stroke="black" points="183.73,-601.97 193.19,-597.19 182.82,-595.03 183.73,-601.97"/>
</g>
<!-- 3 -->
<!-- name: &quot;varint&quot;, typeName: &quot;&quot;, id: 3, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node3" class="node">
<title>3</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-1260" rx="32.41" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-1254.95" font-family="Times New Roman,serif" font-size="14.00">varint</text>
</g>
<!-- 2&#45;&gt;3 -->
<g id="edge2" class="edge">
<title>2&#45;&gt;3</title>
<path fill="none" stroke="black" d="M294.27,-981.15C309.13,-1021.77 350.19,-1120.96 415,-1179 458.7,-1218.14 478.43,-1219.18 535.45,-1233 699.86,-1272.86 903.42,-1267.58 990.43,-1262.87"/>
<polygon fill="black" stroke="black" points="990.38,-1266.37 1000.17,-1262.31 989.99,-1259.39 990.38,-1266.37"/>
</g>
<!-- 5 -->
<!-- name: &quot;if (0)&quot;, typeName: &quot;&quot;, id: 5, branchId: 0, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node5" class="node">
<title>5</title>
<polygon fill="none" stroke="black" points="457.22,-1170 415,-1152 457.22,-1134 499.45,-1152 457.22,-1170"/>
<text text-anchor="middle" x="457.22" y="-1146.95" font-family="Times New Roman,serif" font-size="14.00">if (0)</text>
</g>
<!-- 4&#45;&gt;5 -->
<g id="edge4" class="edge">
<title>4&#45;&gt;5</title>
<path fill="none" stroke="black" d="M292.72,-603.27C315.21,-690.35 410.63,-1059.5 415,-1071 422.52,-1090.77 433.47,-1112.05 442.19,-1127.83"/>
<polygon fill="black" stroke="black" points="439.1,-1129.49 447.06,-1136.48 445.2,-1126.05 439.1,-1129.49"/>
</g>
<!-- 10 -->
<!-- name: &quot;if (1)&quot;, typeName: &quot;&quot;, id: 10, branchId: 1, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node10" class="node">
<title>10</title>
<polygon fill="none" stroke="black" points="457.22,-1062 415,-1044 457.22,-1026 499.45,-1044 457.22,-1062"/>
<text text-anchor="middle" x="457.22" y="-1038.95" font-family="Times New Roman,serif" font-size="14.00">if (1)</text>
</g>
<!-- 4&#45;&gt;10 -->
<g id="edge9" class="edge">
<title>4&#45;&gt;10</title>
<path fill="none" stroke="black" d="M294.5,-603.31C313.03,-655.44 367.81,-809.05 415,-936 425.43,-964.06 437.71,-996.1 446.13,-1017.94"/>
<polygon fill="black" stroke="black" points="442.85,-1019.17 449.72,-1027.24 449.38,-1016.65 442.85,-1019.17"/>
</g>
<!-- 15 -->
<!-- name: &quot;if (2)&quot;, typeName: &quot;&quot;, id: 15, branchId: 2, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node15" class="node">
<title>15</title>
<polygon fill="none" stroke="black" points="457.22,-927 415,-909 457.22,-891 499.45,-909 457.22,-927"/>
<text text-anchor="middle" x="457.22" y="-903.95" font-family="Times New Roman,serif" font-size="14.00">if (2)</text>
</g>
<!-- 4&#45;&gt;15 -->
<g id="edge14" class="edge">
<title>4&#45;&gt;15</title>
<path fill="none" stroke="black" d="M297.53,-603.35C326.05,-658.28 410.8,-821.5 443.32,-884.14"/>
<polygon fill="black" stroke="black" points="440.18,-885.69 447.89,-892.95 446.39,-882.46 440.18,-885.69"/>
</g>
<!-- 22 -->
<!-- name: &quot;if (3)&quot;, typeName: &quot;&quot;, id: 22, branchId: 3, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node22" class="node">
<title>22</title>
<polygon fill="none" stroke="black" points="457.22,-738 415,-720 457.22,-702 499.45,-720 457.22,-738"/>
<text text-anchor="middle" x="457.22" y="-714.95" font-family="Times New Roman,serif" font-size="14.00">if (3)</text>
</g>
<!-- 4&#45;&gt;22 -->
<g id="edge21" class="edge">
<title>4&#45;&gt;22</title>
<path fill="none" stroke="black" d="M311.04,-603.49C343.14,-629.25 401,-675.69 433.14,-701.47"/>
<polygon fill="black" stroke="black" points="430.68,-703.99 440.67,-707.52 435.06,-698.53 430.68,-703.99"/>
</g>
<!-- 31 -->
<!-- name: &quot;if (4)&quot;, typeName: &quot;&quot;, id: 31, branchId: 4, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node31" class="node">
<title>31</title>
<polygon fill="none" stroke="black" points="457.22,-603 415,-585 457.22,-567 499.45,-585 457.22,-603"/>
<text text-anchor="middle" x="457.22" y="-579.95" font-family="Times New Roman,serif" font-size="14.00">if (4)</text>
</g>
<!-- 4&#45;&gt;31 -->
<g id="edge30" class="edge">
<title>4&#45;&gt;31</title>
<path fill="none" stroke="black" d="M379.5,-585C387.39,-585 395.19,-585 402.62,-585"/>
<polygon fill="black" stroke="black" points="402.45,-588.5 412.45,-585 402.45,-581.5 402.45,-588.5"/>
</g>
<!-- 36 -->
<!-- name: &quot;if (5)&quot;, typeName: &quot;&quot;, id: 36, branchId: 5, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node36" class="node">
<title>36</title>
<polygon fill="none" stroke="black" points="457.22,-522 415,-504 457.22,-486 499.45,-504 457.22,-522"/>
<text text-anchor="middle" x="457.22" y="-498.95" font-family="Times New Roman,serif" font-size="14.00">if (5)</text>
</g>
<!-- 4&#45;&gt;36 -->
<g id="edge35" class="edge">
<title>4&#45;&gt;36</title>
<path fill="none" stroke="black" d="M326.17,-566.62C356.47,-552.03 398.23,-531.92 426.18,-518.47"/>
<polygon fill="black" stroke="black" points="427.66,-521.64 435.15,-514.15 424.63,-515.33 427.66,-521.64"/>
</g>
<!-- 41 -->
<!-- name: &quot;if (6)&quot;, typeName: &quot;&quot;, id: 41, branchId: 6, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node41" class="node">
<title>41</title>
<polygon fill="none" stroke="black" points="457.22,-414 415,-396 457.22,-378 499.45,-396 457.22,-414"/>
<text text-anchor="middle" x="457.22" y="-390.95" font-family="Times New Roman,serif" font-size="14.00">if (6)</text>
</g>
<!-- 4&#45;&gt;41 -->
<g id="edge40" class="edge">
<title>4&#45;&gt;41</title>
<path fill="none" stroke="black" d="M304.44,-566.53C335.82,-531.28 404.09,-454.57 437.31,-417.25"/>
<polygon fill="black" stroke="black" points="439.55,-420 443.58,-410.2 434.32,-415.35 439.55,-420"/>
</g>
<!-- 46 -->
<!-- name: &quot;if (7)&quot;, typeName: &quot;&quot;, id: 46, branchId: 7, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node46" class="node">
<title>46</title>
<polygon fill="none" stroke="black" points="457.22,-306 415,-288 457.22,-270 499.45,-288 457.22,-306"/>
<text text-anchor="middle" x="457.22" y="-282.95" font-family="Times New Roman,serif" font-size="14.00">if (7)</text>
</g>
<!-- 4&#45;&gt;46 -->
<g id="edge45" class="edge">
<title>4&#45;&gt;46</title>
<path fill="none" stroke="black" d="M298.27,-566.87C327.28,-515.65 409.86,-369.85 442.61,-312.04"/>
<polygon fill="black" stroke="black" points="445.49,-314.06 447.37,-303.63 439.4,-310.61 445.49,-314.06"/>
</g>
<!-- 51 -->
<!-- name: &quot;if (8)&quot;, typeName: &quot;&quot;, id: 51, branchId: 8, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node51" class="node">
<title>51</title>
<polygon fill="none" stroke="black" points="457.22,-198 415,-180 457.22,-162 499.45,-180 457.22,-198"/>
<text text-anchor="middle" x="457.22" y="-174.95" font-family="Times New Roman,serif" font-size="14.00">if (8)</text>
</g>
<!-- 4&#45;&gt;51 -->
<g id="edge50" class="edge">
<title>4&#45;&gt;51</title>
<path fill="none" stroke="black" d="M294.42,-566.83C312.1,-517.19 363.64,-375.36 415,-261 423.67,-241.7 434.56,-220.4 442.98,-204.49"/>
<polygon fill="black" stroke="black" points="446.01,-206.23 447.63,-195.76 439.84,-202.94 446.01,-206.23"/>
</g>
<!-- 56 -->
<!-- name: &quot;if (9)&quot;, typeName: &quot;&quot;, id: 56, branchId: 9, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node56" class="node">
<title>56</title>
<polygon fill="none" stroke="black" points="457.22,-90 415,-72 457.22,-54 499.45,-72 457.22,-90"/>
<text text-anchor="middle" x="457.22" y="-66.95" font-family="Times New Roman,serif" font-size="14.00">if (9)</text>
</g>
<!-- 4&#45;&gt;56 -->
<g id="edge55" class="edge">
<title>4&#45;&gt;56</title>
<path fill="none" stroke="black" d="M292.05,-566.91C305.76,-506.81 353.06,-308.82 415,-153 422.82,-133.34 433.75,-112.06 442.39,-96.25"/>
<polygon fill="black" stroke="black" points="445.41,-98.02 447.21,-87.58 439.29,-94.62 445.41,-98.02"/>
</g>
<!-- 6 -->
<!-- name: &quot;Shapeless Recipe&quot;, typeName: &quot;&quot;, id: 6, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node6" class="node">
<title>6</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-1206" rx="75.41" ry="18"/>
<text text-anchor="middle" x="652.31" y="-1200.95" font-family="Times New Roman,serif" font-size="14.00">Shapeless Recipe</text>
</g>
<!-- 5&#45;&gt;6 -->
<g id="edge5" class="edge">
<title>5&#45;&gt;6</title>
<path fill="none" stroke="black" d="M480.32,-1160.44C495.65,-1166.11 516.62,-1173.53 535.45,-1179 551,-1183.52 567.89,-1187.8 583.85,-1191.57"/>
<polygon fill="black" stroke="black" points="582.71,-1194.9 593.24,-1193.75 584.29,-1188.08 582.71,-1194.9"/>
</g>
<!-- 8 -->
<!-- name: &quot;Net id&quot;, typeName: &quot;&quot;, id: 8, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node8" class="node">
<title>8</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-1152" rx="33.95" ry="18"/>
<text text-anchor="middle" x="652.31" y="-1146.95" font-family="Times New Roman,serif" font-size="14.00">Net id</text>
</g>
<!-- 5&#45;&gt;8 -->
<g id="edge7" class="edge">
<title>5&#45;&gt;8</title>
<path fill="none" stroke="black" d="M500.6,-1152C532.04,-1152 574.81,-1152 606.76,-1152"/>
<polygon fill="black" stroke="black" points="606.48,-1155.5 616.48,-1152 606.48,-1148.5 606.48,-1155.5"/>
</g>
<!-- 7 -->
<!-- name: &quot;ShapelessRecipe&quot;, typeName: &quot;&quot;, id: 7, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node7" class="node">
<title>7</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-1206" rx="72.85" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-1200.95" font-family="Times New Roman,serif" font-size="14.00">ShapelessRecipe</text>
</g>
<!-- 6&#45;&gt;7 -->
<g id="edge6" class="edge">
<title>6&#45;&gt;7</title>
<path fill="none" stroke="black" d="M727.89,-1206C791.71,-1206 883.5,-1206 949.73,-1206"/>
<polygon fill="black" stroke="black" points="949.45,-1209.5 959.45,-1206 949.45,-1202.5 949.45,-1209.5"/>
</g>
<!-- 9 -->
<!-- name: &quot;TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;&quot;, typeName: &quot;&quot;, id: 9, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node9" class="node">
<title>9</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-1152" rx="228.95" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-1146.95" font-family="Times New Roman,serif" font-size="14.00">TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;</text>
</g>
<!-- 8&#45;&gt;9 -->
<g id="edge8" class="edge">
<title>8&#45;&gt;9</title>
<path fill="none" stroke="black" d="M686.68,-1152C712.69,-1152 751.37,-1152 793.58,-1152"/>
<polygon fill="black" stroke="black" points="793.46,-1155.5 803.46,-1152 793.46,-1148.5 793.46,-1155.5"/>
</g>
<!-- 11 -->
<!-- name: &quot;Shaped Recipe&quot;, typeName: &quot;&quot;, id: 11, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node11" class="node">
<title>11</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-1098" rx="66.19" ry="18"/>
<text text-anchor="middle" x="652.31" y="-1092.95" font-family="Times New Roman,serif" font-size="14.00">Shaped Recipe</text>
</g>
<!-- 10&#45;&gt;11 -->
<g id="edge10" class="edge">
<title>10&#45;&gt;11</title>
<path fill="none" stroke="black" d="M480.32,-1052.44C495.65,-1058.11 516.62,-1065.53 535.45,-1071 552.29,-1075.89 570.7,-1080.51 587.79,-1084.49"/>
<polygon fill="black" stroke="black" points="586.8,-1087.86 597.33,-1086.68 588.36,-1081.03 586.8,-1087.86"/>
</g>
<!-- 13 -->
<!-- name: &quot;Net id&quot;, typeName: &quot;&quot;, id: 13, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node13" class="node">
<title>13</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-1044" rx="33.95" ry="18"/>
<text text-anchor="middle" x="652.31" y="-1038.95" font-family="Times New Roman,serif" font-size="14.00">Net id</text>
</g>
<!-- 10&#45;&gt;13 -->
<g id="edge12" class="edge">
<title>10&#45;&gt;13</title>
<path fill="none" stroke="black" d="M500.6,-1044C532.04,-1044 574.81,-1044 606.76,-1044"/>
<polygon fill="black" stroke="black" points="606.48,-1047.5 616.48,-1044 606.48,-1040.5 606.48,-1047.5"/>
</g>
<!-- 12 -->
<!-- name: &quot;ShapedRecipe&quot;, typeName: &quot;&quot;, id: 12, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node12" class="node">
<title>12</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-1098" rx="63.63" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-1092.95" font-family="Times New Roman,serif" font-size="14.00">ShapedRecipe</text>
</g>
<!-- 11&#45;&gt;12 -->
<g id="edge11" class="edge">
<title>11&#45;&gt;12</title>
<path fill="none" stroke="black" d="M718.6,-1098C785.4,-1098 889.04,-1098 958.91,-1098"/>
<polygon fill="black" stroke="black" points="958.74,-1101.5 968.74,-1098 958.74,-1094.5 958.74,-1101.5"/>
</g>
<!-- 14 -->
<!-- name: &quot;TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;&quot;, typeName: &quot;&quot;, id: 14, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node14" class="node">
<title>14</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-1044" rx="228.95" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-1038.95" font-family="Times New Roman,serif" font-size="14.00">TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;</text>
</g>
<!-- 13&#45;&gt;14 -->
<g id="edge13" class="edge">
<title>13&#45;&gt;14</title>
<path fill="none" stroke="black" d="M686.68,-1044C712.69,-1044 751.37,-1044 793.58,-1044"/>
<polygon fill="black" stroke="black" points="793.46,-1047.5 803.46,-1044 793.46,-1040.5 793.46,-1047.5"/>
</g>
<!-- 16 -->
<!-- name: &quot;Item Data&quot;, typeName: &quot;&quot;, id: 16, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node16" class="node">
<title>16</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-990" rx="48.28" ry="18"/>
<text text-anchor="middle" x="652.31" y="-984.95" font-family="Times New Roman,serif" font-size="14.00">Item Data</text>
</g>
<!-- 15&#45;&gt;16 -->
<g id="edge15" class="edge">
<title>15&#45;&gt;16</title>
<path fill="none" stroke="black" d="M472.02,-921.13C486.75,-933.45 511.24,-952.2 535.45,-963 554.21,-971.37 575.89,-977.31 595.38,-981.45"/>
<polygon fill="black" stroke="black" points="594.59,-984.86 605.08,-983.39 595.96,-978 594.59,-984.86"/>
</g>
<!-- 18 -->
<!-- name: &quot;Result Item&quot;, typeName: &quot;&quot;, id: 18, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node18" class="node">
<title>18</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-936" rx="54.42" ry="18"/>
<text text-anchor="middle" x="652.31" y="-930.95" font-family="Times New Roman,serif" font-size="14.00">Result Item</text>
</g>
<!-- 15&#45;&gt;18 -->
<g id="edge17" class="edge">
<title>15&#45;&gt;18</title>
<path fill="none" stroke="black" d="M490.11,-913.46C517.34,-917.27 557.28,-922.85 590.59,-927.51"/>
<polygon fill="black" stroke="black" points="589.72,-930.92 600.11,-928.84 590.69,-923.99 589.72,-930.92"/>
</g>
<!-- 20 -->
<!-- name: &quot;Recipe Tag&quot;, typeName: &quot;&quot;, id: 20, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;Available ones: crafting_table, cartography_table, stonecutter, furnace, blast_furnace, smoker, campfire&quot; -->
<g id="node20" class="node">
<title>20</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-882" rx="52.38" ry="18"/>
<text text-anchor="middle" x="652.31" y="-876.95" font-family="Times New Roman,serif" font-size="14.00">Recipe Tag</text>
</g>
<!-- 15&#45;&gt;20 -->
<g id="edge19" class="edge">
<title>15&#45;&gt;20</title>
<path fill="none" stroke="black" d="M490.11,-904.54C517.73,-900.68 558.41,-894.99 592,-890.29"/>
<polygon fill="black" stroke="black" points="592.17,-893.8 601.59,-888.95 591.2,-886.87 592.17,-893.8"/>
</g>
<!-- 17 -->
<!-- name: &quot;varint&quot;, typeName: &quot;&quot;, id: 17, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node17" class="node">
<title>17</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-990" rx="32.41" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-984.95" font-family="Times New Roman,serif" font-size="14.00">varint</text>
</g>
<!-- 16&#45;&gt;17 -->
<g id="edge16" class="edge">
<title>16&#45;&gt;17</title>
<path fill="none" stroke="black" d="M701.03,-990C775.58,-990 918.53,-990 990.09,-990"/>
<polygon fill="black" stroke="black" points="989.84,-993.5 999.84,-990 989.84,-986.5 989.84,-993.5"/>
</g>
<!-- 19 -->
<!-- name: &quot;NetworkItemInstanceDescriptor&quot;, typeName: &quot;&quot;, id: 19, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node19" class="node">
<title>19</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-936" rx="130.17" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-930.95" font-family="Times New Roman,serif" font-size="14.00">NetworkItemInstanceDescriptor</text>
</g>
<!-- 18&#45;&gt;19 -->
<g id="edge18" class="edge">
<title>18&#45;&gt;19</title>
<path fill="none" stroke="black" d="M706.92,-936C755.05,-936 827.87,-936 892.51,-936"/>
<polygon fill="black" stroke="black" points="892.12,-939.5 902.12,-936 892.12,-932.5 892.12,-939.5"/>
</g>
<!-- 21 -->
<!-- name: &quot;string&quot;, typeName: &quot;&quot;, id: 21, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node21" class="node">
<title>21</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-882" rx="31.9" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-876.95" font-family="Times New Roman,serif" font-size="14.00">string</text>
</g>
<!-- 20&#45;&gt;21 -->
<g id="edge20" class="edge">
<title>20&#45;&gt;21</title>
<path fill="none" stroke="black" d="M704.93,-882C780.66,-882 920.49,-882 990.64,-882"/>
<polygon fill="black" stroke="black" points="990.58,-885.5 1000.58,-882 990.58,-878.5 990.58,-885.5"/>
</g>
<!-- 23 -->
<!-- name: &quot;Item Data&quot;, typeName: &quot;&quot;, id: 23, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node23" class="node">
<title>23</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-828" rx="48.28" ry="18"/>
<text text-anchor="middle" x="652.31" y="-822.95" font-family="Times New Roman,serif" font-size="14.00">Item Data</text>
</g>
<!-- 22&#45;&gt;23 -->
<g id="edge22" class="edge">
<title>22&#45;&gt;23</title>
<path fill="none" stroke="black" d="M467.44,-733.82C480.39,-752.11 505.76,-784.04 535.45,-801 553.14,-811.11 574.39,-817.43 593.85,-821.39"/>
<polygon fill="black" stroke="black" points="593.09,-824.81 603.56,-823.19 594.36,-817.93 593.09,-824.81"/>
</g>
<!-- 25 -->
<!-- name: &quot;Auxiliary Item Data&quot;, typeName: &quot;&quot;, id: 25, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node25" class="node">
<title>25</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-774" rx="86.15" ry="18"/>
<text text-anchor="middle" x="652.31" y="-768.95" font-family="Times New Roman,serif" font-size="14.00">Auxiliary Item Data</text>
</g>
<!-- 22&#45;&gt;25 -->
<g id="edge24" class="edge">
<title>22&#45;&gt;25</title>
<path fill="none" stroke="black" d="M480.32,-728.44C495.65,-734.11 516.62,-741.53 535.45,-747 549.59,-751.11 564.85,-755.02 579.5,-758.53"/>
<polygon fill="black" stroke="black" points="578.55,-761.9 589.08,-760.79 580.15,-755.09 578.55,-761.9"/>
</g>
<!-- 27 -->
<!-- name: &quot;Result Item&quot;, typeName: &quot;&quot;, id: 27, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node27" class="node">
<title>27</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-720" rx="54.42" ry="18"/>
<text text-anchor="middle" x="652.31" y="-714.95" font-family="Times New Roman,serif" font-size="14.00">Result Item</text>
</g>
<!-- 22&#45;&gt;27 -->
<g id="edge26" class="edge">
<title>22&#45;&gt;27</title>
<path fill="none" stroke="black" d="M500.6,-720C525.67,-720 557.96,-720 586.21,-720"/>
<polygon fill="black" stroke="black" points="586.11,-723.5 596.11,-720 586.11,-716.5 586.11,-723.5"/>
</g>
<!-- 29 -->
<!-- name: &quot;Recipe Tag&quot;, typeName: &quot;&quot;, id: 29, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;Available ones: crafting_table, cartography_table, stonecutter, furnace, blast_furnace, smoker, campfire&quot; -->
<g id="node29" class="node">
<title>29</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-666" rx="52.38" ry="18"/>
<text text-anchor="middle" x="652.31" y="-660.95" font-family="Times New Roman,serif" font-size="14.00">Recipe Tag</text>
</g>
<!-- 22&#45;&gt;29 -->
<g id="edge28" class="edge">
<title>22&#45;&gt;29</title>
<path fill="none" stroke="black" d="M480.32,-711.56C495.65,-705.89 516.62,-698.47 535.45,-693 554.93,-687.34 576.52,-682.05 595.73,-677.68"/>
<polygon fill="black" stroke="black" points="596.26,-681.15 605.25,-675.54 594.73,-674.32 596.26,-681.15"/>
</g>
<!-- 24 -->
<!-- name: &quot;varint&quot;, typeName: &quot;&quot;, id: 24, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node24" class="node">
<title>24</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-828" rx="32.41" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-822.95" font-family="Times New Roman,serif" font-size="14.00">varint</text>
</g>
<!-- 23&#45;&gt;24 -->
<g id="edge23" class="edge">
<title>23&#45;&gt;24</title>
<path fill="none" stroke="black" d="M701.03,-828C775.58,-828 918.53,-828 990.09,-828"/>
<polygon fill="black" stroke="black" points="989.84,-831.5 999.84,-828 989.84,-824.5 989.84,-831.5"/>
</g>
<!-- 26 -->
<!-- name: &quot;varint&quot;, typeName: &quot;&quot;, id: 26, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node26" class="node">
<title>26</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-774" rx="32.41" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-768.95" font-family="Times New Roman,serif" font-size="14.00">varint</text>
</g>
<!-- 25&#45;&gt;26 -->
<g id="edge25" class="edge">
<title>25&#45;&gt;26</title>
<path fill="none" stroke="black" d="M738.55,-774C816.67,-774 929.16,-774 990.04,-774"/>
<polygon fill="black" stroke="black" points="989.99,-777.5 999.99,-774 989.99,-770.5 989.99,-777.5"/>
</g>
<!-- 28 -->
<!-- name: &quot;NetworkItemInstanceDescriptor&quot;, typeName: &quot;&quot;, id: 28, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node28" class="node">
<title>28</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-720" rx="130.17" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-714.95" font-family="Times New Roman,serif" font-size="14.00">NetworkItemInstanceDescriptor</text>
</g>
<!-- 27&#45;&gt;28 -->
<g id="edge27" class="edge">
<title>27&#45;&gt;28</title>
<path fill="none" stroke="black" d="M706.92,-720C755.05,-720 827.87,-720 892.51,-720"/>
<polygon fill="black" stroke="black" points="892.12,-723.5 902.12,-720 892.12,-716.5 892.12,-723.5"/>
</g>
<!-- 30 -->
<!-- name: &quot;string&quot;, typeName: &quot;&quot;, id: 30, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node30" class="node">
<title>30</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-666" rx="31.9" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-660.95" font-family="Times New Roman,serif" font-size="14.00">string</text>
</g>
<!-- 29&#45;&gt;30 -->
<g id="edge29" class="edge">
<title>29&#45;&gt;30</title>
<path fill="none" stroke="black" d="M704.93,-666C780.66,-666 920.49,-666 990.64,-666"/>
<polygon fill="black" stroke="black" points="990.58,-669.5 1000.58,-666 990.58,-662.5 990.58,-669.5"/>
</g>
<!-- 32 -->
<!-- name: &quot;Multi&#45;Recipe&quot;, typeName: &quot;&quot;, id: 32, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node32" class="node">
<title>32</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-612" rx="60.56" ry="18"/>
<text text-anchor="middle" x="652.31" y="-606.95" font-family="Times New Roman,serif" font-size="14.00">Multi&#45;Recipe</text>
</g>
<!-- 31&#45;&gt;32 -->
<g id="edge31" class="edge">
<title>31&#45;&gt;32</title>
<path fill="none" stroke="black" d="M490.11,-589.46C515.98,-593.08 553.31,-598.3 585.54,-602.8"/>
<polygon fill="black" stroke="black" points="584.81,-606.23 595.2,-604.15 585.78,-599.3 584.81,-606.23"/>
</g>
<!-- 34 -->
<!-- name: &quot;Net id&quot;, typeName: &quot;&quot;, id: 34, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node34" class="node">
<title>34</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-558" rx="33.95" ry="18"/>
<text text-anchor="middle" x="652.31" y="-552.95" font-family="Times New Roman,serif" font-size="14.00">Net id</text>
</g>
<!-- 31&#45;&gt;34 -->
<g id="edge33" class="edge">
<title>31&#45;&gt;34</title>
<path fill="none" stroke="black" d="M490.11,-580.54C522.29,-576.04 572.22,-569.06 607.98,-564.06"/>
<polygon fill="black" stroke="black" points="608.14,-567.57 617.56,-562.72 607.17,-560.64 608.14,-567.57"/>
</g>
<!-- 33 -->
<!-- name: &quot;mce::UUID&quot;, typeName: &quot;&quot;, id: 33, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node33" class="node">
<title>33</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-612" rx="54.93" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-606.95" font-family="Times New Roman,serif" font-size="14.00">mce::UUID</text>
</g>
<!-- 32&#45;&gt;33 -->
<g id="edge32" class="edge">
<title>32&#45;&gt;33</title>
<path fill="none" stroke="black" d="M713.07,-612C782.38,-612 896.24,-612 967.82,-612"/>
<polygon fill="black" stroke="black" points="967.42,-615.5 977.42,-612 967.42,-608.5 967.42,-615.5"/>
</g>
<!-- 35 -->
<!-- name: &quot;TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;&quot;, typeName: &quot;&quot;, id: 35, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node35" class="node">
<title>35</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-558" rx="228.95" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-552.95" font-family="Times New Roman,serif" font-size="14.00">TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;</text>
</g>
<!-- 34&#45;&gt;35 -->
<g id="edge34" class="edge">
<title>34&#45;&gt;35</title>
<path fill="none" stroke="black" d="M686.68,-558C712.69,-558 751.37,-558 793.58,-558"/>
<polygon fill="black" stroke="black" points="793.46,-561.5 803.46,-558 793.46,-554.5 793.46,-561.5"/>
</g>
<!-- 37 -->
<!-- name: &quot;User Data Shapeless Recipe&quot;, typeName: &quot;&quot;, id: 37, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node37" class="node">
<title>37</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-504" rx="115.33" ry="18"/>
<text text-anchor="middle" x="652.31" y="-498.95" font-family="Times New Roman,serif" font-size="14.00">User Data Shapeless Recipe</text>
</g>
<!-- 36&#45;&gt;37 -->
<g id="edge36" class="edge">
<title>36&#45;&gt;37</title>
<path fill="none" stroke="black" d="M500.6,-504C508.32,-504 516.74,-504 525.5,-504"/>
<polygon fill="black" stroke="black" points="525.26,-507.5 535.26,-504 525.26,-500.5 525.26,-507.5"/>
</g>
<!-- 39 -->
<!-- name: &quot;Net id&quot;, typeName: &quot;&quot;, id: 39, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node39" class="node">
<title>39</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-450" rx="33.95" ry="18"/>
<text text-anchor="middle" x="652.31" y="-444.95" font-family="Times New Roman,serif" font-size="14.00">Net id</text>
</g>
<!-- 36&#45;&gt;39 -->
<g id="edge38" class="edge">
<title>36&#45;&gt;39</title>
<path fill="none" stroke="black" d="M480.32,-495.56C495.65,-489.89 516.62,-482.47 535.45,-477 559.6,-469.99 586.99,-463.53 609.07,-458.7"/>
<polygon fill="black" stroke="black" points="609.58,-462.17 618.61,-456.64 608.1,-455.33 609.58,-462.17"/>
</g>
<!-- 38 -->
<!-- name: &quot;UserDataShapelessRecipe&quot;, typeName: &quot;&quot;, id: 38, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node38" class="node">
<title>38</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-504" rx="107.65" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-498.95" font-family="Times New Roman,serif" font-size="14.00">UserDataShapelessRecipe</text>
</g>
<!-- 37&#45;&gt;38 -->
<g id="edge37" class="edge">
<title>37&#45;&gt;38</title>
<path fill="none" stroke="black" d="M768.04,-504C814.44,-504 867.98,-504 914.75,-504"/>
<polygon fill="black" stroke="black" points="914.65,-507.5 924.65,-504 914.65,-500.5 914.65,-507.5"/>
</g>
<!-- 40 -->
<!-- name: &quot;TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;&quot;, typeName: &quot;&quot;, id: 40, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node40" class="node">
<title>40</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-450" rx="228.95" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-444.95" font-family="Times New Roman,serif" font-size="14.00">TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;</text>
</g>
<!-- 39&#45;&gt;40 -->
<g id="edge39" class="edge">
<title>39&#45;&gt;40</title>
<path fill="none" stroke="black" d="M686.68,-450C712.69,-450 751.37,-450 793.58,-450"/>
<polygon fill="black" stroke="black" points="793.46,-453.5 803.46,-450 793.46,-446.5 793.46,-453.5"/>
</g>
<!-- 42 -->
<!-- name: &quot;Shapeless Chemistry Recipe&quot;, typeName: &quot;&quot;, id: 42, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node42" class="node">
<title>42</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-396" rx="116.86" ry="18"/>
<text text-anchor="middle" x="652.31" y="-390.95" font-family="Times New Roman,serif" font-size="14.00">Shapeless Chemistry Recipe</text>
</g>
<!-- 41&#45;&gt;42 -->
<g id="edge41" class="edge">
<title>41&#45;&gt;42</title>
<path fill="none" stroke="black" d="M500.6,-396C507.85,-396 515.7,-396 523.88,-396"/>
<polygon fill="black" stroke="black" points="523.71,-399.5 533.71,-396 523.71,-392.5 523.71,-399.5"/>
</g>
<!-- 44 -->
<!-- name: &quot;Net id&quot;, typeName: &quot;&quot;, id: 44, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node44" class="node">
<title>44</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-342" rx="33.95" ry="18"/>
<text text-anchor="middle" x="652.31" y="-336.95" font-family="Times New Roman,serif" font-size="14.00">Net id</text>
</g>
<!-- 41&#45;&gt;44 -->
<g id="edge43" class="edge">
<title>41&#45;&gt;44</title>
<path fill="none" stroke="black" d="M480.32,-387.56C495.65,-381.89 516.62,-374.47 535.45,-369 559.6,-361.99 586.99,-355.53 609.07,-350.7"/>
<polygon fill="black" stroke="black" points="609.58,-354.17 618.61,-348.64 608.1,-347.33 609.58,-354.17"/>
</g>
<!-- 43 -->
<!-- name: &quot;ShapelessChemistryRecipe&quot;, typeName: &quot;&quot;, id: 43, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node43" class="node">
<title>43</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-396" rx="111.74" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-390.95" font-family="Times New Roman,serif" font-size="14.00">ShapelessChemistryRecipe</text>
</g>
<!-- 42&#45;&gt;43 -->
<g id="edge42" class="edge">
<title>42&#45;&gt;43</title>
<path fill="none" stroke="black" d="M769.59,-396C814.32,-396 865.51,-396 910.8,-396"/>
<polygon fill="black" stroke="black" points="910.67,-399.5 920.67,-396 910.67,-392.5 910.67,-399.5"/>
</g>
<!-- 45 -->
<!-- name: &quot;TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;&quot;, typeName: &quot;&quot;, id: 45, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node45" class="node">
<title>45</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-342" rx="228.95" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-336.95" font-family="Times New Roman,serif" font-size="14.00">TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;</text>
</g>
<!-- 44&#45;&gt;45 -->
<g id="edge44" class="edge">
<title>44&#45;&gt;45</title>
<path fill="none" stroke="black" d="M686.68,-342C712.69,-342 751.37,-342 793.58,-342"/>
<polygon fill="black" stroke="black" points="793.46,-345.5 803.46,-342 793.46,-338.5 793.46,-345.5"/>
</g>
<!-- 47 -->
<!-- name: &quot;Shaped Chemistry Recipe&quot;, typeName: &quot;&quot;, id: 47, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node47" class="node">
<title>47</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-288" rx="107.65" ry="18"/>
<text text-anchor="middle" x="652.31" y="-282.95" font-family="Times New Roman,serif" font-size="14.00">Shaped Chemistry Recipe</text>
</g>
<!-- 46&#45;&gt;47 -->
<g id="edge46" class="edge">
<title>46&#45;&gt;47</title>
<path fill="none" stroke="black" d="M500.6,-288C510.42,-288 521.35,-288 532.71,-288"/>
<polygon fill="black" stroke="black" points="532.68,-291.5 542.68,-288 532.68,-284.5 532.68,-291.5"/>
</g>
<!-- 49 -->
<!-- name: &quot;Net id&quot;, typeName: &quot;&quot;, id: 49, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node49" class="node">
<title>49</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-234" rx="33.95" ry="18"/>
<text text-anchor="middle" x="652.31" y="-228.95" font-family="Times New Roman,serif" font-size="14.00">Net id</text>
</g>
<!-- 46&#45;&gt;49 -->
<g id="edge48" class="edge">
<title>46&#45;&gt;49</title>
<path fill="none" stroke="black" d="M480.32,-279.56C495.65,-273.89 516.62,-266.47 535.45,-261 559.6,-253.99 586.99,-247.53 609.07,-242.7"/>
<polygon fill="black" stroke="black" points="609.58,-246.17 618.61,-240.64 608.1,-239.33 609.58,-246.17"/>
</g>
<!-- 48 -->
<!-- name: &quot;ShapedChemistryRecipe&quot;, typeName: &quot;&quot;, id: 48, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node48" class="node">
<title>48</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-288" rx="102.53" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-282.95" font-family="Times New Roman,serif" font-size="14.00">ShapedChemistryRecipe</text>
</g>
<!-- 47&#45;&gt;48 -->
<g id="edge47" class="edge">
<title>47&#45;&gt;48</title>
<path fill="none" stroke="black" d="M760.37,-288C810.14,-288 869.35,-288 919.86,-288"/>
<polygon fill="black" stroke="black" points="919.65,-291.5 929.65,-288 919.65,-284.5 919.65,-291.5"/>
</g>
<!-- 50 -->
<!-- name: &quot;TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;&quot;, typeName: &quot;&quot;, id: 50, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node50" class="node">
<title>50</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-234" rx="228.95" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-228.95" font-family="Times New Roman,serif" font-size="14.00">TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;</text>
</g>
<!-- 49&#45;&gt;50 -->
<g id="edge49" class="edge">
<title>49&#45;&gt;50</title>
<path fill="none" stroke="black" d="M686.68,-234C712.69,-234 751.37,-234 793.58,-234"/>
<polygon fill="black" stroke="black" points="793.46,-237.5 803.46,-234 793.46,-230.5 793.46,-237.5"/>
</g>
<!-- 52 -->
<!-- name: &quot;Smithing Transform Recipe&quot;, typeName: &quot;&quot;, id: 52, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node52" class="node">
<title>52</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-180" rx="114.82" ry="18"/>
<text text-anchor="middle" x="652.31" y="-174.95" font-family="Times New Roman,serif" font-size="14.00">Smithing Transform Recipe</text>
</g>
<!-- 51&#45;&gt;52 -->
<g id="edge51" class="edge">
<title>51&#45;&gt;52</title>
<path fill="none" stroke="black" d="M500.6,-180C508.4,-180 516.91,-180 525.77,-180"/>
<polygon fill="black" stroke="black" points="525.65,-183.5 535.65,-180 525.65,-176.5 525.65,-183.5"/>
</g>
<!-- 54 -->
<!-- name: &quot;Net id&quot;, typeName: &quot;&quot;, id: 54, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node54" class="node">
<title>54</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-126" rx="33.95" ry="18"/>
<text text-anchor="middle" x="652.31" y="-120.95" font-family="Times New Roman,serif" font-size="14.00">Net id</text>
</g>
<!-- 51&#45;&gt;54 -->
<g id="edge53" class="edge">
<title>51&#45;&gt;54</title>
<path fill="none" stroke="black" d="M480.32,-171.56C495.65,-165.89 516.62,-158.47 535.45,-153 559.6,-145.99 586.99,-139.53 609.07,-134.7"/>
<polygon fill="black" stroke="black" points="609.58,-138.17 618.61,-132.64 608.1,-131.33 609.58,-138.17"/>
</g>
<!-- 53 -->
<!-- name: &quot;SmithingTransformRecipe&quot;, typeName: &quot;&quot;, id: 53, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node53" class="node">
<title>53</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-180" rx="110.21" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-174.95" font-family="Times New Roman,serif" font-size="14.00">SmithingTransformRecipe</text>
</g>
<!-- 52&#45;&gt;53 -->
<g id="edge52" class="edge">
<title>52&#45;&gt;53</title>
<path fill="none" stroke="black" d="M767.52,-180C813.24,-180 865.95,-180 912.3,-180"/>
<polygon fill="black" stroke="black" points="912.11,-183.5 922.11,-180 912.11,-176.5 912.11,-183.5"/>
</g>
<!-- 55 -->
<!-- name: &quot;TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;&quot;, typeName: &quot;&quot;, id: 55, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node55" class="node">
<title>55</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-126" rx="228.95" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-120.95" font-family="Times New Roman,serif" font-size="14.00">TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;</text>
</g>
<!-- 54&#45;&gt;55 -->
<g id="edge54" class="edge">
<title>54&#45;&gt;55</title>
<path fill="none" stroke="black" d="M686.68,-126C712.69,-126 751.37,-126 793.58,-126"/>
<polygon fill="black" stroke="black" points="793.46,-129.5 803.46,-126 793.46,-122.5 793.46,-129.5"/>
</g>
<!-- 57 -->
<!-- name: &quot;Smithing Trim Recipe&quot;, typeName: &quot;&quot;, id: 57, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node57" class="node">
<title>57</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-72" rx="94.34" ry="18"/>
<text text-anchor="middle" x="652.31" y="-66.95" font-family="Times New Roman,serif" font-size="14.00">Smithing Trim Recipe</text>
</g>
<!-- 56&#45;&gt;57 -->
<g id="edge56" class="edge">
<title>56&#45;&gt;57</title>
<path fill="none" stroke="black" d="M500.6,-72C514.31,-72 530.17,-72 546.35,-72"/>
<polygon fill="black" stroke="black" points="546.07,-75.5 556.07,-72 546.07,-68.5 546.07,-75.5"/>
</g>
<!-- 59 -->
<!-- name: &quot;Net id&quot;, typeName: &quot;&quot;, id: 59, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node59" class="node">
<title>59</title>
<ellipse fill="none" stroke="black" cx="652.31" cy="-18" rx="33.95" ry="18"/>
<text text-anchor="middle" x="652.31" y="-12.95" font-family="Times New Roman,serif" font-size="14.00">Net id</text>
</g>
<!-- 56&#45;&gt;59 -->
<g id="edge58" class="edge">
<title>56&#45;&gt;59</title>
<path fill="none" stroke="black" d="M480.32,-63.56C495.65,-57.89 516.62,-50.47 535.45,-45 559.6,-37.99 586.99,-31.53 609.07,-26.7"/>
<polygon fill="black" stroke="black" points="609.58,-30.17 618.61,-24.64 608.1,-23.33 609.58,-30.17"/>
</g>
<!-- 58 -->
<!-- name: &quot;SmithingTrimRecipe&quot;, typeName: &quot;&quot;, id: 58, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node58" class="node">
<title>58</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-72" rx="89.74" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-66.95" font-family="Times New Roman,serif" font-size="14.00">SmithingTrimRecipe</text>
</g>
<!-- 57&#45;&gt;58 -->
<g id="edge57" class="edge">
<title>57&#45;&gt;58</title>
<path fill="none" stroke="black" d="M746.71,-72C803.13,-72 875.03,-72 932.68,-72"/>
<polygon fill="black" stroke="black" points="932.49,-75.5 942.49,-72 932.49,-68.5 932.49,-75.5"/>
</g>
<!-- 60 -->
<!-- name: &quot;TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;&quot;, typeName: &quot;&quot;, id: 60, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node60" class="node">
<title>60</title>
<ellipse fill="none" stroke="black" cx="1034.12" cy="-18" rx="228.95" ry="18"/>
<text text-anchor="middle" x="1034.12" y="-12.95" font-family="Times New Roman,serif" font-size="14.00">TypedServerNetId&lt;struct RecipeNetIdTag,unsigned int,0&gt;</text>
</g>
<!-- 59&#45;&gt;60 -->
<g id="edge59" class="edge">
<title>59&#45;&gt;60</title>
<path fill="none" stroke="black" d="M686.68,-18C712.69,-18 751.37,-18 793.58,-18"/>
<polygon fill="black" stroke="black" points="793.46,-21.5 803.46,-18 793.46,-14.5 793.46,-21.5"/>
</g>
</g>
</svg>