From 91dfb21763f8da57c53d4a765395913f41932950 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 18:05:54 +1000 Subject: [PATCH] Allow Disabling of Command TabComplete diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java index 8c7c8a043..c9eadd560 100644 --- a/src/main/java/net/minecraft/server/CommandDispatcher.java +++ b/src/main/java/net/minecraft/server/CommandDispatcher.java @@ -247,6 +247,7 @@ public class CommandDispatcher { } public void a(EntityPlayer entityplayer) { + if ( org.spigotmc.SpigotConfig.tabComplete < 0 ) return; // Spigot // CraftBukkit start // Register Vanilla commands into builtRoot as before Map hashmap = Maps.newIdentityHashMap(); // Use identity to prevent aliasing issues @@ -270,6 +271,7 @@ public class CommandDispatcher { while (iterator.hasNext()) { CommandNode commandnode2 = (CommandNode) iterator.next(); + if ( !org.spigotmc.SpigotConfig.sendNamespaced && commandnode2.getName().contains( ":" ) ) continue; // Spigot if (commandnode2.canUse(commandlistenerwrapper)) { ArgumentBuilder argumentbuilder = commandnode2.createBuilder(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 72cc19866..f09b9902b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1611,6 +1611,13 @@ public final class CraftServer implements Server { } public List tabCompleteCommand(Player player, String message, WorldServer world, Vec3D pos) { + // Spigot Start + if ( (org.spigotmc.SpigotConfig.tabComplete < 0 || message.length() <= org.spigotmc.SpigotConfig.tabComplete) && !message.contains( " " ) ) + { + return ImmutableList.of(); + } + // Spigot End + List completions = null; try { if (message.startsWith("/")) { diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java index 45e908ed4..e53e8013d 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -156,4 +156,23 @@ public class SpigotConfig { logCommands = getBoolean( "commands.log", true ); } + + public static int tabComplete; + public static boolean sendNamespaced; + private static void tabComplete() + { + if ( version < 6 ) + { + boolean oldValue = getBoolean( "commands.tab-complete", true ); + if ( oldValue ) + { + set( "commands.tab-complete", 0 ); + } else + { + set( "commands.tab-complete", -1 ); + } + } + tabComplete = getInt( "commands.tab-complete", 0 ); + sendNamespaced = getBoolean( "commands.send-namespaced", true ); + } } -- 2.17.1