11package net.theevilreaper.stelaris.cli.generator.dart.enchantment
22
3+ import com.google.common.collect.ImmutableList
34import net.kyori.adventure.text.TranslatableComponent
45import net.minestom.server.MinecraftServer
56import net.minestom.server.item.enchant.Enchantment
67import net.theevilreaper.dartpoet.DartFile
78import net.theevilreaper.dartpoet.DartModifier
9+ import net.theevilreaper.dartpoet.InheritKeyword
810import net.theevilreaper.dartpoet.clazz.ClassSpec
911import net.theevilreaper.dartpoet.constructor.ConstructorSpec
12+ import net.theevilreaper.dartpoet.directive.DirectiveFactory
13+ import net.theevilreaper.dartpoet.directive.DirectiveType
1014import net.theevilreaper.dartpoet.enum.EnumEntrySpec
1115import net.theevilreaper.dartpoet.enum.parameter.EnumParameterSpec
16+ import net.theevilreaper.dartpoet.type.ClassName
1217import net.theevilreaper.stelaris.cli.generator.BaseGenerator
1318import net.theevilreaper.stelaris.cli.generator.dart.util.CLASS_PROPERTIES
1419import 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