Skip to content

Loom 1.0

Compare
Choose a tag to compare
@modmuss50 modmuss50 released this 28 Aug 10:38
· 17 commits to dev/1.0 since this release
  • Split incoming mod dependencies when using split common/client sourcesets.
  • Improvements to error handling/reporting and bad state recovery, reducing the need for clearing caches or --refresh-dependencies.
  • Add API to configure mod remapping configurations (clientModImplementation is added when using split sourcesets)
  • Improve VSCode launch configurations for multi project builds.
  • Use Java argfiles to support long command lines (Lots of dependencies). (Also worksaround a crash with newer AMD drivers)
  • Include client only entries manifest entry in sources jar.
  • Add stable APIs for use by the "MinecraftDev" intelij plugin.
  • Add DSL for the Mixin annotation processor message levels.
  • Support setting environment variables in run configurations.
  • Use TinyRemapper's Ref counting FileSystemHandler.
  • Rewrite download handling to be more resilient and maintainable.
  • Add (opt-in) ValidateMixinNames task to validate mixin class names match their target.
  • A wide range of smaller bug fixes and performance improvements.

This update is focused around finalising the split sourceset feature and improving the reliability of loom overall. Loom will now attempt to recover from a previously failed or canceled build. The move to version 1.0 will allow us to better denote any breaking API changes to future loom versions.

Split common/client code

Loom 1.0 provides a full suite of tools to build a mod with split common/client code. The previous loom version introduced compile time safety when compiling against Minecraft code. Loom 1.0 expands this to incoming mod dependencies such as Fabric API. Any mod dependency that was also built with this will be split and applied to the correct sourceset, this ensures that you cannot depend on a client only API from your common code.

Please see the updated Loom wiki page with details on how to enable this for your project. https://fabricmc.net/wiki/documentation:fabric_loom

To update please set your loom version to 1.0-SNAPSHOT at the top of your build.gradle file.