diff --git a/src/main/kotlin/asset/MixinAssets.kt b/src/main/kotlin/asset/MixinAssets.kt
index 67dde8e19..8a93d0c91 100644
--- a/src/main/kotlin/asset/MixinAssets.kt
+++ b/src/main/kotlin/asset/MixinAssets.kt
@@ -27,4 +27,6 @@ object MixinAssets : Assets() {
val MIXIN_CLASS_ICON = loadIcon("/assets/icons/mixin/mixin_class_gutter.png")
val MIXIN_CLASS_ICON_DARK = loadIcon("/assets/icons/mixin/mixin_class_gutter_dark.png")
+
+ val MIXIN_MARK = loadIcon("/assets/icons/mixin/mixin_mark.svg")
}
diff --git a/src/main/kotlin/platform/mixin/framework/MixinIconProvider.kt b/src/main/kotlin/platform/mixin/framework/MixinIconProvider.kt
index 646b68f02..c886e4338 100644
--- a/src/main/kotlin/platform/mixin/framework/MixinIconProvider.kt
+++ b/src/main/kotlin/platform/mixin/framework/MixinIconProvider.kt
@@ -21,15 +21,19 @@
package com.demonwav.mcdev.platform.mixin.framework
import com.demonwav.mcdev.MinecraftSettings
-import com.demonwav.mcdev.asset.PlatformAssets
+import com.demonwav.mcdev.asset.MixinAssets
import com.demonwav.mcdev.platform.mixin.util.isMixin
-import com.intellij.ide.IconProvider
+import com.intellij.ide.IconLayerProvider
+import com.intellij.openapi.util.Iconable
import com.intellij.psi.PsiClass
-import com.intellij.psi.PsiElement
+import javax.swing.Icon
-class MixinIconProvider : IconProvider() {
- override fun getIcon(element: PsiElement, flags: Int) =
- PlatformAssets.MIXIN_ICON.takeIf {
+class MixinIconProvider : IconLayerProvider {
+ override fun getLayerIcon(element: Iconable, isLocked: Boolean): Icon? =
+ MixinAssets.MIXIN_MARK.takeIf {
MinecraftSettings.instance.mixinClassIcon && element is PsiClass && element.isMixin
}
+
+ override fun getLayerDescription(): String =
+ "Mixin class"
}
diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml
index cf1cdd934..f3c363629 100644
--- a/src/main/resources/META-INF/plugin.xml
+++ b/src/main/resources/META-INF/plugin.xml
@@ -528,7 +528,7 @@
-
+
+
+