minecraft-data 3.105.0 → 3.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/.github/workflows/commands.yml +24 -0
  2. package/.github/workflows/npm-publish.yml +6 -4
  3. package/doc/history.md +11 -0
  4. package/index.d.ts +0 -3
  5. package/minecraft-data/data/bedrock/1.16.220/protocol.json +36 -1
  6. package/minecraft-data/data/bedrock/1.16.220/types.yml +5 -30
  7. package/minecraft-data/data/bedrock/1.17.0/protocol.json +36 -1
  8. package/minecraft-data/data/bedrock/1.17.0/types.yml +5 -30
  9. package/minecraft-data/data/bedrock/1.17.10/protocol.json +36 -1
  10. package/minecraft-data/data/bedrock/1.17.10/types.yml +5 -30
  11. package/minecraft-data/data/bedrock/1.17.30/protocol.json +36 -1
  12. package/minecraft-data/data/bedrock/1.17.30/types.yml +5 -30
  13. package/minecraft-data/data/bedrock/1.17.40/protocol.json +36 -1
  14. package/minecraft-data/data/bedrock/1.17.40/types.yml +5 -30
  15. package/minecraft-data/data/bedrock/1.18.0/protocol.json +36 -1
  16. package/minecraft-data/data/bedrock/1.18.0/types.yml +5 -30
  17. package/minecraft-data/data/bedrock/1.18.11/protocol.json +36 -1
  18. package/minecraft-data/data/bedrock/1.18.11/types.yml +5 -30
  19. package/minecraft-data/data/bedrock/1.18.30/protocol.json +36 -1
  20. package/minecraft-data/data/bedrock/1.18.30/types.yml +5 -30
  21. package/minecraft-data/data/bedrock/1.19.1/protocol.json +36 -1
  22. package/minecraft-data/data/bedrock/1.19.1/types.yml +5 -30
  23. package/minecraft-data/data/bedrock/1.19.10/protocol.json +36 -1
  24. package/minecraft-data/data/bedrock/1.19.10/types.yml +5 -30
  25. package/minecraft-data/data/bedrock/1.19.20/protocol.json +36 -1
  26. package/minecraft-data/data/bedrock/1.19.20/types.yml +5 -30
  27. package/minecraft-data/data/bedrock/1.19.21/protocol.json +36 -1
  28. package/minecraft-data/data/bedrock/1.19.21/types.yml +5 -30
  29. package/minecraft-data/data/bedrock/1.19.30/protocol.json +36 -1
  30. package/minecraft-data/data/bedrock/1.19.30/types.yml +5 -30
  31. package/minecraft-data/data/bedrock/1.19.40/protocol.json +36 -1
  32. package/minecraft-data/data/bedrock/1.19.40/types.yml +5 -30
  33. package/minecraft-data/data/bedrock/1.19.50/protocol.json +36 -1
  34. package/minecraft-data/data/bedrock/1.19.50/types.yml +5 -30
  35. package/minecraft-data/data/bedrock/1.19.60/protocol.json +36 -1
  36. package/minecraft-data/data/bedrock/1.19.60/types.yml +5 -30
  37. package/minecraft-data/data/bedrock/1.19.62/protocol.json +36 -1
  38. package/minecraft-data/data/bedrock/1.19.62/types.yml +5 -30
  39. package/minecraft-data/data/bedrock/1.19.70/protocol.json +36 -1
  40. package/minecraft-data/data/bedrock/1.19.70/types.yml +5 -30
  41. package/minecraft-data/data/bedrock/1.19.80/protocol.json +36 -1
  42. package/minecraft-data/data/bedrock/1.19.80/types.yml +5 -30
  43. package/minecraft-data/data/bedrock/1.20.0/protocol.json +36 -1
  44. package/minecraft-data/data/bedrock/1.20.0/types.yml +5 -30
  45. package/minecraft-data/data/bedrock/1.20.10/protocol.json +36 -1
  46. package/minecraft-data/data/bedrock/1.20.10/types.yml +5 -30
  47. package/minecraft-data/data/bedrock/1.20.30/protocol.json +36 -1
  48. package/minecraft-data/data/bedrock/1.20.30/types.yml +5 -30
  49. package/minecraft-data/data/bedrock/1.20.40/protocol.json +36 -1
  50. package/minecraft-data/data/bedrock/1.20.40/types.yml +5 -30
  51. package/minecraft-data/data/bedrock/1.20.50/protocol.json +36 -1
  52. package/minecraft-data/data/bedrock/1.20.50/types.yml +5 -30
  53. package/minecraft-data/data/bedrock/1.20.61/protocol.json +36 -1
  54. package/minecraft-data/data/bedrock/1.20.61/types.yml +5 -30
  55. package/minecraft-data/data/bedrock/1.20.71/protocol.json +36 -1
  56. package/minecraft-data/data/bedrock/1.20.71/types.yml +5 -30
  57. package/minecraft-data/data/bedrock/1.20.80/protocol.json +36 -1
  58. package/minecraft-data/data/bedrock/1.20.80/types.yml +5 -30
  59. package/minecraft-data/data/bedrock/1.21.0/protocol.json +36 -1
  60. package/minecraft-data/data/bedrock/1.21.0/types.yml +5 -30
  61. package/minecraft-data/data/bedrock/1.21.100/protocol.json +36 -1
  62. package/minecraft-data/data/bedrock/1.21.100/types.yml +5 -30
  63. package/minecraft-data/data/bedrock/1.21.111/protocol.json +36 -1
  64. package/minecraft-data/data/bedrock/1.21.111/types.yml +5 -30
  65. package/minecraft-data/data/bedrock/1.21.120/protocol.json +36 -1
  66. package/minecraft-data/data/bedrock/1.21.120/types.yml +5 -30
  67. package/minecraft-data/data/bedrock/1.21.124/protocol.json +36 -1
  68. package/minecraft-data/data/bedrock/1.21.124/types.yml +5 -30
  69. package/minecraft-data/data/bedrock/1.21.130/protocol.json +36 -1
  70. package/minecraft-data/data/bedrock/1.21.130/types.yml +5 -30
  71. package/minecraft-data/data/bedrock/1.21.2/protocol.json +36 -1
  72. package/minecraft-data/data/bedrock/1.21.2/types.yml +5 -30
  73. package/minecraft-data/data/bedrock/1.21.20/protocol.json +36 -1
  74. package/minecraft-data/data/bedrock/1.21.20/types.yml +5 -30
  75. package/minecraft-data/data/bedrock/1.21.30/protocol.json +36 -1
  76. package/minecraft-data/data/bedrock/1.21.30/types.yml +5 -30
  77. package/minecraft-data/data/bedrock/1.21.42/protocol.json +36 -1
  78. package/minecraft-data/data/bedrock/1.21.42/types.yml +5 -30
  79. package/minecraft-data/data/bedrock/1.21.50/protocol.json +36 -1
  80. package/minecraft-data/data/bedrock/1.21.50/types.yml +5 -30
  81. package/minecraft-data/data/bedrock/1.21.60/protocol.json +36 -1
  82. package/minecraft-data/data/bedrock/1.21.60/types.yml +5 -30
  83. package/minecraft-data/data/bedrock/1.21.70/protocol.json +36 -1
  84. package/minecraft-data/data/bedrock/1.21.70/types.yml +5 -30
  85. package/minecraft-data/data/bedrock/1.21.80/protocol.json +36 -1
  86. package/minecraft-data/data/bedrock/1.21.80/types.yml +5 -30
  87. package/minecraft-data/data/bedrock/1.21.90/protocol.json +36 -1
  88. package/minecraft-data/data/bedrock/1.21.90/types.yml +5 -30
  89. package/minecraft-data/data/bedrock/1.21.93/protocol.json +36 -1
  90. package/minecraft-data/data/bedrock/1.21.93/types.yml +5 -30
  91. package/minecraft-data/data/bedrock/1.26.0/protocol.json +36 -1
  92. package/minecraft-data/data/bedrock/latest/types.yml +5 -30
  93. package/minecraft-data/data/pc/1.10/proto.yml +7 -9
  94. package/minecraft-data/data/pc/1.10/protocol.json +23 -30
  95. package/minecraft-data/data/pc/1.10-pre1/proto.yml +7 -9
  96. package/minecraft-data/data/pc/1.10-pre1/protocol.json +23 -30
  97. package/minecraft-data/data/pc/1.11/proto.yml +7 -9
  98. package/minecraft-data/data/pc/1.11/protocol.json +23 -30
  99. package/minecraft-data/data/pc/1.12/proto.yml +7 -9
  100. package/minecraft-data/data/pc/1.12/protocol.json +23 -30
  101. package/minecraft-data/data/pc/1.12-pre4/proto.yml +7 -9
  102. package/minecraft-data/data/pc/1.12-pre4/protocol.json +23 -30
  103. package/minecraft-data/data/pc/1.12.1/proto.yml +7 -9
  104. package/minecraft-data/data/pc/1.12.1/protocol.json +23 -30
  105. package/minecraft-data/data/pc/1.12.2/proto.yml +7 -9
  106. package/minecraft-data/data/pc/1.12.2/protocol.json +23 -30
  107. package/minecraft-data/data/pc/1.13/proto.yml +7 -9
  108. package/minecraft-data/data/pc/1.13/protocol.json +23 -30
  109. package/minecraft-data/data/pc/1.13.1/proto.yml +7 -9
  110. package/minecraft-data/data/pc/1.13.1/protocol.json +23 -30
  111. package/minecraft-data/data/pc/1.13.2/proto.yml +7 -9
  112. package/minecraft-data/data/pc/1.13.2/protocol.json +23 -30
  113. package/minecraft-data/data/pc/1.13.2-pre1/proto.yml +7 -9
  114. package/minecraft-data/data/pc/1.13.2-pre1/protocol.json +23 -30
  115. package/minecraft-data/data/pc/1.13.2-pre2/proto.yml +7 -9
  116. package/minecraft-data/data/pc/1.13.2-pre2/protocol.json +23 -30
  117. package/minecraft-data/data/pc/1.14/proto.yml +7 -9
  118. package/minecraft-data/data/pc/1.14/protocol.json +23 -30
  119. package/minecraft-data/data/pc/1.14.1/proto.yml +7 -9
  120. package/minecraft-data/data/pc/1.14.1/protocol.json +23 -30
  121. package/minecraft-data/data/pc/1.14.3/proto.yml +7 -9
  122. package/minecraft-data/data/pc/1.14.3/protocol.json +23 -30
  123. package/minecraft-data/data/pc/1.14.4/proto.yml +7 -9
  124. package/minecraft-data/data/pc/1.14.4/protocol.json +23 -30
  125. package/minecraft-data/data/pc/1.15/proto.yml +7 -9
  126. package/minecraft-data/data/pc/1.15/protocol.json +23 -30
  127. package/minecraft-data/data/pc/1.15.1/proto.yml +7 -9
  128. package/minecraft-data/data/pc/1.15.1/protocol.json +23 -30
  129. package/minecraft-data/data/pc/1.15.2/proto.yml +7 -9
  130. package/minecraft-data/data/pc/1.15.2/protocol.json +23 -30
  131. package/minecraft-data/data/pc/1.16/proto.yml +7 -9
  132. package/minecraft-data/data/pc/1.16/protocol.json +23 -30
  133. package/minecraft-data/data/pc/1.16-rc1/proto.yml +7 -9
  134. package/minecraft-data/data/pc/1.16-rc1/protocol.json +23 -30
  135. package/minecraft-data/data/pc/1.16.1/proto.yml +7 -9
  136. package/minecraft-data/data/pc/1.16.1/protocol.json +23 -30
  137. package/minecraft-data/data/pc/1.16.2/proto.yml +7 -9
  138. package/minecraft-data/data/pc/1.16.2/protocol.json +23 -30
  139. package/minecraft-data/data/pc/1.17/proto.yml +7 -9
  140. package/minecraft-data/data/pc/1.17/protocol.json +23 -30
  141. package/minecraft-data/data/pc/1.17.1/proto.yml +7 -9
  142. package/minecraft-data/data/pc/1.17.1/protocol.json +23 -30
  143. package/minecraft-data/data/pc/1.18/proto.yml +7 -9
  144. package/minecraft-data/data/pc/1.18/protocol.json +23 -30
  145. package/minecraft-data/data/pc/1.18.2/proto.yml +7 -9
  146. package/minecraft-data/data/pc/1.18.2/protocol.json +23 -30
  147. package/minecraft-data/data/pc/1.19/proto.yml +6 -6
  148. package/minecraft-data/data/pc/1.19/protocol.json +21 -20
  149. package/minecraft-data/data/pc/1.19.2/proto.yml +6 -6
  150. package/minecraft-data/data/pc/1.19.2/protocol.json +21 -20
  151. package/minecraft-data/data/pc/1.19.3/proto.yml +6 -6
  152. package/minecraft-data/data/pc/1.19.3/protocol.json +21 -20
  153. package/minecraft-data/data/pc/1.19.4/proto.yml +6 -6
  154. package/minecraft-data/data/pc/1.19.4/protocol.json +21 -20
  155. package/minecraft-data/data/pc/1.20/proto.yml +6 -6
  156. package/minecraft-data/data/pc/1.20/protocol.json +21 -20
  157. package/minecraft-data/data/pc/1.20.2/proto.yml +6 -6
  158. package/minecraft-data/data/pc/1.20.2/protocol.json +21 -20
  159. package/minecraft-data/data/pc/1.20.3/proto.yml +6 -6
  160. package/minecraft-data/data/pc/1.20.3/protocol.json +21 -20
  161. package/minecraft-data/data/pc/1.20.5/proto.yml +6 -6
  162. package/minecraft-data/data/pc/1.20.5/protocol.json +21 -20
  163. package/minecraft-data/data/pc/1.21.1/proto.yml +6 -6
  164. package/minecraft-data/data/pc/1.21.1/protocol.json +21 -20
  165. package/minecraft-data/data/pc/1.21.3/proto.yml +6 -6
  166. package/minecraft-data/data/pc/1.21.3/protocol.json +21 -20
  167. package/minecraft-data/data/pc/1.21.4/proto.yml +6 -6
  168. package/minecraft-data/data/pc/1.21.4/protocol.json +21 -20
  169. package/minecraft-data/data/pc/1.21.5/proto.yml +6 -6
  170. package/minecraft-data/data/pc/1.21.5/protocol.json +21 -20
  171. package/minecraft-data/data/pc/1.21.6/proto.yml +6 -6
  172. package/minecraft-data/data/pc/1.21.6/protocol.json +21 -20
  173. package/minecraft-data/data/pc/1.21.8/proto.yml +6 -6
  174. package/minecraft-data/data/pc/1.21.8/protocol.json +21 -20
  175. package/minecraft-data/data/pc/1.21.9/proto.yml +0 -1
  176. package/minecraft-data/data/pc/1.7/proto.yml +6 -6
  177. package/minecraft-data/data/pc/1.7/protocol.json +21 -20
  178. package/minecraft-data/data/pc/1.8/proto.yml +9 -12
  179. package/minecraft-data/data/pc/1.8/protocol.json +25 -40
  180. package/minecraft-data/data/pc/1.9/proto.yml +7 -9
  181. package/minecraft-data/data/pc/1.9/protocol.json +23 -30
  182. package/minecraft-data/data/pc/1.9.1-pre2/proto.yml +7 -9
  183. package/minecraft-data/data/pc/1.9.1-pre2/protocol.json +23 -30
  184. package/minecraft-data/data/pc/1.9.2/proto.yml +7 -9
  185. package/minecraft-data/data/pc/1.9.2/protocol.json +23 -30
  186. package/minecraft-data/data/pc/1.9.4/proto.yml +7 -9
  187. package/minecraft-data/data/pc/1.9.4/protocol.json +23 -30
  188. package/minecraft-data/data/pc/15w40b/proto.yml +7 -9
  189. package/minecraft-data/data/pc/15w40b/protocol.json +23 -30
  190. package/minecraft-data/data/pc/16w20a/proto.yml +7 -9
  191. package/minecraft-data/data/pc/16w20a/protocol.json +23 -30
  192. package/minecraft-data/data/pc/16w35a/proto.yml +7 -9
  193. package/minecraft-data/data/pc/16w35a/protocol.json +23 -30
  194. package/minecraft-data/data/pc/17w15a/proto.yml +7 -9
  195. package/minecraft-data/data/pc/17w15a/protocol.json +23 -30
  196. package/minecraft-data/data/pc/17w18b/proto.yml +7 -9
  197. package/minecraft-data/data/pc/17w18b/protocol.json +23 -30
  198. package/minecraft-data/data/pc/17w50a/proto.yml +7 -9
  199. package/minecraft-data/data/pc/17w50a/protocol.json +23 -30
  200. package/minecraft-data/data/pc/20w13b/proto.yml +7 -9
  201. package/minecraft-data/data/pc/20w13b/protocol.json +23 -30
  202. package/minecraft-data/data/pc/21w07a/proto.yml +7 -9
  203. package/minecraft-data/data/pc/21w07a/protocol.json +23 -30
  204. package/minecraft-data/data/pc/common/features.json +0 -5
  205. package/minecraft-data/data/pc/common/protocolVersions.json +96 -0
  206. package/minecraft-data/data/pc/latest/proto.yml +0 -1
  207. package/minecraft-data/doc/history.md +6 -0
  208. package/package.json +1 -1
