minecraft-data 3.30.0 → 3.32.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 (83) hide show
  1. package/.github/workflows/npm-publish.yml +1 -0
  2. package/data.js +51 -9
  3. package/doc/api.md +4 -0
  4. package/doc/history.md +8 -0
  5. package/index.d.ts +5 -1
  6. package/lib/loader.js +1 -1
  7. package/minecraft-data/README.md +1 -1
  8. package/minecraft-data/data/bedrock/1.16.201/proto.yml +13 -4
  9. package/minecraft-data/data/bedrock/1.16.201/protocol.json +13 -12
  10. package/minecraft-data/data/bedrock/1.16.210/proto.yml +13 -4
  11. package/minecraft-data/data/bedrock/1.16.210/protocol.json +13 -12
  12. package/minecraft-data/data/bedrock/1.16.220/proto.yml +2 -1
  13. package/minecraft-data/data/bedrock/1.16.220/protocol.json +11 -5
  14. package/minecraft-data/data/bedrock/1.16.220/types.yml +4 -4
  15. package/minecraft-data/data/bedrock/1.17.0/proto.yml +2 -1
  16. package/minecraft-data/data/bedrock/1.17.0/protocol.json +11 -5
  17. package/minecraft-data/data/bedrock/1.17.0/types.yml +4 -4
  18. package/minecraft-data/data/bedrock/1.17.10/proto.yml +2 -1
  19. package/minecraft-data/data/bedrock/1.17.10/protocol.json +11 -5
  20. package/minecraft-data/data/bedrock/1.17.10/types.yml +4 -4
  21. package/minecraft-data/data/bedrock/1.17.30/proto.yml +2 -1
  22. package/minecraft-data/data/bedrock/1.17.30/protocol.json +11 -5
  23. package/minecraft-data/data/bedrock/1.17.30/types.yml +4 -4
  24. package/minecraft-data/data/bedrock/1.17.40/proto.yml +2 -1
  25. package/minecraft-data/data/bedrock/1.17.40/protocol.json +11 -5
  26. package/minecraft-data/data/bedrock/1.17.40/types.yml +4 -4
  27. package/minecraft-data/data/bedrock/1.18.0/proto.yml +2 -1
  28. package/minecraft-data/data/bedrock/1.18.0/protocol.json +11 -5
  29. package/minecraft-data/data/bedrock/1.18.0/types.yml +4 -4
  30. package/minecraft-data/data/bedrock/1.18.11/proto.yml +2 -1
  31. package/minecraft-data/data/bedrock/1.18.11/protocol.json +11 -5
  32. package/minecraft-data/data/bedrock/1.18.11/types.yml +4 -4
  33. package/minecraft-data/data/bedrock/1.18.30/proto.yml +2 -1
  34. package/minecraft-data/data/bedrock/1.18.30/protocol.json +11 -5
  35. package/minecraft-data/data/bedrock/1.18.30/types.yml +4 -4
  36. package/minecraft-data/data/bedrock/1.19.1/proto.yml +2 -1
  37. package/minecraft-data/data/bedrock/1.19.1/protocol.json +11 -5
  38. package/minecraft-data/data/bedrock/1.19.1/types.yml +4 -4
  39. package/minecraft-data/data/bedrock/1.19.10/proto.yml +2 -1
  40. package/minecraft-data/data/bedrock/1.19.10/protocol.json +32 -25
  41. package/minecraft-data/data/bedrock/1.19.10/types.yml +25 -24
  42. package/minecraft-data/data/bedrock/1.19.20/proto.yml +3 -2
  43. package/minecraft-data/data/bedrock/1.19.20/protocol.json +33 -26
  44. package/minecraft-data/data/bedrock/1.19.20/types.yml +25 -24
  45. package/minecraft-data/data/bedrock/1.19.21/proto.yml +3 -2
  46. package/minecraft-data/data/bedrock/1.19.21/protocol.json +33 -26
  47. package/minecraft-data/data/bedrock/1.19.21/types.yml +25 -24
  48. package/minecraft-data/data/bedrock/1.19.30/proto.yml +3 -2
  49. package/minecraft-data/data/bedrock/1.19.30/protocol.json +33 -26
  50. package/minecraft-data/data/bedrock/1.19.30/types.yml +25 -24
  51. package/minecraft-data/data/bedrock/1.19.40/proto.yml +5 -3
  52. package/minecraft-data/data/bedrock/1.19.40/protocol.json +34 -26
  53. package/minecraft-data/data/bedrock/1.19.40/types.yml +25 -24
  54. package/minecraft-data/data/bedrock/1.19.50/proto.yml +5 -3
  55. package/minecraft-data/data/bedrock/1.19.50/protocol.json +34 -26
  56. package/minecraft-data/data/bedrock/1.19.50/types.yml +25 -24
  57. package/minecraft-data/data/bedrock/1.19.60/proto.yml +5 -3
  58. package/minecraft-data/data/bedrock/1.19.60/protocol.json +34 -26
  59. package/minecraft-data/data/bedrock/1.19.60/types.yml +25 -24
  60. package/minecraft-data/data/bedrock/1.19.62/proto.yml +3853 -0
  61. package/minecraft-data/data/bedrock/1.19.62/protocol.json +34 -26
  62. package/minecraft-data/data/bedrock/1.19.62/types.yml +2064 -0
  63. package/minecraft-data/data/bedrock/1.19.70/proto.yml +3881 -0
  64. package/minecraft-data/data/bedrock/1.19.70/protocol.json +11138 -0
  65. package/minecraft-data/data/bedrock/1.19.70/types.yml +2077 -0
  66. package/minecraft-data/data/bedrock/1.19.70/version.json +6 -0
  67. package/minecraft-data/data/bedrock/1.19.80/protocol.json +11276 -0
  68. package/minecraft-data/data/bedrock/1.19.80/version.json +6 -0
  69. package/minecraft-data/data/bedrock/common/features.json +54 -1
  70. package/minecraft-data/data/bedrock/common/protocolVersions.json +12 -0
  71. package/minecraft-data/data/bedrock/common/versions.json +3 -1
  72. package/minecraft-data/data/bedrock/latest/proto.yml +85 -14
  73. package/minecraft-data/data/bedrock/latest/types.yml +51 -27
  74. package/minecraft-data/data/dataPaths.json +51 -9
  75. package/minecraft-data/data/pc/1.19/protocol.json +40 -5
  76. package/minecraft-data/data/pc/1.19.2/protocol.json +40 -5
  77. package/minecraft-data/data/pc/1.19.3/protocol.json +40 -5
  78. package/minecraft-data/data/pc/common/features.json +10 -0
  79. package/minecraft-data/doc/history.md +7 -0
  80. package/minecraft-data/tools/js/compileProtocol.js +1 -1
  81. package/package.json +2 -2
  82. package/test/load.js +8 -1
  83. package/typings/index-template.d.ts +5 -1
