Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/main/kotlin/insight/MapColorLineMarkerProvider.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.demonwav.mcdev.insight

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're missing the license headers, you need to run ./gradlew licenseFormat


import com.intellij.psi.PsiElement
import java.awt.Color
import org.jetbrains.uast.UElement

class MapColorLineMarkerProvider : ColorLineMarkerProvider.CommonLineMarkerProvider() {
override fun findColor(element:PsiElement): Pair<Color, UElement>? = element.findMapColor()
}
27 changes: 27 additions & 0 deletions src/main/kotlin/insight/MapColorUtil.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.demonwav.mcdev.insight

import com.intellij.psi.PsiElement
import java.awt.Color
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UElement
import org.jetbrains.uast.UIdentifier
import org.jetbrains.uast.getParentOfType
import org.jetbrains.uast.toUElementOfType

fun PsiElement.findMapColor(): Pair<Color, UElement>? {
val identifier = this.toUElementOfType<UIdentifier>()
?: return null

val call = identifier.getParentOfType<UCallExpression>()
?: return null

if (call.resolve()?.containingClass?.qualifiedName != "net.minecraft.world.level.material.MapColor") {
return null
}

val params = call.valueArguments
val argb = (params.getOrNull(1)?.evaluate() as? Number)?.toInt() ?: return null
@Suppress("UseJBColor")
return Color(argb, false) to call
}

2 changes: 2 additions & 0 deletions src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,8 @@
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"/>
Expand Down
Loading