Used to make mods with the Kotlin programming language. Works by shading the Kotlin libraries, providing KotlinLanguageProvider to load @Mod object declarations, providing AutoKotlinEventBusSubscriber to load @EventBusSubscriber declarations, and providing useful utility functions and constants.
As of Kotlin for Forge 1.8.0, this provides Kotlin 1.4.21, Kotlin coroutines 1.4.2, Kotlin JSON serialization 1.0.1, and Jetbrains annotations 20.1.0.
If you're not a mod developer, this is a dependency mod.
Unlike Kottle, this library (as of 1.2.0) provides its own implementation of IEventBus that supports IEventBus#addListener and IEventBus#addGenericListener with function references.
Information for how to implement can be found here. You do not have to use the language loader or any of the features Kotlin for Forge provides, you can just use it for the bundled Kotlin libraries.
If you'd like to ask for help or suggest something, feel free to do so on the Kotlin for Forge discord server.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 | ||||
| 21h ago | 1 |
- Update to Kotlin 2.2.21, serialization 1.9.0, coroutines 1.10.2
- Update to Kotlin 2.1.20, coroutines 1.10.2, serialization 1.8.1
- Fixed accidental transitive dependency on FancyModLoader
- No more
slimartifact. If still needed, you can depend on kfflang, kfflib, kffmod separately instead
- Updated to Kotlin 2.1.0
- Updated to Kotlin 2.0.21, coroutines 1.9.0, serialization 1.7.3
- Updated to Kotlin 2.0.10
- Fix NeoForge crash due to breaking change in FancyModLoader
- Updated to serialization 1.7.1
- Bumped version to fix missing coroutines and serialization with NeoForge maven artifact.
- Added Minecraft Forge support (1.21+ only)
- Updated to serialization 1.7.0
- Updated to Minecraft 1.21
- Update to Kotlin 2.0.0, serialization 1.6.3, coroutines 1.8.1
- Updated to Kotlin 2.0.0, coroutines 1.8.1
- Fixed broken JAR
- Dev jar now JarJars Kotlin libs instead of shading them
- Dropped support for NeoForge 1.20.5 due to breaking changes in 1.20.6.
- Updated to support NeoForge 20.6.62-beta and onward, following breaking changes in language loaders.
- Now requires NeoForge 20.6.62-beta or newer.
- Make sure you update your dependency requirement to require KFF 5.1.x or newer.
- Added missing Kotlin libraries to JarJar: kotlin-stdlib-jdk7, kotlin-stdlib-jdk8, kotlin-serialization-core-jvm, kotlin-serialization-json-jvm
- Changed KFFMod to require KFF 5.0 instead of 4.0 (just a typo fix)
- Fixed a bug with EventBusSubscriber when the bus field was not specified.
- Updated to 1.20.5 NeoForge (Forge hasn't updated yet)
- Updated to Kotlin 1.9.23, serialization 1.6.3, coroutines 1.8.0
- Kotlin libraries are now included using JarJar instead of shading
- Migration guide can be found here: [Migration Guide](https://gist.github.com/thedarkcolour/5590f46b0d4d8ca692add2934d05e642)
- Check the README on GitHub for updated instructions
- Update to Kotlin 1.9.22
- Address changes in NeoForge FancyModLoader (added type field to the mods.toml dependencies)
- Removed CapabilityUtil.kt from NeoForged version of KFF due to NeoForge's capability changes
- Fixed a crash with new Forge changes. KFF 4.x is still compatible with Forge 1.19.3-1.20.4 and NeoForge 1.20.1-1.20.4.
- Update to Kotlin 1.9.21, coroutines 1.6.2
- Fixed a crash with new NeoForge changes
- Fixed incompatibility with NeoForge's new registry system
- You MUST USE this import for property delegates to work with DeferredRegister:
import thedarkcolour.kotlinforforge.neoforge.forge.getValue
- Fixed crash with Event Bus
- Fixed language provider crashing for non-object Mod classes
## Kotlin for Forge 4.6.0
- Updated to Kotlin 1.9.20
- Added support for NeoForge 1.20.2 (must use the "kotlinforforge-neoforge" artifact on Maven instead of just "kotlinforforge")