Skip to content

Commit ef573f1

Browse files
committed
Add superClass and import generation
1 parent cff0db9 commit ef573f1

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/main/kotlin/net/theevilreaper/stelaris/cli/generator/dart/enchantment/EnchantmentGenerator.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
package net.theevilreaper.stelaris.cli.generator.dart.enchantment
22

3+
import com.google.common.collect.ImmutableList
34
import net.kyori.adventure.text.TranslatableComponent
45
import net.minestom.server.MinecraftServer
56
import net.minestom.server.item.enchant.Enchantment
67
import net.theevilreaper.dartpoet.DartFile
78
import net.theevilreaper.dartpoet.DartModifier
9+
import net.theevilreaper.dartpoet.InheritKeyword
810
import net.theevilreaper.dartpoet.clazz.ClassSpec
911
import net.theevilreaper.dartpoet.constructor.ConstructorSpec
12+
import net.theevilreaper.dartpoet.directive.DirectiveFactory
13+
import net.theevilreaper.dartpoet.directive.DirectiveType
1014
import net.theevilreaper.dartpoet.enum.EnumEntrySpec
1115
import net.theevilreaper.dartpoet.enum.parameter.EnumParameterSpec
16+
import net.theevilreaper.dartpoet.type.ClassName
1217
import net.theevilreaper.stelaris.cli.generator.BaseGenerator
1318
import net.theevilreaper.stelaris.cli.generator.dart.util.CLASS_PROPERTIES
1419
import net.theevilreaper.stelaris.cli.generator.dart.util.CONSTRUCTOR_PARAMETERS
@@ -54,6 +59,7 @@ class EnchantmentGenerator : BaseGenerator(
5459
val updatedClassName = "${group.classPart.replaceFirstChar { it.uppercase() }}$className"
5560

5661
val enumClass = ClassSpec.enumClass(updatedClassName)
62+
.superClass(ClassName("Enchantment"), InheritKeyword.IMPLEMENTS)
5763
.enumProperties(*properties.toTypedArray())
5864
.properties(*CLASS_PROPERTIES)
5965
.constructor {
@@ -65,6 +71,7 @@ class EnchantmentGenerator : BaseGenerator(
6571
.build()
6672
val fileName = "${group.classPart}_${className.replaceFirstChar { it.lowercase() }}"
6773
val enumFile = DartFile.builder(fileName)
74+
.directive(DirectiveFactory.create(DirectiveType.RELATIVE, "../api/enchantment"))
6875
.doc("The file is generated. Don't change anything here")
6976
.type(enumClass)
7077
.build()

0 commit comments

Comments
 (0)