Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 4.4 kB view raw
1package com.legacyminecraft.poseidon.commands; 2 3import com.legacyminecraft.poseidon.Poseidon; 4import com.projectposeidon.api.PoseidonUUID; 5import com.projectposeidon.api.UUIDType; 6import org.bukkit.Bukkit; 7import org.bukkit.ChatColor; 8import org.bukkit.command.Command; 9import org.bukkit.command.CommandSender; 10 11import java.io.IOException; 12import java.io.InputStream; 13import java.util.Arrays; 14import java.util.Properties; 15import java.util.UUID; 16 17public class PoseidonCommand extends Command { 18 19 private final Properties versionProperties = new Properties(); 20 21 public PoseidonCommand(String name) { 22 super(name); 23 this.description = "Show data regarding the server's version of Project Poseidon"; 24 this.usageMessage = "/poseidon"; 25 this.setAliases(Arrays.asList("projectposeidon")); 26 } 27 28 @Override 29 public boolean execute(CommandSender sender, String currentAlias, String[] args) { 30 if (args.length == 0) { 31 String appName = Poseidon.getServer().getAppName(); 32 String releaseVersion = Poseidon.getServer().getReleaseVersion(); 33 String mavenVersion = Poseidon.getServer().getMavenVersion(); 34 String buildTimestamp = Poseidon.getServer().getBuildTimestamp(); 35 String gitCommit = Poseidon.getServer().getGitCommit(); 36 String buildType = Poseidon.getServer().getBuildType(); 37 38 // Shorten the git commit hash to 7 characters 39 if (gitCommit.length() > 7) { 40 gitCommit = gitCommit.substring(0, 7); 41 } 42 43 if ("Unknown".equals(releaseVersion)) { 44 sender.sendMessage(ChatColor.RED + "Warning: version.properties not found. This is a local or unconfigured build."); 45 } else { 46 sender.sendMessage(ChatColor.GRAY + "This server is running " + ChatColor.AQUA + appName + ChatColor.GRAY + ":"); 47 sender.sendMessage(ChatColor.GRAY + " - Version: " + ChatColor.YELLOW + releaseVersion); 48 sender.sendMessage(ChatColor.GRAY + " - Built at: " + ChatColor.YELLOW + buildTimestamp); 49 sender.sendMessage(ChatColor.GRAY + " - Git SHA: " + ChatColor.YELLOW + gitCommit); 50 51 if ("production".equalsIgnoreCase(buildType)) { 52 sender.sendMessage(ChatColor.GREEN + "This is a release build."); 53 } else if ("pull_request".equalsIgnoreCase(buildType)) { 54 sender.sendMessage(ChatColor.BLUE + "This is a pull request build."); 55 } else { 56 sender.sendMessage(ChatColor.GRAY + "This is a development build."); 57 } 58 } 59 } else if (args.length == 1) { 60 if (args[0].equalsIgnoreCase("uuid")) { 61 sender.sendMessage(ChatColor.GRAY + "Please specify a user /poseidon uuid (username)"); 62 } else { 63 sender.sendMessage(ChatColor.GRAY + "Unknown sub command."); 64 } 65 } else { 66 if (!args[0].equalsIgnoreCase("uuid")) { 67 sender.sendMessage(ChatColor.GRAY + "Unknown sub command."); 68 } else { 69 UUID uuid = PoseidonUUID.getPlayerUUIDFromCache(args[1], true); 70 if (uuid == null) { 71 uuid = PoseidonUUID.getPlayerUUIDFromCache(args[1], false); 72 } 73 74 if (uuid == null) { 75 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"); 76 } else { 77 sender.sendMessage(ChatColor.GRAY + "Username: " + args[1]); 78 sender.sendMessage(ChatColor.GRAY + "UUID: " + uuid.toString()); 79 UUIDType uuidType = PoseidonUUID.getPlayerUUIDCacheStatus(args[1]); 80 if (uuidType.equals(UUIDType.ONLINE)) { 81 sender.sendMessage(ChatColor.GRAY + "UUID Type: " + ChatColor.GREEN + "Online"); 82 } else if (uuidType.equals(UUIDType.OFFLINE)) { 83 sender.sendMessage(ChatColor.GRAY + "UUID Type: " + ChatColor.RED + "Offline"); 84 } else { 85 sender.sendMessage(ChatColor.GRAY + "UUID Type: " + ChatColor.DARK_RED + "UNKNOWN"); 86 } 87 } 88 } 89 } 90 91 return true; 92 93 } 94 95}