Initial commit
build-and-test / build (push) Waiting to run
Java-Compatibility / build (17) (push) Waiting to run
Java-Compatibility / build (21) (push) Waiting to run
Release Workflow / build-and-release (push) Waiting to run

This commit is contained in:
2026-09-20 01:56:07 +01:00
commit 82192a4802
943 changed files with 92762 additions and 0 deletions
@@ -0,0 +1,105 @@
package com.legacyminecraft.poseidon.commands;
import com.legacyminecraft.poseidon.Poseidon;
import com.projectposeidon.api.PoseidonUUID;
import com.projectposeidon.api.UUIDType;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Properties;
import java.util.UUID;
public class PoseidonCommand extends Command {
private final Properties versionProperties = new Properties();
public PoseidonCommand(String name) {
super(name);
this.description = "Show data regarding the server's version of Project Poseidon";
this.usageMessage = "/poseidon";
this.setAliases(Arrays.asList("projectposeidon"));
}
@Override
public boolean execute(CommandSender sender, String currentAlias, String[] args) {
if (args.length >= 1 && args[0].equalsIgnoreCase("resolve")) {
String[] subArgs = Arrays.copyOfRange(args, 1, args.length);
ResolveCommand resolver = new ResolveCommand("resolve");
return resolver.execute(sender, "resolve", subArgs);
}
if (args.length == 0) {
String appName = Poseidon.getServer().getAppName();
String releaseVersion = Poseidon.getServer().getReleaseVersion();
String mavenVersion = Poseidon.getServer().getMavenVersion();
String buildTimestamp = Poseidon.getServer().getBuildTimestamp();
String gitCommit = Poseidon.getServer().getGitCommit();
String buildType = Poseidon.getServer().getBuildType();
// Shorten the git commit hash to 7 characters
if (gitCommit.length() > 7) {
gitCommit = gitCommit.substring(0, 7);
}
if ("Unknown".equals(releaseVersion)) {
sender.sendMessage(ChatColor.RED + "Warning: version.properties not found. This is a local or unconfigured build.");
} else {
sender.sendMessage(ChatColor.GRAY + "This server is running " + ChatColor.AQUA + appName + ChatColor.GRAY + ":");
sender.sendMessage(ChatColor.GRAY + " - Version: " + ChatColor.YELLOW + releaseVersion);
sender.sendMessage(ChatColor.GRAY + " - Built at: " + ChatColor.YELLOW + buildTimestamp);
sender.sendMessage(ChatColor.GRAY + " - Git SHA: " + ChatColor.YELLOW + gitCommit);
if ("production".equalsIgnoreCase(buildType)) {
sender.sendMessage(ChatColor.GREEN + "This is a release build.");
} else if ("pull_request".equalsIgnoreCase(buildType)) {
sender.sendMessage(ChatColor.BLUE + "This is a pull request build.");
} else {
sender.sendMessage(ChatColor.GRAY + "This is a development build.");
}
}
} else if (args.length == 1) {
if (args[0].equalsIgnoreCase("uuid")) {
sender.sendMessage(ChatColor.GRAY + "Please specify a user /poseidon uuid (username)");
} else {
sender.sendMessage(ChatColor.GRAY + "Unknown sub command.");
}
} else {
if (!args[0].equalsIgnoreCase("uuid")) {
sender.sendMessage(ChatColor.GRAY + "Unknown sub command.");
} else {
UUID uuid = PoseidonUUID.getPlayerUUIDFromCache(args[1], true);
if (uuid == null) {
uuid = PoseidonUUID.getPlayerUUIDFromCache(args[1], false);
}
if (uuid == null) {
sender.sendMessage(ChatColor.GRAY + "Unable to locate the UUID of the player called: " + ChatColor.WHITE + args[1] + ChatColor.GRAY + ". Please remember usernames are cap sensitive");
} else {
String latestUsername = PoseidonUUID.getPlayerUsernameFromUUID(uuid);
sender.sendMessage(ChatColor.GRAY + "Username: " + latestUsername);
sender.sendMessage(ChatColor.GRAY + "UUID: " + uuid.toString());
UUIDType uuidType = PoseidonUUID.getPlayerUUIDCacheStatus(args[1]);
if (uuidType.equals(UUIDType.ONLINE)) {
sender.sendMessage(ChatColor.GRAY + "UUID Type: " + ChatColor.GREEN + "Online");
} else if (uuidType.equals(UUIDType.OFFLINE)) {
sender.sendMessage(ChatColor.GRAY + "UUID Type: " + ChatColor.RED + "Offline");
} else {
sender.sendMessage(ChatColor.GRAY + "UUID Type: " + ChatColor.DARK_RED + "UNKNOWN");
}
}
}
}
return true;
}
}