Conversation
Minecraft 26.2 ships unobfuscated, so Fabric dropped Yarn mappings and switched to the non-remapping net.fabricmc.fabric-loom plugin. Ports the Fabric module to this new toolchain (Loom 1.17, Gradle 9.5.1, Fabric Loader 0.19.5, Fabric API 0.160.0+26.2, Java 25), renaming all Minecraft/Fabric API references from Yarn to Mojang's official names and adapting to genuine API changes (the new permission-set system, the toast extractRenderState rendering pattern). Drops the access widener entirely since ClientPacketListener#sendCommand is now public. Verified with a real Minecraft 26.2 dedicated server: mod loads, config writes, a differential backup completes, and the CLI restore tool successfully exports a backup. Also wires up build.yml/publish.yml CI for the new module.
84b5518 to
1f0e340
Compare
Ports NeoForge and Spigot to Minecraft 26.2 / Java 25, following the Fabric 26.2 port. Both were far lighter than Fabric's Yarn-to-Mojang rewrite since NeoForge already compiled against Mojang's official names and Spigot is fully insulated by the Bukkit API: - NeoForge: toolchain moves to ModDevGradle (net.neoforged.moddev), NeoForge 26.2.0.87, Java 25. Renames ResourceLocation to Identifier (a genuine Mojang-side rename, not a mapping-convention artifact), ports the toast draw -> extractRenderState rendering change, and swaps the now-removed int-based hasPermission(s) convenience methods for the new PermissionSet/Permissions API. Drops the access transformer's lastSeenMessages entry since ClientPacketListener's sendCommand is now public. - Spigot: bumps to Java 25 and the 26.2 Spigot-API artifact. BuildTools confirmed the server jar is Mojang-mapped natively now, so the io.github.patrick.remapper plugin and its remap step are no longer needed and were removed entirely. No source changes required. Also wires up build.yml/publish.yml CI for both new modules. Verified with real servers: NeoForge's dev runServer and a genuine BuildTools-built Spigot 26.2 server both load the plugin/mod, write config, and reach "Done" with no errors.
|
Hello @HeatherComputer TLDR; my itch is healed - I have a working 26.2 backup. Feel free to use this pull request however you see fit. (ignore it, use it as an inspiration, merge it,...) ;-) Cheers, |
|
Hiya - I'm not a fan of AI code, partially because it has a habit of producing buggy and hard to debug code. With that said - I'm going to leave this open for visibility. I know there's a demand (including from myself) for AdvancedBackups on more modern versions, and that WILL happen in an official capacity. I'm currently working on an api known as Go!Agnostic. When done, it'll support all versions AdvancedBackup currently does, along with most versions that have released since then. Crucially, AdvancedBackups will be able to build targeting Go!Agnostic and NOT any singular minecraft version. This will make porting significantly easier not just for AdvancedBackups but also other mods of mine - both current and future. |
|
Just my two cent: I partially agree on the buggy code part. However, since AI just took existing code, did version bumps and fixed the names of the classes/methods that changed, plus the method signature changes needed for the permissions, I still believe it's ok for this use case. Following up with these is a chore, no design work. And AI is good in doing chores. |
Minecraft 26.2 ships unobfuscated, so Fabric dropped Yarn mappings and switched to the non-remapping net.fabricmc.fabric-loom plugin. Ports the Fabric module to this new toolchain (Loom 1.17, Gradle 9.5.1, Fabric Loader 0.19.5, Fabric API 0.160.0+26.2, Java 25), renaming all Minecraft/Fabric API references from Yarn to Mojang's official names and adapting to genuine API changes (the new permission-set system, the toast extractRenderState rendering pattern). Drops the access widener entirely since ClientPacketListener#sendCommand is now public.
Verified with a real Minecraft 26.2 dedicated server: mod loads, config writes, a differential backup completes, and the CLI restore tool successfully exports a backup.
Also wires up build.yml/publish.yml CI for the new module.
co-authored with Claude code.