Quilt loader 0.25.0 Changelog

Features:

  • #414 Add a new @Requires annotation.
    • This is similar to @ClientOnly or @DedicatedServerOnly, but instead removes an annotated element if the mod(s) specified are not present. For example:
public class MyOptionalTrinketItem extends Item implements @Requires("trinkets") Trinket {
    @Override
    @Requires("trinkets")
    public Multimap<EntityAttribute, EntityAttributeModifier> getModifiers(ItemStack stack, SlotReference slot, LivingEntity entity, UUID uuid) {
        // ...
    }
}
  • #413 Include the reason in breakage errors (EnnuiL)
  • Also check the game provider jar to see if it contains a mod.
    • This was added for Cosmic Quilt, it doesn’t affect Minecraft, but it may be useful to other game providers.
  • Populate the full package definition from META-INF/MANIFEST.MF for mods.
    • This means java.lang.Package will now contain get(Specification|Implementation)(Title|Version|Vendor), if they are defined by mods.

Bug Fixes:

  • Fixed the forked error window throwing errors too early if it cannot create the new process
  • Fixed @DedicatedServerOnly and @ClientOnly not working when applied to packages.
  • Fixed access transformers not asking the game provider for the game’s ID.
    • Access transformers can still only be applied to the current game.