跳到正文

Krysztal’s Language Scala

fabric-language-scala 的一个分支版本,支持最新版本的 Scala 3。

收藏

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Krysztal 对 fabric-language-scala 的分支

Modrinth Version

简体中文

这是 fabric-language-scala 的一个分支,支持最新的 Scala 3 版本。

为何创建分支?

使用 Scala 的人很少,但 Scala 强大的表达能力使它几乎成为开发模组的完美语言。

原项目 fabric-language-scala 已无人维护,维护者也无暇继续投入精力,因此它逐渐停止维护并无法正常使用。

而对 Scala 3 的支持几乎不存在。

所以我决定自行分支并维护,同时实现与原项目 fabric-language-scala 的兼容性,项目名为 krysztal-language-scala。

注意

  • 此语言适配器会尽可能与上游同步内容,并尽可能确保其可用性。
  • 如果你是 开发者,请阅读 开发者指南,并告知用户你使用的 Scala 3 版本
  • 建议尽可能使用最新版本
  • 如果你是 用户,请阅读 用户指南

从 KLS 3.3.2 开始,编译目标为 Java 25。不支持较旧版本的 Java 运行时。

如何使用?

添加依赖

将以下内容添加到项目的 build.gradle

plugins {
  ...
	id 'scala' // Add `scala` plugin for gradle
  ...
}

repositories {
  ...
	maven { url "https://api.modrinth.com/maven" }
  ...
}

dependencies {
  ...
	// Scala 3 language support (Fabric language adapter + Scala runtime, bundled at runtime by this mod).
	implementation("maven.modrinth:krysztal-language-scala:${property("krysztal_scala_version")}")
  ...
}

用法: class

假设你的入口名称是 ExampleEntry.scala

import net.fabricmc.api.ModInitializer;

class ExampleEntry extends ModInitializer {
   lazy val logger = LoggerFactory.getLogger("KMMO")
   override def onInitialize(): Unit = {
       logger.info("Hi")
   }
}

并且在 fabric.mod.json

   ...
"entrypoints": {
   "main": [
     "dev.example.ExampleEntry"
   ],
 },
   ...

不过,得益于 Scala 与 Java 出色的互操作性,我们可以将这个
库直接用作 Java 入口点 🙂

用法: object

假设你的入口名称是 ExampleEntry.scala

import net.fabricmc.api.ModInitializer;

object ExampleEntry extends ModInitializer {
    lazy val logger = LoggerFactory.getLogger("KMMO")
    override def onInitialize(): Unit = {
        logger.info("Hi")
    }
}

并且在 fabric.mod.json

   ...
"entrypoints": {
   "main": [
     {
       "adapter": "scala",
       "value": "dev.example.ExampleEntry"
     }
   ],
 },
   ...

已知问题

unknown invokedynamic bsm: scala/runtime\*

此问题由 Scala 的类加载机制导致。

它几乎不会造成任何影响,忽略即可。

常见问题

Krysztal’s Language Scala 支持哪些 Minecraft 版本?

Krysztal’s Language Scala 支持 Minecraft Java 版 1.17–26.2,共 33 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Krysztal’s Language Scala 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

Krysztal112233 的其他作品

查看全部 →