概述
UtilJS 为 KubeJS 添加了一些实用方法,例如能够让代码安全运行的 runCatching 方法,以及 let、also 等方法。
并且将 Integer、Boolean 等基本数据类型的类开放了出来,以便于在某些要求输入这些类型的情况下使用。
此外,UtilJS 还为常用的类扩展了一个 wrap 方法,通过包装器可以使调用 let、also 等方法更方便,就像在 Kotlin 中一样。
示例
ServerEvents.tick(event => {
event.getServer().wrap().takeIf(take => {
return (take.getPlayerCount() == 1)
}).also(al => {
al.runCommandSilent("say player count = 1")
})
// 可以保证代码不会因为异常而终止
let rc = UtilJS.control.runCatching(() => {
// 在 KubeJS 这个 1 会被识别成 1.0 而导致失败,应该传入字符串的 1
Integer.valueOf(1)
return "OK"
})
// 然后可以通过 result 来获取返回值,此处 value 理应是 null
rc.getValue()
rc.getError()
// 通过 os 模块可以获取到系统的部分信息,例如系统、内存占用等。但无法获取较为敏感的信息,例如用户名。
UtilJS.os.platform()
// 通过 asserts 模块可以方便的进行调试,以便于判断结果是否符合预期
UtilJS.asserts.assertEquals("1", "1.0")
// UtilJS 将 Java 常用的一些类都进行了开放。
Stream.of("1", "2", "3").map(s => {
Integer.parseInt(s)
})
})