File tree Expand file tree Collapse file tree 3 files changed +32
-0
lines changed
kotlin/com/demonwav/mcdev/platform/forge Expand file tree Collapse file tree 3 files changed +32
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ * Minecraft Dev for IntelliJ
3+ *
4+ * https://minecraftdev.org
5+ *
6+ * Copyright (c) 2017 minecraft-dev
7+ *
8+ * MIT License
9+ */
10+
11+ package com.demonwav.mcdev.platform.forge.insight
12+
13+ import com.demonwav.mcdev.platform.forge.util.ForgeConstants
14+ import com.demonwav.mcdev.util.extendsOrImplements
15+ import com.intellij.codeInsight.daemon.ImplicitUsageProvider
16+ import com.intellij.psi.PsiClass
17+ import com.intellij.psi.PsiElement
18+
19+ class ForgeImplicitUsageProvider : ImplicitUsageProvider {
20+
21+ override fun isImplicitUsage (element : PsiElement ) = isCoreMod(element)
22+
23+ fun isCoreMod (element : PsiElement ): Boolean {
24+ return element is PsiClass && element.extendsOrImplements(ForgeConstants .CORE_MOD_INTERFACE )
25+ }
26+
27+ override fun isImplicitRead (element : PsiElement ) = false
28+ override fun isImplicitWrite (element : PsiElement ) = false
29+
30+ }
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ object ForgeConstants {
1616 const val SIDE_ANNOTATION = " net.minecraftforge.fml.relauncher.Side"
1717 const val SIDED_PROXY_ANNOTATION = " net.minecraftforge.fml.common.SidedProxy"
1818 const val MOD_ANNOTATION = " net.minecraftforge.fml.common.Mod"
19+ const val CORE_MOD_INTERFACE = " net.minecraftforge.fml.relauncher.IFMLLoadingPlugin"
1920 const val EVENT_HANDLER_ANNOTATION = " net.minecraftforge.fml.common.Mod.EventHandler"
2021 const val SUBSCRIBE_EVENT_ANNOTATION = " net.minecraftforge.fml.common.eventhandler.SubscribeEvent"
2122 const val FML_EVENT = " net.minecraftforge.fml.common.event.FMLEvent"
Original file line number Diff line number Diff line change 132132 <!---->
133133
134134 <fileIconProvider implementation =" com.demonwav.mcdev.platform.forge.ForgeFileIconProvider" />
135+ <implicitUsageProvider implementation =" com.demonwav.mcdev.platform.forge.insight.ForgeImplicitUsageProvider" />
135136
136137 <!-- Forge Annotator -->
137138 <annotator language =" JAVA" implementationClass =" com.demonwav.mcdev.platform.forge.inspections.sideonly.SidedProxyAnnotator" />
You can’t perform that action at this time.
0 commit comments