Skip to content

Conversation

@eclipseisoffline
Copy link
Contributor

@eclipseisoffline eclipseisoffline commented Dec 6, 2025

This PR updates the mod to 1.21.11. The source code has been changed to use Mojang's official mappings instead of Fabric's Yarn mappings, to prepare for Minecraft 26.1, where Minecraft will be published deobfuscated and Yarn will no longer be supported.

All nullability annotations have been switched to use JSpecify, which provides good IDE integration and is in line with Minecraft 1.21.11. All packages within the source code have been null-marked by adding a package-info.java file to them with the @NullMarked annotation in it. This means that all source code has been implicitly marked @NonNull, which is also in line with Minecraft 1.21.11 and stops constant IDE nullability warnings when using e.g. Minecraft classes with generics. Furthermore, all code accepting null values has been properly annotated with @Nullable.

The SubCommand interface has been refactored to have a register method instead of a build one, which builds a sub-command node and registers it to a root node as well. This leads to a safer design, where sub-commands can only be registered before the root node is registered to the command dispatcher.

The auto_locking_containers list in the mod's config has been turned into a map, allowing the lock type to be configured for each auto-locking container, like so:

"auto_locking_containers": {
  "minecraft:chest": "private",
  "minecraft:trapped_chest": "private",
  "minecraft:blast_furnace": "private",
  "minecraft:barrel": "private",
  "minecraft:smoker": "private",
  "minecraft:furnace": "private",
  "#minecraft:copper_chests": "public",
  "#minecraft:shulker_boxes": "public"
}

The above configuration locks copper chests and shulker boxes as public, and all other listed containers as private. Older configuration files are automatically updated, with all auto-locking containers defaulting to private locks, conform to the behaviour before.

Lastly, the fabric.mod.json file has been updated to depend on fabric-api instead of fabric, and its contact links have been made up-to-date.

@eclipseisoffline
Copy link
Contributor Author

The PR builds and runs on 1.21.11 and should be ready to review now, it may be easier to review the commits after remapping to Mojmap sources separately.

Copy link
Member

@PotatoPresident PotatoPresident left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great

@PotatoPresident PotatoPresident merged commit 5e5f74c into QuiltServerTools:master Dec 14, 2025
2 checks passed
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.

2 participants