Skip to content

Commit

Permalink
Add New Data Version - Doc update (#835)
Browse files Browse the repository at this point in the history
* Update add-data-new-version.md to reflect changes in minecraft-data-generator-server

Update the auto list to reflect what  minecraft-data-generator-server generates and also about what issues you may have to fix in its generated files.

Also noted that `blockLoot.json` and `entityLoot.json` has no currently working extractor.

* Make table now hold good info.

* Remove comment that I realized was wrong.

* Fix two broken links

* Fix 3 more broken links

* Add notes about entity metadata

* Fix capitalization in a few areas, and mention always double checking packets vs MC source

* Add details about other files that need updating on new versions.,

* Remove mention of minecraft-jar-extractor since it doesn't work.

* Add minecraft-jar-extractor
  • Loading branch information
wgaylord committed Jan 25, 2024
1 parent 1c4caca commit c1b5113
Showing 1 changed file with 37 additions and 40 deletions.
77 changes: 37 additions & 40 deletions doc/add-data-new-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,43 @@ For bedrock edition see [bedrock.md](bedrock.md)

| file name | auto? | how to get it | notes |
| -- | -- | -- | -- |
| protocol.json | No | Follow [Pre-release Protocol][3] |
| blocks.json | Yes | Use [Burger][1], then use [burger-extractor][2] |
| items.json | Yes | Use [Burger][1], then use [burger-extractor][2], then use [turbo-invention][6] |
| entities.json | Yes | Use [mcdata-generator][20] and run `extractPcEntityMetadata.js` script in tools/js to generate entity metadata in entities.json and protocol.json |
| recipes.json | Yes | Use [Burger][1], then use [burger-extractor][2] | should eventually be changed to native data generators |
| blockCollisionShapes.json | Yes | Use [McDataExtracting][4] |
| commands.json | No? |Use [mc-data-command-generator][5] | link to jar files have to be manually added |
| biomes.json | Yes | Use [Burger][1], then use [burger-extractor][2] | [extra info][13] |
| instruments | No | [wiki.vg block actions][11] |
| materials.json | No | [import from previous version](18) or [fix it properly](19) |
| windows.json | No | Look at [wiki.vg inventories][7] |
| version.json | No | Look at [Protocol Versions][9] | [wiki.vg protocol numbers][8] |
| effects.json | No | Look at [minecraft wiki effects][12] |
| enchantments.json | No | Duplicate enchantments.json from the latest version and add manually the missing enchantments. Enchantments data could be found by looking into the deobfuscated classe files of each enchantments, as well as in the Enchantments registry. |
| language.json | Yes | Use [minecraft-jar-extractor][10] |
| particles.json | Yes | Use [Burger][1], then use [burger-extractor][2] |
| blockLoot.json | Yes | Use [minecraft-jar-extractor][10] |
| entityLoot.json | Yes | Use [minecraft-jar-extractor][10] |
| mapIcons.json | No | Icons can be found in the Minecraft jar file where they are added as a single sprite. The file location is `/assets/minecraft/textures/map/map_icons.png`. Alternatively you might be able to look up the icons from the following page on the [Minecraft wiki][15] or from [wiki.vg][16]. | [minecraft-data pr mapIcons][14] |
| protocol.json | No | Follow [Pre-release Protocol][1] | Always double check by looking at the Minecraft source files. |
| blocks.json | Yes | Use [minecraft-data-generator-server][2] |
| items.json | Yes | Use [minecraft-data-generator-server][2] |
| entities.json | Yes | Use [minecraft-data-generator-server][2] and run `extractPcEntityMetadata.js` script in tools/js to generate entity metadata in entities.json and protocol.json |
| recipes.json | Yes | Use [minecraft-data-generator-server][2] | Make sure that `-1` in output are replaced with `null` |
| blockCollisionShapes.json | Yes | Use [minecraft-data-generator-server][2] |
| commands.json | No? |Use [mc-data-command-generator][3] | Link to jar files have to be manually added |
| biomes.json | Yes | Use [minecraft-data-generator-server][2] |
| instruments | Yes | Use [minecraft-data-generator-server][2] |
| materials.json | Yes | Use [minecraft-data-generator-server][2] |
| windows.json | No | Look at [wiki.vg inventories][4] |
| version.json | No | Look at [Protocol Versions][5] | [wiki.vg protocol numbers][6] |
| effects.json | Yes | Use [minecraft-data-generator-server][2] |
| enchantments.json | Yes | Use [minecraft-data-generator-server][2] |
| language.json | Yes | Use [minecraft-data-generator-server][2] |
| particles.json | Yes | Use [minecraft-data-generator-server][2] |
| blockLoot.json | No | Use [minecraft-jar-extractor][11] | Extractor can be very be tempermental at times
| entityLoot.json | No | Use [minecraft-jar-extractor][11] | Extractor can be very be tempermental at times
| mapIcons.json | No | Icons data can be found in the Minecraft source directly. Alternatively you might be able to look up the icons from the following page on the [Minecraft wiki][7] or from [wiki.vg][8]. | [minecraft-data pr mapIcons][9] |
| loginPacket.json | Yes | Running tests on [node-minecraft-protocol][10] |
| sounds.json | Yes | Use [minecraft-data-generator-server][2] |

* All files that say Yes for auto can be gotten from [minecraft-data-auto-updater][17] (that uses [minecraft-data-generator-server][20]). This is the preferred way to extract the data.

[1]: https://github.com/Pokechu22/Burger
[2]: https://github.com/PrismarineJS/burger-extractor
[3]: https://wiki.vg/Pre-release_protocol
[4]: https://github.com/PrismarineJS/McDataExtracting
[5]: https://github.com/Miro-Andrin/mc-data-command-generator
[6]: https://github.com/u9g/turbo-invention
[7]: https://wiki.vg/Inventory
[8]: https://wiki.vg/Protocol_version_numbers
[9]: https://github.com/PrismarineJS/minecraft-data/blob/master/data/pc/common/protocolVersions.json
[10]: https://github.com/PrismarineJS/minecraft-jar-extractor
[11]: http://wiki.vg/Block_Actions
[12]: https://minecraft.wiki/w/Effect
[13]: https://github.com/PrismarineJS/mineflayer/pull/197
[14]: https://github.com/PrismarineJS/minecraft-data/pull/348#issue-545841883
[15]: https://minecraft.wiki/Map#Map_icons
[16]: https://wiki.vg/Protocol#Map_Data
[17]: https://github.com/PrismarineJS/minecraft-data-auto-updater
[18]: https://github.com/PrismarineJS/minecraft-data/pull/282#issue-612896577
[19]: https://github.com/PrismarineJS/minecraft-data/issues/412#issuecomment-1008202471
[20]: https://github.com/PrismarineJS/minecraft-data-generator-server
* All files that say Yes for auto can be gotten from [minecraft-data-auto-updater][9] (that uses [minecraft-data-generator-server][2]). This is the preferred way to extract the data.

After generating and creating the new files for the version in its own directory, the version must be added to dataPaths.json in the data folder.
Additionally in data/pc/common the versions.json file needs to be updated with the new version.


[1]: https://wiki.vg/Pre-release_protocol
[2]: https://github.com/PrismarineJS/minecraft-data-generator-server
[3]: https://github.com/Miro-Andrin/mc-data-command-generator
[4]: https://wiki.vg/Inventory
[5]: https://github.com/PrismarineJS/minecraft-data/blob/master/data/pc/common/protocolVersions.json
[6]: https://wiki.vg/Protocol_version_numbers
[7]: https://minecraft.wiki/Map#Map_icons
[8]: https://wiki.vg/Protocol#Map_Data
[9]: https://github.com/PrismarineJS/minecraft-data-auto-updater
[10]: https://github.com/PrismarineJS/node-minecraft-protocol
[11]: https://github.com/PrismarineJS/minecraft-jar-extractor

0 comments on commit c1b5113

Please sign in to comment.