Skip to content

Commit c6b423b

Browse files
committed
[Add] Reconnect command and support tab-complete
1 parent 6a9ef82 commit c6b423b

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

src/main/java/jp/azisaba/lgw/kdstatus/commands/KDStatusCommand.java

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
package jp.azisaba.lgw.kdstatus.commands;
22

3+
import org.bukkit.ChatColor;
34
import org.bukkit.command.Command;
45
import org.bukkit.command.CommandExecutor;
56
import org.bukkit.command.CommandSender;
7+
import org.bukkit.command.TabCompleter;
68
import org.bukkit.entity.Player;
79

810
import jp.azisaba.lgw.kdstatus.KDStatusReloaded;
911
import jp.azisaba.lgw.kdstatus.utils.Chat;
1012

11-
public class KDStatusCommand implements CommandExecutor {
13+
import java.util.Arrays;
14+
import java.util.Collections;
15+
import java.util.List;
16+
17+
public class KDStatusCommand implements CommandExecutor, TabCompleter {
18+
private static final List<String> modes = Arrays.asList("reload", "migration", "reconnect-db");
1219

1320
private final KDStatusReloaded plugin;
1421

@@ -18,7 +25,7 @@ public KDStatusCommand(KDStatusReloaded plugin) {
1825

1926
@Override
2027
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
21-
if ( args.length <= 0 ) {
28+
if (args.length == 0) {
2229
sender.sendMessage(Chat.f("&cUsage: {0}", cmd.getUsage().replace("{LABEL}", label)));
2330
return true;
2431
}
@@ -37,7 +44,25 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
3744
return true;
3845
}
3946

47+
if ( args[0].equalsIgnoreCase("reconnect-db") ) {
48+
sender.sendMessage("Reconnecting database...");
49+
plugin.sql.reconnect();
50+
sender.sendMessage("Reconnect was finished.");
51+
sender.sendMessage("Auto-connection test is running...");
52+
boolean alive = plugin.sql.isConnectionAlive();
53+
sender.sendMessage("Result: Connection is " + (alive ? ChatColor.GREEN + "alive" : ChatColor.RED + "dead"));
54+
return true;
55+
}
56+
4057
sender.sendMessage(Chat.f("&cUsage: {0}", cmd.getUsage().replace("{LABEL}", label)));
4158
return true;
4259
}
60+
61+
@Override
62+
public List<String> onTabComplete(CommandSender commandSender, Command command, String s, String[] args) {
63+
if(args.length == 1) {
64+
return modes;
65+
}
66+
return Collections.emptyList();
67+
}
4368
}

0 commit comments

Comments
 (0)