aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 76776cf7ad59b519505ded0e7184f694b16c4689 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# KotlinForForge
Makes Kotlin forge-friendly by doing the following:
- Provides the Kotlin libraries.
- Provides `KotlinLanguageProvider` to allow usage of object declarations as @Mod targets.
- Provides `AutoKotlinEventBusSubscriber` to allow usage of object declarations as @Mod.EventBusSubscriber targets.
- Provides `KtDeferredRegister` as an alternative to `DeferredRegister` that returns non-null values

To implement in your project, add the following to your build.gradle: 
```groovy
repositories {
    maven {
        name = 'kotlinforforge'
        url = 'https://thedarkcolour.github.io/KotlinForForge/'
    }
}

dependencies {
    implementation 'thedarkcolour:kotlinforforge:1+'
}
```
Then, add the following to your mods.toml file:
```toml
modLoader="kotlinforforge"
loaderVersion="[1,)"

[[dependencies.YOUR_MODID]]
    modId="kotlinforforge"
    mandatory=true
    versionRange="[1,)"
    ordering="NONE"
    side="BOTH"
```

Currently, this mod supports object declarations with @Mod and @EventBusSubscriber annotations.

It is recommended that you use   
```net.minecraftforge.registries.DeferredRegister```  
instead of           
```net.minecraftforge.registries.ObjectHolder```

You must use   
```thedarkcolour.kotlinforforge.KotlinModLoadingContext```              
instead of   
```net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext```