diff options
19 files changed, 123 insertions, 54 deletions
diff --git a/build.gradle b/build.gradle index e8fc1ca..20d3c4c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,7 @@ buildscript { repositories { maven { url = 'https://files.minecraftforge.net/maven' } + maven { url = "https://maven.tterrag.com/" } jcenter() mavenCentral() } @@ -10,14 +11,14 @@ buildscript { } } plugins { - id "org.jetbrains.kotlin.jvm" version "1.3.61" + id "org.jetbrains.kotlin.jvm" version "1.3.70" id "com.github.johnrengelman.shadow" version "4.0.4" } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'kotlin' -version = '1.0.1' +version = '1.1.0' group = 'thedarkcolour.kotlinforforge' archivesBaseName = 'kotlinforforge' @@ -27,7 +28,7 @@ tasks.build.dependsOn kotlinSourcesJar tasks.build.dependsOn shadowJar minecraft { - mappings channel: 'snapshot', version: '20191213-1.14.3' + mappings channel: 'snapshot', version: '20200213-mixed-1.15.2' runs { client { @@ -59,11 +60,14 @@ minecraft { } repositories { - + maven { + name = "Yarn Mappings" + url = "https://maven.tterrag.com/" + } } dependencies { - minecraft 'net.minecraftforge:forge:1.14.4-28.1.106' + minecraft 'net.minecraftforge:forge:1.15.2-31.1.14' compile group: "org.jetbrains.kotlin", name: "kotlin-stdlib", version: kotlin_version compile group: "org.jetbrains.kotlin", name: "kotlin-stdlib-jdk7", version: kotlin_version diff --git a/gradle.properties b/gradle.properties index 0a82c28..7a70982 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,6 +2,6 @@ # This is required to provide enough memory for the Minecraft decompilation process. org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false -kotlin_version=1.3.61 -coroutines_version = 1.3.2 -annotations_version = 18.0.0
\ No newline at end of file +kotlin_version=1.3.70 +coroutines_version = 1.3.4 +annotations_version = 19.0.0
\ No newline at end of file diff --git a/src/main/kotlin/thedarkcolour/kotlinforforge/AutoKotlinEventBusSubscriber.kt b/src/main/kotlin/thedarkcolour/kotlinforforge/AutoKotlinEventBusSubscriber.kt index eae9ef5..fa43f57 100644 --- a/src/main/kotlin/thedarkcolour/kotlinforforge/AutoKotlinEventBusSubscriber.kt +++ b/src/main/kotlin/thedarkcolour/kotlinforforge/AutoKotlinEventBusSubscriber.kt @@ -16,7 +16,7 @@ import java.util.stream.Collectors /** * Handles [net.minecraftforge.fml.common.Mod.EventBusSubscriber] annotations for object declarations. */ -object AutoKotlinEventBusSubscriber { +public object AutoKotlinEventBusSubscriber { private val EVENT_BUS_SUBSCRIBER: Type = Type.getType(Mod.EventBusSubscriber::class.java) /** @@ -34,7 +34,7 @@ object AutoKotlinEventBusSubscriber { * } * } */ - fun inject(mod: ModContainer, scanData: ModFileScanData, classLoader: ClassLoader) { + public fun inject(mod: ModContainer, scanData: ModFileScanData, classLoader: ClassLoader) { logger.debug(Logging.LOADING, "Attempting to inject @EventBusSubscriber kotlin objects in to the event bus for ${mod.modId}") val data: ArrayList<ModFileScanData.AnnotationData> = scanData.annotations.stream() .filter { annotationData -> diff --git a/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinForForge.kt b/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinForForge.kt index aef44e5..e5ec289 100644 --- a/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinForForge.kt +++ b/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinForForge.kt @@ -6,4 +6,4 @@ import net.minecraftforge.fml.common.Mod * Set 'modLoader' in mods.toml to "kotlinforforge" and loaderVersion to "[1,)". */ @Mod("kotlinforforge") -object KotlinForForge
\ No newline at end of file +public object KotlinForForge
\ No newline at end of file diff --git a/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinLanguageProvider.kt b/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinLanguageProvider.kt index a98fda7..61705ef 100644 --- a/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinLanguageProvider.kt +++ b/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinLanguageProvider.kt @@ -10,7 +10,7 @@ import java.util.function.Consumer import java.util.function.Supplier import java.util.stream.Collectors -class KotlinLanguageProvider : FMLJavaModLanguageProvider() { +public class KotlinLanguageProvider : FMLJavaModLanguageProvider() { override fun getFileVisitor(): Consumer<ModFileScanData> { return Consumer { scanResult -> val target = scanResult.annotations.stream() @@ -26,7 +26,7 @@ class KotlinLanguageProvider : FMLJavaModLanguageProvider() { override fun name(): String = "kotlinforforge" - class KotlinModTarget constructor(private val className: String, val modId: String) : IModLanguageProvider.IModLanguageLoader { + public class KotlinModTarget constructor(private val className: String, val modId: String) : IModLanguageProvider.IModLanguageLoader { override fun <T> loadMod(info: IModInfo, modClassLoader: ClassLoader, modFileScanResults: ModFileScanData): T { val ktContainer = Class.forName("thedarkcolour.kotlinforforge.KotlinModContainer", true, Thread.currentThread().contextClassLoader) logger.debug(Logging.LOADING, "Loading KotlinModContainer from classloader ${Thread.currentThread().contextClassLoader} - got ${ktContainer.classLoader}}") diff --git a/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModContainer.kt b/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModContainer.kt index 7c8101d..0ea150f 100644 --- a/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModContainer.kt +++ b/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModContainer.kt @@ -8,30 +8,24 @@ import net.minecraftforge.eventbus.api.IEventListener import net.minecraftforge.fml.* import net.minecraftforge.forgespi.language.IModInfo import net.minecraftforge.forgespi.language.ModFileScanData -import org.apache.logging.log4j.LogManager import java.util.* import java.util.function.Consumer import java.util.function.Supplier /** * Functions as [net.minecraftforge.fml.javafmlmod.FMLModContainer] for Kotlin - * - * */ -class KotlinModContainer(private val info: IModInfo, private val className: String, private val loader: ClassLoader, private val scanData: ModFileScanData) : ModContainer(info) { - //private val modClass: Class<*> - /** Use a separate logger because KotlinForForge.logger isn't initialized yet */ - private val logger = LogManager.getLogger() +public class KotlinModContainer(private val info: IModInfo, private val className: String, private val classLoader: ClassLoader, private val scanData: ModFileScanData) : ModContainer(info) { private lateinit var modInstance: Any - val eventBus: IEventBus + public val eventBus: IEventBus init { - logger.debug(Logging.LOADING, "Creating KotlinModContainer instance for {} with classLoader {} & {}", className, loader, javaClass.classLoader) + logger.debug(Logging.LOADING, "Creating KotlinModContainer instance for {} with classLoader {} & {}", className, classLoader, javaClass.classLoader) triggerMap[ModLoadingStage.CONSTRUCT] = dummy().andThen(::constructMod).andThen(::afterEvent) triggerMap[ModLoadingStage.CREATE_REGISTRIES] = dummy().andThen(::fireEvent).andThen(::afterEvent) triggerMap[ModLoadingStage.LOAD_REGISTRIES] = dummy().andThen(::fireEvent).andThen(::afterEvent) triggerMap[ModLoadingStage.COMMON_SETUP] = dummy().andThen(::fireEvent).andThen(::afterEvent) - triggerMap[ModLoadingStage.SIDED_SETUP] = dummy().andThen(::fireEvent).andThen (::afterEvent) + triggerMap[ModLoadingStage.SIDED_SETUP] = dummy().andThen(::fireEvent).andThen(::afterEvent) triggerMap[ModLoadingStage.ENQUEUE_IMC] = dummy().andThen(::fireEvent).andThen(::afterEvent) triggerMap[ModLoadingStage.PROCESS_IMC] = dummy().andThen(::fireEvent).andThen(::afterEvent) triggerMap[ModLoadingStage.COMPLETE] = dummy().andThen(::fireEvent).andThen(::afterEvent) @@ -50,15 +44,14 @@ class KotlinModContainer(private val info: IModInfo, private val className: Stri private fun fireEvent(lifecycleEvent: LifecycleEventProvider.LifecycleEvent) { val event = lifecycleEvent.getOrBuildEvent(this) - logger.debug(Logging.LOADING, "Firing event for modid ${getModId()} : $event") + logger.debug(Logging.LOADING, "Firing event for modid $modId : $event") try { eventBus.post(event) - logger.debug(Logging.LOADING, "Fired event for modid ${getModId()} : $event") - - } catch (e: Throwable) { + logger.debug(Logging.LOADING, "Fired event for modid $modId : $event") + } catch (throwable: Throwable) { logger.error(Logging.LOADING,"An error occurred while dispatching event ${lifecycleEvent.fromStage()} to $modId") - throw ModLoadingException(modInfo, lifecycleEvent.fromStage(), "fml.modloading.errorduringevent", e) + throw ModLoadingException(modInfo, lifecycleEvent.fromStage(), "fml.modloading.errorduringevent", throwable) } } @@ -71,20 +64,20 @@ class KotlinModContainer(private val info: IModInfo, private val className: Stri private fun constructMod(lifecycleEvent: LifecycleEventProvider.LifecycleEvent) { val modClass: Class<*> try { - modClass = Class.forName(className, true, loader) + modClass = Class.forName(className, true, classLoader) logger.debug(Logging.LOADING, "Loaded kotlin modclass ${modClass.name} with ${modClass.classLoader}") - } catch (e: Throwable) { - logger.error(Logging.LOADING, "Failed to load kotlin class $className", e) - throw ModLoadingException(info, ModLoadingStage.CONSTRUCT, "fml.modloading.failedtoloadmodclass", e) + } catch (throwable: Throwable) { + logger.error(Logging.LOADING, "Failed to load kotlin class $className", throwable) + throw ModLoadingException(info, ModLoadingStage.CONSTRUCT, "fml.modloading.failedtoloadmodclass", throwable) } try { logger.debug(Logging.LOADING, "Loading mod instance ${getModId()} of type ${modClass.name}") modInstance = modClass.kotlin.objectInstance ?: modClass.newInstance() logger.debug(Logging.LOADING, "Loaded mod instance ${getModId()} of type ${modClass.name}") - } catch (e: Throwable) { - logger.error(Logging.LOADING, "Failed to create mod instance. ModID: ${getModId()}, class ${modClass.name}", e) - throw ModLoadingException(modInfo, lifecycleEvent.fromStage(), "fml.modloading.failedtoloadmod", e, modClass) + } catch (throwable: Throwable) { + logger.error(Logging.LOADING, "Failed to create mod instance. ModID: ${getModId()}, class ${modClass.name}", throwable) + throw ModLoadingException(modInfo, lifecycleEvent.fromStage(), "fml.modloading.failedtoloadmod", throwable, modClass) } try { @@ -92,14 +85,21 @@ class KotlinModContainer(private val info: IModInfo, private val className: Stri // Inject into object EventBusSubscribers AutoKotlinEventBusSubscriber.inject(this, scanData, modClass.classLoader) logger.debug(Logging.LOADING, "Completed Automatic Kotlin event subscribers for ${getModId()}") - } catch (e: Throwable) { - logger.error(Logging.LOADING, "Failed to register Automatic Kotlin subscribers. ModID: ${getModId()}, class ${modClass.name}", e) - throw ModLoadingException(modInfo, lifecycleEvent.fromStage(), "fml.modloading.failedtoloadmod", e, modClass) + } catch (throwable: Throwable) { + logger.error(Logging.LOADING, "Failed to register Automatic Kotlin subscribers. ModID: ${getModId()}, class ${modClass.name}", throwable) + throw ModLoadingException(modInfo, lifecycleEvent.fromStage(), "fml.modloading.failedtoloadmod", throwable, modClass) } + } + override fun matches(mod: Any?): Boolean { + return mod == modInstance } - override fun getMod(): Any = modInstance + override fun getMod(): Any { + return modInstance + } - override fun matches(mod: Any?): Boolean = mod == modInstance + override fun acceptEvent(e: Event) { + eventBus.post(e) + } }
\ No newline at end of file diff --git a/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModLoadingContext.kt b/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModLoadingContext.kt index 1c50aae..af42d16 100644 --- a/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModLoadingContext.kt +++ b/src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModLoadingContext.kt @@ -6,13 +6,13 @@ import net.minecraftforge.fml.ModLoadingContext /** * Functions as [net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext] for Kotlin */ -class KotlinModLoadingContext constructor(private val container: KotlinModContainer) { - fun getEventBus(): IEventBus { +public class KotlinModLoadingContext constructor(private val container: KotlinModContainer) { + public fun getEventBus(): IEventBus { return container.eventBus } - companion object { - fun get(): KotlinModLoadingContext { + public companion object { + public fun get(): KotlinModLoadingContext { return ModLoadingContext.get().extension() } } diff --git a/src/main/kotlin/thedarkcolour/kotlinforforge/Logger.kt b/src/main/kotlin/thedarkcolour/kotlinforforge/Logger.kt index 8500863..8276903 100644 --- a/src/main/kotlin/thedarkcolour/kotlinforforge/Logger.kt +++ b/src/main/kotlin/thedarkcolour/kotlinforforge/Logger.kt @@ -2,4 +2,10 @@ package thedarkcolour.kotlinforforge import org.apache.logging.log4j.LogManager +/** + * Logger field for KotlinForForge. + * + * Kept here instead of [KotlinForForge] because logger is used + * before [KotlinModContainer] should initialize. + */ internal val logger = LogManager.getLogger()
\ No newline at end of file diff --git a/src/main/kotlin/thedarkcolour/kotlinforforge/forge/Forge.kt b/src/main/kotlin/thedarkcolour/kotlinforforge/forge/Forge.kt index 73cab7e..d712c75 100644 --- a/src/main/kotlin/thedarkcolour/kotlinforforge/forge/Forge.kt +++ b/src/main/kotlin/thedarkcolour/kotlinforforge/forge/Forge.kt @@ -18,7 +18,7 @@ import thedarkcolour.kotlinforforge.KotlinModLoadingContext * @see net.minecraftforge.event.entity.living.LivingEvent * @see net.minecraftforge.event.world.BlockEvent */ -val FORGE_BUS: IEventBus +public val FORGE_BUS: IEventBus inline get() = MinecraftForge.EVENT_BUS /** @since 1.0.0 @@ -30,7 +30,7 @@ val FORGE_BUS: IEventBus * @see net.minecraftforge.event.AttachCapabilitiesEvent * @see net.minecraftforge.event.RegistryEvent */ -val MOD_BUS: IEventBus +public val MOD_BUS: IEventBus inline get() = KotlinModLoadingContext.get().getEventBus() /** @since 1.0.0 @@ -38,22 +38,22 @@ val MOD_BUS: IEventBus * * Used in place of [net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext] */ -val MOD_CONTEXT: KotlinModLoadingContext +public val MOD_CONTEXT: KotlinModLoadingContext inline get() = KotlinModLoadingContext.get() -val LOADING_CONTEXT: ModLoadingContext +public val LOADING_CONTEXT: ModLoadingContext inline get() = ModLoadingContext.get() /** @since 1.0.0 * The current [Dist] of this environment. */ -val DIST: Dist = FMLEnvironment.dist +public val DIST: Dist = FMLEnvironment.dist /** @since 1.0.0 * An alternative to [net.minecraftforge.fml.DistExecutor.callWhenOn] * that inlines the callable. */ -inline fun <T> callWhenOn(dist: Dist, toRun: () -> T): T? { +public inline fun <T> callWhenOn(dist: Dist, toRun: () -> T): T? { return if (DIST == dist) { try { toRun() @@ -69,7 +69,7 @@ inline fun <T> callWhenOn(dist: Dist, toRun: () -> T): T? { * An alternative to [net.minecraftforge.fml.DistExecutor.runWhenOn] * that uses Kotlin functions instead of Java functional interfaces. */ -inline fun runWhenOn(dist: Dist, toRun: () -> Unit) { +public inline fun runWhenOn(dist: Dist, toRun: () -> Unit) { if (DIST == dist) { toRun() } @@ -79,7 +79,7 @@ inline fun runWhenOn(dist: Dist, toRun: () -> Unit) { * An alternative to [net.minecraftforge.fml.DistExecutor.runForDist] * that inlines the method call. */ -inline fun <T> runForDist(clientTarget: () -> T, serverTarget: () -> T): T { +public inline fun <T> runForDist(clientTarget: () -> T, serverTarget: () -> T): T { return when (DIST) { Dist.CLIENT -> clientTarget() Dist.DEDICATED_SERVER -> serverTarget() @@ -89,7 +89,7 @@ inline fun <T> runForDist(clientTarget: () -> T, serverTarget: () -> T): T { /** @since 1.0.0 * Registers a config. */ -fun registerConfig(type: ModConfig.Type, spec: ForgeConfigSpec, fileName: String? = null) { +public fun registerConfig(type: ModConfig.Type, spec: ForgeConfigSpec, fileName: String? = null) { if (fileName == null) { LOADING_CONTEXT.registerConfig(type, spec) } else { diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar Binary files differnew file mode 100644 index 0000000..fafdd22 --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar.md5 b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar.md5 new file mode 100644 index 0000000..30da12e --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar.md5 @@ -0,0 +1 @@ +61eb389c5c7570f21b1d3a57e6a366a2
\ No newline at end of file diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar.sha1 b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar.sha1 new file mode 100644 index 0000000..62fa8b7 --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar.sha1 @@ -0,0 +1 @@ +1ff98f24252ba0edd5e7cfe5eaabd8dd93bc88dd
\ No newline at end of file diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar Binary files differnew file mode 100644 index 0000000..5420ebc --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar.md5 b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar.md5 new file mode 100644 index 0000000..3f5edec --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar.md5 @@ -0,0 +1 @@ +c7901cc05394cc4eebc80918a1231698
\ No newline at end of file diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar.sha1 b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar.sha1 new file mode 100644 index 0000000..7d9c453 --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar.sha1 @@ -0,0 +1 @@ +d08185063d4710acb9b50170c05bcb25e82334d1
\ No newline at end of file diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom new file mode 100644 index 0000000..0e4a3e6 --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <groupId>thedarkcolour</groupId> + <artifactId>kotlinforforge</artifactId> + <version>1.1.0</version> + <dependencies> + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-stdlib</artifactId> + <version>1.3.70</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-stdlib-jdk7</artifactId> + <version>1.3.70</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-stdlib-jdk8</artifactId> + <version>1.3.70</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-reflect</artifactId> + <version>1.3.70</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.jetbrains</groupId> + <artifactId>annotations</artifactId> + <version>19.0.0</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.jetbrains.kotlinx</groupId> + <artifactId>kotlinx-coroutines-core</artifactId> + <version>1.3.4</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.jetbrains.kotlinx</groupId> + <artifactId>kotlinx-coroutines-jdk8</artifactId> + <version>1.3.4</version> + <scope>compile</scope> + </dependency> + </dependencies> +</project> diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom.md5 b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom.md5 new file mode 100644 index 0000000..491ca64 --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom.md5 @@ -0,0 +1 @@ +68c9d3f2d057c8ebe8204b9f8689d1d8
\ No newline at end of file diff --git a/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom.sha1 b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom.sha1 new file mode 100644 index 0000000..17f8f3e --- /dev/null +++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom.sha1 @@ -0,0 +1 @@ +e65893001c803f54019f17aae3302793f38cdcb4
\ No newline at end of file diff --git a/thedarkcolour/kotlinforforge/maven-metadata.xml b/thedarkcolour/kotlinforforge/maven-metadata.xml index b561ddd..0c04ebe 100644 --- a/thedarkcolour/kotlinforforge/maven-metadata.xml +++ b/thedarkcolour/kotlinforforge/maven-metadata.xml @@ -3,10 +3,11 @@ <groupId>thedarkcolour</groupId> <artifactId>kotlinforforge</artifactId> <versioning> - <release>1.0.1</release> + <release>1.1.0</release> <versions> <version>1.0.0</version> <version>1.0.1</version> + <version>1.1.0</version> </versions> </versioning> </metadata> |