Skip to content

feat: Add structs, protocols, macros, and library blocks to SFML - #489

Open
ReinderN wants to merge 37 commits into
TeamDman:1.19.2from
ReinderN:feature/library-and-definitions
Open

feat: Add structs, protocols, macros, and library blocks to SFML#489
ReinderN wants to merge 37 commits into
TeamDman:1.19.2from
ReinderN:feature/library-and-definitions

Conversation

@ReinderN

Copy link
Copy Markdown

No description provided.

@ReinderN
ReinderN force-pushed the feature/library-and-definitions branch from 2ff2fcc to e141081 Compare January 26, 2026 17:27
…-definitions

Brings the platform/ + docs/ restructure, the modular Gradle scripts, and the
schema-v3 dependency lockfile onto the library/struct/macro/protocol branch.

Conflict resolution:

- The feature's new files were added under src/ while origin/1.19.2 renamed
  that tree to platform/minecraft/src/. Kept them at the new locations,
  including the library/ and struct/ game tests that git had auto-resolved at
  the stale path.
- 23 of the 33 content conflicts were line-ending-only on our side (the branch
  had rewritten CRLF files as LF without changing them); those took the
  origin/1.19.2 version so the newer work is not clobbered.
- Adopted upstream's registry renames (BUFFER_ITEM -> BUFFER, MANAGER_BLOCK ->
  MANAGER, CABLE_BLOCK -> CABLE, DISK_ITEM -> DISK, PRINTING_PRESS_BLOCK_ENTITY
  -> PRINTING_PRESS, ...) and its move of the registration classes to
  ca.teamdman.sfm.common.registry.registration, re-adding the library entries
  on top. The feature's own LIBRARY_* symbols keep their names.
- LocalizationKeys was dissolved upstream into per-class @SFMLocalizationDatagen
  entries. Moved the feature's 9 entries onto their owning classes:
  StructDefinitionLinter, UnusedDefinitionLinter, LibraryBlock and
  LibraryBlockEntity.
- Adapted the library code to upstream's BlockPos data structures:
  LabelPositionHolder.getPositions now returns BlockPosSet, and
  BlockPosMap.keysAsBlockPosSet was replaced by positions().
- The two explosion game tests, SFMBlockNetworkGrowTests and the tough cable
  facade blocks were modify/delete conflicts where our side had only changed
  line endings; accepted upstream's deletion or rewrite.

Verified with sfm-propagate-changes: all four source sets compile
(main 601, gametest, datagen, test) and JUnit reports 267 passed, 0 failed.
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