From c1b5113fc402966550050c326589524e7e606626 Mon Sep 17 00:00:00 2001 From: William Gaylord Date: Thu, 25 Jan 2024 16:29:52 -0600 Subject: [PATCH] Add New Data Version - Doc update (#835) * 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 --- doc/add-data-new-version.md | 77 ++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 40 deletions(-) diff --git a/doc/add-data-new-version.md b/doc/add-data-new-version.md index 6315dc93b..c3e35ba7b 100644 --- a/doc/add-data-new-version.md +++ b/doc/add-data-new-version.md @@ -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