Skip to content

Commit fe2161b

Browse files
committed
Avoid streams in packet/recipient conversions
1 parent f5b8783 commit fe2161b

7 files changed

Lines changed: 47 additions & 53 deletions

File tree

api/src/bukkit/java/com/lunarclient/apollo/BukkitApollo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@
3030
import com.lunarclient.apollo.player.ApolloPlayer;
3131
import com.lunarclient.apollo.player.ApolloPlayerManager;
3232
import com.lunarclient.apollo.recipients.Recipients;
33+
import java.util.ArrayList;
3334
import java.util.Collection;
3435
import java.util.List;
35-
import java.util.Optional;
3636
import java.util.UUID;
3737
import java.util.function.Consumer;
38-
import java.util.stream.Collectors;
3938
import lombok.NonNull;
4039
import org.bukkit.Bukkit;
4140
import org.bukkit.Location;
@@ -81,11 +80,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer<Apol
8180
*/
8281
public static Recipients getRecipientsFrom(@NonNull Collection<Player> players) {
8382
ApolloPlayerManager playerManager = Apollo.getPlayerManager();
84-
List<ApolloPlayer> apolloPlayers = players.stream()
85-
.map(player -> playerManager.getPlayer(player.getUniqueId()))
86-
.filter(Optional::isPresent)
87-
.map(Optional::get)
88-
.collect(Collectors.toList());
83+
List<ApolloPlayer> apolloPlayers = new ArrayList<>(players.size());
84+
85+
for (Player player : players) {
86+
playerManager.getPlayer(player.getUniqueId())
87+
.ifPresent(apolloPlayers::add);
88+
}
8989

9090
return Recipients.of(apolloPlayers);
9191
}

api/src/bungee/java/com/lunarclient/apollo/BungeeApollo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@
2626
import com.lunarclient.apollo.player.ApolloPlayer;
2727
import com.lunarclient.apollo.player.ApolloPlayerManager;
2828
import com.lunarclient.apollo.recipients.Recipients;
29+
import java.util.ArrayList;
2930
import java.util.Collection;
3031
import java.util.List;
31-
import java.util.Optional;
3232
import java.util.UUID;
3333
import java.util.function.Consumer;
34-
import java.util.stream.Collectors;
3534
import lombok.NonNull;
3635
import net.md_5.bungee.api.connection.ProxiedPlayer;
3736

@@ -74,11 +73,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer<Apol
7473
*/
7574
public static Recipients getRecipientsFrom(@NonNull Collection<ProxiedPlayer> players) {
7675
ApolloPlayerManager playerManager = Apollo.getPlayerManager();
77-
List<ApolloPlayer> apolloPlayers = players.stream()
78-
.map(player -> playerManager.getPlayer(player.getUniqueId()))
79-
.filter(Optional::isPresent)
80-
.map(Optional::get)
81-
.collect(Collectors.toList());
76+
List<ApolloPlayer> apolloPlayers = new ArrayList<>(players.size());
77+
78+
for (ProxiedPlayer player : players) {
79+
playerManager.getPlayer(player.getUniqueId())
80+
.ifPresent(apolloPlayers::add);
81+
}
8282

8383
return Recipients.of(apolloPlayers);
8484
}

api/src/folia/java/com/lunarclient/apollo/FoliaApollo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@
3030
import com.lunarclient.apollo.player.ApolloPlayer;
3131
import com.lunarclient.apollo.player.ApolloPlayerManager;
3232
import com.lunarclient.apollo.recipients.Recipients;
33+
import java.util.ArrayList;
3334
import java.util.Collection;
3435
import java.util.List;
35-
import java.util.Optional;
3636
import java.util.UUID;
3737
import java.util.function.Consumer;
38-
import java.util.stream.Collectors;
3938
import lombok.NonNull;
4039
import org.bukkit.Bukkit;
4140
import org.bukkit.Location;
@@ -81,11 +80,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer<Apol
8180
*/
8281
public static Recipients getRecipientsFrom(@NonNull Collection<Player> players) {
8382
ApolloPlayerManager playerManager = Apollo.getPlayerManager();
84-
List<ApolloPlayer> apolloPlayers = players.stream()
85-
.map(player -> playerManager.getPlayer(player.getUniqueId()))
86-
.filter(Optional::isPresent)
87-
.map(Optional::get)
88-
.collect(Collectors.toList());
83+
List<ApolloPlayer> apolloPlayers = new ArrayList<>(players.size());
84+
85+
for (Player player : players) {
86+
playerManager.getPlayer(player.getUniqueId())
87+
.ifPresent(apolloPlayers::add);
88+
}
8989

9090
return Recipients.of(apolloPlayers);
9191
}

