Conversation
🚀 Release PreviewThis pull request will trigger a new release when merged. Release notes0.8.0 (v0.7.0...v0.8.0) (2026-04-03)Features |
|
🎉 This PR is included in version 0.8.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
There was a problem hiding this comment.
Pull request overview
Updates this Fabric mod to target Minecraft 26.1 and Java 25, including moving source code to the newer Mojang-named Minecraft packages/APIs and updating build/release tooling accordingly.
Changes:
- Bumps Minecraft/Fabric Loader/Fabric API versions and updates mixin targets/signatures for the new game version.
- Migrates Java sources/tests to new Minecraft package names and API method names.
- Updates Gradle wrapper/tooling and CI to build with Java 25.
Reviewed changes
Copilot reviewed 11 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/main/resources/scripts-chunk-loaders.mixins.json |
Updates mixin compatibility level and mixin class name. |
src/main/resources/fabric.mod.json |
Updates dependency constraints (Minecraft/Java/loader). |
src/main/java/io/nihlen/scriptschunkloaders/mixin/DispenserBlockMixin.java |
Adapts dispenser hook + entity query to new server/world APIs. |
src/main/java/io/nihlen/scriptschunkloaders/mixin/AbstractMinecartMixin.java |
Ports chunk-loader behavior to AbstractMinecart and new serialization/teleport APIs. |
src/main/java/io/nihlen/scriptschunkloaders/ChunkLoaderManager.java |
Ports world/dimension + forced-chunk APIs and tick event hook. |
src/gametest/java/io/nihlen/scriptschunkloaders/ScriptsChunkLoadersGameTest.java |
Updates GameTest API usage and component naming APIs. |
gradlew, gradlew.bat, gradle/wrapper/* |
Updates Gradle wrapper scripts/jar/properties. |
gradle.properties |
Bumps version properties for Minecraft/loader/Fabric API. |
build.gradle |
Updates Loom plugin id, Java 25 target, and Modrinth upload configuration. |
.github/workflows/release.yml |
Builds releases using Java 25. |
Comments suppressed due to low confidence (2)
src/main/java/io/nihlen/scriptschunkloaders/mixin/AbstractMinecartMixin.java:123
lastChunkPos != chunkPoscompares object identity, not chunk coordinates. SincechunkPosition()will often return a newChunkPosinstance each tick, this condition can become true every tick and repeatedly re-register the chunk loader (log spam + extra work). Compare by value instead (e.g.,!chunkPos.equals(lastChunkPos)), and updatelastChunkPosaccordingly.
src/main/java/io/nihlen/scriptschunkloaders/mixin/AbstractMinecartMixin.java:80- There is an extra trailing semicolon after the
ifblock. It compiles as an empty statement, but it’s unintended and makes control flow harder to read—please remove it.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| forceLoadedChunks.keySet().forEach(worldRegistryKey -> { | ||
| ServerWorld world = server.getWorld(worldRegistryKey); | ||
| ServerLevel world = server.getLevel(worldRegistryKey); | ||
| updateChunkLoaders(world); |
There was a problem hiding this comment.
server.getLevel(worldRegistryKey) can return null (e.g., if a dimension is not loaded). updateChunkLoaders(world) will then throw. Add a null check before calling updateChunkLoaders (and consider pruning forceLoadedChunks for unloaded levels if needed).
| updateChunkLoaders(world); | |
| if (world != null) { | |
| updateChunkLoaders(world); | |
| } |
No description provided.