minecraft-data 3.90.0 → 3.92.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 (149) hide show
  1. package/data.js +54 -0
  2. package/doc/history.md +8 -0
  3. package/index.d.ts +5 -2
  4. package/minecraft-data/data/dataPaths.json +54 -0
  5. package/minecraft-data/data/pc/1.10/proto.yml +29 -35
  6. package/minecraft-data/data/pc/1.10/protocol.json +101 -86
  7. package/minecraft-data/data/pc/1.10-pre1/proto.yml +29 -35
  8. package/minecraft-data/data/pc/1.10-pre1/protocol.json +101 -86
  9. package/minecraft-data/data/pc/1.11/proto.yml +29 -35
  10. package/minecraft-data/data/pc/1.11/protocol.json +101 -86
  11. package/minecraft-data/data/pc/1.12/proto.yml +29 -35
  12. package/minecraft-data/data/pc/1.12/protocol.json +101 -86
  13. package/minecraft-data/data/pc/1.12-pre4/proto.yml +29 -35
  14. package/minecraft-data/data/pc/1.12-pre4/protocol.json +101 -86
  15. package/minecraft-data/data/pc/1.12.1/proto.yml +29 -35
  16. package/minecraft-data/data/pc/1.12.1/protocol.json +101 -86
  17. package/minecraft-data/data/pc/1.12.2/proto.yml +29 -35
  18. package/minecraft-data/data/pc/1.12.2/protocol.json +101 -86
  19. package/minecraft-data/data/pc/1.13/proto.yml +29 -35
  20. package/minecraft-data/data/pc/1.13/protocol.json +101 -86
  21. package/minecraft-data/data/pc/1.13.1/proto.yml +29 -35
  22. package/minecraft-data/data/pc/1.13.1/protocol.json +101 -86
  23. package/minecraft-data/data/pc/1.13.2/proto.yml +29 -35
  24. package/minecraft-data/data/pc/1.13.2/protocol.json +101 -86
  25. package/minecraft-data/data/pc/1.13.2-pre1/proto.yml +29 -35
  26. package/minecraft-data/data/pc/1.13.2-pre1/protocol.json +101 -86
  27. package/minecraft-data/data/pc/1.13.2-pre2/proto.yml +29 -35
  28. package/minecraft-data/data/pc/1.13.2-pre2/protocol.json +101 -86
  29. package/minecraft-data/data/pc/1.14/proto.yml +29 -35
  30. package/minecraft-data/data/pc/1.14/protocol.json +101 -86
  31. package/minecraft-data/data/pc/1.14.1/proto.yml +29 -35
  32. package/minecraft-data/data/pc/1.14.1/protocol.json +101 -86
  33. package/minecraft-data/data/pc/1.14.3/proto.yml +29 -35
  34. package/minecraft-data/data/pc/1.14.3/protocol.json +101 -86
  35. package/minecraft-data/data/pc/1.14.4/proto.yml +29 -35
  36. package/minecraft-data/data/pc/1.14.4/protocol.json +101 -86
  37. package/minecraft-data/data/pc/1.15/proto.yml +29 -35
  38. package/minecraft-data/data/pc/1.15/protocol.json +101 -86
  39. package/minecraft-data/data/pc/1.15.1/proto.yml +29 -35
  40. package/minecraft-data/data/pc/1.15.1/protocol.json +101 -86
  41. package/minecraft-data/data/pc/1.15.2/proto.yml +29 -35
  42. package/minecraft-data/data/pc/1.15.2/protocol.json +101 -86
  43. package/minecraft-data/data/pc/1.16/proto.yml +29 -35
  44. package/minecraft-data/data/pc/1.16/protocol.json +101 -86
  45. package/minecraft-data/data/pc/1.16-rc1/proto.yml +29 -35
  46. package/minecraft-data/data/pc/1.16-rc1/protocol.json +101 -86
  47. package/minecraft-data/data/pc/1.16.1/proto.yml +29 -35
  48. package/minecraft-data/data/pc/1.16.1/protocol.json +101 -86
  49. package/minecraft-data/data/pc/1.16.2/proto.yml +29 -35
  50. package/minecraft-data/data/pc/1.16.2/protocol.json +101 -86
  51. package/minecraft-data/data/pc/1.17/proto.yml +30 -36
  52. package/minecraft-data/data/pc/1.17/protocol.json +102 -87
  53. package/minecraft-data/data/pc/1.17.1/proto.yml +30 -36
  54. package/minecraft-data/data/pc/1.17.1/protocol.json +102 -87
  55. package/minecraft-data/data/pc/1.18/proto.yml +30 -36
  56. package/minecraft-data/data/pc/1.18/protocol.json +102 -87
  57. package/minecraft-data/data/pc/1.18.2/proto.yml +30 -36
  58. package/minecraft-data/data/pc/1.18.2/protocol.json +102 -87
  59. package/minecraft-data/data/pc/1.19/proto.yml +34 -67
  60. package/minecraft-data/data/pc/1.19/protocol.json +123 -127
  61. package/minecraft-data/data/pc/1.19.2/proto.yml +35 -68
  62. package/minecraft-data/data/pc/1.19.2/protocol.json +123 -127
  63. package/minecraft-data/data/pc/1.19.3/proto.yml +39 -309
  64. package/minecraft-data/data/pc/1.19.3/protocol.json +65 -324
  65. package/minecraft-data/data/pc/1.19.4/proto.yml +39 -309
  66. package/minecraft-data/data/pc/1.19.4/protocol.json +65 -324
  67. package/minecraft-data/data/pc/1.20/proto.yml +40 -310
  68. package/minecraft-data/data/pc/1.20/protocol.json +65 -324
  69. package/minecraft-data/data/pc/1.20.2/proto.yml +40 -310
  70. package/minecraft-data/data/pc/1.20.2/protocol.json +65 -324
  71. package/minecraft-data/data/pc/1.20.3/proto.yml +156 -327
  72. package/minecraft-data/data/pc/1.20.3/protocol.json +186 -369
  73. package/minecraft-data/data/pc/1.20.5/proto.yml +427 -845
  74. package/minecraft-data/data/pc/1.20.5/protocol.json +669 -931
  75. package/minecraft-data/data/pc/1.21.1/proto.yml +415 -898
  76. package/minecraft-data/data/pc/1.21.1/protocol.json +585 -1058
  77. package/minecraft-data/data/pc/1.21.3/proto.yml +429 -572
  78. package/minecraft-data/data/pc/1.21.3/protocol.json +760 -920
  79. package/minecraft-data/data/pc/1.21.4/protocol.json +766 -917
  80. package/minecraft-data/data/pc/1.21.5/attributes.json +226 -0
  81. package/minecraft-data/data/pc/1.21.5/biomes.json +652 -0
  82. package/minecraft-data/data/pc/1.21.5/blockCollisionShapes.json +142530 -0
  83. package/minecraft-data/data/pc/1.21.5/blocks.json +41307 -0
  84. package/minecraft-data/data/pc/1.21.5/effects.json +236 -0
  85. package/minecraft-data/data/pc/1.21.5/enchantments.json +959 -0
  86. package/minecraft-data/data/pc/1.21.5/entities.json +1502 -0
  87. package/minecraft-data/data/pc/1.21.5/foods.json +402 -0
  88. package/minecraft-data/data/pc/1.21.5/instruments.json +94 -0
  89. package/minecraft-data/data/pc/1.21.5/items.json +9164 -0
  90. package/minecraft-data/data/pc/1.21.5/language.json +7163 -0
  91. package/minecraft-data/data/pc/1.21.5/materials.json +206 -0
  92. package/minecraft-data/data/pc/1.21.5/particles.json +458 -0
  93. package/minecraft-data/data/pc/1.21.5/recipes.json +29948 -0
  94. package/minecraft-data/data/pc/1.21.5/sounds.json +6810 -0
  95. package/minecraft-data/data/pc/1.21.5/tints.json +465 -0
  96. package/minecraft-data/data/pc/1.21.5/version.json +6 -0
  97. package/minecraft-data/data/pc/1.21.6/attributes.json +247 -0
  98. package/minecraft-data/data/pc/1.21.6/biomes.json +652 -0
  99. package/minecraft-data/data/pc/1.21.6/blockCollisionShapes.json +142541 -0
  100. package/minecraft-data/data/pc/1.21.6/blocks.json +41360 -0
  101. package/minecraft-data/data/pc/1.21.6/effects.json +236 -0
  102. package/minecraft-data/data/pc/1.21.6/enchantments.json +959 -0
  103. package/minecraft-data/data/pc/1.21.6/entities.json +1512 -0
  104. package/minecraft-data/data/pc/1.21.6/foods.json +402 -0
  105. package/minecraft-data/data/pc/1.21.6/instruments.json +94 -0
  106. package/minecraft-data/data/pc/1.21.6/items.json +9278 -0
  107. package/minecraft-data/data/pc/1.21.6/language.json +7389 -0
  108. package/minecraft-data/data/pc/1.21.6/materials.json +206 -0
  109. package/minecraft-data/data/pc/1.21.6/particles.json +458 -0
  110. package/minecraft-data/data/pc/1.21.6/recipes.json +30473 -0
  111. package/minecraft-data/data/pc/1.21.6/sounds.json +6910 -0
  112. package/minecraft-data/data/pc/1.21.6/tints.json +465 -0
  113. package/minecraft-data/data/pc/1.21.6/version.json +6 -0
  114. package/minecraft-data/data/pc/1.7/proto.yml +3 -6
  115. package/minecraft-data/data/pc/1.7/protocol.json +7 -0
  116. package/minecraft-data/data/pc/1.8/proto.yml +29 -35
  117. package/minecraft-data/data/pc/1.8/protocol.json +101 -86
  118. package/minecraft-data/data/pc/1.9/proto.yml +29 -35
  119. package/minecraft-data/data/pc/1.9/protocol.json +101 -86
  120. package/minecraft-data/data/pc/1.9.1-pre2/proto.yml +29 -35
  121. package/minecraft-data/data/pc/1.9.1-pre2/protocol.json +101 -86
  122. package/minecraft-data/data/pc/1.9.2/proto.yml +29 -35
  123. package/minecraft-data/data/pc/1.9.2/protocol.json +101 -86
  124. package/minecraft-data/data/pc/1.9.4/proto.yml +29 -35
  125. package/minecraft-data/data/pc/1.9.4/protocol.json +101 -86
  126. package/minecraft-data/data/pc/15w40b/proto.yml +29 -35
  127. package/minecraft-data/data/pc/15w40b/protocol.json +101 -86
  128. package/minecraft-data/data/pc/16w20a/proto.yml +29 -35
  129. package/minecraft-data/data/pc/16w20a/protocol.json +101 -86
  130. package/minecraft-data/data/pc/16w35a/proto.yml +29 -35
  131. package/minecraft-data/data/pc/16w35a/protocol.json +101 -86
  132. package/minecraft-data/data/pc/17w15a/proto.yml +29 -35
  133. package/minecraft-data/data/pc/17w15a/protocol.json +101 -86
  134. package/minecraft-data/data/pc/17w18b/proto.yml +29 -35
  135. package/minecraft-data/data/pc/17w18b/protocol.json +101 -86
  136. package/minecraft-data/data/pc/17w50a/proto.yml +29 -35
  137. package/minecraft-data/data/pc/17w50a/protocol.json +101 -86
  138. package/minecraft-data/data/pc/20w13b/proto.yml +29 -35
  139. package/minecraft-data/data/pc/20w13b/protocol.json +101 -86
  140. package/minecraft-data/data/pc/21w07a/proto.yml +29 -35
  141. package/minecraft-data/data/pc/21w07a/protocol.json +101 -86
  142. package/minecraft-data/data/pc/common/features.json +7 -2
  143. package/minecraft-data/data/pc/common/protocolVersions.json +203 -36
  144. package/minecraft-data/data/pc/common/versions.json +2 -1
  145. package/minecraft-data/data/pc/latest/proto.yml +427 -572
  146. package/minecraft-data/doc/history.md +12 -0
  147. package/minecraft-data/doc/protocol.md +6 -4
  148. package/package.json +2 -2
  149. package/test/load.js +8 -0
@@ -1,3 +1,15 @@
1
+ ## 3.92.0
2
+ * [PC protocol updates and refactor (#948)](https://github.com/PrismarineJS/minecraft-data/commit/1a0bb5380450a3b1559af47b48fb9be772531741) (thanks @extremeheat)
3
+ * [add 1.21.6 data (#1028)](https://github.com/PrismarineJS/minecraft-data/commit/724b1b1d1de57b2b4e4da42a6cf9a5bd2bbd4cae) (thanks @bedrock-bot)
4
+ * [doc: Add optional example in protocol.md](https://github.com/PrismarineJS/minecraft-data/commit/75c7e93be0ce3d2810f9bcb4d2d234aec6049496) (thanks @extremeheat)
5
+ * [Add 1.21.7 to pc protocolVersions.json](https://github.com/PrismarineJS/minecraft-data/commit/97efb66f1b4d5e42806d4ded033727638df90525) (thanks @github-actions[bot])
6
+
7
+ ## 3.91.0
8
+ * [Add missing data version values in protocol version file (#1024)](https://github.com/PrismarineJS/minecraft-data/commit/72533f88da564797d59b618de59835c7984a79d5) (thanks @rom1504)
9
+ * [Add some 1.21.5 data (#995)](https://github.com/PrismarineJS/minecraft-data/commit/f9ea32fedfb44b8cc4b41c3b41e178a96c690907) (thanks @RomainNeup)
10
+ * [Add 1.21.7-rc2 to pc protocolVersions.json](https://github.com/PrismarineJS/minecraft-data/commit/0790f31720fffa6c65f04ce5fd5da12bbcf4f31b) (thanks @github-actions[bot])
11
+ * [Add 1.21.7-rc1 to pc protocolVersions.json](https://github.com/PrismarineJS/minecraft-data/commit/bfa42528b71ae2941ca92015e65be3c0cbcc1ddf) (thanks @github-actions[bot])
12
+
1
13
  ## 3.90.0
2
14
  * [Add bedrock 1.21.90 protocol data (#1021)](https://github.com/PrismarineJS/minecraft-data/commit/06c2106a669deb24f0c14770874a0abeb116687b) (thanks @CreeperG16)
3
15
  * [bedrock: add v1.21.70 Steve Skin (#1004)](https://github.com/PrismarineJS/minecraft-data/commit/b1b05bb62907ab0c6508d6f52e44b753df065d54) (thanks @yowzaoppo)
@@ -24,6 +24,8 @@ These YAML files can be found in data/pc/latest and data/bedrock/latest. Old pro
24
24
 
25
25
  In bedrock data, types and packets are sperated into proto.yml and types.yml files. On pc there is one single proto.yml file with all packets and types for all the states, and these states are sperated under different top-level regions like `^handshaking.toClient.types` and `^play.toServer.types` (which both inherit from the top `^types`).
26
26
 
27
+ Note: Minecraft Java Edition uses big endian encoding by default, whereas Minecraft Bedrock Edition uses little endian. Note that varints are always little endian.
28
+
27
29
  ```yml
28
30
  # This defines a new data structure, a ProtoDef container.
29
31
  Position:
@@ -31,8 +33,8 @@ Position:
31
33
  x: li32
32
34
  # `z` is a 32-bit LE *unsigned* integer
33
35
  z: lu32
34
- # `b` is a 32-bit LE floating point
35
- y: lf32
36
+ # `b` is an **optional** 32-bit LE floating point
37
+ y?: lf32
36
38
 
37
39
  # Fields starting with `packet_` are structs representing Minecraft packets
38
40
  packet_player_position:
@@ -91,7 +93,7 @@ function read_position(stream) {
91
93
  const ret = {}
92
94
  ret.x = stream.readLI32()
93
95
  ret.z = stream.readLU32()
94
- ret.y = stream.readLF32()
96
+ if (stream.readBool()) ret.y = stream.readLF32()
95
97
  return ret
96
98
  }
97
99
 
@@ -151,4 +153,4 @@ string: ["pstring",{"countType":"varint"}]
151
153
  ```
152
154
 
153
155
  #### Compiling to JSON
154
- Once the protocol YAML files have been updated, run `npm run build` inside `tools/js` to generate protocol.json for each of the protocol YAML files.
156
+ Once the protocol YAML files have been updated, run `npm run build` inside `tools/js` to generate protocol.json for each of the protocol YAML files.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minecraft-data",
3
- "version": "3.90.0",
3
+ "version": "3.92.0",
4
4
  "description": "Provide easy access to minecraft data in node.js",
5
5
  "main": "index.js",
6
6
  "tonicExampleFilename": "example.js",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "devDependencies": {
36
36
  "minecraft-data": ".",
37
- "@types/node": "^22.1.0",
37
+ "@types/node": "^24.0.4",
38
38
  "json-schema-to-typescript": "11.0.5",
39
39
  "minecraft-packets": "^1.4.0",
40
40
  "mocha": "^11.0.1",
package/test/load.js CHANGED
@@ -101,4 +101,12 @@ describe('supportFeature', () => {
101
101
  assert.equal(mcData.supportFeature('fakeRecipeSchema'), false)
102
102
  assert(mcData.blockMappings.length > 0)
103
103
  })
104
+
105
+ it('compares pc 1.7.10 correctly', function () {
106
+ const mcData = require('minecraft-data')('1.7.10')
107
+ assert.strictEqual(mcData.isNewerOrEqualTo('1.7.9'), true)
108
+ assert.strictEqual(mcData.isOlderThan('1.8'), true)
109
+ assert.strictEqual(mcData.isOlderThan('1.7.10'), false)
110
+ assert.strictEqual(mcData.isNewerOrEqualTo('1.7.10'), true)
111
+ })
104
112
  })