@@ -509,7 +509,7 @@ TransactionActions: []varint
509
509
  99999: craft
510
510
  _: source_type?
511
511
  if container or craft:
512
- inventory_id: WindowIDVarint
512
+ inventory_id: WindowIDZigzag32
513
513
  if world_interaction:
514
514
  flags: varint
515
515
  if craft or craft_slot:
@@ -1185,7 +1185,7 @@ MaterialReducer:
1185
1185
  # List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
1186
1186
  # Below window IDs are hard-coded and created when the game starts and the server does not
1187
1187
  # send a `container_open` for them.
1188
- WindowID: i8 =>
1188
+ WindowID_: =>
1189
1189
  -100: drop_contents
1190
1190
  -24: beacon
1191
1191
  -23: trading_output
@@ -1214,34 +1214,9 @@ WindowID: i8 =>
1214
1214
  123: fixed_inventory
1215
1215
  124: ui
1216
1216
 
1217
- WindowIDVarint: varint =>
1218
- -100: drop_contents
1219
- -24: beacon
1220
- -23: trading_output
1221
- -22: trading_use_inputs
1222
- -21: trading_input_2
1223
- -20: trading_input_1
1224
- -17: enchant_output
1225
- -16: enchant_material
1226
- -15: enchant_input
1227
- -13: anvil_output
1228
- -12: anvil_result
1229
- -11: anvil_material
1230
- -10: container_input
1231
- -5: crafting_use_ingredient
1232
- -4: crafting_result
1233
- -3: crafting_remove_ingredient
1234
- -2: crafting_add_ingredient
1235
- -1: none
1236
- 0: inventory
1237
- 1: first
1238
- 100: last
1239
- 119: offhand
1240
- 120: armor
1241
- 121: creative
1242
- 122: hotbar
1243
- 123: fixed_inventory
1244
- 124: ui
1217
+ WindowID: i8 => WindowID_
1218
+ WindowIDVarint: varint => WindowID_
1219
+ WindowIDZigzag32: zigzag32 => WindowID_
1245
1220
 
