Investigate and Implement a Kotlin Library
Although Terasology uses mostly Java in the code base, the JVM has to offer other interesting languages. Languages like Scala and Kotlin have a huge potential to attract new developers. We have a ScalaLib module that allows to use Scala to write new modules.
Your task is to investigate and implement a similar runtime module for Kotlin.
Note: You need to have the game running from source before you can work on this task.
Definition of 'Done'
- A
KotlinLib
module repository containing the runtime library for Kotlin. The repository may be transfered to the https://github.com/Terasology and bundled in the official line-up. - Some proof-of-concept implemenation, e.g. a new command implemented in Kotlin
Where to start?
- The ScalaLib module
- A previous investigation by WinterGrascph
- Kotlin's website
- Kotlin and Gradle documentation
Note that the implementation by WinterGrascph was done inside the Core module, while this should be done properly in a KotlinLib module. Also, unlike regular modules the Kotlin one, like the Scala one, does need to contain its own unique build.gradle (other modules are given one at initial Gradle execution by copying the file from Core). If you copy in some of the work done by WinterGrascph be sure to credit the work somewhere and add something extra of your own (like another example)