minecraft-data 3.8.0 → 3.9.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 (26) hide show
  1. package/data.js +18 -18
  2. package/doc/history.md +3 -0
  3. package/minecraft-data/.github/workflows/ci.yml +1 -1
  4. package/minecraft-data/data/bedrock/1.17.0/blockCollisionShapes.json +24 -24
  5. package/minecraft-data/data/bedrock/1.17.10/blockCollisionShapes.json +24 -24
  6. package/minecraft-data/data/bedrock/1.17.40/blockCollisionShapes.json +24 -24
  7. package/minecraft-data/data/bedrock/1.18.11/blockCollisionShapes.json +24 -24
  8. package/minecraft-data/data/bedrock/1.18.30/blockCollisionShapes.json +24 -24
  9. package/minecraft-data/data/bedrock/1.19.1/biomes.json +1022 -0
  10. package/minecraft-data/data/bedrock/1.19.1/blockCollisionShapes.json +899 -0
  11. package/minecraft-data/data/bedrock/1.19.1/blockStates.json +165209 -0
  12. package/minecraft-data/data/bedrock/1.19.1/blocks.json +15769 -0
  13. package/minecraft-data/data/bedrock/1.19.1/blocksB2J.json +7234 -0
  14. package/minecraft-data/data/bedrock/1.19.1/blocksJ2B.json +21450 -0
  15. package/minecraft-data/data/bedrock/1.19.1/entities.json +1442 -0
  16. package/minecraft-data/data/bedrock/1.19.1/items.json +9831 -0
  17. package/minecraft-data/data/bedrock/1.19.1/recipes.json +17454 -0
  18. package/minecraft-data/data/bedrock/1.19.10/items.json +9837 -0
  19. package/minecraft-data/data/bedrock/1.19.10/protocol.json +56 -58
  20. package/minecraft-data/data/bedrock/1.19.10/recipes.json +17454 -0
  21. package/minecraft-data/data/dataPaths.json +18 -18
  22. package/minecraft-data/data/pc/common/protocolVersions.json +7 -0
  23. package/minecraft-data/doc/history.md +5 -0
  24. package/minecraft-data/tools/js/compileProtocol.js +34 -9
  25. package/minecraft-data/tools/js/test/protocolSync.js +8 -0
  26. package/package.json +1 -1
@@ -1325,13 +1325,13 @@
1325
1325
  "version": "bedrock/1.18.30"
1326
1326
  },
1327
1327
  "1.19.1": {
1328
- "blocks": "bedrock/1.18.30",
1329
- "blockStates": "bedrock/1.18.30",
1330
- "blockCollisionShapes": "bedrock/1.18.30",
1331
- "biomes": "bedrock/1.18.0",
1332
- "entities": "bedrock/1.18.11",
1333
- "items": "bedrock/1.18.30",
1334
- "recipes": "bedrock/1.18.30",
1328
+ "blocks": "bedrock/1.19.1",
1329
+ "blockStates": "bedrock/1.19.1",
1330
+ "blockCollisionShapes": "bedrock/1.19.1",
1331
+ "biomes": "bedrock/1.19.1",
1332
+ "entities": "bedrock/1.19.1",
1333
+ "items": "bedrock/1.19.1",
1334
+ "recipes": "bedrock/1.19.1",
1335
1335
  "instruments": "bedrock/1.17.0",
1336
1336
  "materials": "pc/1.17",
1337
1337
  "enchantments": "pc/1.17",
@@ -1339,20 +1339,20 @@
1339
1339
  "protocol": "bedrock/1.19.1",
1340
1340
  "windows": "bedrock/1.16.201",
1341
1341
  "steve": "bedrock/1.16.201",
1342
- "blocksB2J": "bedrock/1.18.30",
1343
- "blocksJ2B": "bedrock/1.18.30",
1342
+ "blocksB2J": "bedrock/1.19.1",
1343
+ "blocksJ2B": "bedrock/1.19.1",
1344
1344
  "proto": "bedrock/1.19.1",
1345
1345
  "types": "bedrock/1.19.1",
1346
1346
  "version": "bedrock/1.19.1"
1347
1347
  },