1246
1221
  WindowType: i8 =>
1247
1222
  -9: none
@@ -1165,7 +1165,7 @@
1165
1165
  [
1166
1166
  {
1167
1167
  "name": "inventory_id",
1168
- "type": "WindowIDVarint"
1168
+ "type": "WindowIDZigzag32"
1169
1169
  }
1170
1170
  ]
1171
1171
  ],
@@ -3087,6 +3087,41 @@
3087
3087
  }
3088
3088
  }
3089
3089
  ],
3090
+ "WindowIDZigzag32": [
3091
+ "mapper",
3092
+ {
3093
+ "type": "zigzag32",
3094
+ "mappings": {
3095
+ "0": "inventory",
3096
+ "1": "first",
3097
+ "100": "last",
3098
+ "119": "offhand",
3099
+ "120": "armor",
3100
+ "121": "creative",
3101
+ "122": "hotbar",
3102
+ "123": "fixed_inventory",
3103
+ "124": "ui",
3104
+ "-100": "drop_contents",
3105
+ "-24": "beacon",
3106
+ "-23": "trading_output",
3107
+ "-22": "trading_use_inputs",
3108
+ "-21": "trading_input_2",
3109
+ "-20": "trading_input_1",
3110
+ "-17": "enchant_output",
3111
+ "-16": "enchant_material",
3112
+ "-15": "enchant_input",
3113
+ "-13": "anvil_output",
3114
+ "-12": "anvil_result",
3115
+ "-11": "anvil_material",
3116
+ "-10": "container_input",
3117
+ "-5": "crafting_use_ingredient",
3118
+ "-4": "crafting_result",
3119
+ "-3": "crafting_remove_ingredient",
3120
+ "-2": "crafting_add_ingredient",
3121
+ "-1": "none"
3122
+ }
3123
+ }
3124
+ ],
3090
3125
  "WindowType": [
3091
3126
  "mapper",
3092
3127
  {
@@ -513,7 +513,7 @@ TransactionActions: []varint
513
513
  99999: craft
514
514
  _: source_type?
515
515
  if container or craft:
516
- inventory_id: WindowIDVarint
516
+ inventory_id: WindowIDZigzag32
517
517
  if world_interaction:
518
518
  flags: varint
519
519
  if craft or craft_slot:
@@ -1194,7 +1194,7 @@ MaterialReducer:
1194
1194
  # List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
1195
1195
  # Below window IDs are hard-coded and created when the game starts and the server does not
1196
1196
  # send a `container_open` for them.
1197
- WindowID: i8 =>
1197
+ WindowID_: =>
1198
1198
  -100: drop_contents
1199
1199
  -24: beacon
1200
1200
  -23: trading_output
@@ -1223,34 +1223,9 @@ WindowID: i8 =>
1223
1223
  123: fixed_inventory
1224
1224
  124: ui
1225
1225
 
1226
- WindowIDVarint: varint =>
1227
- -100: drop_contents
1228
- -24: beacon
1229
- -23: trading_output
1230
- -22: trading_use_inputs
1231
- -21: trading_input_2
1232
- -20: trading_input_1
1233
- -17: enchant_output
1234
- -16: enchant_material
1235
- -15: enchant_input
1236
- -13: anvil_output
1237
- -12: anvil_result
1238
- -11: anvil_material
1239
- -10: container_input
1240
- -5: crafting_use_ingredient
1241
- -4: crafting_result
1242
- -3: crafting_remove_ingredient
1243
- -2: crafting_add_ingredient
1244
- -1: none
1245
- 0: inventory
1246
- 1: first
1247
- 100: last
1248
- 119: offhand
1249
- 120: armor
1250
- 121: creative
1251
- 122: hotbar
1252
- 123: fixed_inventory
1253
- 124: ui
1226
+ WindowID: i8 => WindowID_
1227
+ WindowIDVarint: varint => WindowID_
1228
+ WindowIDZigzag32: zigzag32 => WindowID_
1254
1229
 
1255
1230
  WindowType: i8 =>
1256
1231
  -9: none
@@ -1173,7 +1173,7 @@
1173
1173
  [
1174
1174
  {
1175
1175
  "name": "inventory_id",
1176
- "type": "WindowIDVarint"
1176
+ "type": "WindowIDZigzag32"
1177
1177
  }
1178
1178
  ]
1179
1179
  ],
@@ -3099,6 +3099,41 @@
3099
3099
  }
