使用 Kotlin/JS 开发 LSE 插件!
Warning
LegacyScriptEngine 接口的完整定义正在编写. 并且 LegacyScriptEngine 正在处于开发阶段, 接口定义可能随时发生改变, 需谨慎使用该项目进行开发!
- 克隆该项目到本地
- 在模块 plugin 处编写你的插件逻辑
- 使用 Gradle 构建根项目或 plugin 模块
- 分发或使用位于 plugin/build/dist/js/productionExecutable/levilamina-kotlin-js-plugin-template.js 的编译结果文件!
- 在 settings.gradle.kts 中修改
rootProject.name
为你的项目名称 - 探索 plugin/build.gradle.kts 自定义编译过程
...
名称 | 注释 |
---|---|
lse-reference | LSE接口定义 |
lse-ktx | 对于Kotlin使用LSE接口的封装优化库 |
plugin | 插件主逻辑 |
- LSE接口完整定义
- DataAPI
- EventAPI
- GameAPI
- GuiAPI
- NativeAPI
- NbtAPI
- ScriptAPI
- SystemAPI
- 命令注册的DSL
- 表单UI的DSL
- NBT操作的DSL
...
A: lse-reference
的接口定义是按照适用于 Levilamina 的 LSE
编写的, 其中大部分接口都有向下兼容.
若遇到无法使用的情况 (例如NativeAPI的部分接口), 可自行定义接口或使用 Kotlin/JS 内置的fun js(code: String): dynamic
执行常量代码.
A: 不太熟悉cpp (逃 这条道路还是留给其他开发者探索吧!
- Dukat - Converter of TypeScript definition files to Kotlin declarations
- Kotlin/JS dead code elimination
- Use JavaScript code from Kotlin
- Dynamic type
- Use dependencies from npm
项目由 Kotlin Multiplatform 强力驱动并采用 Apache License 2.0 开源
Copyright 2024 Cdm2883
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.