build: scaffold Spigot plugin project
Release / release (push) Failing after 10s
CI / build (push) Successful in 2m4s

This commit is contained in:
dmg
2026-08-08 13:10:04 -04:00
parent a01f36db86
commit 152cac0740
15 changed files with 664 additions and 9 deletions
@@ -0,0 +1,7 @@
package games.dmg.triggerspawn;
import org.bukkit.plugin.java.JavaPlugin;
/** Entry point for the Trigger Spawn Spigot plugin. */
public final class TriggerSpawnPlugin extends JavaPlugin {
}
+18
View File
@@ -0,0 +1,18 @@
name: TriggerSpawn
version: '${version}'
main: games.dmg.triggerspawn.TriggerSpawnPlugin
api-version: '26.2'
author: dmg.games
description: Provides progression-gated safe teleportation to each world's spawn area.
commands:
spawn:
description: Teleport to this world's spawn area.
usage: /spawn
spawnadmin:
description: Administer Trigger Spawn.
usage: /spawnadmin <set|distance|info|grant|remove|access|ban|unban|bans>
permission: triggerspawn.admin
permissions:
triggerspawn.admin:
description: Allows administration of Trigger Spawn.
default: op
@@ -0,0 +1,25 @@
package games.dmg.triggerspawn;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.InputStream;
import java.util.Map;
import org.junit.jupiter.api.Test;
import org.yaml.snakeyaml.Yaml;
final class PluginMetadataTest {
@Test
void packagedPluginMetadataDeclaresLoadableSpigotPlugin() throws Exception {
Map<String, Object> metadata;
try (InputStream input = getClass().getResourceAsStream("/plugin.yml")) {
assertNotNull(input, "plugin.yml must be packaged");
metadata = new Yaml().load(input);
}
assertEquals("TriggerSpawn", metadata.get("name"));
assertEquals("26.2", metadata.get("api-version"));
assertEquals("games.dmg.triggerspawn.TriggerSpawnPlugin", metadata.get("main"));
assertNotNull(Class.forName((String) metadata.get("main")));
}
}