74 lines
2.9 KiB
Java
74 lines
2.9 KiB
Java
package fr.xephi.authme.command.executable;
|
|
|
|
import com.timvisee.dungeonmaze.Core;
|
|
import com.timvisee.dungeonmaze.DungeonMaze;
|
|
import com.timvisee.dungeonmaze.command.CommandParts;
|
|
import com.timvisee.dungeonmaze.command.ExecutableCommand;
|
|
import com.timvisee.dungeonmaze.service.Service;
|
|
import com.timvisee.dungeonmaze.service.ServiceManager;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.CommandSender;
|
|
|
|
import java.util.List;
|
|
|
|
public class ServiceCommand extends ExecutableCommand {
|
|
|
|
/**
|
|
* Execute the command.
|
|
*
|
|
* @param sender The command sender.
|
|
* @param commandReference The command reference.
|
|
* @param commandArguments The command arguments.
|
|
*
|
|
* @return True if the command was executed successfully, false otherwise.
|
|
*/
|
|
@Override
|
|
public boolean executeCommand(CommandSender sender, CommandParts commandReference, CommandParts commandArguments) {
|
|
// Print the status info header
|
|
sender.sendMessage(ChatColor.GOLD + "==========[ " + DungeonMaze.PLUGIN_NAME.toUpperCase() + " SERVICES ]==========");
|
|
|
|
// Get the service manager and make sure it's valid
|
|
ServiceManager serviceManager = Core.instance.getServiceManager();
|
|
if(serviceManager == null) {
|
|
sender.sendMessage(ChatColor.DARK_RED + "Error, failed to retrieve the services information!");
|
|
return true;
|
|
}
|
|
|
|
// Print the service count and the list of services
|
|
sender.sendMessage(ChatColor.GOLD + "Running Services: " + ChatColor.WHITE + serviceManager.getServiceCount(true) + ChatColor.GRAY + " / " + Core.instance.getServiceManager().getServiceCount());
|
|
printServices(sender);
|
|
|
|
// Return the result
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Print all services.
|
|
*
|
|
* @param sender The command sender to print the services to.
|
|
*/
|
|
public void printServices(CommandSender sender) {
|
|
// Get the service manager and make sure it's valid
|
|
ServiceManager serviceManager = Core.instance.getServiceManager();
|
|
if(serviceManager == null) {
|
|
sender.sendMessage(ChatColor.DARK_RED + "Error, failed to retrieve the services information!");
|
|
return;
|
|
}
|
|
|
|
// Get all the services
|
|
List<Service> services = serviceManager.getServices();
|
|
|
|
// Print the header
|
|
sender.sendMessage(ChatColor.GOLD + "Services:");
|
|
|
|
// Print all the services
|
|
for(Service service : services) {
|
|
// Check whether the service is initialized
|
|
if(service.isInit())
|
|
sender.sendMessage(ChatColor.WHITE + " " + service.getName() + " service " + ChatColor.GREEN + ChatColor.ITALIC + "(Loaded)");
|
|
else
|
|
sender.sendMessage(ChatColor.WHITE + " " + service.getName() + " service " + ChatColor.DARK_RED + ChatColor.ITALIC + "(Not loaded)");
|
|
}
|
|
}
|
|
}
|