⌨️ 应用程序编程接口
依赖库
将 CraftEngine API 添加到你的项目:
- Gradle (Kotlin)
- Gradle (Groovy)
- Maven
repositories {
maven("https://repo.momirealms.net/releases/")
// maven("https://repo-momi.gtemc.cn/releases/") // 国内镜像(网络受限时使用)
// maven("https://repo.gtemc.net/releases/") // 备用镜像(主仓库不可用时使用)
}
repositories {
maven { url 'https://repo.momirealms.net/releases/' }
// maven { url 'https://repo-momi.gtemc.cn/releases/' } // 国内镜像(网络受限时使用)
// maven { url 'https://repo.gtemc.net/releases/' } // 备用镜像(主仓库不可用时使用)
}
<repositories>
<repository>
<id>momirealms-repo</id>
<url>https://repo.momirealms.net/releases/</url>
</repository>
<repository>
<id>momirealms-repo-mirror1</id>
<url>https://repo-momi.gtemc.cn/releases/</url> <!-- 国内镜像(网络受限时使用) -->
</repository>
<repository>
<id>momirealms-repo-mirror2</id>
<url>https://repo.gtemc.net/releases/</url> <!-- 备用镜像(主仓库不可用时使用) -->
</repository>
</repositories>
- Gradle (Kotlin)
- Gradle (Groovy)
- Maven
dependencies {
compileOnly("net.momirealms:craft-engine-core:{version}") // 将 "{version}" 替换为插件稳定版本
compileOnly("net.momirealms:craft-engine-bukkit:{version}") // 例如 0.0.60
}
dependencies {
compileOnly 'net.momirealms:craft-engine-core:{version}' // 将 "{version}" 替换为插件稳定版本
compileOnly 'net.momirealms:craft-engine-bukkit:{version}' // 例如 0.0.60
}
<dependencies>
<dependency>
<groupId>net.momirealms</groupId>
<artifactId>craft-engine-core</artifactId>
<version>{version}</version> <!-- 将 {version} 替换为插件稳定版本 -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.momirealms</groupId>
<artifactId>craft-engine-bukkit</artifactId>
<version>{version}</version> <!-- 例如 0.0.60 -->
<scope>provided</scope>
</dependency>
</dependencies>
请确保在 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 等事件,建议改为:
- 监听对应的 Bukkit 事件(例如,BlockBreakEvent)。
- 从事件中获取 BlockData。
- 使用
CraftEngineBlocks类将其转换为自定义方块进行进一步处理。
使用 Bukkit 事件可以更完整地实现相同需求,也无需额外学习一套事件系统。
关于注册
当注册新的方块行为、物品行为或托管类型等时,请首先检查是否有相应的常量类可用(例如:BlockBehaviors, ItemBehaviors)。强烈建议使用这些类中提供的注册方法进行你的注册。
信息
API 文档将在正式发布后进行重写,以包含更多高级示例。