3100
3100
  }
3101
3101
  ],
3102
+ "WindowIDZigzag32": [
3103
+ "mapper",
3104
+ {
3105
+ "type": "zigzag32",
3106
+ "mappings": {
3107
+ "0": "inventory",
3108
+ "1": "first",
3109
+ "100": "last",
3110
+ "119": "offhand",
3111
+ "120": "armor",
3112
+ "121": "creative",
3113
+ "122": "hotbar",
3114
+ "123": "fixed_inventory",
3115
+ "124": "ui",
3116
+ "-100": "drop_contents",
3117
+ "-24": "beacon",
3118
+ "-23": "trading_output",
3119
+ "-22": "trading_use_inputs",
3120
+ "-21": "trading_input_2",
3121
+ "-20": "trading_input_1",
3122
+ "-17": "enchant_output",
3123
+ "-16": "enchant_material",
3124
+ "-15": "enchant_input",
3125
+ "-13": "anvil_output",
3126
+ "-12": "anvil_result",
3127
+ "-11": "anvil_material",
3128
+ "-10": "container_input",
3129
+ "-5": "crafting_use_ingredient",
3130
+ "-4": "crafting_result",
3131
+ "-3": "crafting_remove_ingredient",
3132
+ "-2": "crafting_add_ingredient",
3133
+ "-1": "none"
3134
+ }
3135
+ }
3136
+ ],
3102
3137
  "WindowType": [
3103
3138
  "mapper",
3104
3139
  {
@@ -521,7 +521,7 @@ TransactionActions: []varint
521
521
  99999: craft
522
522
  _: source_type?
523
523
  if container or craft:
524
- inventory_id: WindowIDVarint
524
+ inventory_id: WindowIDZigzag32
525
525
  if world_interaction:
526
526
  flags: varint
527
527
  if craft or craft_slot:
@@ -1203,7 +1203,7 @@ MaterialReducer:
1203
1203
  # List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
1204
1204
  # Below window IDs are hard-coded and created when the game starts and the server does not
1205
1205
  # send a `container_open` for them.
1206
- WindowID: i8 =>
1206
+ WindowID_: =>
1207
1207
  -100: drop_contents
1208
1208
  -24: beacon
1209
1209
  -23: trading_output
@@ -1232,34 +1232,9 @@ WindowID: i8 =>
1232
1232
  123: fixed_inventory
1233
1233
  124: ui
1234
1234
 
1235
- WindowIDVarint: varint =>
1236
- -100: drop_contents
1237
- -24: beacon
1238
- -23: trading_output
1239
- -22: trading_use_inputs
1240
- -21: trading_input_2
1241
- -20: trading_input_1
1242
- -17: enchant_output
1243
- -16: enchant_material
1244
- -15: enchant_input
1245
- -13: anvil_output
1246
- -12: anvil_result
1247
- -11: anvil_material
1248
- -10: container_input
1249
- -5: crafting_use_ingredient
1250
- -4: crafting_result
1251
- -3: crafting_remove_ingredient
1252
- -2: crafting_add_ingredient
1253
- -1: none
1254
- 0: inventory
1255
- 1: first
1256
- 100: last
1257
- 119: offhand
1258
- 120: armor
1259
- 121: creative
1260
- 122: hotbar
1261
- 123: fixed_inventory
1262
- 124: ui
1235
+ WindowID: i8 => WindowID_
1236
+ WindowIDVarint: varint => WindowID_
1237
+ WindowIDZigzag32: zigzag32 => WindowID_
1263
1238
 
1264
1239
  WindowType: i8 =>
1265
1240
  -9: none
@@ -1173,7 +1173,7 @@
1173
1173
  [
1174
1174
  {
1175
1175
  "name": "inventory_id",
1176
- "type": "WindowIDVarint"
1176
+ "type": "WindowIDZigzag32"
1177
1177
  }
1178
1178
  ]
1179
1179
  ],
@@ -3113,6 +3113,41 @@
3113
3113
  }
