valence/extractor
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
..
gradle/wrapper Update to Minecraft 1.20.1 (#358) 2023-06-13 14:38:55 -07:00
src/main Update to Minecraft 1.20.1 (#358) 2023-06-13 14:38:55 -07:00
build.gradle Update to Minecraft 1.20.1 (#358) 2023-06-13 14:38:55 -07:00
copy_extractor_output.sh Registry codec extractor (#316) 2023-04-10 01:39:03 -07:00
gradle.properties Update to Minecraft 1.20.1 (#358) 2023-06-13 14:38:55 -07:00
gradlew check gradlew for the extractor into git (#88) 2022-09-27 13:06:34 -07:00
gradlew.bat check gradlew for the extractor into git (#88) 2022-09-27 13:06:34 -07:00
README.md Update to Minecraft 1.20.1 (#358) 2023-06-13 14:38:55 -07:00
settings.gradle Add extractor fabric mod 2022-07-19 05:15:05 -07:00

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.