up version and anded tab complet
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>com.minster586</groupId>
|
<groupId>com.minster586</groupId>
|
||||||
<artifactId>ServerDevMode</artifactId>
|
<artifactId>ServerDevMode</artifactId>
|
||||||
<version>1.0.2</version>
|
<version>1.0.3</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<name>ServerDevMode</name>
|
<name>ServerDevMode</name>
|
||||||
<description>Development mode plugin for Minecraft servers—tracing events and debugging logs</description>
|
<description>Development mode plugin for Minecraft servers—tracing events and debugging logs</description>
|
||||||
|
@@ -5,7 +5,30 @@ import org.bukkit.command.CommandExecutor;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class CommandHandler implements CommandExecutor {
|
import org.bukkit.command.TabCompleter;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class CommandHandler implements CommandExecutor, TabCompleter {
|
||||||
|
private static final List<String> SUBCOMMANDS = Arrays.asList("on", "off", "level", "zip");
|
||||||
|
private static final List<String> LEVELS = Arrays.asList("minimal", "verbose", "full");
|
||||||
|
@Override
|
||||||
|
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||||
|
if (!sender.hasPermission("serverdevmode.use")) return Collections.emptyList();
|
||||||
|
|
||||||
|
if (args.length == 1) {
|
||||||
|
return SUBCOMMANDS.stream()
|
||||||
|
.filter(s -> s.startsWith(args[0].toLowerCase()))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
if (args.length == 2 && args[0].equalsIgnoreCase("level")) {
|
||||||
|
return LEVELS.stream()
|
||||||
|
.filter(l -> l.startsWith(args[1].toLowerCase()))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
private final DevModeManager manager;
|
private final DevModeManager manager;
|
||||||
|
|
||||||
|
@@ -21,8 +21,11 @@ public class ServerDevMode extends JavaPlugin {
|
|||||||
// Initialize dev mode manager with logger
|
// Initialize dev mode manager with logger
|
||||||
devModeManager = new DevModeManager(this, logWriter);
|
devModeManager = new DevModeManager(this, logWriter);
|
||||||
|
|
||||||
// Register command handler
|
|
||||||
getCommand("devmode").setExecutor(new CommandHandler(devModeManager));
|
// Register command handler and tab completer
|
||||||
|
CommandHandler handler = new CommandHandler(devModeManager);
|
||||||
|
getCommand("devmode").setExecutor(handler);
|
||||||
|
getCommand("devmode").setTabCompleter(handler);
|
||||||
|
|
||||||
// Register listeners
|
// Register listeners
|
||||||
getServer().getPluginManager().registerEvents(new ChatEventListener(devModeManager), this);
|
getServer().getPluginManager().registerEvents(new ChatEventListener(devModeManager), this);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
name: ServerDevMode
|
name: ServerDevMode
|
||||||
version: 1.0.2
|
version: 1.0.3
|
||||||
main: com.minster586.devmode.ServerDevMode
|
main: com.minster586.devmode.ServerDevMode
|
||||||
api-version: 1.16
|
api-version: 1.16
|
||||||
description: Server-wide development mode plugin for event tracing, chat logging, and debugging support.
|
description: Server-wide development mode plugin for event tracing, chat logging, and debugging support.
|
||||||
|
Reference in New Issue
Block a user