Make 1.13 command injection normal functionality

This commit is contained in:
md_5 2019-02-17 10:10:41 +11:00
parent 28c82238d0
commit 0d6f3ee374
4 changed files with 13 additions and 25 deletions

View File

@ -180,13 +180,10 @@ public enum Protocol
map( ProtocolConstants.MINECRAFT_1_12, 0x1B ),
map( ProtocolConstants.MINECRAFT_1_13, 0x1C )
);
if ( Boolean.getBoolean( "net.md-5.bungee.protocol.register_commands" ) )
{
TO_CLIENT.registerPacket(
Commands.class,
map( ProtocolConstants.MINECRAFT_1_13, 0x11 )
);
}
TO_CLIENT.registerPacket(
Commands.class,
map( ProtocolConstants.MINECRAFT_1_13, 0x11 )
);
TO_SERVER.registerPacket(
KeepAlive.class,

View File

@ -61,7 +61,6 @@ public class Configuration implements ProxyConfig
private int compressionThreshold = 256;
private boolean preventProxyConnections;
private boolean forgeSupport;
private boolean injectCommands;
public void load()
{
@ -93,11 +92,6 @@ public class Configuration implements ProxyConfig
compressionThreshold = adapter.getInt( "network_compression_threshold", compressionThreshold );
preventProxyConnections = adapter.getBoolean( "prevent_proxy_connections", preventProxyConnections );
forgeSupport = adapter.getBoolean( "forge_support", forgeSupport );
injectCommands = adapter.getBoolean( "inject_commands", injectCommands );
if ( injectCommands )
{
System.setProperty( "net.md-5.bungee.protocol.register_commands", "true" );
}
disabledCommands = new CaseInsensitiveSet( (Collection<String>) adapter.getList( "disabled_commands", Arrays.asList( "disabledcommandhere" ) ) );

View File

@ -575,20 +575,17 @@ public class DownstreamBridge extends PacketHandler
{
boolean modified = false;
if ( BungeeCord.getInstance().config.isInjectCommands() )
for ( Map.Entry<String, Command> command : bungee.getPluginManager().getCommands() )
{
for ( Map.Entry<String, Command> command : bungee.getPluginManager().getCommands() )
if ( !bungee.getDisabledCommands().contains( command.getKey() ) && commands.getRoot().getChild( command.getKey() ) == null && command.getValue().hasPermission( con ) )
{
if ( !bungee.getDisabledCommands().contains( command.getKey() ) && commands.getRoot().getChild( command.getKey() ) == null && command.getValue().hasPermission( con ) )
{
LiteralCommandNode dummy = LiteralArgumentBuilder.literal( command.getKey() )
.then( RequiredArgumentBuilder.argument( "args", StringArgumentType.greedyString() )
.suggests( Commands.SuggestionRegistry.ASK_SERVER ) )
.build();
commands.getRoot().addChild( dummy );
LiteralCommandNode dummy = LiteralArgumentBuilder.literal( command.getKey() )
.then( RequiredArgumentBuilder.argument( "args", StringArgumentType.greedyString() )
.suggests( Commands.SuggestionRegistry.ASK_SERVER ) )
.build();
commands.getRoot().addChild( dummy );
modified = true;
}
modified = true;
}
}

View File

@ -176,7 +176,7 @@ public class UpstreamBridge extends PacketHandler
if ( con.getPendingConnection().getVersion() < ProtocolConstants.MINECRAFT_1_13 )
{
con.unsafe().sendPacket( new TabCompleteResponse( results ) );
} else if ( BungeeCord.getInstance().config.isInjectCommands() )
} else
{
int start = tabComplete.getCursor().lastIndexOf( ' ' ) + 1;
int end = tabComplete.getCursor().length();