Skip to content

fix(tools): restore extracted resource pack definitions - #469

Closed
AlexProgrammerDE wants to merge 1 commit into
ViaVersionAddons:update/r26u6from
StackAnvil:fix/restore-brarchive-pack-generation
Closed

AlexProgrammerDE wants to merge 1 commit into
ViaVersionAddons:update/r26u6from
StackAnvil:fix/restore-brarchive-pack-generation

Conversation

@AlexProgrammerDE

Copy link
Copy Markdown
Collaborator

The pack generator must read the normal output of brax without a manual directory merge.
The extractor places definitions under each pack's __brarchive directory.
The generator currently skips those directories and reports success with incomplete archives.

This restores the folder handling introduced in #415 and removed by #413.
Direct definitions retain priority when both layouts contain the same file.
Copy failures stop generation, and directory streams close after each copy.
The update instructions also restore schema guidance for compiled MCB resources.

This PR targets update/r26u6 and contains the generator fix, tests, and extraction instructions.
The regenerated archives remain in PR #468.
The pre-existing font extraction limitation remains outside this restoration.

Validation on the target branch:

  • ./gradlew --no-configuration-cache build passes, including all Checkstyle tasks and three generator tests.
  • Removing the extracted-folder source makes two tests fail. The direct-layout test still passes.
  • The tests inspect the generated ZIP contents for extracted definitions, mixed layouts, and direct-file precedence.
  • The original, checksum-verified 1.26.60.5 GDK package reproduces the failure with normal extractor output.
  • The restored generator exports 344 biome, 249 fog, and 214 render-controller files.
  • All 74 resource packs match the restored definition contents in fix(protocol): repair 26.60 joins and restore migration fixes #468. The two font glyphs use a separate path.
  • The generated vanilla skin archive preserves its 14 existing files byte-for-byte.

The Gradle tooling refactor in ViaVersionAddons#413 removed the __brarchive folder support
introduced by ViaVersionAddons#415. Normal brax output still uses that layout, so pack
generation succeeds while omitting biome, fog and render-controller data.

Merge direct and extracted definition folders into the generated pack.
Preserve direct files on duplicate paths, close directory streams and
propagate copy failures instead of silently producing incomplete output.
Exercise the actual ZIP writer with extracted, mixed and direct layouts.
Restore schema guidance for compiled MCB resources in the update process.

Validate on the update/r26u6 branch with a complete build and three tests.
Removing the extracted-folder source makes two regressions fail. Running
the generator against the verified 1.26.60.5 GDK extraction restores 344
biome, 249 fog and 214 render-controller files across the bundled packs.
The generated vanilla skin archive retains its existing file contents.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants