- Debug flow diagrams for MixinExtras expressions.
- An inspection to replace
INVOKE_ASSIGNwith MixinExtras expressions where possible.- Expressions are preferred because
INVOKE_ASSIGNdoesn't fail if there's no assignment.
- Expressions are preferred because
- Performance improvements for shadow completions.
- Smarter warnings for discouraged shifting
- Shifting is now always discouraged on injectors that can't inject on any instruction in the method (such as
@Redirect). - When MixinExtras expressions are being used, the discourage shifting logic now takes into account the type of expression.
- Shifting is now always discouraged on injectors that can't inject on any instruction in the method (such as
- Mixin navigation to lambdas has been improved. MinecraftDev will now properly detect that a synthetic method will be
generated for method references in the following additional cases:
- All array method references.
- Method references to a superclass method (
super::foo). - Constructor method references for a non-static inner class.
- Previously, all constructor method references were incorrectly assumed to generate a synthetic method.
- Varargs parameter expansions.
- Access to private methods in an outer or inner class before Java 9.
- Access to protected methods in the superclass of an outer class, if the superclass is in a different package.
- Cases where the functional interface method being implemented has a parameter which is an intersection type (a type parameter extending multiple things).
- Fixed "generate accessor/invoker" action not doing anything.
- Fixed Mixin version detection in legacy/non-standard Minecraft environments. The Mixin version is now taken from the
MixinBootstrapclass, rather than attempting to decipher it from the library artifact. - Fixed
@Coerceon return type wanting subtypes not supertypes. - Fixed the "add definition" quick-fix for MixinExtras expressions creating a "dummy" definition since 2025.1
- Fixed incorrect unused warnings on MixinExtras expression definitions
- Fixed "find usages" on MixinExtras expression definitions
- Fixed IDE error that sometimes occurs when navigating to mixin target
- Fixed mixin navigation to field assignments.
- Support injection point specifiers everywhere
- Support for the 2025.2 EAP
- Demote a couple of mixin inspections from error to warning
- Allow handler methods to be static even when not required, except for
@Injecton stock mixin - Allow
CallbackInfoReturnable.cancel()in MixinCancellableInspection - Check bases for
CIR.cancel() - Allow
.awas alternative access widener file extension - Remove shadow completions explicit proximity
- #2148 Allow assignment to
@Finalfields in class initializer blocks - #2468 entrypoint checks on non-ending parts of entrypoint references, and handle escapes in entrypoint reference strings
- #2470 Various Mixin fixes
@Shadowsuggestions being incorrectly prioritizedNoSuchElementExceptionin MixinAnnotationTargetInspectionIllegalStateExceptionwhen typing a colon in Java code
- Added datagen to Fabric project templates
- #2391 Project creator template repo and maven repo authorization
- this makes it possible to use private GitHub or GitLab repos, or any URL that requires an HTTP
Authorizationor custom header to access - it also supports authenticating to Maven repos to list versions when using a
maven_artifact_versionproperty in your template through basic authentication
- this makes it possible to use private GitHub or GitLab repos, or any URL that requires an HTTP
- #2394
Write-unsafe contexterrors when using the project creator - #2406
IllegalStateException: Constraint inSmartMode cannot be satisfiedwhen opening a project - #2382 No Parchment version was selectable when using a version of Minecraft that Parchment doesn't support explicitly
- In this case, the creator will now select the latest version available for the latest Minecraft version supported by Parchment
- #2408 External translation annotations are not attached
- This happens because IntelliJ IDEA disables external annotations by default in 2024.3, which we rely on for this feature, an opt-out setting has been added to force-enable external annotations in Minecraft projects.
- Cases where references to client sources in fabric.mod.json were not resolved
plugin.yml,paper-plugin.ymlandbungee.ymlmain class reference and validity inspectionmods.tomlandneoforge.mods.tomldocumentation for lookup elements- Support for split strings within inspections and method target references in Mixins (#2358)
- Mouse ungrab on breakpoint hit while running a Gradle task
- JSON5 support to mixin config jsons (#2375)
- Value types in mods.toml key completion
- Mixin injection signature fix preview
- Loom 1.8 support
- K2 mode compatibility
- #2385 ModDevGradle Vanilla-Mode support
- More reliable ClassFqn creator property suggestions and validation
- Lang spellchecking now works in dumb mode
- #2362 CME in fabric.mod.json
- Ignored annotations registrations
- NeoGradle and NeoModDev Minecraft version import
- #2360
Class initialization must not depend on serviceserror - #2376 Error when generating event listeners in read only file
- #2308 Mixin Inject signature fix adds last parameter as first local
- #1813 Single character Accessor targets aren't inferred correctly
- #1886 Sync error in ForgeGradle composite builds
- Access widener completion in fabric.mod.json
- Event listener generation for Kotlin
JUMPinjection point support (without source navigation)- Inspection highlighting that
JUMPusages are discouraged - Inspection highlighting discouraged instruction shifts
- Inspections for when @Inject local capture is unused and for when they can be replaced with @Local
- #2306 Use mixin icon for mixin classes
- Documentation while completing keys in mods.toml
- mods.toml support for neoforge.mods.toml
- Automatically insert an
=after completing a mods.toml key
- #2330 Reformat created files without keeping line breaks. Fixes the Velocity main class annotation's bad formatting.
- #2331 Support fabric.mod.json in test resources
- MixinExtras occasional cache desync (#2335)
- #2163
@ModifyVariablemethod signature checking withSTORE - #2282 Mixin support confusion with
$and.separators in class names - Recent NeoModDev version import errors
- Recommended Artifact ID value was not sanitized properly
- NeoForge versions in the Architectury were not being matched correctly for the first version of a major Minecraft release
This release contains two major features:
The new project creator is very similar to the previous one but has a few advantages:
- The templates are now stored on a separate repository and updated the first time you open the creator. This allows us to release template updates independently of plugin releases.
- You can create your own custom templates in their own repositories, which can be:
- flat directories
- local ZIP archives
- remote ZIP archives (like the built-in templates)
- Kotlin templates were added to all platforms except Forge and Architectury (couldn't get the Forge one to work, will look into it later)
- Fabric now has a split sources option
- Some niche options like the plugins dependencies fields were removed as their use was quite limited
- Remembered field values won't be ported over to the new creator, so make sure to configure your Group ID under Build System Properties!
- The old creator will be kept for a few months to give us the time to fix the new creator, please report any issues on the issue tracker
- Initial support for NeoForge's ModDevGradle
- Option to force json translation and configurable default i18n call (#2292)
- Minecraft version detection for Loom-based projects
- Other JVM languages support for translation references, inspections and code folding
- Repo-based project creator templates (#2304)
- Support for MixinExtras expressions (#2274)