
Krysztal's Language Scala
A fork of fabric-language-scala, but support the newest version of Scala3
About this Mod
Krysztal's fork of fabric-language-scala
This is a fork of fabric-language-scala, support the newest Scala3 version.
Why fork?
The number of people who use Scala is very small, but the power of Scala's expressiveness makes the language practically perfect for developing mods.
The original fabric-language-scala was unmaintained and the maintainers couldn't spare any more effort to maintain it, so it slowly became unmaintained and non-functional.
Support for Scala3 is, if anything, almost non-existent.
So I decided to fork it and maintain it myself and implement it to be compatible with the original fabric-language-scala,named krysztal-language-scala.
NOTE
- This language adapter will synchronize content upstream as much as possible and will ensure availability as much as possible.
- If you are DEVELOPER, please reading FOR_DEVELOPER, and remind your user which Scala3 version you used
- I suggested you should using the newest version as possible
- If you are USER, please reading FOR_USER
How to use?
Add dependence
Add those lines to your project's build.gradle
plugins {
...
id 'scala' // Add `scala` plugin for gradle
...
}
repositories {
...
maven { url "https://maven.krysztal.dev/releases" }
...
}
dependencies {
...
modImplementation "dev.krysztal:krysztal-language-scala:${project.kls_version}+scala.${project.scala_version}"
...
}
Usage: class
Suppose your entry name is ExampleEntry.scala
import net.fabricmc.api.ModInitializer;
class ExampleEntry extends ModInitializer {
lazy val logger = LoggerFactory.getLogger("KMMO")
override def onInitialize(): Unit = {
logger.info("Hi")
}
}
And in fabric.mod.json
...
"entrypoints": {
"main": [
"dev.example.ExampleEntry"
],
},
...
But thanks to Scala's excellent interoperability with Java, we can use this
library simply as a Java entry point :)
Usage: object
Suppose your entry name is ExampleEntry.scala
import net.fabricmc.api.ModInitializer;
object ExampleEntry extends ModInitializer {
lazy val logger = LoggerFactory.getLogger("KMMO")
override def onInitialize(): Unit = {
logger.info("Hi")
}
}
And in fabric.mod.json
...
"entrypoints": {
"main": [
{
"adapter": "scala",
"value": "dev.example.ExampleEntry"
}
],
},
...
Known issues
unknown invokedynamic bsm: scala/runtime*
This issues caused by scala's class loading mechanism.
It won't affect almost anything. Ignore it.
Available Versions
How to Install Krysztal's Language Scala on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (26.1-snapshot-1).
Install Mod
Open the mod browser in the dashboard and search for "Krysztal's Language Scala". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
26.1-snapshot-1, 1.21.11, 1.21.11-rc3 (+277 more)
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Krysztal's Language Scala server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (26.1-snapshot-1). You can switch loaders with one click in the panel.
Is Krysztal's Language Scala compatible with fabric?
Krysztal's Language Scala officially supports fabric for Minecraft 26.1-snapshot-1, 1.21.11, 1.21.11-rc3. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Krysztal's Language Scala – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Krysztal's Language Scala consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Krysztal's Language Scala with just one click on your server.