3114
3114
  }
3115
3115
  ],
3116
+ "WindowIDZigzag32": [
3117
+ "mapper",
3118
+ {
3119
+ "type": "zigzag32",
3120
+ "mappings": {
3121
+ "0": "inventory",
3122
+ "1": "first",
3123
+ "100": "last",
3124
+ "119": "offhand",
3125
+ "120": "armor",
3126
+ "121": "creative",
3127
+ "122": "hotbar",
3128
+ "123": "fixed_inventory",
3129
+ "124": "ui",
3130
+ "-100": "drop_contents",
3131
+ "-24": "beacon",
3132
+ "-23": "trading_output",
3133
+ "-22": "trading_use_inputs",
3134
+ "-21": "trading_input_2",
3135
+ "-20": "trading_input_1",
3136
+ "-17": "enchant_output",
3137
+ "-16": "enchant_material",
3138
+ "-15": "enchant_input",
3139
+ "-13": "anvil_output",
3140
+ "-12": "anvil_result",
3141
+ "-11": "anvil_material",
3142
+ "-10": "container_input",
3143
+ "-5": "crafting_use_ingredient",
3144
+ "-4": "crafting_result",
3145
+ "-3": "crafting_remove_ingredient",
3146
+ "-2": "crafting_add_ingredient",
3147
+ "-1": "none"
3148
+ }
3149
+ }
3150
+ ],
3116
3151
  "WindowType": [
3117
3152
  "mapper",
3118
3153
  {
@@ -521,7 +521,7 @@ TransactionActions: []varint
521
521
  99999: craft
522
522
  _: source_type?
523
523
  if container or craft:
524
- inventory_id: WindowIDVarint
524
+ inventory_id: WindowIDZigzag32
525
525
  if world_interaction:
526
526
  flags: varint
527
527
  if craft or craft_slot:
@@ -1211,7 +1211,7 @@ PermissionLevel: varint =>
1211
1211
  # List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
1212
1212
  # Below window IDs are hard-coded and created when the game starts and the server does not
1213
1213
  # send a `container_open` for them.
1214
- WindowID: i8 =>
1214
+ WindowID_: =>
1215
1215
  -100: drop_contents
1216
1216
  -24: beacon
1217
1217
  -23: trading_output
@@ -1240,34 +1240,9 @@ WindowID: i8 =>
1240
1240
  123: fixed_inventory
1241
1241
  124: ui
1242
1242
 
1243
- WindowIDVarint: varint =>
1244
- -100: drop_contents
1245
- -24: beacon
1246
- -23: trading_output
1247
- -22: trading_use_inputs
1248
- -21: trading_input_2
1249
- -20: trading_input_1
1250
- -17: enchant_output
1251
- -16: enchant_material
1252
- -15: enchant_input
1253
- -13: anvil_output
1254
- -12: anvil_result
1255
- -11: anvil_material
1256
- -10: container_input
1257
- -5: crafting_use_ingredient
1258
- -4: crafting_result
1259
- -3: crafting_remove_ingredient
1260
- -2: crafting_add_ingredient
1261
- -1: none
1262
- 0: inventory
1263
- 1: first
1264
- 100: last
1265
- 119: offhand
1266
- 120: armor
1267
- 121: creative
1268
- 122: hotbar
1269
- 123: fixed_inventory
1270
- 124: ui
1243
+ WindowID: i8 => WindowID_
1244
+ WindowIDVarint: varint => WindowID_
1245
+ WindowIDZigzag32: zigzag32 => WindowID_
1271
1246
 
1272
1247
  WindowType: i8 =>
1273
1248
  -9: none
@@ -1173,7 +1173,7 @@
1173
1173
  [
1174
1174
  {
1175
1175
  "name": "inventory_id",
1176
- "type": "WindowIDVarint"
1176
+ "type": "WindowIDZigzag32"
1177
1177
  }
1178
1178
  ]
1179
1179
  ],
@@ -3141,6 +3141,41 @@
3141
3141
  }
3142
3142
  }
3143
3143
  ],
3144
+ "WindowIDZigzag32": [
3145
+ "mapper",
3146
+ {
3147
+ "type": "zigzag32",
3148
+ "mappings": {
3149
+ "0": "inventory",
3150
+ "1": "first",
3151
+ "100": "last",
3152
+ "119": "offhand",
3153
+ "120": "armor",
3154
+ "121": "creative",
3155
+ "122": "hotbar",
3156
+ "123": "fixed_inventory",
3157
+ "124": "ui",
3158
+ "-100": "drop_contents",
3159
+ "-24": "beacon",
3160
+ "-23": "trading_output",
3161
+ "-22": "trading_use_inputs",
3162
+ "-21": "trading_input_2",
3163
+ "-20": "trading_input_1",
3164
+ "-17": "enchant_output",
3165
+ "-16": "enchant_material",
3166
+ "-15": "enchant_input",
3167
+ "-13": "anvil_output",
3168
+ "-12": "anvil_result",
3169
+ "-11": "anvil_material",
3170
+ "-10": "container_input",
3171
+ "-5": "crafting_use_ingredient",
3172
+ "-4": "crafting_result",
3173
+ "-3": "crafting_remove_ingredient",
3174
+ "-2": "crafting_add_ingredient",
3175
+ "-1": "none"
3176
+ }
3177
+ }
3178
+ ],
3144
3179
  "WindowType": [
3145
3180
  "mapper",
3146
3181
  {
@@ -521,7 +521,7 @@ TransactionActions: []varint
521
521
  99999: craft
522
522
  _: source_type?
523
523
  if container or craft:
524
- inventory_id: WindowIDVarint
524
+ inventory_id: WindowIDZigzag32
525
525
  if world_interaction:
526
526
  flags: varint
527
527
  if craft or craft_slot:
@@ -1232,7 +1232,7 @@ CommandPermissionLevelVarint: u8 =>
1232
1232
  # List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
1233
1233
  # Below window IDs are hard-coded and created when the game starts and the server does not
1234
1234
  # send a `container_open` for them.
1235
- WindowID: i8 =>
1235
+ WindowID_: =>
1236
1236
  -100: drop_contents
1237
1237
  -24: beacon
1238
1238
  -23: trading_output
@@ -1261,34 +1261,9 @@ WindowID: i8 =>
1261
1261
  123: fixed_inventory
1262
1262
  124: ui
1263
1263
 
1264
- WindowIDVarint: varint =>
1265
- -100: drop_contents
1266
- -24: beacon
1267
- -23: trading_output
1268
- -22: trading_use_inputs
1269
- -21: trading_input_2
1270
- -20: trading_input_1
1271
- -17: enchant_output
1272
- -16: enchant_material
1273
- -15: enchant_input
1274
- -13: anvil_output
1275
- -12: anvil_result
1276
- -11: anvil_material
1277
- -10: container_input
1278
- -5: crafting_use_ingredient
1279
- -4: crafting_result
1280
- -3: crafting_remove_ingredient
1281
- -2: crafting_add_ingredient
1282
- -1: none
1283
- 0: inventory
1284
- 1: first
1285
- 100: last
1286
- 119: offhand
1287
- 120: armor
1288
- 121: creative
1289
- 122: hotbar
1290
- 123: fixed_inventory
1291
- 124: ui
1264
+ WindowID: i8 => WindowID_
1265
+ WindowIDVarint: varint => WindowID_
1266
+ WindowIDZigzag32: zigzag32 => WindowID_
1292
1267
 
1293
1268
  WindowType: i8 =>
1294
1269
  -9: none
@@ -1211,7 +1211,7 @@
1211
1211
  [
1212
1212
  {
1213
1213
  "name": "inventory_id",
1214
- "type": "WindowIDVarint"
1214
+ "type": "WindowIDZigzag32"
1215
1215
  }
1216
1216
  ]
1217
1217
  ],
@@ -3179,6 +3179,41 @@
3179
3179
  }
3180
3180
  }
3181
3181
  ],
3182
+ "WindowIDZigzag32": [
3183
+ "mapper",
3184
+ {
3185
+ "type": "zigzag32",
3186
+ "mappings": {
3187
+ "0": "inventory",
3188
+ "1": "first",
3189
+ "100": "last",
3190
+ "119": "offhand",
3191
+ "120": "armor",
3192
+ "121": "creative",
3193
+ "122": "hotbar",
3194
+ "123": "fixed_inventory",
3195
+ "124": "ui",
3196
+ "-100": "drop_contents",
3197
+ "-24": "beacon",
3198
+ "-23": "trading_output",
3199
+ "-22": "trading_use_inputs",
3200
+ "-21": "trading_input_2",
3201
+ "-20": "trading_input_1",
3202
+ "-17": "enchant_output",
3203
+ "-16": "enchant_material",
3204
+ "-15": "enchant_input",
3205
+ "-13": "anvil_output",
3206
+ "-12": "anvil_result",
3207
+ "-11": "anvil_material",
3208
+ "-10": "container_input",
3209
+ "-5": "crafting_use_ingredient",
3210
+ "-4": "crafting_result",
3211
+ "-3": "crafting_remove_ingredient",
3212
+ "-2": "crafting_add_ingredient",
3213
+ "-1": "none"
3214
+ }
3215
+ }
3216
+ ],
3182
3217
  "WindowType": [
3183
3218
  "mapper",
3184
3219
  {
@@ -528,7 +528,7 @@ TransactionActions: []varint
528
528
  99999: craft
529
529
  _: source_type?
530
530
  if container or craft:
531
- inventory_id: WindowIDVarint
531
+ inventory_id: WindowIDZigzag32
532
532
  if world_interaction:
533
533
  flags: varint
534
534
  if craft or craft_slot:
@@ -1239,7 +1239,7 @@ CommandPermissionLevelVarint: u8 =>
1239
1239
  # List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
1240
1240
  # Below window IDs are hard-coded and created when the game starts and the server does not
1241
1241
  # send a `container_open` for them.
1242
- WindowID: i8 =>
1242
+ WindowID_: =>
1243
1243
  -100: drop_contents
1244
1244
  -24: beacon
1245
1245
  -23: trading_output
@@ -1268,34 +1268,9 @@ WindowID: i8 =>
1268
1268
  123: fixed_inventory
1269
1269
  124: ui
1270
1270
 
1271
- WindowIDVarint: varint =>
1272
- -100: drop_contents
1273
- -24: beacon
1274
- -23: trading_output
1275
- -22: trading_use_inputs
1276
- -21: trading_input_2
1277
- -20: trading_input_1
1278
- -17: enchant_output
1279
- -16: enchant_material
1280
- -15: enchant_input
1281
- -13: anvil_output
1282
- -12: anvil_result
1283
- -11: anvil_material
1284
- -10: container_input
1285
- -5: crafting_use_ingredient
1286
- -4: crafting_result
1287
- -3: crafting_remove_ingredient
1288
- -2: crafting_add_ingredient
1289
- -1: none
1290
- 0: inventory
1291
- 1: first
1292
- 100: last
1293
- 119: offhand
1294
- 120: armor
1295
- 121: creative
1296
- 122: hotbar
1297
- 123: fixed_inventory
1298
- 124: ui
1271
+ WindowID: i8 => WindowID_
1272
+ WindowIDVarint: varint => WindowID_
1273
+ WindowIDZigzag32: zigzag32 => WindowID_
1299
1274
 
1300
1275
  WindowType: i8 =>
1301
1276
  -9: none
@@ -1211,7 +1211,7 @@
1211
1211
  [
1212
1212
  {
1213
1213
  "name": "inventory_id",
1214
- "type": "WindowIDVarint"
1214
+ "type": "WindowIDZigzag32"
1215
1215
  }
1216
1216
  ]
1217
1217
  ],
@@ -3179,6 +3179,41 @@
3179
3179
  }
