开发者 API
开发者 API
使用公共 Java API 构建你自己的 Skyllia 插件。
Maven / Gradle 依赖
Gradle (build.gradle.kts):
repositories {
maven("https://repo.euphyllia.moe/repository/maven-public/")
}
dependencies {
compileOnly("fr.euphyllia.skyllia:api:3.x")
}
Maven (pom.xml):
<repository>
<id>euphyllia-repo</id>
<url>https://repo.euphyllia.moe/repository/maven-public/</url>
</repository>
<dependency>
<groupId>fr.euphyllia.skyllia</groupId>
<artifactId>api</artifactId>
<version>3.x</version>
<scope>provided</scope>
</dependency>
核心 API 类
| 类 | 说明 |
|---|---|
| SkylliaAPI | 主入口。按玩家 UUID 或岛屿 ID 获取岛屿。注册自定义权限/旗帜。 |
| Island | 代表一个岛屿。访问大小、成员、传送点、权限、旗帜、持久化数据。 |
| Players | 代表玩家的岛屿成员身份:角色、UUID。 |
| IslandFlags | 编程读写岛屿旗帜。 |
| PermissionRegistry | 为你的插件注册自定义权限节点。 |
使用示例
// 获取玩家的岛屿
Island island = SkylliaAPI.getIslandByPlayerId(player.getUniqueId());
if (island != null) {
player.sendMessage("你的岛屿大小: " + island.getSize());
}
// 检查岛屿旗帜
boolean allowFire = island.getFlag("skyllia:island.allow.fire");
// 监听 Skyllia 事件
@EventHandler
public void onIslandCreate(IslandCreateEvent event) {
Island island = event.getIsland();
// ...
}
事件
| 事件 | 触发时机 |
|---|---|
| IslandCreateEvent | 创建新岛屿 |
| IslandDeleteEvent | 删除岛屿 |
| IslandMemberJoinEvent | 玩家加入岛屿 |
| IslandMemberLeaveEvent | 玩家离开岛屿 |
| IslandTeleportEvent | 玩家传送到岛屿 |
| IslandPermissionChangeEvent | 岛屿权限变更 |
| IslandFlagChangeEvent | 岛屿旗帜切换 |