@@ -166,7 +166,7 @@
166
166
  }
167
167
  ]
168
168
  ],
169
- "24": [
169
+ "25": [
170
170
  "container",
171
171
  [
172
172
  {
@@ -175,7 +175,7 @@
175
175
  }
176
176
  ]
177
177
  ],
178
- "35": [
178
+ "39": [
179
179
  "container",
180
180
  [
181
181
  {
@@ -184,16 +184,42 @@
184
184
  }
185
185
  ]
186
186
  ],
187
- "36": [
187
+ "40": [
188
188
  "container",
189
189
  [
190
+ {
191
+ "name": "positionType",
192
+ "type": "string"
193
+ },
190
194
  {
191
195
  "name": "origin",
192
196
  "type": "position"
193
197
  },
194
198
  {
195
- "name": "positionType",
196
- "type": "string"
199
+ "name": "entityId",
200
+ "type": [
201
+ "switch",
202
+ {
203
+ "compareTo": "positionType",
204
+ "fields": {
205
+ "minecraft:entity": "varint"
206
+ },
207
+ "default": "void"
208
+ }
209
+ ]
210
+ },
211
+ {
212
+ "name": "entityEyeHeight",
213
+ "type": [
214
+ "switch",
215
+ {
216
+ "compareTo": "positionType",
217
+ "fields": {
218
+ "minecraft:entity": "varint"
219
+ },
220
+ "default": "void"
221
+ }
222
+ ]
197
223
  },
198
224
  {
199
225
  "name": "destination",
@@ -213,6 +239,15 @@
213
239
  "type": "varint"
214
240
  }
215
241
  ]
242
+ ],
243
+ "92": [
244
+ "container",
245
+ [
246
+ {
247
+ "name": "delayInTicksBeforeShown",
248
+ "type": "varint"
249
+ }
250
+ ]
216
251
  ]
217
252
  },
218
253
  "default": "void"
@@ -167,7 +167,7 @@
167
167
  }
168
168
  ]
169
169
  ],
170
- "24": [
170
+ "25": [
171
171
  "container",
172
172
  [
173
173
  {
@@ -176,7 +176,7 @@
176
176
  }
177
177
  ]
178
178
  ],
179
- "35": [
179
+ "39": [
180
180
  "container",
181
181
  [
182
182
  {
@@ -185,16 +185,42 @@
185
185
  }
186
186
  ]
187
187
  ],
188
- "36": [
188
+ "40": [
189
189
  "container",
190
190
  [
191
+ {
192
+ "name": "positionType",
193
+ "type": "string"
194
+ },
191
195
  {
192
196
  "name": "origin",
193
197
  "type": "position"
194
198
  },
195
199
  {
196
- "name": "positionType",
197
- "type": "string"
200
+ "name": "entityId",
201
+ "type": [
202
+ "switch",
203
+ {
204
+ "compareTo": "positionType",
205
+ "fields": {
206
+ "minecraft:entity": "varint"
207
+ },
208
+ "default": "void"
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "name": "entityEyeHeight",
214
+ "type": [
215
+ "switch",
216
+ {
217
+ "compareTo": "positionType",
218
+ "fields": {
219
+ "minecraft:entity": "varint"
220
+ },
221
+ "default": "void"
222
+ }
223
+ ]
198
224
  },
199
225
  {
200
226
  "name": "destination",
@@ -214,6 +240,15 @@
214
240
  "type": "varint"
215
241
  }
216
242
  ]
243
+ ],
244
+ "92": [
245
+ "container",
246
+ [
247
+ {
248
+ "name": "delayInTicksBeforeShown",
249
+ "type": "varint"
250
+ }
251
+ ]
217
252
  ]
218
253
  },
219
254
  "default": "void"
@@ -611,6 +611,11 @@
611
611
  }
612
612
  ]
613
613
  },
614
+ {
615
+ "name": "booksUseStoredEnchantments",
616
+ "description": "Enchanted books store enchantment data in a separate NBT tag called StoredEnchantments",
617
+ "versions": ["1.8_major", "latest"]
618
+ },
614
619
  {
615
620
  "name": "typeOfValueForEnchantLevel",
616
621
  "description": "type of value that stores enchant lvl in the nbt",
@@ -639,6 +644,11 @@
639
644
  }
640
645
  ]
