Mirror von
https://github.com/PaperMC/Velocity.git
synchronisiert 2024-12-25 07:40:13 +01:00
Fix 1.13+ tab-complete with command but no arguments
As a nice side-effect, this simplifies the tab complete code a bit.
Dieser Commit ist enthalten in:
Ursprung
ae14eb8ccb
Commit
e29e20b1e8
@ -386,31 +386,19 @@ public class ClientPlaySessionHandler implements MinecraftSessionHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<Offer> offers = new ArrayList<>();
|
List<Offer> offers = new ArrayList<>();
|
||||||
int longestLength = 0;
|
|
||||||
for (String suggestion : suggestions) {
|
for (String suggestion : suggestions) {
|
||||||
offers.add(new Offer(suggestion));
|
offers.add(new Offer(suggestion));
|
||||||
if (suggestion.length() > longestLength) {
|
|
||||||
longestLength = suggestion.length();
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
TabCompleteResponse resp = new TabCompleteResponse();
|
|
||||||
resp.setTransactionId(packet.getTransactionId());
|
|
||||||
|
|
||||||
int startPos = packet.getCommand().lastIndexOf(' ') + 1;
|
int startPos = packet.getCommand().lastIndexOf(' ') + 1;
|
||||||
int length;
|
if (startPos > 0) {
|
||||||
if (startPos == 0) {
|
TabCompleteResponse resp = new TabCompleteResponse();
|
||||||
startPos = packet.getCommand().length() + 1;
|
resp.setTransactionId(packet.getTransactionId());
|
||||||
length = longestLength;
|
|
||||||
} else {
|
|
||||||
length = packet.getCommand().length() - startPos;
|
|
||||||
}
|
|
||||||
|
|
||||||
resp.setStart(startPos);
|
resp.setStart(startPos);
|
||||||
resp.setLength(length);
|
resp.setLength(packet.getCommand().length() - startPos);
|
||||||
resp.getOffers().addAll(offers);
|
resp.getOffers().addAll(offers);
|
||||||
|
|
||||||
player.getConnection().write(resp);
|
player.getConnection().write(resp);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren