3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-18 12:30:06 +01:00

Increment loop index whether or not command succeeded. Fixes BUKKIT-5455

When VanillaCommandWrapper dispatches a command containing a
PlayerSelector wtih c>-1 (implicitly true for @a), it loops over the
selected players and exectures the command with each player. However, the
loop index is only incremented if the command fails. As a result, a
successful command is repeated on the same player indefinitely, locking up
the server. This commit fixes the issue by incrementing the loop index
regardless of whether the command succeeds, ensuring the command is only
executed once per player identified by the PlayerSelector.
Dieser Commit ist enthalten in:
WolfieMario 2014-03-22 13:48:04 -06:00 committet von Nate Mortensen
Ursprung 385ace970e
Commit 4873b12890

Datei anzeigen

@ -101,7 +101,7 @@ public final class VanillaCommandWrapper extends VanillaCommand {
String s2 = as[i];
EntityPlayer aentityplayer1[] = aentityplayer;
int k = aentityplayer1.length;
for (int l = 0; l < k;) {
for (int l = 0; l < k;l++) {
EntityPlayer entityplayer = aentityplayer1[l];
as[i] = entityplayer.getName();
try {
@ -112,7 +112,6 @@ public final class VanillaCommandWrapper extends VanillaCommand {
ChatMessage chatmessage4 = new ChatMessage(commandexception1.getMessage(), commandexception1.a());
chatmessage4.getChatModifier().setColor(EnumChatFormat.RED);
icommandlistener.sendMessage(chatmessage4);
l++;
}
}