Always use root locale for case conversions

This commit is contained in:
md_5
2018-10-28 12:09:37 +11:00
parent 27f926cfc7
commit ed6b03d24a
9 changed files with 25 additions and 17 deletions

View File

@@ -2,6 +2,7 @@ package net.md_5.bungee.module.cmd.send;
import com.google.common.collect.ImmutableSet;
import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
@@ -97,10 +98,10 @@ public class CommandSend extends Command implements TabExecutor
Set<String> matches = new HashSet<>();
if ( args.length == 1 )
{
String search = args[0].toLowerCase();
String search = args[0].toLowerCase( Locale.ROOT );
for ( ProxiedPlayer player : ProxyServer.getInstance().getPlayers() )
{
if ( player.getName().toLowerCase().startsWith( search ) )
if ( player.getName().toLowerCase( Locale.ROOT ).startsWith( search ) )
{
matches.add( player.getName() );
}
@@ -115,10 +116,10 @@ public class CommandSend extends Command implements TabExecutor
}
} else
{
String search = args[1].toLowerCase();
String search = args[1].toLowerCase( Locale.ROOT );
for ( String server : ProxyServer.getInstance().getServers().keySet() )
{
if ( server.toLowerCase().startsWith( search ) )
if ( server.toLowerCase( Locale.ROOT ).startsWith( search ) )
{
matches.add( server );
}

View File

@@ -4,6 +4,7 @@ import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import java.util.Collections;
import java.util.Locale;
import java.util.Map;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
@@ -86,12 +87,12 @@ public class CommandServer extends Command implements TabExecutor
{
return ( args.length > 1 ) ? Collections.EMPTY_LIST : Iterables.transform( Iterables.filter( ProxyServer.getInstance().getServers().values(), new Predicate<ServerInfo>()
{
private final String lower = ( args.length == 0 ) ? "" : args[0].toLowerCase();
private final String lower = ( args.length == 0 ) ? "" : args[0].toLowerCase( Locale.ROOT );
@Override
public boolean apply(ServerInfo input)
{
return input.getName().toLowerCase().startsWith( lower ) && input.canAccess( sender );
return input.getName().toLowerCase( Locale.ROOT ).startsWith( lower ) && input.canAccess( sender );
}
} ), new Function<ServerInfo, String>()
{