641
646
  },
647
+ {
648
+ "name": "itemLoreIsAString",
649
+ "description": "An item's custom Lore is stored as a string in NBT, in older versions it's a list of strings",
650
+ "versions": ["1.14_major", "latest"]
651
+ },
642
652
  {
643
653
  "name": "spawnEggsUseInternalIdInNbt",
644
654
  "description": "in older versions, spawn eggs have a field in their nbt called 'internalId' which tells what entity they will spawn",
@@ -1,3 +1,10 @@
1
+ ## 3.32.0
2
+ * Add bedrock 1.19.80 protocol data
3
+
4
+ ## 3.31.0
5
+ * Add bedrock 1.19.70 protocol data (@CreeperG16)
6
+ * Fix bedrock protocol item CanPlace/CanDestroy fields (#694)
7
+
1
8
  ## 3.30.0
2
9
  * Add enchanting data for bedrock versions
3
10
 
@@ -79,7 +79,7 @@ function all (fn) {
79
79
  console.log('⏳', fn.name, 'protocol for bedrock', versionId)
80
80
  const ver = versions[versionId]
81
81
  if (ver.proto) {
82
- fn(ver.proto.includes('latest') ? 'latest' : versionId)
82
+ fn(versionId, join(__dirname, '../../data/' + ver.proto))
83
83
  }
84
84
  }
85
85
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minecraft-data",
3
- "version": "3.30.0",
3
+ "version": "3.32.0",
4
4
  "description": "Provide easy access to minecraft data in node.js",
5
5
  "main": "index.js",
6
6
  "tonicExampleFilename": "example.js",
@@ -8,7 +8,7 @@
8
8
  "generate:types": "node typings/generate-typings.js",
9
9
  "generate:data": "node ./bin/generate_data.js",
10
10
  "test:types": "tsc typings/test-typings && node typings/test-typings.js",
11
- "test": "require-self && npm run generate:data && npm run lint && npm run test:types && mocha",
11
+ "test": "require-self && npm run generate:data && npm run generate:types && npm run lint && npm run test:types && mocha",
12
12
  "lint": "standard",
13
13
  "prepare": "require-self && npm run generate:data && npm run generate:types",
14
14
  "fix": "standard --fix"
package/test/load.js CHANGED
@@ -89,9 +89,16 @@ describe('supportFeature', () => {
89
89
  assert.equal(mcData1Dot17.supportFeature('itemSerializationUsesBlockId'), true)
90
90
  })
91
91
 
92
- it('works on bedrock', function () {
92
+ it('works on bedrock 1.18.0', function () {
93
93
  const mcData = require('minecraft-data')('bedrock_1.18.0')
94
94
  assert.equal(mcData.supportFeature('newRecipeSchema'), true)
95
95
  assert.equal(mcData.supportFeature('fakeRecipeSchema'), false)
96
96
  })
97
+
98
+ it('works on bedrock 1.19.1', function () {
99
+ const mcData = require('minecraft-data')('bedrock_1.19.1')
100
+ assert.equal(mcData.supportFeature('newRecipeSchema'), true)
101
+ assert.equal(mcData.supportFeature('fakeRecipeSchema'), false)
102
+ assert(mcData.blockMappings.length > 0)
103
+ })
97
104
  })
@@ -95,11 +95,15 @@ export interface LoginPacket {
95
95
  export interface IndexedData {
96
96
  isOlderThan(version: string): boolean
97
97
  isNewerOrEqualTo(version: string): boolean
98
-
98
+
99
99
  blocks: { [id: number]: Block }
100
100
  blocksByName: { [name: string]: Block }
101
101
  blocksByStateId: { [id: number]: Block }
102
102
  blocksArray: Block[]
103
+ blockMappings: {
104
+ pc: { name: string, states: Record<string, string | number> },
105
+ pe: { name: string, states: Record<string, string | number> }
106
+ }[]
103
107
  /**
104
108
  * Bedrock edition only
105
109
  */