up version and anded tab complet

This commit is contained in:
minster586
2025-07-23 20:17:35 -04:00
parent 0c8be16216
commit 4a21056741
4 changed files with 31 additions and 5 deletions

View File

@@ -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>

View File

@@ -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;

View File

@@ -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);

View File

@@ -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.