⁠
joe: Add UNSURE option to MissingLVTChecker, and don't warn about not using `Local.name` when unsure. Also add inspections about using `Local.name` when there is definitely no LVT. Fixes #2646
- <!--
- Minecraft Development for IntelliJ
-
- https://mcdev.io/
-
- Copyright (C) 2026 minecraft-dev
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, version 3.0 only.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
- -->
-
- <idea-plugin require-restart="true">
-
- <dependencies>
- <plugin id="com.intellij.modules.java" />
- <plugin id="org.jetbrains.idea.maven" />
- <plugin id="com.intellij.gradle" />
- <plugin id="org.intellij.groovy" />
- <plugin id="com.intellij.properties" />
- <plugin id="com.intellij.modules.json" />
- <plugin id="ByteCodeViewer" />
- <module name="intellij.platform.collaborationTools"/>
- </dependencies>
-
- <depends optional="true" config-file="mcdev-kotlin.xml">org.jetbrains.kotlin</depends>
- <depends optional="true" config-file="mcdev-toml.xml">org.toml.lang</depends>
- <depends optional="true" config-file="mcdev-yaml.xml">org.jetbrains.plugins.yaml</depends>
-
- <id>com.demonwav.minecraft-dev</id>
- <name>Minecraft Development</name>
- <vendor email="[email protected]" url="https://mcdev.io/">minecraft-dev</vendor>
-
- <description><![CDATA[
- Provides first-class support for every major Java Minecraft modding or plugin development platform, including:
- <ul>
- <li>Bukkit</li>
- <li>Spigot</li>
- <li>Paper</li>
- <li>Sponge</li>
- <li>Forge</li>
- <li>NeoForge</li>
- <li>Fabric</li>
- <li>Architectury</li>
- <li>Velocity</li>
- <li>BungeeCord</li>
- </ul>
-
- Also includes additional features supporting MCP mappings and Mixins for mod development. This plugin also
- includes a text-based NBT editor.
- ]]></description>
-
- <resource-bundle>messages.MinecraftDevelopmentBundle</resource-bundle>
-
- <change-notes><![CDATA[
- Please report issues to <a href="https://github.com/minecraft-dev/MinecraftDev/issues">the issue tracker</a>!
- ]]>
- </change-notes>
-
- <extensionPoints>
- <extensionPoint name="creatorPropertyType"
- beanClass="com.demonwav.mcdev.creator.custom.types.CreatorPropertyFactoryBean" dynamic="true">
- <with attribute="implementation"
- implements="com.demonwav.mcdev.creator.custom.types.CreatorPropertyFactory"/>
- </extensionPoint>
- <extensionPoint name="creatorTemplateProvider"
- beanClass="com.demonwav.mcdev.creator.custom.providers.TemplateProviderBean" dynamic="true">
- <with attribute="implementation" implements="com.demonwav.mcdev.creator.custom.providers.TemplateProvider"/>
- </extensionPoint>
- <extensionPoint name="creatorFinalizer"
- beanClass="com.demonwav.mcdev.creator.custom.finalizers.CreatorFinalizerBean" dynamic="true">
- <with attribute="implementation"
- implements="com.demonwav.mcdev.creator.custom.finalizers.CreatorFinalizer"/>
- </extensionPoint>
-
- <extensionPoint name="mixinSelectorParser" interface="com.demonwav.mcdev.platform.mixin.reference.MixinSelectorParser" dynamic="true"/>
- <extensionPoint name="mixinAnnotationHandler" beanClass="com.demonwav.mcdev.platform.mixin.handlers.MixinAnnotationHandlerInfo" dynamic="true">
- <with attribute="implementation" implements="com.demonwav.mcdev.platform.mixin.handlers.MixinAnnotationHandler"/>
- </extensionPoint>
- <extensionPoint name="shadowTargetResolver"
- interface="com.demonwav.mcdev.platform.mixin.handlers.ShadowTargetResolver" dynamic="true"/>
- <extensionPoint name="injectionPoint"
- beanClass="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InjectionPointInfo"
- dynamic="true">
- <with attribute="implementation"
- implements="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InjectionPoint"/>
- </extensionPoint>
- <extensionPoint name="injectionPointAnnotation"
- beanClass="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InjectionPointAnnotation"
- dynamic="true"/>
- <extensionPoint name="missingLVTChecker"
- interface="com.demonwav.mcdev.platform.mixin.util.MissingLVTChecker"
- dynamic="true"/>
-
- <extensionPoint name="eventGenHelper" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
- <with attribute="implementationClass" implements="com.demonwav.mcdev.insight.generation.EventGenHelper"/>
- </extensionPoint>
- </extensionPoints>
-
- <extensions defaultExtensionNs="com.demonwav.minecraft-dev">
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.ArchitecturyVersionsCreatorProperty$Factory"
- type="architectury_versions"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.BooleanCreatorProperty$Factory"
- type="boolean"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.BuildSystemCoordinatesCreatorProperty$Factory"
- type="build_system_coordinates"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.ClassFqnCreatorProperty$Factory"
- type="class_fqn"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.FabricVersionsCreatorProperty$Factory"
- type="fabric_versions"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.FabricGameVersionCreatorProperty$Factory"
- type="fabric_game_version"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.ForgeVersionsCreatorProperty$Factory"
- type="forge_versions"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.GradlePluginSelectorCreatorProperty$Factory"
- type="gradle_plugin"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.InlineStringListCreatorProperty$Factory"
- type="inline_string_list"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.IntegerCreatorProperty$Factory"
- type="integer"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.JdkCreatorProperty$Factory"
- type="jdk"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.LicenseCreatorProperty$Factory"
- type="license"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.MavenArtifactVersionCreatorProperty$Factory"
- type="maven_artifact_version"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.NeoForgeVersionsCreatorProperty$Factory"
- type="neoforge_versions"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.PaperVersionCreatorProperty$Factory"
- type="paper_versions"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.ParchmentCreatorProperty$Factory"
- type="parchment"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.SemanticVersionCreatorProperty$Factory"
- type="semantic_version"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.StringCreatorProperty$Factory"
- type="string"/>
-
- <creatorTemplateProvider key="builtin"
- implementation="com.demonwav.mcdev.creator.custom.providers.BuiltinTemplateProvider"/>
- <creatorTemplateProvider key="remote"
- implementation="com.demonwav.mcdev.creator.custom.providers.RemoteTemplateProvider"/>
- <creatorTemplateProvider key="local"
- implementation="com.demonwav.mcdev.creator.custom.providers.LocalTemplateProvider"/>
- <creatorTemplateProvider key="archive"
- implementation="com.demonwav.mcdev.creator.custom.providers.ZipTemplateProvider"/>
-
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.ImportGradleProjectFinalizer"
- type="import_gradle_project"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.AddGradleRunConfigFinalizer"
- type="add_gradle_run"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.ImportMavenProjectFinalizer"
- type="import_maven_project"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.AddMavenRunConfigFinalizer"
- type="add_maven_run"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.RunGradleTasksFinalizer"
- type="run_gradle_tasks"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.GitAddAllFinalizer"
- type="git_add_all"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.GenerateFilesFinalizer"
- type="generate_files"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.ReplaceInFileFinalizer"
- type="replace_in_file"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.RunNpmPackageFinalizer"
- type="run_npm_package"/>
-
- <mixinSelectorParser id="regex" implementation="com.demonwav.mcdev.platform.mixin.reference.MixinRegexParser"
- order="before memberReference"/>
- <mixinSelectorParser id="memberReference"
- implementation="com.demonwav.mcdev.platform.mixin.reference.MixinMemberParser"/>
- <mixinSelectorParser
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.NewInsnSelectorParser"
- order="before memberReference"/>
- <mixinSelectorParser implementation="com.demonwav.mcdev.platform.mixin.reference.DescSelectorParser"/>
-
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.Overwrite"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.OverwriteHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.Shadow"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ShadowHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.gen.Accessor"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.AccessorHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.gen.Invoker"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.InvokerHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.Inject"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.InjectAnnotationHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.ModifyArg"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ModifyArgHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.ModifyArgs"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ModifyArgsHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.ModifyConstant"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ModifyConstantHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.ModifyVariable"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ModifyVariableHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.Redirect"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.RedirectInjectorHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.ModifyExpressionValue"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.ModifyExpressionValueHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.ModifyReceiver"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.ModifyReceiverHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.ModifyReturnValue"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.ModifyReturnValueHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.WrapMethodHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.WrapOperationHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.WrapWithCondition"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.WrapWithConditionHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.v2.WrapWithCondition"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.WrapWithConditionHandler"/>
-
- <injectionPoint atCode="INVOKE"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InvokeInjectionPoint"/>
- <injectionPoint atCode="INVOKE_ASSIGN"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InvokeAssignInjectionPoint"/>
- <injectionPoint atCode="INVOKE_STRING"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.ConstantStringMethodInjectionPoint"/>
- <injectionPoint atCode="FIELD"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.FieldInjectionPoint"/>
- <injectionPoint atCode="NEW"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.NewInsnInjectionPoint"/>
- <injectionPoint atCode="HEAD"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.HeadInjectionPoint"/>
- <injectionPoint atCode="RETURN"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.ReturnInjectionPoint"/>
- <injectionPoint atCode="TAIL"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.TailInjectionPoint"/>
- <injectionPoint atCode="CTOR_HEAD"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.CtorHeadInjectionPoint"/>
- <injectionPoint atCode="LOAD"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.LoadInjectionPoint"/>
- <injectionPoint atCode="STORE"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.StoreInjectionPoint"/>
- <injectionPoint atCode="CONSTANT"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.ConstantInjectionPoint"/>
- <injectionPoint atCode="JUMP"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.JumpInjectionPoint"/>
- <injectionPoint atCode="MIXINEXTRAS:EXPRESSION"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.ExpressionInjectionPoint"/>
-
- <injectionPointAnnotation annotation="org.spongepowered.asm.mixin.injection.Constant" atCode="CONSTANT"/>
-
- <missingLVTChecker implementation="com.demonwav.mcdev.platform.mixin.util.MinecraftMissingLVTChecker"/>
-
- <eventGenHelper language="JAVA" implementationClass="com.demonwav.mcdev.insight.generation.JavaEventGenHelper"/>
- </extensions>
-
- <extensions defaultExtensionNs="com.intellij">
- <!-- This is grouped in the following order EXCEPT for localInspections and moduleTypes. All localInspections are grouped at the
- end, but the individual local inspections themselves should also be ordered in this way.
- * No platform
- * Adventure
- * Bukkit
- * Sponge
- * Forge
- * NeoForge
- * Fabric
- * Minecraft
- * Mixin
- * Velocity
- * BungeeCord
- -->
-
- <!--region NO PLATFORM-->
- <!---->
-
- <moduleBuilder id="CUSTOM_MINECRAFT_MODULE"
- builderClass="com.demonwav.mcdev.creator.custom.CustomMinecraftModuleBuilder"/>
- <postStartupActivity implementation="com.demonwav.mcdev.creator.custom.TemplateProjectFinalizerActivity"/>
- <facetType implementation="com.demonwav.mcdev.facet.MinecraftFacetType"/>
- <postStartupActivity implementation="com.demonwav.mcdev.facet.MinecraftFacetDetector"/>
- <notificationGroup id="Minecraft project creator" key="notification.group.minecraft_project_creator" displayType="STICKY_BALLOON"/>
- <notificationGroup id="Minecraft facet" key="notification.group.minecraft_facet" displayType="STICKY_BALLOON"/>
- <postStartupActivity implementation="com.demonwav.mcdev.update.OutdatedIdeChecker"/>
- <notificationGroup id="Minecraft Development updates" key="notification.group.minecraft_development_updates" displayType="STICKY_BALLOON"/>
-
- <!-- File templates are for project creations -->
- <fileTemplateGroup implementation="com.demonwav.mcdev.util.MinecraftTemplates"/>
-
- <!-- Project-independent Line Marker Providers -->
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.insight.ListenerLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.insight.ColorLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.insight.PluginLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.insight.MapColorLineMarkerProvider"/>
-
- <!-- Project-independent Annotators-->
- <annotator language="UAST" implementationClass="com.demonwav.mcdev.insight.ListenerEventAnnotator"/>
- <annotator language="UAST" implementationClass="com.demonwav.mcdev.insight.ColorAnnotator"/>
-
- <!-- Project-independent Inspection Suppressors -->
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.inspection.StaticListenerInspectionSuppressor"/>
-
- <!-- Project View Node Decorators provide the project icons -->
- <projectViewNodeDecorator implementation="com.demonwav.mcdev.platform.MinecraftProjectViewNodeDecorator"/>
- <deadCode implementation="com.demonwav.mcdev.inspection.PlatformAnnotationEntryPoint"/>
-
- <!-- Application Configurable provides the Minecraft settings page -->
- <applicationConfigurable key="minecraft.settings.display_name"
- id="Settings.Minecraft"
- groupId="language"
- instance="com.demonwav.mcdev.MinecraftConfigurable"/>
- <projectConfigurable key="minecraft.settings.project.display_name"
- id="Settings.Minecraft.Project"
- parentId="Settings.Minecraft"
- instance="com.demonwav.mcdev.MinecraftProjectConfigurable"/>
- <projectConfigurable key="minecraft.settings.lang_template.display_name"
- id="Settings.Minecraft.TranslationTemplate"
- parentId="Settings.Minecraft"
- instance="com.demonwav.mcdev.translations.sorting.TranslationTemplateConfigurable"/>
-
- <!-- NBT -->
- <fileType name="NBT" implementationClass="com.demonwav.mcdev.nbt.filetype.NbtFileType" fieldName="INSTANCE"
- extensions="nbt"/>
- <fileTypeDetector implementation="com.demonwav.mcdev.nbt.filetype.NbtFileTypeDetector"/>
- <fileEditorProvider implementation="com.demonwav.mcdev.nbt.editor.NbtFileEditorProvider"/>
-
- <notificationGroup id="NBT Save Error" key="notification.group.nbt_save_error" displayType="STICKY_BALLOON"/>
- <notificationGroup id="NBT Save Success" key="notification.group.nbt_save_success" displayType="STICKY_BALLOON"/>
-
- <!-- Text representation of NBT -->
- <fileType name="NBTT" language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.NbttFileType"
- fieldName="INSTANCE" extensions="nbtt"/>
- <lang.parserDefinition language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.NbttParserDefinition"/>
- <lang.syntaxHighlighterFactory language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.colors.NbttSyntaxHighlighterFactory"/>
- <lang.braceMatcher language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.NbttBraceMatcher"/>
- <lang.quoteHandler language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.NbttQuoteHandler"/>
- <lang.formatter language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.format.NbttFormattingModelBuilder"/>
- <codeStyleSettingsProvider implementation="com.demonwav.mcdev.nbt.lang.format.NbttCodeStyleSettingsProvider"/>
- <langCodeStyleSettingsProvider
- implementation="com.demonwav.mcdev.nbt.lang.format.NbttLanguageCodeStyleSettingsProvider"/>
- <lang.foldingBuilder language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.format.NbttFoldingBuilder"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.nbt.lang.colors.NbttColorSettingsPage"/>
- <annotator language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.colors.NbttAnnotator"/>
- <additionalTextAttributes scheme="Default" file="colorSchemes/NbttDefault.xml"/>
- <additionalTextAttributes scheme="Darcula" file="colorSchemes/NbttDarcula.xml"/>
- <codeInsight.parameterNameHints language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.format.NbttParameterNameHints"/>
- <lang.fileViewProviderFactory language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.NbttFileViewProviderFactory"/>
-
- <!-- Minecraft localization files -->
- <fileType name="MCLang" language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.LangFileType" fieldName="INSTANCE"
- extensions="lang"/>
- <lang.parserDefinition language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.LangParserDefinition"/>
- <lang.syntaxHighlighterFactory language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.colors.LangSyntaxHighlighterFactory"/>
- <lang.psiStructureViewFactory language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.structure.LangStructureViewFactory"/>
- <lang.findUsagesProvider language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.reference.LangFindUsagesProvider"/>
- <lang.findUsagesProvider language="JSON"
- implementationClass="com.demonwav.mcdev.translations.reference.JsonFindUsagesProvider"
- order="first"/>
- <lang.foldingBuilder language="UAST"
- implementationClass="com.demonwav.mcdev.translations.TranslationFoldingBuilder"/>
- <lang.formatter language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.formatting.LangFormattingModelBuilder"/>
- <lang.commenter language="MCLang" implementationClass="com.demonwav.mcdev.translations.lang.LangCommenter"/>
- <spellchecker.support language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.spellcheck.LangSpellcheckingStrategy"/>
- <psi.referenceContributor language="UAST"
- implementation="com.demonwav.mcdev.translations.reference.UastReferenceContributor"/>
- <psi.referenceContributor language="MCLang"
- implementation="com.demonwav.mcdev.translations.reference.LangReferenceContributor"/>
- <psi.referenceContributor language="JSON"
- implementation="com.demonwav.mcdev.translations.reference.JsonReferenceContributor"/>
- <gotoSymbolContributor
- implementation="com.demonwav.mcdev.translations.reference.TranslationGotoSymbolContributor"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.translations.lang.colors.LangColorSettingsPage"/>
- <renameInputValidator implementation="com.demonwav.mcdev.translations.lang.LangRenameInputValidator"/>
- <editorNotificationProvider
- implementation="com.demonwav.mcdev.translations.TranslationEditorNotificationProvider"/>
- <notificationGroup id="Translations sorting error" key="notification.group.translations_sorting_error" displayType="STICKY_BALLOON"/>
- <notificationGroup id="Translation support error" key="notification.group.translation_support_error" displayType="STICKY_BALLOON"/>
- <elementDescriptionProvider
- implementation="com.demonwav.mcdev.translations.reference.TranslationDescriptionProvider"/>
- <referencesSearch implementation="com.demonwav.mcdev.translations.reference.TranslationReferenceSearch"/>
- <annotator language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.intentions.TranslationFileAnnotator"/>
- <annotator language="JSON"
- implementationClass="com.demonwav.mcdev.translations.intentions.TranslationFileAnnotator"/>
- <intentionAction>
- <language>UAST</language>
- <className>com.demonwav.mcdev.translations.intentions.ConvertToTranslationIntention</className>
- <categoryKey>intention.category.minecraft</categoryKey>
- <descriptionDirectoryName>convertToTranslation</descriptionDirectoryName>
- </intentionAction>
- <codeFoldingOptionsProvider instance="com.demonwav.mcdev.translations.TranslationCodeFoldingOptionsProvider"/>
- <applicationService serviceImplementation="com.demonwav.mcdev.translations.TranslationFoldingSettings"/>
- <typedHandler implementation="com.demonwav.mcdev.translations.lang.LangTypedHandlerDelegate"/>
- <completion.contributor language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.reference.LangCompletionContributor"/>
- <completion.contributor language="JSON"
- implementationClass="com.demonwav.mcdev.translations.reference.JsonCompletionContributor"/>
- <completion.confidence language="JAVA"
- implementationClass="com.demonwav.mcdev.translations.reference.TranslationReferenceCompletionConfidence"
- order="before javaSkipAutopopupInStrings"/>
- <fileBasedIndex implementation="com.demonwav.mcdev.translations.index.TranslationIndex"/>
- <fileBasedIndex implementation="com.demonwav.mcdev.translations.index.TranslationInverseIndex"/>
- <java.externalAnnotation.locationProvider
- implementation="com.demonwav.mcdev.translations.identification.TranslationAnnotationsLocationProvider"/>
- <externalAnnotationsArtifactsResolver
- implementation="com.demonwav.mcdev.translations.identification.TranslationExternalAnnotationsArtifactsResolver"
- order="first"/>
-
- <applicationService serviceImplementation="com.demonwav.mcdev.MinecraftSettings"/>
-
- <errorHandler implementation="com.demonwav.mcdev.errorreporter.ErrorReporter"/>
- <!--endregion-->
-
- <!--region ADVENTURE-->
- <!---->
-
- <dependencySupport coordinate="net.kyori:adventure-api" kind="java"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.adventure.framework.AdventurePresentationProvider"/>
-
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.platform.adventure.color.AdventureColorLineMarkerProvider"/>
- <!--endregion-->
-
- <!--region BUKKIT-->
- <!---->
-
- <dependencySupport coordinate="org.bukkit:bukkit" kind="java"/>
- <dependencySupport coordinate="org.spigotmc:spigot-api" kind="java"/>
- <dependencySupport coordinate="com.destroystokyo.paper:paper-api" kind="java"/>
- <dependencySupport coordinate="io.papermc.paper:paper-api" kind="java"/>
-
- <fileIconProvider implementation="com.demonwav.mcdev.platform.bukkit.BukkitFileIconProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.BukkitPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.SpigotPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.OldPaperPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.PaperPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.ModernPaperPresentationProvider"/>
-
- <!-- Bukkit Completion Contributor -->
-
- <completion.contributor
- language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.bukkit.completion.BukkitEventHandlerCompletionContributor"
- order="first"/>
-
- <defaultLiveTemplates file="/liveTemplates/Bukkit.xml"/>
-
- <liveTemplateMacro implementation="com.demonwav.mcdev.platform.bukkit.macro.BukkitEventNameMacro"/>
-
- <!--endregion-->
-
- <!--region SPONGE-->
- <!---->
-
- <dependencySupport coordinate="org.spongepowered:spongeapi" kind="java"/>
-
- <!-- Sponge Line Marker Provider -->
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.platform.sponge.color.SpongeColorLineMarkerProvider"/>
-
- <implicitUsageProvider implementation="com.demonwav.mcdev.platform.sponge.insight.SpongeImplicitUsageProvider"/>
-
- <!-- Sponge Annotator -->
- <annotator language="UAST" implementationClass="com.demonwav.mcdev.platform.sponge.color.SpongeColorAnnotator"/>
-
- <psi.referenceContributor language="UAST"
- implementation="com.demonwav.mcdev.platform.sponge.reference.SpongeReferenceContributor"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.sponge.framework.SpongePresentationProvider"/>
- <importFilter implementation="com.demonwav.mcdev.platform.sponge.SpongeImportFilter"/>
-
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.suppress.SpongeGetterParamOptionalInspectionSuppressor"/>
-
- <!--endregion-->
-
- <!--region FORGE-->
- <dependencySupport coordinate="net.minecraftforge:forge" kind="java"/>
- <psi.referenceContributor language="JAVA"
- implementation="com.demonwav.mcdev.platform.forge.reflection.reference.ReflectionReferenceContributor"/>
-
- <fileIconProvider implementation="com.demonwav.mcdev.platform.forge.ForgeFileIconProvider"/>
- <implicitUsageProvider implementation="com.demonwav.mcdev.platform.forge.insight.ForgeImplicitUsageProvider"/>
-
- <!-- Forge Annotator -->
- <annotator language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.SidedProxyAnnotator"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.forge.framework.ForgePresentationProvider"/>
- <!--endregion-->
-
- <!--region NEOFORGE-->
- <dependencySupport coordinate="net.neoforged:neoforge" kind="java"/>
-
- <fileIconProvider implementation="com.demonwav.mcdev.platform.neoforge.NeoForgeFileIconProvider"/>
- <implicitUsageProvider
- implementation="com.demonwav.mcdev.platform.neoforge.insight.NeoForgeImplicitUsageProvider"/>
-
- <!-- NeoForge Annotator -->
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.neoforge.framework.NeoForgePresentationProvider"/>
- <!--endregion-->
-
- <!--region FABRIC-->
- <dependencySupport coordinate="net.fabricmc:fabric-loader" kind="java"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.fabric.framework.FabricPresentationProvider"/>
- <fileIconProvider implementation="com.demonwav.mcdev.platform.fabric.FabricFileIconProvider"/>
- <psi.referenceContributor language="JSON"
- implementation="com.demonwav.mcdev.platform.fabric.reference.FabricReferenceContributor"/>
- <resolveScopeEnlarger
- implementation="com.demonwav.mcdev.platform.fabric.reference.FabricModJsonResolveScopeEnlarger"/>
- <useScopeEnlarger implementation="com.demonwav.mcdev.platform.fabric.reference.FabricClientUseScopeEnlarger"/>
- <!--endregion-->
-
- <!--region ARCHITECTURY-->
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.architectury.framework.ArchitecturyPresentationProvider"/>
- <!--endregion-->
-
- <!--region MINECRAFT-->
- <!---->
-
- <externalProjectDataService implementation="com.demonwav.mcdev.platform.minecraft.gradle.MinecraftDataService"/>
- <externalProjectDataService implementation="com.demonwav.mcdev.platform.minecraft.fabricloom.FabricLoomDataService"/>
- <externalProjectDataService
- implementation="com.demonwav.mcdev.platform.minecraft.vanillagradle.VanillaGradleDataService"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.minecraft.framework.MinecraftPresentationProvider"/>
-
- <runConfigurationExtension implementation="com.demonwav.mcdev.platform.minecraft.debug.MinecraftRunConfigurationExtension"/>
-
- <attachSourcesProvider
- implementation="com.demonwav.mcdev.platform.minecraft.fabricloom.FabricLoomDecompileSourceProvider"/>
- <attachSourcesProvider
- implementation="com.demonwav.mcdev.platform.minecraft.vanillagradle.VanillaGradleDecompileSourceProvider"/>
-
- <!-- access transformer file type -->
- <fileType name="Access Transformers" language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtFileType" fieldName="INSTANCE"
- patterns="*_at.cfg"/>
- <lang.parserDefinition language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtParserDefinition"/>
- <lang.syntaxHighlighterFactory language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtSyntaxHighlighterFactory"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.platform.minecraft.at.AtColorSettingsPage"/>
- <lang.commenter language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtCommenter"/>
- <typedHandler implementation="com.demonwav.mcdev.platform.minecraft.at.completion.AtTypedHandlerDelegate"/>
- <completion.contributor language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.completion.AtCompletionContributor"/>
- <gotoDeclarationHandler implementation="com.demonwav.mcdev.platform.minecraft.at.AtGotoDeclarationHandler"/>
- <annotator language="Access Transformers" implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtAnnotator"/>
-
- <!-- class tweaker file type -->
- <fileType name="Class Tweaker" language="Class Tweaker"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtFileType" fieldName="INSTANCE"
- patterns="*.accesswidener;*.aw;*.classtweaker;*.ct"/>
- <lang.parserDefinition language="Class Tweaker"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtParserDefinition"/>
- <lang.syntaxHighlighterFactory language="Class Tweaker"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtSyntaxHighlighterFactory"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.platform.minecraft.ct.CtColorSettingsPage"/>
- <lang.commenter language="Class Tweaker" implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtCommenter"/>
- <annotator language="Class Tweaker" implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtAnnotator"/>
- <completion.contributor language="Class Tweaker"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtCompletionContributor"/>
- <codeInsight.unresolvedReferenceQuickFixProvider
- implementation="com.demonwav.mcdev.platform.minecraft.ct.fixes.CopyAwAccessibleEntryFix$Provider"/>
-
- <moduleService serviceImplementation="com.demonwav.mcdev.platform.minecraft.MinecraftModuleSettings"/>
-
- <gotoSymbolContributor
- implementation="com.demonwav.mcdev.platform.minecraft.navigation.SrgMemberChooseByNameContributor"/>
- <unscrambleSupport implementation="com.demonwav.mcdev.platform.minecraft.fabricloom.TinyUnscrambler"/>
- <unscrambleSupport implementation="com.demonwav.mcdev.platform.minecraft.srg.McpUnscrambler"/>
- <!--endregion-->
-
- <!--region MIXIN-->
- <!---->
-
- <dependencySupport coordinate="org.spongepowered:mixin" kind="java"/>
-
- <!-- Folding -->
- <applicationService serviceImplementation="com.demonwav.mcdev.platform.mixin.folding.MixinFoldingSettings"/>
- <codeFoldingOptionsProvider instance="com.demonwav.mcdev.platform.mixin.folding.MixinFoldingOptionsProvider"/>
- <lang.foldingBuilder language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.folding.MixinObjectCastFoldingBuilder"/>
- <lang.foldingBuilder language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.folding.MixinTargetDescriptorFoldingBuilder"/>
- <lang.foldingBuilder language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.folding.AccessorMixinFoldingBuilder"/>
- <lang.foldingBuilder language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEDefinitionFoldingBuilder"/>
-
- <implicitUsageProvider implementation="com.demonwav.mcdev.platform.mixin.insight.MixinImplicitUsageProvider"/>
- <deadCode implementation="com.demonwav.mcdev.platform.mixin.insight.MixinEntryPoint"/>
-
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.DefaultAnnotationParamInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.DynamicInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.MixinClassCastInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.ShadowOverwriteInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.StaticInvokerUnusedParamInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.suppress.ShadowNullableInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.suppress.SoftImplementInspectionSuppressor"/>
-
- <!-- Mixin completion -->
- <superMethodsSearch
- implementation="com.demonwav.mcdev.platform.mixin.search.MixinSoftImplementMethodSuperSearcher"/>
- <completion.contributor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.completion.MixinCompletionContributor"
- order="first"/>
- <completion.contributor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.completion.AtArgsCompletionContributor"
- order="first"/>
- <psi.referenceContributor language="JAVA"
- implementation="com.demonwav.mcdev.platform.mixin.reference.MixinReferenceContributor"/>
- <gotoDeclarationHandler implementation="com.demonwav.mcdev.platform.mixin.reference.MethodGTDHandler"
- order="first"/>
- <gotoDeclarationHandler implementation="com.demonwav.mcdev.platform.mixin.reference.DescGTDHandler"
- order="first"/>
- <gotoDeclarationHandler
- implementation="com.demonwav.mcdev.platform.mixin.reference.target.DefinitionReferenceGTDHandler"
- order="first"/>
- <gotoDeclarationHandler implementation="com.demonwav.mcdev.platform.mixin.reference.target.TargetGTDHandler"
- order="first"/>
- <completion.confidence language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.completion.MixinCompletionConfidence"
- order="before javaSkipAutopopupInStrings"/>
- <weigher key="completion"
- implementationClass="com.demonwav.mcdev.platform.mixin.completion.MixinCompletionWeigher"
- id="mcdev.mixin" order="first"/>
- <typedHandler implementation="com.demonwav.mcdev.platform.mixin.completion.InjectionPointTypedHandlerDelegate" />
- <typedHandler implementation="com.demonwav.mcdev.platform.mixin.completion.MixinTargetsTypedHandlerDelegate" />
- <typedHandler implementation="com.demonwav.mcdev.platform.mixin.completion.MethodReferenceTypedHandlerDelegate" />
-
- <!-- Mixin configuration -->
- <fileType name="Mixin Json Configuration" language="JSON"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.MixinConfigFileType$Json"
- fieldName="INSTANCE"/>
- <psi.referenceContributor language="JSON"
- implementation="com.demonwav.mcdev.platform.mixin.config.reference.MixinConfigReferenceContributor"/>
- <lang.importOptimizer language="JSON"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.MixinConfigImportOptimizer"/>
-
- <fileType name="Mixin Json5 Configuration" language="JSON5"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.MixinConfigFileType$Json5"
- fieldName="INSTANCE"/>
- <psi.referenceContributor language="JSON5"
- implementation="com.demonwav.mcdev.platform.mixin.config.reference.MixinConfigReferenceContributor"/>
- <lang.importOptimizer language="JSON5"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.MixinConfigImportOptimizer"/>
-
- <!-- Mixin Line Marker Providers -->
- <codeInsight.lineMarkerProvider language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.insight.MixinLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.insight.MixinElementLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.insight.target.MixinTargetLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.insight.target.MixinAccessorTargetLineMarkerProvider"/>
-
- <!-- Mixin Code Vision Providers -->
- <codeInsight.daemonBoundCodeVisionProvider implementation="com.demonwav.mcdev.platform.mixin.insight.target.MixinTargetCodeVisionProvider"/>
- <codeInsight.daemonBoundCodeVisionProvider implementation="com.demonwav.mcdev.platform.mixin.insight.target.AccessorTargetCodeVisionProvider"/>
-
-
- <customJavadocTagProvider implementation="com.demonwav.mcdev.platform.mixin.MixinCustomJavaDocTagProvider"/>
-
- <debugger.positionManagerFactory
- implementation="com.demonwav.mcdev.platform.mixin.debug.MixinPositionManagerFactory" order="last"/>
- <debuggerClassFilterProvider
- implementation="com.demonwav.mcdev.platform.mixin.debug.MixinDebuggerClassFilterProvider"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.mixin.framework.MixinPresentationProvider"/>
-
- <iconLayerProvider implementation="com.demonwav.mcdev.platform.mixin.framework.MixinIconProvider"/>
-
- <!--region MixinExtras Expression Language-->
- <fileType name="MixinExtras Expression File"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionFileType"
- fieldName="INSTANCE"
- language="MEExpression"
- extensions="mixinextrasexpression"/>
- <lang.parserDefinition language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionParserDefinition"/>
- <lang.syntaxHighlighterFactory language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionSyntaxHighlighterFactory"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.platform.mixin.expression.MEExpressionColorSettingsPage"/>
- <annotator language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionAnnotator"/>
- <lang.braceMatcher language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionBraceMatcher"/>
- <lang.quoteHandler language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionQuoteHandler"/>
- <lang.elementManipulator forClass="com.demonwav.mcdev.platform.mixin.expression.gen.psi.MEName"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.psi.MENameElementManipulator"/>
- <lang.findUsagesProvider language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.reference.MEExpressionFindUsagesProvider"/>
- <referencesSearch implementation="com.demonwav.mcdev.platform.mixin.expression.reference.MEDefinitionReferencesSearcher"/>
- <lang.refactoringSupport language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionRefactoringSupport"/>
- <completion.contributor language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionCompletionContributor"/>
- <multiHostInjector implementation="com.demonwav.mcdev.platform.mixin.expression.MEExpressionInjector"/>
- <typedHandler implementation="com.demonwav.mcdev.platform.mixin.expression.MEExpressionTypedHandlerDelegate"/>
- <!--endregion-->
-
- <!--endregion-->
-
- <!--region VELOCITY-->
- <!---->
-
- <dependencySupport coordinate="com.velocitypowered:velocity-api" kind="java"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.velocity.framework.VelocityPresentationProvider"/>
-
- <!--endregion-->
-
- <!--region BUNGEECORD-->
- <!---->
-
- <dependencySupport coordinate="net.md-5:bungeecord-api" kind="java"/>
- <dependencySupport coordinate="io.github.waterfallmc:waterfall-api" kind="java"/>
-
- <fileIconProvider implementation="com.demonwav.mcdev.platform.bungeecord.BungeeCordFileIconProvider"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bungeecord.framework.BungeeCordPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bungeecord.framework.WaterfallPresentationProvider"/>
- <!--endregion-->
-
- <!--region LOCAL INSPECTIONS-->
- <!---->
-
- <!--region NO PLATFORM INSPECTIONS-->
- <localInspection key="inspection.is_cancelled.name"
- groupKey="inspection.group.minecraft"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.inspection.IsCancelledInspection"/>
- <localInspection key="inspection.no_translation.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.NoTranslationInspection"/>
- <localInspection key="inspection.missing_format.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.MissingFormatInspection"/>
- <localInspection key="inspection.superfluous_format.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.SuperfluousFormatInspection"/>
- <localInspection key="inspection.wrong_type_in_translation_args.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.WrongTypeInTranslationArgsInspection"/>
- <localInspection key="inspection.deprecated_translation.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.DeprecatedTranslationInspection"/>
- <localInspection key="inspection.wrong_entity_data_parameter_class.name"
- groupKey="inspection.group.minecraft"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.inspection.WrongEntityDataParameterClassInspection"/>
- <!--endregion-->
-
- <!--region BUKKIT INSPECTIONS-->
- <localInspection key="inspection.bukkit_listener_implemented.name"
- groupKey="inspection.group.bukkit"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.bukkit.inspection.BukkitListenerImplementedInspection"/>
- <!--endregion-->
-
- <!--region SPONGE INSPECTIONS-->
- <localInspection key="inspection.sponge_logging.name"
- groupKey="inspection.group.sponge"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongeLoggingInspection"/>
-
- <localInspection key="inspection.sponge_invalid_getter_target.name"
- groupKey="inspection.group.sponge"
- language="UAST"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongeInvalidGetterTargetInspection"/>
- <localInspection key="inspection.sponge_wrong_getter_type.name"
- groupKey="inspection.group.sponge"
- language="UAST"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongeWrongGetterTypeInspection"/>
-
- <localInspection key="inspection.sponge_injection.name"
- groupKey="inspection.group.sponge"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongeInjectionInspection"/>
- <localInspection key="inspection.sponge_plugin_class.name"
- groupKey="inspection.group.sponge"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongePluginClassInspection"/>
- <!--endregion-->
-
- <!--region FORGE INSPECTIONS-->
- <localInspection key="inspection.nested_class_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.NestedClassSideOnlyInspection"/>
- <localInspection key="inspection.field_declaration_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.FieldDeclarationSideOnlyInspection"/>
- <localInspection key="inspection.method_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.MethodSideOnlyInspection"/>
- <localInspection key="inspection.variable_use_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.VariableUseSideOnlyInspection"/>
- <localInspection key="inspection.method_call_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.MethodCallSideOnlyInspection"/>
- <localInspection key="inspection.new_expression_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.NewExpressionSideOnlyInspection"/>
- <localInspection key="inspection.local_variable_declaration_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.LocalVariableDeclarationSideOnlyInspection"/>
-
- <localInspection key="inspection.missing_message_constructor.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.simpleimpl.MissingMessageConstructorInspection"/>
- <!--endregion-->
-
- <!--region FABRIC INSPECTIONS-->
- <localInspection key="inspection.unresolved_fabric_mod_json_reference.name"
- shortName="UnresolvedFabricModJsonReference"
- groupKey="inspection.group.fabric"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.fabric.inspection.UnresolvedReferenceInspection"/>
- <localInspection key="inspection.fabric_mod_json_entrypoints_validation.name"
- shortName="FabricModJsonEntrypointsValidation"
- groupKey="inspection.group.fabric"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.fabric.inspection.FabricEntrypointsInspection"/>
- <!--endregion-->
-
- <!--region MINECRAFT INSPECTIONS-->
- <localInspection key="inspection.at_usage.name"
- groupKey="inspection.group.minecraft"
- language="Access Transformers"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtUsageInspection"/>
- <localInspection key="inspection.stack_empty.name"
- groupKey="inspection.group.minecraft"
- language="JAVA"
- enabledByDefault="false"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.minecraft.inspections.StackEmptyInspection"/>
- <localInspection key="inspection.duplicate_aw_entry.name"
- groupKey="inspection.group.minecraft"
- language="Class Tweaker"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.inspections.DuplicateAwEntryInspection"/>
- <localInspection key="inspection.unknown_ct_namespace.name"
- groupKey="inspection.group.minecraft"
- language="Class Tweaker"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.inspections.UnknownCtNamespaceInspection"/>
- <!--endregion-->
-
- <!--region MIXIN INSPECTIONS-->
- <!--region Generic -->
- <localInspection key="inspection.non_java_mixin.name"
- shortName="NonJavaMixin"
- groupKey="inspection.group.mixin"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.NonJavaMixinInspection"/>
- <localInspection key="inspection.unused_mixin.name"
- shortName="UnusedMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.UnusedMixinInspection"/>
- <localInspection key="inspection.annotation_outside_of_mixin.name"
- shortName="AnnotationOutsideOfMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinAnnotationsInspection"/>
- <localInspection key="inspection.cancellable_injection_usage.name"
- shortName="CancellableInjectionUsage"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.MixinCancellableInspection"/>
- <localInspection key="inspection.name_doesnt_match_target_class.name"
- shortName="NameDoesntMatchTargetClass"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WEAK WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.MixinParameterNameInspection"/>
- <localInspection key="inspection.invalid_mixin_target.name"
- shortName="InvalidMixinTarget"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinTargetInspection"/>
- <localInspection key="inspection.mixin_super_class.name"
- shortName="MixinSuperClass"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinSuperClassInspection"/>
- <localInspection key="inspection.public_static_mixin_member.name"
- shortName="PublicStaticMixinMember"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.StaticMemberInspection"/>
- <localInspection key="inspection.switch_on_enum_mixin.name"
- shortName="SwitchOnEnumMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.EnumMixinSwitchStatementInspection"/>
- <localInspection key="inspection.mixin_constructor_doesnt_exist.name"
- shortName="MixinConstructorDoesntExist"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinInstantiationWithinMixinInspection"/>
- <localInspection key="inspection.mixin_inner_class.name"
- shortName="MixinInnerClass"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinInnerClassInspection"/>
- <localInspection key="inspection.mixin_wrong_class_type.name"
- shortName="MixinWrongClassType"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinClassTypeInspection"/>
- <localInspection key="inspection.reference_to_mixin.name"
- shortName="ReferenceToMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinClassReferenceInspection"/>
- <!--endregion-->
-
- <!--region Annotation handlers -->
- <localInspection key="inspection.mixin_annotation_target.name"
- shortName="MixinAnnotationTarget"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinAnnotationTargetInspection"/>
- <!--endregion-->
-
- <!--region Added Members Inspections -->
- <localInspection key="inspection.missing_unique.name"
- shortName="MissingUnique"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.addedMembers.MissingUniqueAnnotationInspection"/>
- <localInspection key="inspection.added_mixin_members_name_pattern.name"
- shortName="AddedMixinMembersNamePattern"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.addedMembers.AddedMembersNameFormatInspection"/>
- <localInspection key="inspection.added_enum_constants_name_pattern.name"
- shortName="AddedEnumConstantsNamePattern"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.addedMembers.EnumConstantNameFormatInspection"/>
- <!--endregion-->
-
- <!--region Implements Inspections -->
- <localInspection key="inspection.soft_implement_overrides.name"
- shortName="SoftImplementOverrides"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.SoftImplementOverridesInspection"/>
- <localInspection key="inspection.empty_implements.name"
- shortName="EmptyImplements"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.EmptyImplementsInspection"/>
- <localInspection key="inspection.interface_is_interface.name"
- shortName="InterfaceIsInterface"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.InterfaceIsInterfaceInspection"/>
- <localInspection key="inspection.invalid_interface_prefix.name"
- shortName="InvalidInterfacePrefix"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.InterfacePrefixInspection"/>
- <localInspection key="inspection.duplicate_interface.name"
- shortName="DuplicateInterface"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.DuplicateInterfaceInspection"/>
- <localInspection key="inspection.duplicate_interface_prefix.name"
- shortName="DuplicateInterfacePrefix"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.DuplicateInterfacePrefixInspection"/>
- <!--endregion-->
-
- <!--region Injector Inspections -->
- <localInspection key="inspection.implicit_constructor_invoker.name"
- shortName="ImplicitConstructorInvoker"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.ImplicitConstructorInvokerInspection"/>
- <localInspection key="inspection.inject_could_be_overwrite.name"
- shortName="InjectCouldBeOverwrite"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="false"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.InjectCouldBeOverwriteInspection"/>
- <localInspection key="inspection.inject_into_constructor.name"
- shortName="InjectIntoConstructor"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.InjectIntoConstructorInspection"/>
- <localInspection key="inspection.missing_or_invalid_opcode.name"
- shortName="MissingOrInvalidOpcode"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.InjectorOpcodeInspection"/>
- <localInspection key="inspection.invalid_injector_method_signature.name"
- shortName="InvalidInjectorMethodSignature"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.InvalidInjectorMethodSignatureInspection"/>
- <localInspection key="inspection.modify_variable_may_be_args_only.name"
- shortName="ModifyVariableMayBeArgsOnly"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.ModifyVariableArgsOnlyInspection"/>
- <localInspection key="inspection.modify_variable_may_use_name.name"
- shortName="ModifyVariableMayUseName"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.ModifyVariableMayUseNameInspection"/>
- <localInspection key="inspection.inject_cancellable_before_super_constructor_call.name"
- shortName="InjectCancellableBeforeSuperConstructorCall"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CancellableBeforeSuperCallInspection"/>
- <localInspection key="inspection.ctor_head_no_unsafe.name"
- shortName="CtorHeadNoUnsafe"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CtorHeadNoUnsafeInspection"/>
- <localInspection key="inspection.ctor_head_used_for_non_constructor.name"
- shortName="CtorHeadUsedForNonConstructor"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CtorHeadUsedForNonConstructorInspection"/>
- <localInspection key="inspection.unnecessary_unsafe.name"
- shortName="UnnecessaryUnsafe"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.UnnecessaryUnsafeInspection"/>
- <localInspection key="inspection.ctor_head_post_init.name"
- shortName="CtorHeadPostInit"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CtorHeadPostInitInspection"/>
- <localInspection key="inspection.discouraged_injection_point.name"
- shortName="DiscouragedInjectionPoint"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.DiscouragedInjectionPointInspection"/>
- <localInspection key="inspection.discouraged_shift.name"
- shortName="DiscouragedShift"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.DiscouragedShiftInspection"/>
- <localInspection key="inspection.disallowed_target_insn.name"
- shortName="DisallowedTargetInsn"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.DisallowedTargetInsnInspection"/>
- <localInspection key="inspection.local_capture_fail_exception.name"
- shortName="LocalCaptureFailException"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CaptureFailExceptionInspection"/>
- <localInspection key="inspection.unused_inject_local_capture.name"
- shortName="UnusedInjectLocalCapture"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.UnusedLocalCaptureInspection"/>
- <localInspection key="inspection.inject_local_capture_can_be_replaced_with_local.name"
- shortName="InjectLocalCaptureCanBeReplacedWithLocal"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.InjectLocalCaptureReplaceWithLocalInspection"/>
- <localInspection key="inspection.invoke_assign_can_replaced_with_expression.name"
- shortName="InvokeAssignCanReplacedWithExpression"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.InvokeAssignReplaceWithExpressionInspection"/>
- <!--endregion-->
-
- <!--region Overwrite Inspections -->
- <localInspection key="inspection.overwrite_modifiers.name"
- shortName="OverwriteModifiers"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.overwrite.OverwriteModifiersInspection"/>
- <localInspection key="inspection.overwrite_author_required.name"
- shortName="OverwriteAuthorRequired"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WEAK WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.overwrite.OverwriteAuthorInspection"/>
- <!--endregion-->
-
- <!--region Reference Inspections -->
- <localInspection key="inspection.invalid_member_reference.name"
- shortName="InvalidMemberReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.InvalidMemberReferenceInspection"/>
- <localInspection key="inspection.unresolved_mixin_reference.name"
- shortName="UnresolvedMixinReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.UnresolvedReferenceInspection"/>
- <localInspection key="inspection.ambiguous_mixin_reference.name"
- shortName="AmbiguousMixinReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.AmbiguousReferenceInspection"/>
- <localInspection key="inspection.unqualified_member_reference.name"
- shortName="UnqualifiedMemberReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.UnqualifiedMemberReferenceInspection"/>
- <localInspection key="inspection.unnecessary_qualified_member_reference.name"
- shortName="UnnecessaryQualifiedMemberReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WEAK WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.UnnecessaryQualifiedMemberReferenceInspection"/>
- <!--endregion-->
-
- <!--region Shadow Inspections -->
- <localInspection key="inspection.shadow_modifiers.name"
- shortName="ShadowModifiers"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.ShadowModifiersInspection"/>
- <localInspection key="inspection.shadow_name_doesnt_match_target_class.name"
- shortName="ShadowNameDoesntMatchTargetClass"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WEAK WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.ShadowParameterNameInspection"/>
- <localInspection key="inspection.shadow_field_prefix.name"
- shortName="ShadowFieldPrefix"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.ShadowFieldPrefixInspection"/>
- <localInspection key="inspection.unused_shadow_method_prefix.name"
- shortName="UnusedShadowMethodPrefix"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.UnusedShadowMethodPrefixInspection"/>
- <localInspection key="inspection.shadow_final_modification.name"
- shortName="ShadowFinalModification"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.ShadowFinalInspection"/>
- <localInspection key="inspection.missing_abstract_shadows_in_enum_mixin.name"
- shortName="MissingAbstractShadowsInEnumMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.MissingAbstractShadowsInEnumInspection"/>
- <!--endregion-->
-
- <!--region Mixin Extras -->
- <localInspection key="inspection.mixin_extras_operation_parameters.name"
- shortName="MixinExtrasOperationParameters"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.WrongOperationParametersInspection"/>
- <localInspection key="inspection.mixin_extras_unnecessary_mutable_local.name"
- shortName="MixinExtrasUnnecessaryMutableLocal"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.UnnecessaryMutableLocalInspection"/>
- <localInspection key="inspection.unresolved_local_capture.name"
- shortName="UnresolvedLocalCapture"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.UnresolvedLocalCaptureInspection"/>
- <localInspection key="inspection.local_may_be_args_only.name"
- shortName="LocalMayBeArgsOnly"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.LocalArgsOnlyInspection"/>
- <localInspection key="inspection.local_may_use_name.name"
- shortName="LocalMayUseName"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.LocalMayUseNameInspection"/>
- <localInspection key="inspection.conflicting_share_type.name"
- shortName="ConflictingShareType"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.ConflictingShareTypeInspection"/>
- <localInspection key="inspection.share_non_local_ref.name"
- shortName="ShareNonLocalRef"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.ShareNonLocalRefInspection"/>
- <localInspection key="inspection.wrap_with_condition_targets_non_void.name"
- shortName="WrapWithConditionTargetsNonVoid"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.WrapWithConditionValidNonVoidInspection"/>
- <!--endregion-->
-
- <!--region Configuration -->
- <localInspection key="inspection.unresolved_config_reference.name"
- shortName="UnresolvedConfigReference"
- groupKey="inspection.group.mixin"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.inspection.UnresolvedReferenceInspection"/>
- <localInspection key="inspection.invalid_config_value.name"
- shortName="InvalidConfigValue"
- groupKey="inspection.group.mixin"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.inspection.ConfigValueInspection"/>
- <localInspection key="inspection.invalid_mixin_registration.name"
- shortName="InvalidMixinRegistration"
- groupKey="inspection.group.mixin"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.inspection.MixinRegistrationInspection"/>
- <localInspection key="inspection.invalid_mixin_plugin_registration.name"
- shortName="InvalidMixinPluginRegistration"
- groupKey="inspection.group.mixin"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.inspection.MixinPluginInspection"/>
- <!--endregion-->
- <!--endregion-->
-
- <!--region BUNGEECORD INSPECTIONS-->
- <localInspection key="inspection.bungee_cord_listener_implemented.name"
- groupKey="inspection.group.bungee_cord"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.bungeecord.inspection.BungeeCordListenerImplementedInspection"/>
- <!--endregion-->
- <!--endregion-->
-
- <registryKey defaultValue="true" description="Use the new mappings parser." key="mcdev.new.tsrg.parser"/>
- <registryKey defaultValue="false" description="Assume Minecraft is unobfuscated" key="mcdev.unobfuscated.minecraft"/>
- <registryKey defaultValue="true" description="Warn when the IDE is too old to receive further plugin updates" key="mcdev.outdated.ide.warning"/>
- </extensions>
-
- <extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
- <projectResolve implementation="com.demonwav.mcdev.platform.minecraft.gradle.MinecraftProjectResolverExtension"/>
- <projectResolve
- implementation="com.demonwav.mcdev.platform.minecraft.vanillagradle.VanillaGradleProjectResolverExtension"/>
- <projectResolve implementation="com.demonwav.mcdev.platform.minecraft.fabricloom.FabricLoomProjectResolverExtension"/>
- <projectResolve
- implementation="com.demonwav.mcdev.platform.architectury.framework.ArchitecturyProjectResolverExtension"/>
- </extensions>
-
- <applicationListeners>
- <listener class="com.demonwav.mcdev.translations.TranslationFileListener"
- topic="com.intellij.openapi.vfs.newvfs.BulkFileListener"/>
- </applicationListeners>
-
- <projectListeners>
- <listener class="com.demonwav.mcdev.facet.MinecraftFacetDetector$MinecraftModuleRootListener"
- topic="com.intellij.openapi.roots.ModuleRootListener"/>
- </projectListeners>
-
- <actions>
- <action class="com.demonwav.mcdev.insight.generation.GenerateEventListenerAction"
- id="GenerateEventListener">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
-
- <group id="MinecraftDevToolsGroup" popup="true">
- <add-to-group group-id="ToolsMenu"/>
- </group>
- <action class="com.demonwav.mcdev.update.ConfigurePluginUpdatesAction" id="MinecraftDevConfigureUpdates">
- <add-to-group group-id="MinecraftDevToolsGroup"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.FindMixinsAction" id="FindMixinsAction">
- <add-to-group relative-to-action="EditorPopupMenu2" anchor="after" group-id="EditorPopupMenu"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.GenerateShadowAction" id="GenerateShadowAction">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.GenerateOverwriteAction" id="GenerateOverwriteAction">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.GenerateSoftImplementsAction"
- id="GenerateSoftImplementsAction">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.CopyMixinTargetReferenceAction"
- id="CopyMixinTargetReferenceAction">
- <add-to-group relative-to-action="CopyReference" anchor="after" group-id="Copy.Paste.Special"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.GenerateAccessorAction" id="GenerateAccessorAction">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.expression.gui.MEShowFlowAction" id="MEShowFlowAction"
- popup="true">
- <add-to-group group-id="EditorPopupMenu" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.FindSrgMappingAction" id="FindSrgMappingAction">
- <add-to-group relative-to-action="EditorPopupMenu2" anchor="after" group-id="EditorPopupMenu2"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.CopyAtAction" id="CopyATAction">
- <add-to-group relative-to-action="CopyReference" anchor="after" group-id="Copy.Paste.Special"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.GotoAtEntryAction" id="GotoAtEntry">
- <add-to-group group-id="EditorPopupMenu.GoTo"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.CopyCoremodTargetAction" id="CopyCoremodTargetAction">
- <add-to-group relative-to-action="CopyReference" anchor="after" group-id="Copy.Paste.Special"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.LookupMemberAction" id="LookupMcpMember">
- <keyboard-shortcut first-keystroke="control alt shift M" keymap="$default"/>
- </action>
- <action class="com.demonwav.mcdev.translations.actions.SortTranslationsAction" id="SortMcTranslationsAction">
- <add-to-group relative-to-action="EditorPopupMenu2" anchor="after" group-id="EditorPopupMenu"/>
- </action>
- <action class="com.demonwav.mcdev.insight.generation.MinecraftClassCreateAction" id="CreateMinecraftClass">
- <add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewFile"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.CopyAwAction" id="CopyAWAction">
- <add-to-group relative-to-action="CopyATAction" anchor="after" group-id="Copy.Paste.Special"/>
- </action>
- </actions>
- </idea-plugin>
- <!--
- Minecraft Development for IntelliJ
-
- https://mcdev.io/
-
- Copyright (C) 2026 minecraft-dev
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, version 3.0 only.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
- -->
-
- <idea-plugin require-restart="true">
-
- <dependencies>
- <plugin id="com.intellij.modules.java" />
- <plugin id="org.jetbrains.idea.maven" />
- <plugin id="com.intellij.gradle" />
- <plugin id="org.intellij.groovy" />
- <plugin id="com.intellij.properties" />
- <plugin id="com.intellij.modules.json" />
- <plugin id="ByteCodeViewer" />
- <module name="intellij.platform.collaborationTools"/>
- </dependencies>
-
- <depends optional="true" config-file="mcdev-kotlin.xml">org.jetbrains.kotlin</depends>
- <depends optional="true" config-file="mcdev-toml.xml">org.toml.lang</depends>
- <depends optional="true" config-file="mcdev-yaml.xml">org.jetbrains.plugins.yaml</depends>
-
- <id>com.demonwav.minecraft-dev</id>
- <name>Minecraft Development</name>
- <vendor email="[email protected]" url="https://mcdev.io/">minecraft-dev</vendor>
-
- <description><![CDATA[
- Provides first-class support for every major Java Minecraft modding or plugin development platform, including:
- <ul>
- <li>Bukkit</li>
- <li>Spigot</li>
- <li>Paper</li>
- <li>Sponge</li>
- <li>Forge</li>
- <li>NeoForge</li>
- <li>Fabric</li>
- <li>Architectury</li>
- <li>Velocity</li>
- <li>BungeeCord</li>
- </ul>
-
- Also includes additional features supporting MCP mappings and Mixins for mod development. This plugin also
- includes a text-based NBT editor.
- ]]></description>
-
- <resource-bundle>messages.MinecraftDevelopmentBundle</resource-bundle>
-
- <change-notes><![CDATA[
- Please report issues to <a href="https://github.com/minecraft-dev/MinecraftDev/issues">the issue tracker</a>!
- ]]>
- </change-notes>
-
- <extensionPoints>
- <extensionPoint name="creatorPropertyType"
- beanClass="com.demonwav.mcdev.creator.custom.types.CreatorPropertyFactoryBean" dynamic="true">
- <with attribute="implementation"
- implements="com.demonwav.mcdev.creator.custom.types.CreatorPropertyFactory"/>
- </extensionPoint>
- <extensionPoint name="creatorTemplateProvider"
- beanClass="com.demonwav.mcdev.creator.custom.providers.TemplateProviderBean" dynamic="true">
- <with attribute="implementation" implements="com.demonwav.mcdev.creator.custom.providers.TemplateProvider"/>
- </extensionPoint>
- <extensionPoint name="creatorFinalizer"
- beanClass="com.demonwav.mcdev.creator.custom.finalizers.CreatorFinalizerBean" dynamic="true">
- <with attribute="implementation"
- implements="com.demonwav.mcdev.creator.custom.finalizers.CreatorFinalizer"/>
- </extensionPoint>
-
- <extensionPoint name="mixinSelectorParser" interface="com.demonwav.mcdev.platform.mixin.reference.MixinSelectorParser" dynamic="true"/>
- <extensionPoint name="mixinAnnotationHandler" beanClass="com.demonwav.mcdev.platform.mixin.handlers.MixinAnnotationHandlerInfo" dynamic="true">
- <with attribute="implementation" implements="com.demonwav.mcdev.platform.mixin.handlers.MixinAnnotationHandler"/>
- </extensionPoint>
- <extensionPoint name="shadowTargetResolver"
- interface="com.demonwav.mcdev.platform.mixin.handlers.ShadowTargetResolver" dynamic="true"/>
- <extensionPoint name="injectionPoint"
- beanClass="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InjectionPointInfo"
- dynamic="true">
- <with attribute="implementation"
- implements="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InjectionPoint"/>
- </extensionPoint>
- <extensionPoint name="injectionPointAnnotation"
- beanClass="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InjectionPointAnnotation"
- dynamic="true"/>
- <extensionPoint name="missingLVTChecker"
- interface="com.demonwav.mcdev.platform.mixin.util.MissingLVTChecker"
- dynamic="true"/>
-
- <extensionPoint name="eventGenHelper" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
- <with attribute="implementationClass" implements="com.demonwav.mcdev.insight.generation.EventGenHelper"/>
- </extensionPoint>
- </extensionPoints>
-
- <extensions defaultExtensionNs="com.demonwav.minecraft-dev">
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.ArchitecturyVersionsCreatorProperty$Factory"
- type="architectury_versions"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.BooleanCreatorProperty$Factory"
- type="boolean"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.BuildSystemCoordinatesCreatorProperty$Factory"
- type="build_system_coordinates"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.ClassFqnCreatorProperty$Factory"
- type="class_fqn"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.FabricVersionsCreatorProperty$Factory"
- type="fabric_versions"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.FabricGameVersionCreatorProperty$Factory"
- type="fabric_game_version"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.ForgeVersionsCreatorProperty$Factory"
- type="forge_versions"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.GradlePluginSelectorCreatorProperty$Factory"
- type="gradle_plugin"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.InlineStringListCreatorProperty$Factory"
- type="inline_string_list"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.IntegerCreatorProperty$Factory"
- type="integer"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.JdkCreatorProperty$Factory"
- type="jdk"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.LicenseCreatorProperty$Factory"
- type="license"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.MavenArtifactVersionCreatorProperty$Factory"
- type="maven_artifact_version"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.NeoForgeVersionsCreatorProperty$Factory"
- type="neoforge_versions"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.PaperVersionCreatorProperty$Factory"
- type="paper_versions"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.ParchmentCreatorProperty$Factory"
- type="parchment"/>
- <creatorPropertyType
- implementation="com.demonwav.mcdev.creator.custom.types.SemanticVersionCreatorProperty$Factory"
- type="semantic_version"/>
- <creatorPropertyType implementation="com.demonwav.mcdev.creator.custom.types.StringCreatorProperty$Factory"
- type="string"/>
-
- <creatorTemplateProvider key="builtin"
- implementation="com.demonwav.mcdev.creator.custom.providers.BuiltinTemplateProvider"/>
- <creatorTemplateProvider key="remote"
- implementation="com.demonwav.mcdev.creator.custom.providers.RemoteTemplateProvider"/>
- <creatorTemplateProvider key="local"
- implementation="com.demonwav.mcdev.creator.custom.providers.LocalTemplateProvider"/>
- <creatorTemplateProvider key="archive"
- implementation="com.demonwav.mcdev.creator.custom.providers.ZipTemplateProvider"/>
-
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.ImportGradleProjectFinalizer"
- type="import_gradle_project"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.AddGradleRunConfigFinalizer"
- type="add_gradle_run"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.ImportMavenProjectFinalizer"
- type="import_maven_project"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.AddMavenRunConfigFinalizer"
- type="add_maven_run"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.RunGradleTasksFinalizer"
- type="run_gradle_tasks"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.GitAddAllFinalizer"
- type="git_add_all"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.GenerateFilesFinalizer"
- type="generate_files"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.ReplaceInFileFinalizer"
- type="replace_in_file"/>
- <creatorFinalizer implementation="com.demonwav.mcdev.creator.custom.finalizers.RunNpmPackageFinalizer"
- type="run_npm_package"/>
-
- <mixinSelectorParser id="regex" implementation="com.demonwav.mcdev.platform.mixin.reference.MixinRegexParser"
- order="before memberReference"/>
- <mixinSelectorParser id="memberReference"
- implementation="com.demonwav.mcdev.platform.mixin.reference.MixinMemberParser"/>
- <mixinSelectorParser
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.NewInsnSelectorParser"
- order="before memberReference"/>
- <mixinSelectorParser implementation="com.demonwav.mcdev.platform.mixin.reference.DescSelectorParser"/>
-
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.Overwrite"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.OverwriteHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.Shadow"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ShadowHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.gen.Accessor"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.AccessorHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.gen.Invoker"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.InvokerHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.Inject"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.InjectAnnotationHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.ModifyArg"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ModifyArgHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.ModifyArgs"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ModifyArgsHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.ModifyConstant"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ModifyConstantHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.ModifyVariable"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.ModifyVariableHandler"/>
- <mixinAnnotationHandler annotation="org.spongepowered.asm.mixin.injection.Redirect"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.RedirectInjectorHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.ModifyExpressionValue"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.ModifyExpressionValueHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.ModifyReceiver"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.ModifyReceiverHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.ModifyReturnValue"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.ModifyReturnValueHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.WrapMethodHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.WrapOperationHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.WrapWithCondition"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.WrapWithConditionHandler"/>
- <mixinAnnotationHandler annotation="com.llamalad7.mixinextras.injector.v2.WrapWithCondition"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.WrapWithConditionHandler"/>
-
- <injectionPoint atCode="INVOKE"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InvokeInjectionPoint"/>
- <injectionPoint atCode="INVOKE_ASSIGN"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.InvokeAssignInjectionPoint"/>
- <injectionPoint atCode="INVOKE_STRING"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.ConstantStringMethodInjectionPoint"/>
- <injectionPoint atCode="FIELD"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.FieldInjectionPoint"/>
- <injectionPoint atCode="NEW"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.NewInsnInjectionPoint"/>
- <injectionPoint atCode="HEAD"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.HeadInjectionPoint"/>
- <injectionPoint atCode="RETURN"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.ReturnInjectionPoint"/>
- <injectionPoint atCode="TAIL"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.TailInjectionPoint"/>
- <injectionPoint atCode="CTOR_HEAD"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.CtorHeadInjectionPoint"/>
- <injectionPoint atCode="LOAD"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.LoadInjectionPoint"/>
- <injectionPoint atCode="STORE"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.StoreInjectionPoint"/>
- <injectionPoint atCode="CONSTANT"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.ConstantInjectionPoint"/>
- <injectionPoint atCode="JUMP"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.injectionPoint.JumpInjectionPoint"/>
- <injectionPoint atCode="MIXINEXTRAS:EXPRESSION"
- implementation="com.demonwav.mcdev.platform.mixin.handlers.mixinextras.ExpressionInjectionPoint"/>
-
- <injectionPointAnnotation annotation="org.spongepowered.asm.mixin.injection.Constant" atCode="CONSTANT"/>
-
- <missingLVTChecker implementation="com.demonwav.mcdev.platform.mixin.util.MinecraftMissingLVTChecker"/>
-
- <eventGenHelper language="JAVA" implementationClass="com.demonwav.mcdev.insight.generation.JavaEventGenHelper"/>
- </extensions>
-
- <extensions defaultExtensionNs="com.intellij">
- <!-- This is grouped in the following order EXCEPT for localInspections and moduleTypes. All localInspections are grouped at the
- end, but the individual local inspections themselves should also be ordered in this way.
- * No platform
- * Adventure
- * Bukkit
- * Sponge
- * Forge
- * NeoForge
- * Fabric
- * Minecraft
- * Mixin
- * Velocity
- * BungeeCord
- -->
-
- <!--region NO PLATFORM-->
- <!---->
-
- <moduleBuilder id="CUSTOM_MINECRAFT_MODULE"
- builderClass="com.demonwav.mcdev.creator.custom.CustomMinecraftModuleBuilder"/>
- <postStartupActivity implementation="com.demonwav.mcdev.creator.custom.TemplateProjectFinalizerActivity"/>
- <facetType implementation="com.demonwav.mcdev.facet.MinecraftFacetType"/>
- <postStartupActivity implementation="com.demonwav.mcdev.facet.MinecraftFacetDetector"/>
- <notificationGroup id="Minecraft project creator" key="notification.group.minecraft_project_creator" displayType="STICKY_BALLOON"/>
- <notificationGroup id="Minecraft facet" key="notification.group.minecraft_facet" displayType="STICKY_BALLOON"/>
- <postStartupActivity implementation="com.demonwav.mcdev.update.OutdatedIdeChecker"/>
- <notificationGroup id="Minecraft Development updates" key="notification.group.minecraft_development_updates" displayType="STICKY_BALLOON"/>
-
- <!-- File templates are for project creations -->
- <fileTemplateGroup implementation="com.demonwav.mcdev.util.MinecraftTemplates"/>
-
- <!-- Project-independent Line Marker Providers -->
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.insight.ListenerLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.insight.ColorLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.insight.PluginLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.insight.MapColorLineMarkerProvider"/>
-
- <!-- Project-independent Annotators-->
- <annotator language="UAST" implementationClass="com.demonwav.mcdev.insight.ListenerEventAnnotator"/>
- <annotator language="UAST" implementationClass="com.demonwav.mcdev.insight.ColorAnnotator"/>
-
- <!-- Project-independent Inspection Suppressors -->
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.inspection.StaticListenerInspectionSuppressor"/>
-
- <!-- Project View Node Decorators provide the project icons -->
- <projectViewNodeDecorator implementation="com.demonwav.mcdev.platform.MinecraftProjectViewNodeDecorator"/>
- <deadCode implementation="com.demonwav.mcdev.inspection.PlatformAnnotationEntryPoint"/>
-
- <!-- Application Configurable provides the Minecraft settings page -->
- <applicationConfigurable key="minecraft.settings.display_name"
- id="Settings.Minecraft"
- groupId="language"
- instance="com.demonwav.mcdev.MinecraftConfigurable"/>
- <projectConfigurable key="minecraft.settings.project.display_name"
- id="Settings.Minecraft.Project"
- parentId="Settings.Minecraft"
- instance="com.demonwav.mcdev.MinecraftProjectConfigurable"/>
- <projectConfigurable key="minecraft.settings.lang_template.display_name"
- id="Settings.Minecraft.TranslationTemplate"
- parentId="Settings.Minecraft"
- instance="com.demonwav.mcdev.translations.sorting.TranslationTemplateConfigurable"/>
-
- <!-- NBT -->
- <fileType name="NBT" implementationClass="com.demonwav.mcdev.nbt.filetype.NbtFileType" fieldName="INSTANCE"
- extensions="nbt"/>
- <fileTypeDetector implementation="com.demonwav.mcdev.nbt.filetype.NbtFileTypeDetector"/>
- <fileEditorProvider implementation="com.demonwav.mcdev.nbt.editor.NbtFileEditorProvider"/>
-
- <notificationGroup id="NBT Save Error" key="notification.group.nbt_save_error" displayType="STICKY_BALLOON"/>
- <notificationGroup id="NBT Save Success" key="notification.group.nbt_save_success" displayType="STICKY_BALLOON"/>
-
- <!-- Text representation of NBT -->
- <fileType name="NBTT" language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.NbttFileType"
- fieldName="INSTANCE" extensions="nbtt"/>
- <lang.parserDefinition language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.NbttParserDefinition"/>
- <lang.syntaxHighlighterFactory language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.colors.NbttSyntaxHighlighterFactory"/>
- <lang.braceMatcher language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.NbttBraceMatcher"/>
- <lang.quoteHandler language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.NbttQuoteHandler"/>
- <lang.formatter language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.format.NbttFormattingModelBuilder"/>
- <codeStyleSettingsProvider implementation="com.demonwav.mcdev.nbt.lang.format.NbttCodeStyleSettingsProvider"/>
- <langCodeStyleSettingsProvider
- implementation="com.demonwav.mcdev.nbt.lang.format.NbttLanguageCodeStyleSettingsProvider"/>
- <lang.foldingBuilder language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.format.NbttFoldingBuilder"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.nbt.lang.colors.NbttColorSettingsPage"/>
- <annotator language="NBTT" implementationClass="com.demonwav.mcdev.nbt.lang.colors.NbttAnnotator"/>
- <additionalTextAttributes scheme="Default" file="colorSchemes/NbttDefault.xml"/>
- <additionalTextAttributes scheme="Darcula" file="colorSchemes/NbttDarcula.xml"/>
- <codeInsight.parameterNameHints language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.format.NbttParameterNameHints"/>
- <lang.fileViewProviderFactory language="NBTT"
- implementationClass="com.demonwav.mcdev.nbt.lang.NbttFileViewProviderFactory"/>
-
- <!-- Minecraft localization files -->
- <fileType name="MCLang" language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.LangFileType" fieldName="INSTANCE"
- extensions="lang"/>
- <lang.parserDefinition language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.LangParserDefinition"/>
- <lang.syntaxHighlighterFactory language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.colors.LangSyntaxHighlighterFactory"/>
- <lang.psiStructureViewFactory language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.structure.LangStructureViewFactory"/>
- <lang.findUsagesProvider language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.reference.LangFindUsagesProvider"/>
- <lang.findUsagesProvider language="JSON"
- implementationClass="com.demonwav.mcdev.translations.reference.JsonFindUsagesProvider"
- order="first"/>
- <lang.foldingBuilder language="UAST"
- implementationClass="com.demonwav.mcdev.translations.TranslationFoldingBuilder"/>
- <lang.formatter language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.formatting.LangFormattingModelBuilder"/>
- <lang.commenter language="MCLang" implementationClass="com.demonwav.mcdev.translations.lang.LangCommenter"/>
- <spellchecker.support language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.lang.spellcheck.LangSpellcheckingStrategy"/>
- <psi.referenceContributor language="UAST"
- implementation="com.demonwav.mcdev.translations.reference.UastReferenceContributor"/>
- <psi.referenceContributor language="MCLang"
- implementation="com.demonwav.mcdev.translations.reference.LangReferenceContributor"/>
- <psi.referenceContributor language="JSON"
- implementation="com.demonwav.mcdev.translations.reference.JsonReferenceContributor"/>
- <gotoSymbolContributor
- implementation="com.demonwav.mcdev.translations.reference.TranslationGotoSymbolContributor"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.translations.lang.colors.LangColorSettingsPage"/>
- <renameInputValidator implementation="com.demonwav.mcdev.translations.lang.LangRenameInputValidator"/>
- <editorNotificationProvider
- implementation="com.demonwav.mcdev.translations.TranslationEditorNotificationProvider"/>
- <notificationGroup id="Translations sorting error" key="notification.group.translations_sorting_error" displayType="STICKY_BALLOON"/>
- <notificationGroup id="Translation support error" key="notification.group.translation_support_error" displayType="STICKY_BALLOON"/>
- <elementDescriptionProvider
- implementation="com.demonwav.mcdev.translations.reference.TranslationDescriptionProvider"/>
- <referencesSearch implementation="com.demonwav.mcdev.translations.reference.TranslationReferenceSearch"/>
- <annotator language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.intentions.TranslationFileAnnotator"/>
- <annotator language="JSON"
- implementationClass="com.demonwav.mcdev.translations.intentions.TranslationFileAnnotator"/>
- <intentionAction>
- <language>UAST</language>
- <className>com.demonwav.mcdev.translations.intentions.ConvertToTranslationIntention</className>
- <categoryKey>intention.category.minecraft</categoryKey>
- <descriptionDirectoryName>convertToTranslation</descriptionDirectoryName>
- </intentionAction>
- <codeFoldingOptionsProvider instance="com.demonwav.mcdev.translations.TranslationCodeFoldingOptionsProvider"/>
- <applicationService serviceImplementation="com.demonwav.mcdev.translations.TranslationFoldingSettings"/>
- <typedHandler implementation="com.demonwav.mcdev.translations.lang.LangTypedHandlerDelegate"/>
- <completion.contributor language="MCLang"
- implementationClass="com.demonwav.mcdev.translations.reference.LangCompletionContributor"/>
- <completion.contributor language="JSON"
- implementationClass="com.demonwav.mcdev.translations.reference.JsonCompletionContributor"/>
- <completion.confidence language="JAVA"
- implementationClass="com.demonwav.mcdev.translations.reference.TranslationReferenceCompletionConfidence"
- order="before javaSkipAutopopupInStrings"/>
- <fileBasedIndex implementation="com.demonwav.mcdev.translations.index.TranslationIndex"/>
- <fileBasedIndex implementation="com.demonwav.mcdev.translations.index.TranslationInverseIndex"/>
- <java.externalAnnotation.locationProvider
- implementation="com.demonwav.mcdev.translations.identification.TranslationAnnotationsLocationProvider"/>
- <externalAnnotationsArtifactsResolver
- implementation="com.demonwav.mcdev.translations.identification.TranslationExternalAnnotationsArtifactsResolver"
- order="first"/>
-
- <applicationService serviceImplementation="com.demonwav.mcdev.MinecraftSettings"/>
-
- <errorHandler implementation="com.demonwav.mcdev.errorreporter.ErrorReporter"/>
- <!--endregion-->
-
- <!--region ADVENTURE-->
- <!---->
-
- <dependencySupport coordinate="net.kyori:adventure-api" kind="java"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.adventure.framework.AdventurePresentationProvider"/>
-
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.platform.adventure.color.AdventureColorLineMarkerProvider"/>
- <!--endregion-->
-
- <!--region BUKKIT-->
- <!---->
-
- <dependencySupport coordinate="org.bukkit:bukkit" kind="java"/>
- <dependencySupport coordinate="org.spigotmc:spigot-api" kind="java"/>
- <dependencySupport coordinate="com.destroystokyo.paper:paper-api" kind="java"/>
- <dependencySupport coordinate="io.papermc.paper:paper-api" kind="java"/>
-
- <fileIconProvider implementation="com.demonwav.mcdev.platform.bukkit.BukkitFileIconProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.BukkitPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.SpigotPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.OldPaperPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.PaperPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bukkit.framework.ModernPaperPresentationProvider"/>
-
- <!-- Bukkit Completion Contributor -->
-
- <completion.contributor
- language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.bukkit.completion.BukkitEventHandlerCompletionContributor"
- order="first"/>
-
- <defaultLiveTemplates file="/liveTemplates/Bukkit.xml"/>
-
- <liveTemplateMacro implementation="com.demonwav.mcdev.platform.bukkit.macro.BukkitEventNameMacro"/>
-
- <!--endregion-->
-
- <!--region SPONGE-->
- <!---->
-
- <dependencySupport coordinate="org.spongepowered:spongeapi" kind="java"/>
-
- <!-- Sponge Line Marker Provider -->
- <codeInsight.lineMarkerProvider language=""
- implementationClass="com.demonwav.mcdev.platform.sponge.color.SpongeColorLineMarkerProvider"/>
-
- <implicitUsageProvider implementation="com.demonwav.mcdev.platform.sponge.insight.SpongeImplicitUsageProvider"/>
-
- <!-- Sponge Annotator -->
- <annotator language="UAST" implementationClass="com.demonwav.mcdev.platform.sponge.color.SpongeColorAnnotator"/>
-
- <psi.referenceContributor language="UAST"
- implementation="com.demonwav.mcdev.platform.sponge.reference.SpongeReferenceContributor"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.sponge.framework.SpongePresentationProvider"/>
- <importFilter implementation="com.demonwav.mcdev.platform.sponge.SpongeImportFilter"/>
-
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.suppress.SpongeGetterParamOptionalInspectionSuppressor"/>
-
- <!--endregion-->
-
- <!--region FORGE-->
- <dependencySupport coordinate="net.minecraftforge:forge" kind="java"/>
- <psi.referenceContributor language="JAVA"
- implementation="com.demonwav.mcdev.platform.forge.reflection.reference.ReflectionReferenceContributor"/>
-
- <fileIconProvider implementation="com.demonwav.mcdev.platform.forge.ForgeFileIconProvider"/>
- <implicitUsageProvider implementation="com.demonwav.mcdev.platform.forge.insight.ForgeImplicitUsageProvider"/>
-
- <!-- Forge Annotator -->
- <annotator language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.SidedProxyAnnotator"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.forge.framework.ForgePresentationProvider"/>
- <!--endregion-->
-
- <!--region NEOFORGE-->
- <dependencySupport coordinate="net.neoforged:neoforge" kind="java"/>
-
- <fileIconProvider implementation="com.demonwav.mcdev.platform.neoforge.NeoForgeFileIconProvider"/>
- <implicitUsageProvider
- implementation="com.demonwav.mcdev.platform.neoforge.insight.NeoForgeImplicitUsageProvider"/>
-
- <!-- NeoForge Annotator -->
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.neoforge.framework.NeoForgePresentationProvider"/>
- <!--endregion-->
-
- <!--region FABRIC-->
- <dependencySupport coordinate="net.fabricmc:fabric-loader" kind="java"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.fabric.framework.FabricPresentationProvider"/>
- <fileIconProvider implementation="com.demonwav.mcdev.platform.fabric.FabricFileIconProvider"/>
- <psi.referenceContributor language="JSON"
- implementation="com.demonwav.mcdev.platform.fabric.reference.FabricReferenceContributor"/>
- <resolveScopeEnlarger
- implementation="com.demonwav.mcdev.platform.fabric.reference.FabricModJsonResolveScopeEnlarger"/>
- <useScopeEnlarger implementation="com.demonwav.mcdev.platform.fabric.reference.FabricClientUseScopeEnlarger"/>
- <!--endregion-->
-
- <!--region ARCHITECTURY-->
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.architectury.framework.ArchitecturyPresentationProvider"/>
- <!--endregion-->
-
- <!--region MINECRAFT-->
- <!---->
-
- <externalProjectDataService implementation="com.demonwav.mcdev.platform.minecraft.gradle.MinecraftDataService"/>
- <externalProjectDataService implementation="com.demonwav.mcdev.platform.minecraft.fabricloom.FabricLoomDataService"/>
- <externalProjectDataService
- implementation="com.demonwav.mcdev.platform.minecraft.vanillagradle.VanillaGradleDataService"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.minecraft.framework.MinecraftPresentationProvider"/>
-
- <runConfigurationExtension implementation="com.demonwav.mcdev.platform.minecraft.debug.MinecraftRunConfigurationExtension"/>
-
- <attachSourcesProvider
- implementation="com.demonwav.mcdev.platform.minecraft.fabricloom.FabricLoomDecompileSourceProvider"/>
- <attachSourcesProvider
- implementation="com.demonwav.mcdev.platform.minecraft.vanillagradle.VanillaGradleDecompileSourceProvider"/>
-
- <!-- access transformer file type -->
- <fileType name="Access Transformers" language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtFileType" fieldName="INSTANCE"
- patterns="*_at.cfg"/>
- <lang.parserDefinition language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtParserDefinition"/>
- <lang.syntaxHighlighterFactory language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtSyntaxHighlighterFactory"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.platform.minecraft.at.AtColorSettingsPage"/>
- <lang.commenter language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtCommenter"/>
- <typedHandler implementation="com.demonwav.mcdev.platform.minecraft.at.completion.AtTypedHandlerDelegate"/>
- <completion.contributor language="Access Transformers"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.completion.AtCompletionContributor"/>
- <gotoDeclarationHandler implementation="com.demonwav.mcdev.platform.minecraft.at.AtGotoDeclarationHandler"/>
- <annotator language="Access Transformers" implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtAnnotator"/>
-
- <!-- class tweaker file type -->
- <fileType name="Class Tweaker" language="Class Tweaker"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtFileType" fieldName="INSTANCE"
- patterns="*.accesswidener;*.aw;*.classtweaker;*.ct"/>
- <lang.parserDefinition language="Class Tweaker"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtParserDefinition"/>
- <lang.syntaxHighlighterFactory language="Class Tweaker"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtSyntaxHighlighterFactory"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.platform.minecraft.ct.CtColorSettingsPage"/>
- <lang.commenter language="Class Tweaker" implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtCommenter"/>
- <annotator language="Class Tweaker" implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtAnnotator"/>
- <completion.contributor language="Class Tweaker"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.CtCompletionContributor"/>
- <codeInsight.unresolvedReferenceQuickFixProvider
- implementation="com.demonwav.mcdev.platform.minecraft.ct.fixes.CopyAwAccessibleEntryFix$Provider"/>
-
- <moduleService serviceImplementation="com.demonwav.mcdev.platform.minecraft.MinecraftModuleSettings"/>
-
- <gotoSymbolContributor
- implementation="com.demonwav.mcdev.platform.minecraft.navigation.SrgMemberChooseByNameContributor"/>
- <unscrambleSupport implementation="com.demonwav.mcdev.platform.minecraft.fabricloom.TinyUnscrambler"/>
- <unscrambleSupport implementation="com.demonwav.mcdev.platform.minecraft.srg.McpUnscrambler"/>
- <!--endregion-->
-
- <!--region MIXIN-->
- <!---->
-
- <dependencySupport coordinate="org.spongepowered:mixin" kind="java"/>
-
- <!-- Folding -->
- <applicationService serviceImplementation="com.demonwav.mcdev.platform.mixin.folding.MixinFoldingSettings"/>
- <codeFoldingOptionsProvider instance="com.demonwav.mcdev.platform.mixin.folding.MixinFoldingOptionsProvider"/>
- <lang.foldingBuilder language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.folding.MixinObjectCastFoldingBuilder"/>
- <lang.foldingBuilder language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.folding.MixinTargetDescriptorFoldingBuilder"/>
- <lang.foldingBuilder language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.folding.AccessorMixinFoldingBuilder"/>
- <lang.foldingBuilder language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEDefinitionFoldingBuilder"/>
-
- <implicitUsageProvider implementation="com.demonwav.mcdev.platform.mixin.insight.MixinImplicitUsageProvider"/>
- <deadCode implementation="com.demonwav.mcdev.platform.mixin.insight.MixinEntryPoint"/>
-
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.DefaultAnnotationParamInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.DynamicInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.MixinClassCastInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.ShadowOverwriteInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.suppress.StaticInvokerUnusedParamInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.suppress.ShadowNullableInspectionSuppressor"/>
- <lang.inspectionSuppressor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.suppress.SoftImplementInspectionSuppressor"/>
-
- <!-- Mixin completion -->
- <superMethodsSearch
- implementation="com.demonwav.mcdev.platform.mixin.search.MixinSoftImplementMethodSuperSearcher"/>
- <completion.contributor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.completion.MixinCompletionContributor"
- order="first"/>
- <completion.contributor language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.completion.AtArgsCompletionContributor"
- order="first"/>
- <psi.referenceContributor language="JAVA"
- implementation="com.demonwav.mcdev.platform.mixin.reference.MixinReferenceContributor"/>
- <gotoDeclarationHandler implementation="com.demonwav.mcdev.platform.mixin.reference.MethodGTDHandler"
- order="first"/>
- <gotoDeclarationHandler implementation="com.demonwav.mcdev.platform.mixin.reference.DescGTDHandler"
- order="first"/>
- <gotoDeclarationHandler
- implementation="com.demonwav.mcdev.platform.mixin.reference.target.DefinitionReferenceGTDHandler"
- order="first"/>
- <gotoDeclarationHandler implementation="com.demonwav.mcdev.platform.mixin.reference.target.TargetGTDHandler"
- order="first"/>
- <completion.confidence language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.completion.MixinCompletionConfidence"
- order="before javaSkipAutopopupInStrings"/>
- <weigher key="completion"
- implementationClass="com.demonwav.mcdev.platform.mixin.completion.MixinCompletionWeigher"
- id="mcdev.mixin" order="first"/>
- <typedHandler implementation="com.demonwav.mcdev.platform.mixin.completion.InjectionPointTypedHandlerDelegate" />
- <typedHandler implementation="com.demonwav.mcdev.platform.mixin.completion.MixinTargetsTypedHandlerDelegate" />
- <typedHandler implementation="com.demonwav.mcdev.platform.mixin.completion.MethodReferenceTypedHandlerDelegate" />
-
- <!-- Mixin configuration -->
- <fileType name="Mixin Json Configuration" language="JSON"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.MixinConfigFileType$Json"
- fieldName="INSTANCE"/>
- <psi.referenceContributor language="JSON"
- implementation="com.demonwav.mcdev.platform.mixin.config.reference.MixinConfigReferenceContributor"/>
- <lang.importOptimizer language="JSON"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.MixinConfigImportOptimizer"/>
-
- <fileType name="Mixin Json5 Configuration" language="JSON5"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.MixinConfigFileType$Json5"
- fieldName="INSTANCE"/>
- <psi.referenceContributor language="JSON5"
- implementation="com.demonwav.mcdev.platform.mixin.config.reference.MixinConfigReferenceContributor"/>
- <lang.importOptimizer language="JSON5"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.MixinConfigImportOptimizer"/>
-
- <!-- Mixin Line Marker Providers -->
- <codeInsight.lineMarkerProvider language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.insight.MixinLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.insight.MixinElementLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.insight.target.MixinTargetLineMarkerProvider"/>
- <codeInsight.lineMarkerProvider language="JAVA"
- implementationClass="com.demonwav.mcdev.platform.mixin.insight.target.MixinAccessorTargetLineMarkerProvider"/>
-
- <!-- Mixin Code Vision Providers -->
- <codeInsight.daemonBoundCodeVisionProvider implementation="com.demonwav.mcdev.platform.mixin.insight.target.MixinTargetCodeVisionProvider"/>
- <codeInsight.daemonBoundCodeVisionProvider implementation="com.demonwav.mcdev.platform.mixin.insight.target.AccessorTargetCodeVisionProvider"/>
-
-
- <customJavadocTagProvider implementation="com.demonwav.mcdev.platform.mixin.MixinCustomJavaDocTagProvider"/>
-
- <debugger.positionManagerFactory
- implementation="com.demonwav.mcdev.platform.mixin.debug.MixinPositionManagerFactory" order="last"/>
- <debuggerClassFilterProvider
- implementation="com.demonwav.mcdev.platform.mixin.debug.MixinDebuggerClassFilterProvider"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.mixin.framework.MixinPresentationProvider"/>
-
- <iconLayerProvider implementation="com.demonwav.mcdev.platform.mixin.framework.MixinIconProvider"/>
-
- <!--region MixinExtras Expression Language-->
- <fileType name="MixinExtras Expression File"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionFileType"
- fieldName="INSTANCE"
- language="MEExpression"
- extensions="mixinextrasexpression"/>
- <lang.parserDefinition language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionParserDefinition"/>
- <lang.syntaxHighlighterFactory language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionSyntaxHighlighterFactory"/>
- <colorSettingsPage implementation="com.demonwav.mcdev.platform.mixin.expression.MEExpressionColorSettingsPage"/>
- <annotator language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionAnnotator"/>
- <lang.braceMatcher language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionBraceMatcher"/>
- <lang.quoteHandler language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionQuoteHandler"/>
- <lang.elementManipulator forClass="com.demonwav.mcdev.platform.mixin.expression.gen.psi.MEName"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.psi.MENameElementManipulator"/>
- <lang.findUsagesProvider language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.reference.MEExpressionFindUsagesProvider"/>
- <referencesSearch implementation="com.demonwav.mcdev.platform.mixin.expression.reference.MEDefinitionReferencesSearcher"/>
- <lang.refactoringSupport language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionRefactoringSupport"/>
- <completion.contributor language="MEExpression"
- implementationClass="com.demonwav.mcdev.platform.mixin.expression.MEExpressionCompletionContributor"/>
- <multiHostInjector implementation="com.demonwav.mcdev.platform.mixin.expression.MEExpressionInjector"/>
- <typedHandler implementation="com.demonwav.mcdev.platform.mixin.expression.MEExpressionTypedHandlerDelegate"/>
- <!--endregion-->
-
- <!--endregion-->
-
- <!--region VELOCITY-->
- <!---->
-
- <dependencySupport coordinate="com.velocitypowered:velocity-api" kind="java"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.velocity.framework.VelocityPresentationProvider"/>
-
- <!--endregion-->
-
- <!--region BUNGEECORD-->
- <!---->
-
- <dependencySupport coordinate="net.md-5:bungeecord-api" kind="java"/>
- <dependencySupport coordinate="io.github.waterfallmc:waterfall-api" kind="java"/>
-
- <fileIconProvider implementation="com.demonwav.mcdev.platform.bungeecord.BungeeCordFileIconProvider"/>
-
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bungeecord.framework.BungeeCordPresentationProvider"/>
- <library.presentationProvider
- implementation="com.demonwav.mcdev.platform.bungeecord.framework.WaterfallPresentationProvider"/>
- <!--endregion-->
-
- <!--region LOCAL INSPECTIONS-->
- <!---->
-
- <!--region NO PLATFORM INSPECTIONS-->
- <localInspection key="inspection.is_cancelled.name"
- groupKey="inspection.group.minecraft"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.inspection.IsCancelledInspection"/>
- <localInspection key="inspection.no_translation.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.NoTranslationInspection"/>
- <localInspection key="inspection.missing_format.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.MissingFormatInspection"/>
- <localInspection key="inspection.superfluous_format.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.SuperfluousFormatInspection"/>
- <localInspection key="inspection.wrong_type_in_translation_args.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.WrongTypeInTranslationArgsInspection"/>
- <localInspection key="inspection.deprecated_translation.name"
- groupKey="inspection.group.minecraft"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.translations.inspections.DeprecatedTranslationInspection"/>
- <localInspection key="inspection.wrong_entity_data_parameter_class.name"
- groupKey="inspection.group.minecraft"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.inspection.WrongEntityDataParameterClassInspection"/>
- <!--endregion-->
-
- <!--region BUKKIT INSPECTIONS-->
- <localInspection key="inspection.bukkit_listener_implemented.name"
- groupKey="inspection.group.bukkit"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.bukkit.inspection.BukkitListenerImplementedInspection"/>
- <!--endregion-->
-
- <!--region SPONGE INSPECTIONS-->
- <localInspection key="inspection.sponge_logging.name"
- groupKey="inspection.group.sponge"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongeLoggingInspection"/>
-
- <localInspection key="inspection.sponge_invalid_getter_target.name"
- groupKey="inspection.group.sponge"
- language="UAST"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongeInvalidGetterTargetInspection"/>
- <localInspection key="inspection.sponge_wrong_getter_type.name"
- groupKey="inspection.group.sponge"
- language="UAST"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongeWrongGetterTypeInspection"/>
-
- <localInspection key="inspection.sponge_injection.name"
- groupKey="inspection.group.sponge"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongeInjectionInspection"/>
- <localInspection key="inspection.sponge_plugin_class.name"
- groupKey="inspection.group.sponge"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.sponge.inspection.SpongePluginClassInspection"/>
- <!--endregion-->
-
- <!--region FORGE INSPECTIONS-->
- <localInspection key="inspection.nested_class_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.NestedClassSideOnlyInspection"/>
- <localInspection key="inspection.field_declaration_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.FieldDeclarationSideOnlyInspection"/>
- <localInspection key="inspection.method_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.MethodSideOnlyInspection"/>
- <localInspection key="inspection.variable_use_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.VariableUseSideOnlyInspection"/>
- <localInspection key="inspection.method_call_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.MethodCallSideOnlyInspection"/>
- <localInspection key="inspection.new_expression_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.NewExpressionSideOnlyInspection"/>
- <localInspection key="inspection.local_variable_declaration_side_only.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="false"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.sideonly.LocalVariableDeclarationSideOnlyInspection"/>
-
- <localInspection key="inspection.missing_message_constructor.name"
- groupKey="inspection.group.minecraft_forge"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.forge.inspections.simpleimpl.MissingMessageConstructorInspection"/>
- <!--endregion-->
-
- <!--region FABRIC INSPECTIONS-->
- <localInspection key="inspection.unresolved_fabric_mod_json_reference.name"
- shortName="UnresolvedFabricModJsonReference"
- groupKey="inspection.group.fabric"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.fabric.inspection.UnresolvedReferenceInspection"/>
- <localInspection key="inspection.fabric_mod_json_entrypoints_validation.name"
- shortName="FabricModJsonEntrypointsValidation"
- groupKey="inspection.group.fabric"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.fabric.inspection.FabricEntrypointsInspection"/>
- <!--endregion-->
-
- <!--region MINECRAFT INSPECTIONS-->
- <localInspection key="inspection.at_usage.name"
- groupKey="inspection.group.minecraft"
- language="Access Transformers"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.minecraft.at.AtUsageInspection"/>
- <localInspection key="inspection.stack_empty.name"
- groupKey="inspection.group.minecraft"
- language="JAVA"
- enabledByDefault="false"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.minecraft.inspections.StackEmptyInspection"/>
- <localInspection key="inspection.duplicate_aw_entry.name"
- groupKey="inspection.group.minecraft"
- language="Class Tweaker"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.inspections.DuplicateAwEntryInspection"/>
- <localInspection key="inspection.unknown_ct_namespace.name"
- groupKey="inspection.group.minecraft"
- language="Class Tweaker"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.minecraft.ct.inspections.UnknownCtNamespaceInspection"/>
- <!--endregion-->
-
- <!--region MIXIN INSPECTIONS-->
- <!--region Generic -->
- <localInspection key="inspection.non_java_mixin.name"
- shortName="NonJavaMixin"
- groupKey="inspection.group.mixin"
- language="UAST"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.NonJavaMixinInspection"/>
- <localInspection key="inspection.unused_mixin.name"
- shortName="UnusedMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.UnusedMixinInspection"/>
- <localInspection key="inspection.annotation_outside_of_mixin.name"
- shortName="AnnotationOutsideOfMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinAnnotationsInspection"/>
- <localInspection key="inspection.cancellable_injection_usage.name"
- shortName="CancellableInjectionUsage"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.MixinCancellableInspection"/>
- <localInspection key="inspection.name_doesnt_match_target_class.name"
- shortName="NameDoesntMatchTargetClass"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WEAK WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.MixinParameterNameInspection"/>
- <localInspection key="inspection.invalid_mixin_target.name"
- shortName="InvalidMixinTarget"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinTargetInspection"/>
- <localInspection key="inspection.mixin_super_class.name"
- shortName="MixinSuperClass"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinSuperClassInspection"/>
- <localInspection key="inspection.public_static_mixin_member.name"
- shortName="PublicStaticMixinMember"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.StaticMemberInspection"/>
- <localInspection key="inspection.switch_on_enum_mixin.name"
- shortName="SwitchOnEnumMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.EnumMixinSwitchStatementInspection"/>
- <localInspection key="inspection.mixin_constructor_doesnt_exist.name"
- shortName="MixinConstructorDoesntExist"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinInstantiationWithinMixinInspection"/>
- <localInspection key="inspection.mixin_inner_class.name"
- shortName="MixinInnerClass"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinInnerClassInspection"/>
- <localInspection key="inspection.mixin_wrong_class_type.name"
- shortName="MixinWrongClassType"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinClassTypeInspection"/>
- <localInspection key="inspection.reference_to_mixin.name"
- shortName="ReferenceToMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinClassReferenceInspection"/>
- <!--endregion-->
-
- <!--region Annotation handlers -->
- <localInspection key="inspection.mixin_annotation_target.name"
- shortName="MixinAnnotationTarget"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.MixinAnnotationTargetInspection"/>
- <!--endregion-->
-
- <!--region Added Members Inspections -->
- <localInspection key="inspection.missing_unique.name"
- shortName="MissingUnique"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.addedMembers.MissingUniqueAnnotationInspection"/>
- <localInspection key="inspection.added_mixin_members_name_pattern.name"
- shortName="AddedMixinMembersNamePattern"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.addedMembers.AddedMembersNameFormatInspection"/>
- <localInspection key="inspection.added_enum_constants_name_pattern.name"
- shortName="AddedEnumConstantsNamePattern"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.addedMembers.EnumConstantNameFormatInspection"/>
- <!--endregion-->
-
- <!--region Implements Inspections -->
- <localInspection key="inspection.soft_implement_overrides.name"
- shortName="SoftImplementOverrides"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.SoftImplementOverridesInspection"/>
- <localInspection key="inspection.empty_implements.name"
- shortName="EmptyImplements"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.EmptyImplementsInspection"/>
- <localInspection key="inspection.interface_is_interface.name"
- shortName="InterfaceIsInterface"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.InterfaceIsInterfaceInspection"/>
- <localInspection key="inspection.invalid_interface_prefix.name"
- shortName="InvalidInterfacePrefix"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.InterfacePrefixInspection"/>
- <localInspection key="inspection.duplicate_interface.name"
- shortName="DuplicateInterface"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.DuplicateInterfaceInspection"/>
- <localInspection key="inspection.duplicate_interface_prefix.name"
- shortName="DuplicateInterfacePrefix"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.implements.DuplicateInterfacePrefixInspection"/>
- <!--endregion-->
-
- <!--region Injector Inspections -->
- <localInspection key="inspection.implicit_constructor_invoker.name"
- shortName="ImplicitConstructorInvoker"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.ImplicitConstructorInvokerInspection"/>
- <localInspection key="inspection.inject_could_be_overwrite.name"
- shortName="InjectCouldBeOverwrite"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="false"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.InjectCouldBeOverwriteInspection"/>
- <localInspection key="inspection.inject_into_constructor.name"
- shortName="InjectIntoConstructor"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.InjectIntoConstructorInspection"/>
- <localInspection key="inspection.missing_or_invalid_opcode.name"
- shortName="MissingOrInvalidOpcode"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.InjectorOpcodeInspection"/>
- <localInspection key="inspection.invalid_injector_method_signature.name"
- shortName="InvalidInjectorMethodSignature"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.InvalidInjectorMethodSignatureInspection"/>
- <localInspection key="inspection.modify_variable_may_be_args_only.name"
- shortName="ModifyVariableMayBeArgsOnly"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.ModifyVariableArgsOnlyInspection"/>
- <localInspection key="inspection.modify_variable_may_use_name.name"
- shortName="ModifyVariableMayUseName"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.ModifyVariableMayUseNameInspection"/>
- <localInspection key="inspection.modify_variable_name_without_lvt.name"
- shortName="ModifyVariableNameWithoutLVT"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.ModifyVariableNameWithoutLVTInspection"/>
- <localInspection key="inspection.inject_cancellable_before_super_constructor_call.name"
- shortName="InjectCancellableBeforeSuperConstructorCall"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CancellableBeforeSuperCallInspection"/>
- <localInspection key="inspection.ctor_head_no_unsafe.name"
- shortName="CtorHeadNoUnsafe"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CtorHeadNoUnsafeInspection"/>
- <localInspection key="inspection.ctor_head_used_for_non_constructor.name"
- shortName="CtorHeadUsedForNonConstructor"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CtorHeadUsedForNonConstructorInspection"/>
- <localInspection key="inspection.unnecessary_unsafe.name"
- shortName="UnnecessaryUnsafe"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.UnnecessaryUnsafeInspection"/>
- <localInspection key="inspection.ctor_head_post_init.name"
- shortName="CtorHeadPostInit"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CtorHeadPostInitInspection"/>
- <localInspection key="inspection.discouraged_injection_point.name"
- shortName="DiscouragedInjectionPoint"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.DiscouragedInjectionPointInspection"/>
- <localInspection key="inspection.discouraged_shift.name"
- shortName="DiscouragedShift"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.DiscouragedShiftInspection"/>
- <localInspection key="inspection.disallowed_target_insn.name"
- shortName="DisallowedTargetInsn"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.DisallowedTargetInsnInspection"/>
- <localInspection key="inspection.local_capture_fail_exception.name"
- shortName="LocalCaptureFailException"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.CaptureFailExceptionInspection"/>
- <localInspection key="inspection.unused_inject_local_capture.name"
- shortName="UnusedInjectLocalCapture"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.injector.UnusedLocalCaptureInspection"/>
- <localInspection key="inspection.inject_local_capture_can_be_replaced_with_local.name"
- shortName="InjectLocalCaptureCanBeReplacedWithLocal"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.InjectLocalCaptureReplaceWithLocalInspection"/>
- <localInspection key="inspection.invoke_assign_can_replaced_with_expression.name"
- shortName="InvokeAssignCanReplacedWithExpression"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.InvokeAssignReplaceWithExpressionInspection"/>
- <!--endregion-->
-
- <!--region Overwrite Inspections -->
- <localInspection key="inspection.overwrite_modifiers.name"
- shortName="OverwriteModifiers"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.overwrite.OverwriteModifiersInspection"/>
- <localInspection key="inspection.overwrite_author_required.name"
- shortName="OverwriteAuthorRequired"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WEAK WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.overwrite.OverwriteAuthorInspection"/>
- <!--endregion-->
-
- <!--region Reference Inspections -->
- <localInspection key="inspection.invalid_member_reference.name"
- shortName="InvalidMemberReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.InvalidMemberReferenceInspection"/>
- <localInspection key="inspection.unresolved_mixin_reference.name"
- shortName="UnresolvedMixinReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.UnresolvedReferenceInspection"/>
- <localInspection key="inspection.ambiguous_mixin_reference.name"
- shortName="AmbiguousMixinReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.AmbiguousReferenceInspection"/>
- <localInspection key="inspection.unqualified_member_reference.name"
- shortName="UnqualifiedMemberReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.UnqualifiedMemberReferenceInspection"/>
- <localInspection key="inspection.unnecessary_qualified_member_reference.name"
- shortName="UnnecessaryQualifiedMemberReference"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WEAK WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.reference.UnnecessaryQualifiedMemberReferenceInspection"/>
- <!--endregion-->
-
- <!--region Shadow Inspections -->
- <localInspection key="inspection.shadow_modifiers.name"
- shortName="ShadowModifiers"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.ShadowModifiersInspection"/>
- <localInspection key="inspection.shadow_name_doesnt_match_target_class.name"
- shortName="ShadowNameDoesntMatchTargetClass"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WEAK WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.ShadowParameterNameInspection"/>
- <localInspection key="inspection.shadow_field_prefix.name"
- shortName="ShadowFieldPrefix"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.ShadowFieldPrefixInspection"/>
- <localInspection key="inspection.unused_shadow_method_prefix.name"
- shortName="UnusedShadowMethodPrefix"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.UnusedShadowMethodPrefixInspection"/>
- <localInspection key="inspection.shadow_final_modification.name"
- shortName="ShadowFinalModification"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.ShadowFinalInspection"/>
- <localInspection key="inspection.missing_abstract_shadows_in_enum_mixin.name"
- shortName="MissingAbstractShadowsInEnumMixin"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.shadow.MissingAbstractShadowsInEnumInspection"/>
- <!--endregion-->
-
- <!--region Mixin Extras -->
- <localInspection key="inspection.mixin_extras_operation_parameters.name"
- shortName="MixinExtrasOperationParameters"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.WrongOperationParametersInspection"/>
- <localInspection key="inspection.mixin_extras_unnecessary_mutable_local.name"
- shortName="MixinExtrasUnnecessaryMutableLocal"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.UnnecessaryMutableLocalInspection"/>
- <localInspection key="inspection.unresolved_local_capture.name"
- shortName="UnresolvedLocalCapture"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.UnresolvedLocalCaptureInspection"/>
- <localInspection key="inspection.local_may_be_args_only.name"
- shortName="LocalMayBeArgsOnly"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.LocalArgsOnlyInspection"/>
- <localInspection key="inspection.local_may_use_name.name"
- shortName="LocalMayUseName"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.LocalMayUseNameInspection"/>
- <localInspection key="inspection.local_name_without_lvt.name"
- shortName="LocalNameWithoutLVT"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.LocalNameWithoutLVTInspection"/>
- <localInspection key="inspection.conflicting_share_type.name"
- shortName="ConflictingShareType"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.ConflictingShareTypeInspection"/>
- <localInspection key="inspection.share_non_local_ref.name"
- shortName="ShareNonLocalRef"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.ShareNonLocalRefInspection"/>
- <localInspection key="inspection.wrap_with_condition_targets_non_void.name"
- shortName="WrapWithConditionTargetsNonVoid"
- groupKey="inspection.group.mixin"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.mixin.inspection.mixinextras.WrapWithConditionValidNonVoidInspection"/>
- <!--endregion-->
-
- <!--region Configuration -->
- <localInspection key="inspection.unresolved_config_reference.name"
- shortName="UnresolvedConfigReference"
- groupKey="inspection.group.mixin"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.inspection.UnresolvedReferenceInspection"/>
- <localInspection key="inspection.invalid_config_value.name"
- shortName="InvalidConfigValue"
- groupKey="inspection.group.mixin"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.inspection.ConfigValueInspection"/>
- <localInspection key="inspection.invalid_mixin_registration.name"
- shortName="InvalidMixinRegistration"
- groupKey="inspection.group.mixin"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.inspection.MixinRegistrationInspection"/>
- <localInspection key="inspection.invalid_mixin_plugin_registration.name"
- shortName="InvalidMixinPluginRegistration"
- groupKey="inspection.group.mixin"
- language="JSON"
- enabledByDefault="true"
- level="ERROR"
- implementationClass="com.demonwav.mcdev.platform.mixin.config.inspection.MixinPluginInspection"/>
- <!--endregion-->
- <!--endregion-->
-
- <!--region BUNGEECORD INSPECTIONS-->
- <localInspection key="inspection.bungee_cord_listener_implemented.name"
- groupKey="inspection.group.bungee_cord"
- language="JAVA"
- enabledByDefault="true"
- level="WARNING"
- implementationClass="com.demonwav.mcdev.platform.bungeecord.inspection.BungeeCordListenerImplementedInspection"/>
- <!--endregion-->
- <!--endregion-->
-
- <registryKey defaultValue="true" description="Use the new mappings parser." key="mcdev.new.tsrg.parser"/>
- <registryKey defaultValue="false" description="Assume Minecraft is unobfuscated" key="mcdev.unobfuscated.minecraft"/>
- <registryKey defaultValue="true" description="Warn when the IDE is too old to receive further plugin updates" key="mcdev.outdated.ide.warning"/>
- </extensions>
-
- <extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
- <projectResolve implementation="com.demonwav.mcdev.platform.minecraft.gradle.MinecraftProjectResolverExtension"/>
- <projectResolve
- implementation="com.demonwav.mcdev.platform.minecraft.vanillagradle.VanillaGradleProjectResolverExtension"/>
- <projectResolve implementation="com.demonwav.mcdev.platform.minecraft.fabricloom.FabricLoomProjectResolverExtension"/>
- <projectResolve
- implementation="com.demonwav.mcdev.platform.architectury.framework.ArchitecturyProjectResolverExtension"/>
- </extensions>
-
- <applicationListeners>
- <listener class="com.demonwav.mcdev.translations.TranslationFileListener"
- topic="com.intellij.openapi.vfs.newvfs.BulkFileListener"/>
- </applicationListeners>
-
- <projectListeners>
- <listener class="com.demonwav.mcdev.facet.MinecraftFacetDetector$MinecraftModuleRootListener"
- topic="com.intellij.openapi.roots.ModuleRootListener"/>
- </projectListeners>
-
- <actions>
- <action class="com.demonwav.mcdev.insight.generation.GenerateEventListenerAction"
- id="GenerateEventListener">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
-
- <group id="MinecraftDevToolsGroup" popup="true">
- <add-to-group group-id="ToolsMenu"/>
- </group>
- <action class="com.demonwav.mcdev.update.ConfigurePluginUpdatesAction" id="MinecraftDevConfigureUpdates">
- <add-to-group group-id="MinecraftDevToolsGroup"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.FindMixinsAction" id="FindMixinsAction">
- <add-to-group relative-to-action="EditorPopupMenu2" anchor="after" group-id="EditorPopupMenu"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.GenerateShadowAction" id="GenerateShadowAction">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.GenerateOverwriteAction" id="GenerateOverwriteAction">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.GenerateSoftImplementsAction"
- id="GenerateSoftImplementsAction">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.CopyMixinTargetReferenceAction"
- id="CopyMixinTargetReferenceAction">
- <add-to-group relative-to-action="CopyReference" anchor="after" group-id="Copy.Paste.Special"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.action.GenerateAccessorAction" id="GenerateAccessorAction">
- <add-to-group group-id="GenerateGroup" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.mixin.expression.gui.MEShowFlowAction" id="MEShowFlowAction"
- popup="true">
- <add-to-group group-id="EditorPopupMenu" anchor="last"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.FindSrgMappingAction" id="FindSrgMappingAction">
- <add-to-group relative-to-action="EditorPopupMenu2" anchor="after" group-id="EditorPopupMenu2"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.CopyAtAction" id="CopyATAction">
- <add-to-group relative-to-action="CopyReference" anchor="after" group-id="Copy.Paste.Special"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.GotoAtEntryAction" id="GotoAtEntry">
- <add-to-group group-id="EditorPopupMenu.GoTo"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.CopyCoremodTargetAction" id="CopyCoremodTargetAction">
- <add-to-group relative-to-action="CopyReference" anchor="after" group-id="Copy.Paste.Special"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.LookupMemberAction" id="LookupMcpMember">
- <keyboard-shortcut first-keystroke="control alt shift M" keymap="$default"/>
- </action>
- <action class="com.demonwav.mcdev.translations.actions.SortTranslationsAction" id="SortMcTranslationsAction">
- <add-to-group relative-to-action="EditorPopupMenu2" anchor="after" group-id="EditorPopupMenu"/>
- </action>
- <action class="com.demonwav.mcdev.insight.generation.MinecraftClassCreateAction" id="CreateMinecraftClass">
- <add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewFile"/>
- </action>
- <action class="com.demonwav.mcdev.platform.minecraft.actions.CopyAwAction" id="CopyAWAction">
- <add-to-group relative-to-action="CopyATAction" anchor="after" group-id="Copy.Paste.Special"/>
- </action>
- </actions>
- </idea-plugin>