1348
1348
  "1.19.10": {
1349
- "blocks": "bedrock/1.18.30",
1350
- "blockStates": "bedrock/1.18.30",
1351
- "blockCollisionShapes": "bedrock/1.18.30",
1352
- "biomes": "bedrock/1.18.0",
1353
- "entities": "bedrock/1.18.11",
1354
- "items": "bedrock/1.18.30",
1355
- "recipes": "bedrock/1.18.30",
1349
+ "blocks": "bedrock/1.19.1",
1350
+ "blockStates": "bedrock/1.19.1",
1351
+ "blockCollisionShapes": "bedrock/1.19.1",
1352
+ "biomes": "bedrock/1.19.1",
1353
+ "entities": "bedrock/1.19.1",
1354
+ "items": "bedrock/1.19.10",
1355
+ "recipes": "bedrock/1.19.10",
1356
1356
  "instruments": "bedrock/1.17.0",
1357
1357
  "materials": "pc/1.17",
1358
1358
  "enchantments": "pc/1.17",
@@ -1360,8 +1360,8 @@
1360
1360
  "protocol": "bedrock/1.19.10",
1361
1361
  "windows": "bedrock/1.16.201",
1362
1362
  "steve": "bedrock/1.16.201",
1363
- "blocksB2J": "bedrock/1.18.30",
1364
- "blocksJ2B": "bedrock/1.18.30",
1363
+ "blocksB2J": "bedrock/1.19.1",
1364
+ "blocksJ2B": "bedrock/1.19.1",
1365
1365
  "proto": "bedrock/latest",
1366
1366
  "types": "bedrock/latest",
1367
1367
  "version": "bedrock/1.19.10"
@@ -1,4 +1,11 @@
1
1
  [
2
+ {
3
+ "minecraftVersion": "1.19.1-rc2",
4
+ "version": 1073741924,
5
+ "dataVersion": 3115,
6
+ "usesNetty": true,
7
+ "majorVersion": "1.19"
8
+ },
2
9
  {
3
10
  "minecraftVersion": "1.19.1-pre6",
4
11
  "version": 1073741923,
@@ -1,3 +1,8 @@
1
+ ## 3.9.0
2
+ * bedrock: Add bedrock 1.19 data (#600)
3
+ * bedrock: protocol corrections
4
+ * pc: Add 1.19.1-rc2 to protocol versions
5
+
1
6
  ## 3.8.0
2
7
 
3
8
  * [1.19] update features and add some @rob9315
@@ -52,20 +52,45 @@ function convert (ver, path) {
52
52
  return version
53
53
  }
54
54
 
55
+ function validate (ver, path) {
56
+ process.chdir(path || join(__dirname, '../../data/bedrock/' + ver))
57
+ console.log(process.cwd())
58
+ const version = genProtoSchema()
59
+
60
+ const expected = JSON.stringify({ types: getJSON('./proto.json') })
61
+ // If you crash here, no protocol.json was generated - run `npm run build`
62
+ const actual = JSON.stringify(getJSON(`../${version}/protocol.json`))
63
+
64
+ fs.unlinkSync('./proto.json') // remove temp file
65
+ fs.unlinkSync('./packet_map.yml') // remove temp file
66
+
67
+ // Make sure the protocol_expected.json file equals the protocol.json file; otherwise the JSON must be rebuilt
68
+ if (expected !== actual) {
69
+ throw Error(`${ver} (${version}) / protocol.json is desynced from yaml, please run 'npm run build'`)
70
+ }
71
+
72
+ console.log('ok', `../${version}/protocol.json`)
73
+ return version
74
+ }
75
+
76
+ function all (fn) {
77
+ const versions = require('../../data/dataPaths.json').bedrock
78
+ for (const versionId in versions) {
79
+ console.log('⏳', fn.name, 'protocol for bedrock', versionId)
80
+ const ver = versions[versionId]
81
+ if (ver.proto) {
82
+ fn(ver.proto.includes('latest') ? 'latest' : versionId)
83
+ }
84
+ }
85
+ }
86
+
55
87
  // If no argument, build everything
56
88
  if (!module.parent) {
57
89
  if (!process.argv[2]) {
58
- const versions = require('../../data/dataPaths.json').bedrock
59
- for (const versionId in versions) {
60
- console.log('Compiling bedrock protocol', versionId)
61
- const ver = versions[versionId]
62
- if (ver.proto) {
63
- convert(ver.proto.includes('latest') ? 'latest' : versionId)
64
- }
65
- }
90
+ all(convert)
66
91
  } else { // build the specified version
67
92
  convert(process.argv[2])
68
93
  }
69
94
  }
70
95
 
71
- module.exports = { convert }
96
+ module.exports = { convert, validate, all }
@@ -0,0 +1,8 @@
1
+ /* eslint-env mocha */
2
+ const protocolTools = require('../compileProtocol')
3
+
4
+ describe('protocol yaml', () => {
5
+ it('should be valid and in sync with json', () => {
6
+ protocolTools.all(protocolTools.validate)
7
+ })
8
+ })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minecraft-data",
3
- "version": "3.8.0",
3
+ "version": "3.9.0",
4
4
  "description": "Provide easy access to minecraft data in node.js",
5
5
  "main": "index.js",
6
6
  "tonicExampleFilename": "example.js",