Skip to content

feat: add MC 26.1 support with unobfuscated Loom split#44

Merged
turtton merged 3 commits into
mainfrom
feat/mc-26.1-support
May 7, 2026
Merged

feat: add MC 26.1 support with unobfuscated Loom split#44
turtton merged 3 commits into
mainfrom
feat/mc-26.1-support

Conversation

@turtton

@turtton turtton commented May 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • MC 26.1 (unobfuscated) サポートを追加
  • Stonecutter multi-version ビルド: 1.21.8 / 1.21.11 / 26.1
  • fabric-loom-remap (obfuscated) と fabric-loom (unobfuscated) のプラグイン分割
  • 26.1 向け API 変更を Stonecutter プリプロセッサディレクティブで対応
  • REI → JEI (26.1 のみ、REI 未対応のため)
  • タンク破壊時の液体保持バグ修正 + 回帰テスト追加

Changes

Build System

  • settings.gradle.kts: 26.1 バージョン追加 (.buildscript("build.unobfuscated.gradle.kts"))
  • build.unobfuscated.gradle.kts: 新規作成 (26.1 専用、mappings なし、implementation 系依存)
  • build.gradle.kts: fabric-loom-remap プラグイン使用、26.1 ロジック削除
  • gradle/libs.versions.toml: Loom 1.15.5、Loader 0.19.2、FLK 1.13.11+kotlin.2.3.21
  • fabric.mod.json: fabricloader 下限 >=0.19.2

Source Code (Stonecutter directives for 26.1)

  • displayClientMessagesendOverlayMessage
  • DataComponentMapDataComponentPatch (Jade)
  • FabricItemGroupFabricCreativeModeTab
  • PayloadTypeRegistry.playS2C()clientboundPlay()
  • RecipeSerializer final class 化対応
  • SavedDataType Identifier 化
  • BlockRenderLayerMap 削除対応 (auto-detection)
  • LightTextureLightCoordsUtil
  • FluidVariantRendering.getSprite()FluidStateModelSet (vanilla)
  • SpecialModelRenderer.Unbaked<T> generics 対応
  • FabricDataOutputFabricPackOutput, FabricTagProviderFabricTagsProvider
  • ShapedRecipe 新コンストラクタ対応

Bug Fix

  • pendingDropDataworld.server?.execute 同期実行バグ修正
  • サバイバル採掘時に液体がドロップに保持されるように
  • Level.destroyBlock パスでの stale data リーク防止
  • 回帰テスト 2 本追加 (39 game tests pass)

Testing

  • 全 3 バージョン (1.21.8, 1.21.11, 26.1) ビルド成功
  • 39 game tests 全パス

turtton added 3 commits May 7, 2026 16:45
- Add 26.1 to stonecutter versions with separate buildscript (build.unobfuscated.gradle.kts)
- Use fabric-loom (non-remap) for 26.1 vs fabric-loom-remap for 1.21.x
- Update shared deps: Loom 1.15.5, Fabric Loader 0.19.2, FLK 1.13.11+kotlin.2.3.21
- Add 26.1-specific deps: Fabric API 0.148.0, YACL 3.9.3, ModMenu 18.0.0-alpha.8, Jade 26.1.0, JEI 29.5.0.28
- Fix all 26.1 API changes with Stonecutter directives (displayClientMessage, DataComponentPatch, FabricCreativeModeTab, clientboundPlay, RecipeSerializer, SavedDataType, CameraRenderState, FluidStateModelSet, SpecialModelRenderer generics, FabricPackOutput, Variant, ShapedRecipe, LightCoordsUtil)
- Add game tests for tank break fluid retention (37 total, all pass on 3 versions)
- Raise fabricloader minimum to >=0.19.2
pendingDropData cleanup via world.server.execute() ran synchronously on
the server thread, removing data before getDrops could read it.

Restore conditional branching to correctly handle both:
- Survival mining (affectNeighborsAfterRemoval before getDrops)
- Level.destroyBlock (getDrops before affectNeighborsAfterRemoval)

Remove the synchronous execute cleanup entirely.
Add regression tests for both paths.
@turtton turtton merged commit d62a506 into main May 7, 2026
2 checks passed
@turtton turtton deleted the feat/mc-26.1-support branch May 7, 2026 13:06
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