valence/extractor/README.md
Carson McManus 09fbd9b7e7
Update to Minecraft 1.20.1 (#358)
## Description

Updates valence to Minecraft 1.20.1, which is protocol compatible with
1.20.

closes #357

---------

Co-authored-by: Ryan Johnson <ryanj00a@gmail.com>
Co-authored-by: AviiNL <me@avii.nl>
2023-06-13 14:38:55 -07:00

1.6 KiB

Valence Extractor

This is a Fabric mod for Minecraft that extracts data about different things in Minecraft, like blocks, packets, etc. All the extracted data is stored in the sibling extracted folder.

How to use

Here's how to regenerate the contents of extracted.

From this directory, run the following

./gradlew runServer

This will run the extractor and immediately exit, outputting the files that are listed in the logs.

Next, run copy_extractor_output.sh. This copies the files to extracted so that they can be comitted.

./copy_extractor_output.sh

How to update valence to a new version of Minecraft

The general process should go something like this:

  1. Update gradle.properties to the new version of Minecraft using https://fabricmc.net/develop
  2. Update src/main/resources/fabric.mod.json to reference new version of Minecraft
  3. Update PROTOCOL_VERSION and MINECRAFT_VERSION constants in valence_core/src/lib.rs
  4. Attempt to run ./gradlew runServer and fix any errors that come up
  5. Run ./copy_extractor_output.sh
  6. In *.tomls, replace all strings of the old mc version with the new mc version
  7. Try all the examples. If they work, you're probably done.

If you need to update gradle, running this will automatically update the wrapper to the specified version, and update gradle/gradle-wrapper.properties.

./gradlew wrapper --gradle-version VERSION

You may also need to update the fabric mappings in the mod.

./gradlew migrateMappings --mappings "VERSION"

Contributing

Run ./gradlew genSources to generate Minecraft Java source files for your IDE.