Migrate CI to Gitea and improve live map diagnostics
CI / Real Minecraft installs (manual) (push) Skipped
CI / Rust, web and container (push) Canceled after 0s
CI / Windows launcher (push) Canceled after 0s
Server integrations / paper (push) Canceled after 0s
Server integrations / Fabric and Forge / 1.20.1 (push) Canceled after 0s
Server integrations / Fabric and Forge / 1.21.1 (push) Canceled after 0s
Server integrations / Fabric and Forge / 26.1.2 (push) Canceled after 0s
Server integrations / Fabric and Forge / 26.2 (push) Canceled after 0s
Server integrations / Fabric and Forge / 26.3 (push) Canceled after 0s

This commit is contained in:
SCOPEDD committed 2026-10-01 00:07:35 -04:00
1 parent d72d7c2e80
commit 7809d47d39
32 files changed
+518 -325

No files matched your search

@@ -87,6 +87,7 @@ public final class ScopenetPlugin extends JavaPlugin implements Listener {
// Register /scopenet admin & help command
ScopenetCommandHandler scopenetCmd = new ScopenetCommandHandler(this, integration, () -> compat);
bindCommand("scopenet", scopenetCmd);
bindCommand("map", scopenetCmd);
// Register Essentials commands & GUI
{
@@ -22,6 +22,10 @@ public final class ScopenetCommandHandler implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("map")) {
sendMap(sender);
return true;
}
if (args.length == 0 || args[0].equalsIgnoreCase("help")) {
if (!sender.hasPermission("scopenet.command.scopenet.help")) {
sender.sendMessage(ChatColor.RED + "You do not have permission to view SCOPENET help.");
@@ -34,6 +38,7 @@ public final class ScopenetCommandHandler implements CommandExecutor {
String sub = args[0].toLowerCase();
switch (sub) {
case "status" -> sendStatus(sender);
case "map" -> sendMap(sender);
case "reload" -> handleReload(sender);
default -> {
sender.sendMessage(ChatColor.RED + "Unknown command. Use " + ChatColor.YELLOW + "/scopenet help");
@@ -92,6 +97,7 @@ public final class ScopenetCommandHandler implements CommandExecutor {
if (sender.hasPermission("scopenet.admin")) {
sender.sendMessage(ChatColor.LIGHT_PURPLE + "[Admin Commands]");
sender.sendMessage(ChatColor.YELLOW + " /scopenet status" + ChatColor.GRAY + " - Integration health and module statuses");
sender.sendMessage(ChatColor.YELLOW + " /map" + ChatColor.GRAY + " - Map rendering and upload progress");
sender.sendMessage(ChatColor.YELLOW + " /scopenet reload" + ChatColor.GRAY + " - Reload config and feature flags");
}
}
@@ -137,6 +143,14 @@ public final class ScopenetCommandHandler implements CommandExecutor {
}
}
private void sendMap(CommandSender sender) {
if (!sender.hasPermission("scopenet.command.scopenet.status")) {
sender.sendMessage(ChatColor.RED + "You do not have permission to view map status.");
return;
}
sender.sendMessage(ChatColor.GOLD + "SCOPENET Map: " + ChatColor.WHITE + integration.mapStatus());
}
private String formatFlag(boolean enabled) {
return enabled ? ChatColor.GREEN + "ENABLED" : ChatColor.RED + "DISABLED";
}
@@ -11,6 +11,9 @@ commands:
permission: scopenet.command.scopenet
description: SCOPENET server commands, status, and help
aliases: [sn]
map:
permission: scopenet.command.scopenet.status
description: Show live map rendering and upload progress
spawn:
permission: scopenet.command.spawn
description: Teleport to the server spawn point