api/src/minestom/java/com/lunarclient/apollo/MinestomApollo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,11 @@
2727
import com.lunarclient.apollo.player.ApolloPlayer;
2828
import com.lunarclient.apollo.player.ApolloPlayerManager;
2929
import com.lunarclient.apollo.recipients.Recipients;
30+
import java.util.ArrayList;
3031
import java.util.Collection;
3132
import java.util.List;
32-
import java.util.Optional;
3333
import java.util.UUID;
3434
import java.util.function.Consumer;
35-
import java.util.stream.Collectors;
3635
import lombok.NonNull;
3736
import net.minestom.server.entity.Entity;
3837
import net.minestom.server.entity.Player;
@@ -76,11 +75,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer<Apol
7675
*/
7776
public static Recipients getRecipientsFrom(@NonNull Collection<Player> players) {
7877
ApolloPlayerManager playerManager = Apollo.getPlayerManager();
79-
List<ApolloPlayer> apolloPlayers = players.stream()
80-
.map(player -> playerManager.getPlayer(player.getUuid()))
81-
.filter(Optional::isPresent)
82-
.map(Optional::get)
83-
.collect(Collectors.toList());
78+
List<ApolloPlayer> apolloPlayers = new ArrayList<>(players.size());
79+
80+
for (Player player : players) {
81+
playerManager.getPlayer(player.getUuid())
82+
.ifPresent(apolloPlayers::add);
83+
}
8484

8585
return Recipients.of(apolloPlayers);
8686
}

api/src/velocity/java/com/lunarclient/apollo/VelocityApollo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,11 @@
2727
import com.lunarclient.apollo.player.ApolloPlayerManager;
2828
import com.lunarclient.apollo.recipients.Recipients;
2929
import com.velocitypowered.api.proxy.Player;
30+
import java.util.ArrayList;
3031
import java.util.Collection;
3132
import java.util.List;
32-
import java.util.Optional;
3333
import java.util.UUID;
3434
import java.util.function.Consumer;
35-
import java.util.stream.Collectors;
3635
import lombok.NonNull;
3736

3837
/**
@@ -75,11 +74,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer<Apol
7574
*/
7675
public static Recipients getRecipientsFrom(@NonNull Collection<Player> players) {
7776
ApolloPlayerManager playerManager = Apollo.getPlayerManager();
78-
List<ApolloPlayer> apolloPlayers = players.stream()
79-
.map(player -> playerManager.getPlayer(player.getUniqueId()))
80-
.filter(Optional::isPresent)
81-
.map(Optional::get)
82-
.collect(Collectors.toList());
77+
List<ApolloPlayer> apolloPlayers = new ArrayList<>(players.size());
78+
79+
for (Player player : players) {
80+
playerManager.getPlayer(player.getUniqueId())
81+
.ifPresent(apolloPlayers::add);
82+
}
8383

8484
return Recipients.of(apolloPlayers);
8585
}

common/src/main/java/com/lunarclient/apollo/module/nametag/NametagModuleImpl.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,9 @@
3030
import com.lunarclient.apollo.nametag.v1.ResetNametagsMessage;
3131
import com.lunarclient.apollo.network.NetworkTypes;
3232
import com.lunarclient.apollo.recipients.Recipients;
33-
import java.util.List;
3433
import java.util.UUID;
35-
import java.util.stream.Collectors;
3634
import lombok.NonNull;
35+
import net.kyori.adventure.text.Component;
3736

3837
/**
3938
* Provides the nametag module.
@@ -44,16 +43,14 @@ public final class NametagModuleImpl extends NametagModule {
4443

4544
@Override
4645
public void overrideNametag(@NonNull Recipients recipients, @NonNull UUID playerUuid, @NonNull Nametag nametag) {
47-
List<String> lines = nametag.getLines().stream()
48-
.map(ApolloComponent::toJson)
49-
.collect(Collectors.toList());
46+
OverrideNametagMessage.Builder builder = OverrideNametagMessage.newBuilder()
47+
.setPlayerUuid(NetworkTypes.toProtobuf(playerUuid));
5048

51-
OverrideNametagMessage message = OverrideNametagMessage.newBuilder()
52-
.setPlayerUuid(NetworkTypes.toProtobuf(playerUuid))
53-
.addAllAdventureJsonLines(lines)
54-
.build();
49+
for (Component line : nametag.getLines()) {
50+
builder.addAdventureJsonLines(ApolloComponent.toJson(line));
51+
}
5552

56-
ApolloManager.getNetworkManager().sendPacket(recipients, message);
53+
ApolloManager.getNetworkManager().sendPacket(recipients, builder.build());
5754
}
5855

5956
@Override

common/src/main/java/com/lunarclient/apollo/module/team/TeamModuleImpl.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import com.lunarclient.apollo.team.v1.UpdateTeamMembersMessage;
3333
import java.awt.Color;
3434
import java.util.List;
35-
import java.util.stream.Collectors;
3635
import lombok.NonNull;
3736
import net.kyori.adventure.text.Component;
3837

@@ -45,15 +44,13 @@ public final class TeamModuleImpl extends TeamModule {
4544

4645
@Override
4746
public void updateTeamMembers(@NonNull Recipients recipients, @NonNull List<TeamMember> teamMembers) {
48-
List<com.lunarclient.apollo.team.v1.TeamMember> teamMembersProto = teamMembers.stream()
49-
.map(this::toProtobuf)
50-
.collect(Collectors.toList());
47+
UpdateTeamMembersMessage.Builder builder = UpdateTeamMembersMessage.newBuilder();
5148

52-
UpdateTeamMembersMessage message = UpdateTeamMembersMessage.newBuilder()
53-
.addAllMembers(teamMembersProto)
54-
.build();
49+
for (TeamMember teamMember : teamMembers) {
50+
builder.addMembers(this.toProtobuf(teamMember));
51+
}
5552

56-
ApolloManager.getNetworkManager().sendPacket(recipients, message);
53+
ApolloManager.getNetworkManager().sendPacket(recipients, builder.build());
5754
}
5855

5956
@Override

0 commit comments

Comments
 (0)