aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle14
-rw-r--r--gradle.properties6
-rw-r--r--src/main/kotlin/thedarkcolour/kotlinforforge/AutoKotlinEventBusSubscriber.kt4
-rw-r--r--src/main/kotlin/thedarkcolour/kotlinforforge/KotlinForForge.kt2
-rw-r--r--src/main/kotlin/thedarkcolour/kotlinforforge/KotlinLanguageProvider.kt4
-rw-r--r--src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModContainer.kt54
-rw-r--r--src/main/kotlin/thedarkcolour/kotlinforforge/KotlinModLoadingContext.kt8
-rw-r--r--src/main/kotlin/thedarkcolour/kotlinforforge/Logger.kt6
-rw-r--r--src/main/kotlin/thedarkcolour/kotlinforforge/forge/Forge.kt18
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jarbin0 -> 8557 bytes
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar.md51
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar.sha11
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jarbin0 -> 65368 bytes
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar.md51
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar.sha11
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom52
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom.md51
-rw-r--r--thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.pom.sha11
-rw-r--r--thedarkcolour/kotlinforforge/maven-metadata.xml3
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
new file mode 100644
index 0000000..fafdd22
--- /dev/null
+++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0-sources.jar
Binary files differ
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
new file mode 100644
index 0000000..5420ebc
--- /dev/null
+++ b/thedarkcolour/kotlinforforge/1.1.0/kotlinforforge-1.1.0.jar
Binary files differ
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>