3180
3180
  }
3181
3181
  ],
3182
+ "WindowIDZigzag32": [
3183
+ "mapper",
3184
+ {
3185
+ "type": "zigzag32",
3186
+ "mappings": {
3187
+ "0": "inventory",
3188
+ "1": "first",
3189
+ "100": "last",
3190
+ "119": "offhand",
3191
+ "120": "armor",
3192
+ "121": "creative",
3193
+ "122": "hotbar",
3194
+ "123": "fixed_inventory",
3195
+ "124": "ui",
3196
+ "-100": "drop_contents",
3197
+ "-24": "beacon",
3198
+ "-23": "trading_output",
3199
+ "-22": "trading_use_inputs",
3200
+ "-21": "trading_input_2",
3201
+ "-20": "trading_input_1",
3202
+ "-17": "enchant_output",
3203
+ "-16": "enchant_material",
3204
+ "-15": "enchant_input",
3205
+ "-13": "anvil_output",
3206
+ "-12": "anvil_result",
3207
+ "-11": "anvil_material",
3208
+ "-10": "container_input",
3209
+ "-5": "crafting_use_ingredient",
3210
+ "-4": "crafting_result",
3211
+ "-3": "crafting_remove_ingredient",
3212
+ "-2": "crafting_add_ingredient",
3213
+ "-1": "none"
3214
+ }
3215
+ }
3216
+ ],
3182
3217
  "WindowType": [
3183
3218
  "mapper",
3184
3219
  {