Skip to content

feat: NBT Tag matching (1.21.1) - #487

Open
ReinderN wants to merge 27 commits into
TeamDman:1.21.1from
ReinderN:feature/nbt-matching-1.21.1
Open

feat: NBT Tag matching (1.21.1)#487
ReinderN wants to merge 27 commits into
TeamDman:1.21.1from
ReinderN:feature/nbt-matching-1.21.1

Conversation

@ReinderN

Copy link
Copy Markdown

No description provided.

This is needed to avoid jarjar issues
…g-1.21.1

Brings the platform/ + docs/ restructure, the modular Gradle scripts, and the
schema-v3 dependency lockfile onto the 1.21.1 NBT matching branch. Stays on
Minecraft 1.21.1 / NeoForge 21.1.206; mod_version moves to 4.34.0.

origin/1.21.1 is a single orphan commit with no history in common with this
branch, so the merge needed --allow-unrelated-histories. Without a merge base
git could not detect the directory rename, so it produced the union of both
layouts: the whole pre-restructure tree plus the restructured one.

Conflict resolution:

- Removed the superseded pre-restructure layout (src/, build.gradle,
  gradle.properties, settings.gradle, gradle/, gradlew*, actions/, act.ps1,
  vscodeextension/, translation-helper/, media/, npp/, emc_experiment/, ai/,
  and the root docs that moved under docs/). origin/1.21.1 is the newer
  1.21.1 tree, so its versions supersede the 4.28.0-era copies here.
- Carried the NBT feature across by hand: the 21 files it adds were replayed
  into platform/minecraft/..., and the 3 files it modifies (the ANTLR grammar,
  ASTBuilder, and the VS Code grammar) were 3-way merged onto upstream's newer
  versions, all cleanly.
- SFMLNbtFilteringTests moved into ca/teamdman/sfml/test/ to match upstream's
  test package layout; its package declaration and SFMLTestHelpers static
  import were updated accordingly.
- The 5 remaining conflicts (.gitattributes, .gitignore, README.md and the two
  examples files) were all stale pre-restructure versions on our side; took
  origin/1.21.1's.
- The feature's build.gradle change declared JMESPath. Root build.gradle is
  gone, so that was re-expressed through the lockfile with
  `sfm-propagate-changes dependency add`: jmespath/main
  (io.burt:jmespath-core:0.6.0) and jmespath/gson (io.burt:jmespath-gson:0.6.0),
  both scoped compile+runtime+bundle. Unlike the 1.19.2 branch, the NeoGradle
  toolchain here does write META-INF/jarjar entries, so the bundle scope takes
  effect for real.

Verified with sfm-propagate-changes on JDK 21: all four source sets compile
(0 errors) and JUnit reports 322 passed, 0 failed, including all 90
SFMLNbtFilteringTests methods.
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.

1 participant