Update to Minecraft 26.2 - #60
Merged
Merged
Conversation
Build: - minecraft 26.2, loader 0.19.3, fabric-api 0.152.2+26.2 - loom 1.17-SNAPSHOT, gradle wrapper 9.5.1 - fabric.mod.json depends: minecraft ~26.2, fabricloader >=0.19.3 API changes (verified against decompiled 26.2): - ChatFormatting.X.getColor() removed -> TextColor.X.getValue() - InventoryChangeTrigger moved advancements.criterion -> advancements.triggers Release workflow: bump RELEASE_NAME/CHANGE_LOG to 26.2 (mod version stays 1.6.0, per port convention). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Ports ImprovedSigns to the Minecraft 26.2 / Fabric 26.2 ecosystem by updating build metadata, dependency versions, and adjusting a couple of Mojang API/package changes needed for compilation/runtime.
Changes:
- Bumped Minecraft/Fabric Loader/Fabric API/Loom/Gradle versions and updated
fabric.mod.jsondependency constraints accordingly. - Updated chat color usage to match the 26.2
ChatFormattingAPI change (now a bare enum). - Updated
InventoryChangeTriggerimport to its new package.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/resources/fabric.mod.json | Updates loader and Minecraft dependency constraints for 26.2 compatibility. |
| src/main/java/com/craftycorvid/improvedSigns/ImprovedSignsUtils.java | Replaces removed ChatFormatting#getColor() usage with TextColor#getValue() equivalents. |
| src/main/java/com/craftycorvid/improvedSigns/datagen/RecipeDatagen.java | Updates InventoryChangeTrigger import to new package location. |
| gradle/wrapper/gradle-wrapper.properties | Bumps Gradle wrapper to 9.5.1. |
| gradle.properties | Updates Minecraft/loader/Fabric API version properties to 26.2-era versions. |
| build.gradle | Bumps Fabric Loom plugin version to 1.17-SNAPSHOT. |
| .github/workflows/publish.yml | Updates release name/changelog text to refer to Minecraft 26.2. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
LootTableDatagen used copyData(EntityTarget.TARGET_ENTITY), which serializes source: "target_entity" (reads an entity, wrong for block drops) and would break sign-retain-on-break. 26.2 adds LootContext.BlockEntityTarget but copyData has no block-entity overload and exposes no public block-entity NbtProvider factory, so build one by parsing BLOCK_ENTITY's serialized name through the public inline codec. Regenerated tables now emit source: "block_entity" (the correct, working value) and pick up 26.2 format cleanups. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ports ImprovedSigns from 26.1.2 to Minecraft 26.2, following the Fabric 26.2 blog and verifying every API change against the decompiled 26.2 source (no guesses).
Versions
Java stays 25.
fabric.mod.jsondepends bumped tominecraft ~26.2,fabricloader >=0.19.3(the old~26.1.2would have refused to load on 26.2).API changes
ChatFormatting.X.getColor()removed —ChatFormattingis now a bare enum. Switched toTextColor.X.getValue().InventoryChangeTriggermoved package:net.minecraft.advancements.criterion→net.minecraft.advancements.triggers.Block.popResource,ItemFrame.interact/removeFramedMap,SignItem.updateCustomBlockEntityTag,SignBlock.openTextEdit).Loot datagen fix (sign-retain-on-break)
LootTableDatagenwas callingcopyData(EntityTarget.TARGET_ENTITY), which serializessource: "target_entity"— it reads an entity, which is wrong for block drops and would break the mod's retain-text-on-break feature (the committed JSON was stale-but-correct from older code).26.2 adds
LootContext.BlockEntityTarget.BLOCK_ENTITY, butCopyCustomDataFunction.copyDatahas no block-entity overload and exposes no public block-entityNbtProviderfactory. Fixed by building the provider fromBLOCK_ENTITY's serialized name through the publicContextNbtProvider.INLINE_CODEC. Regenerated loot tables now correctly emitsource: "block_entity"and also pick up the 26.2 datagen format cleanups (dropped defaultbonus_rolls/count/category).Release workflow
publish.ymlRELEASE_NAMEandCHANGE_LOGbumped to 26.2. Mod version stays 1.6.0, matching the convention for pure MC ports (it carried unchanged through the 1.21.9 / 1.21.11 / 26.1.2 ports).Verification
./gradlew build✅./gradlew runDatagen✅ (mod loads, registers, mixins init; loot tables emitblock_entity)