跳到主要内容

⌨️ 应用程序编程接口

依赖库

将 CraftEngine API 添加到你的项目:

repositories {
maven("https://repo.momirealms.net/releases/")
// maven("https://repo-momi.gtemc.cn/releases/") // 国内镜像(网络受限时使用)
// maven("https://repo.gtemc.net/releases/") // 备用镜像(主仓库不可用时使用)
}
dependencies {
compileOnly("net.momirealms:craft-engine-core:{version}") // 将 "{version}" 替换为插件稳定版本
compileOnly("net.momirealms:craft-engine-bukkit:{version}") // 例如 0.0.60
}

请确保在 plugin.yml 中将 CraftEngine 声明为依赖项:

softdepend:
- CraftEngine

使用 paper-plugin.yml 时,必须添加 join-classpath: true 才能访问 API 类:

dependencies:
server:
CraftEngine:
load: BEFORE
required: false
join-classpath: true
警告

注意变更

api 包下的内容被认为是稳定的。其他与插件交互的方法不稳定,特别是在当前 beta 阶段,可能会发生变化。

以下链接中提供的内容被认为是稳定的,并涵盖了 90% 的 API 使用需求: https://github.com/Xiao-MoMi/craft-engine/tree/main/bukkit/src/main/java/net/momirealms/craftengine/bukkit/api

信息

如果想直接开始注册自定义方块行为,可以参考 CraftEngine 的内置实现。 https://github.com/Xiao-MoMi/craft-engine/tree/main/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/behavior

也可以参考 craft-engine-blocks,通过其中的公共模板创建项目。

开发规范

方块事件

请避免直接使用 CustomBlockBreakEvent 等事件,建议改为:

  1. 监听对应的 Bukkit 事件(例如,BlockBreakEvent)。
  2. 从事件中获取 BlockData。
  3. 使用 CraftEngineBlocks 类将其转换为自定义方块进行进一步处理。

使用 Bukkit 事件可以更完整地实现相同需求,也无需额外学习一套事件系统。

关于注册

当注册新的方块行为、物品行为或托管类型等时,请首先检查是否有相应的常量类可用(例如:BlockBehaviors, ItemBehaviors)。强烈建议使用这些类中提供的注册方法进行你的注册。

信息

API 文档将在正式发布后进行重写,以包含更多高级示例。