Sprache

Krysztal's Language Scala

Krysztal's Language Scala

Modrinth

A fork of fabric-language-scala, but support the newest version of Scala3

5.5k Downloads 6 Follower aktualisiert 5mo ago
neueste v3.3.2+scala.3.3.0 Modrinth
Fabric 1.17 – 26.1-snapshot-1 Library

Krysztal's fork of fabric-language-scala

Modrinth Version

中文简体

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.

Versionen

Release
3.3.2+scala.3.3.0
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.3.0
395
Release
3.3.2+scala.3.3.1
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.3.1
10
Release
3.3.2+scala.3.3.3
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.3.3
10
Release
3.3.2+scala.3.3.4
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.3.4
10
Release
3.3.2+scala.3.3.5
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.3.5
10
Release
3.3.2+scala.3.3.6
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.3.6
108
Release
3.3.2+scala.3.4.1
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.4.1
15
Release
3.3.2+scala.3.4.0
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.4.0
9
Release
3.3.2+scala.3.4.2
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.4.2
13
Release
3.3.2+scala.3.4.3
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.4.3
8
Release
3.3.2+scala.3.5.1
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.5.1
17
Release
3.3.2+scala.3.5.0
fabric · 1.21, 1.21.1-rc1, 1.21.1 · 5mo ago
Build with Scala3: 3.5.0
7

Kommentare 0

Noch keine Kommentare. Sei der Erste, der seine Meinung teilt.

Herunterladen Krysztal's Language Scala

R 3.3.2+scala.3.3.0 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.3.1 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.3.3 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.3.4 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.3.5 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.3.6 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.4.1 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.4.0 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.4.2 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.4.3 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.5.1 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.5.0 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.6.2 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.5.2 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.6.4 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.6.3 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.7.1 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.7.0 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.7.2 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.2+scala.3.7.3 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.3.1 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.3.3 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.3.4 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.3.5 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.4.1 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.3.6 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.3.7 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.4.0 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.4.2 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.5.0 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.4.3 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.5.1 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.5.2 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.6.4 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.6.3 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.1+scala.3.6.2 1.21, 1.21.1-rc1, 1.21.1 fabric 6.3 MB R 3.3.0+scala.3.3.0 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.3.1 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.3.3 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.3.6 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.3.5 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.3.4 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.4.0 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.4.2 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.4.1 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.4.3 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.5.1 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.5.0 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.5.2 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB R 3.3.0+scala.3.6.2 1.17, 1.17.1-pre1, 1.17.1-pre2 fabric 6.3 MB

Dateien werden direkt von der Originalquelle bereitgestellt. Modgrid hostet oder verändert sie nicht.