diff --git a/api/src/bukkit/java/com/lunarclient/apollo/BukkitApollo.java b/api/src/bukkit/java/com/lunarclient/apollo/BukkitApollo.java index 00a61609..441518d7 100644 --- a/api/src/bukkit/java/com/lunarclient/apollo/BukkitApollo.java +++ b/api/src/bukkit/java/com/lunarclient/apollo/BukkitApollo.java @@ -30,12 +30,11 @@ import com.lunarclient.apollo.player.ApolloPlayer; import com.lunarclient.apollo.player.ApolloPlayerManager; import com.lunarclient.apollo.recipients.Recipients; +import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.Optional; import java.util.UUID; import java.util.function.Consumer; -import java.util.stream.Collectors; import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -81,11 +80,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer players) { ApolloPlayerManager playerManager = Apollo.getPlayerManager(); - List apolloPlayers = players.stream() - .map(player -> playerManager.getPlayer(player.getUniqueId())) - .filter(Optional::isPresent) - .map(Optional::get) - .collect(Collectors.toList()); + List apolloPlayers = new ArrayList<>(players.size()); + + for (Player player : players) { + playerManager.getPlayer(player.getUniqueId()) + .ifPresent(apolloPlayers::add); + } return Recipients.of(apolloPlayers); } diff --git a/api/src/bungee/java/com/lunarclient/apollo/BungeeApollo.java b/api/src/bungee/java/com/lunarclient/apollo/BungeeApollo.java index 45e35767..88267231 100644 --- a/api/src/bungee/java/com/lunarclient/apollo/BungeeApollo.java +++ b/api/src/bungee/java/com/lunarclient/apollo/BungeeApollo.java @@ -26,12 +26,11 @@ import com.lunarclient.apollo.player.ApolloPlayer; import com.lunarclient.apollo.player.ApolloPlayerManager; import com.lunarclient.apollo.recipients.Recipients; +import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.Optional; import java.util.UUID; import java.util.function.Consumer; -import java.util.stream.Collectors; import lombok.NonNull; import net.md_5.bungee.api.connection.ProxiedPlayer; @@ -74,11 +73,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer players) { ApolloPlayerManager playerManager = Apollo.getPlayerManager(); - List apolloPlayers = players.stream() - .map(player -> playerManager.getPlayer(player.getUniqueId())) - .filter(Optional::isPresent) - .map(Optional::get) - .collect(Collectors.toList()); + List apolloPlayers = new ArrayList<>(players.size()); + + for (ProxiedPlayer player : players) { + playerManager.getPlayer(player.getUniqueId()) + .ifPresent(apolloPlayers::add); + } return Recipients.of(apolloPlayers); } diff --git a/api/src/folia/java/com/lunarclient/apollo/FoliaApollo.java b/api/src/folia/java/com/lunarclient/apollo/FoliaApollo.java index 8d19ab2e..3eb2f436 100644 --- a/api/src/folia/java/com/lunarclient/apollo/FoliaApollo.java +++ b/api/src/folia/java/com/lunarclient/apollo/FoliaApollo.java @@ -30,12 +30,11 @@ import com.lunarclient.apollo.player.ApolloPlayer; import com.lunarclient.apollo.player.ApolloPlayerManager; import com.lunarclient.apollo.recipients.Recipients; +import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.Optional; import java.util.UUID; import java.util.function.Consumer; -import java.util.stream.Collectors; import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -81,11 +80,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer players) { ApolloPlayerManager playerManager = Apollo.getPlayerManager(); - List apolloPlayers = players.stream() - .map(player -> playerManager.getPlayer(player.getUniqueId())) - .filter(Optional::isPresent) - .map(Optional::get) - .collect(Collectors.toList()); + List apolloPlayers = new ArrayList<>(players.size()); + + for (Player player : players) { + playerManager.getPlayer(player.getUniqueId()) + .ifPresent(apolloPlayers::add); + } return Recipients.of(apolloPlayers); } diff --git a/api/src/main/java/com/lunarclient/apollo/event/EventBus.java b/api/src/main/java/com/lunarclient/apollo/event/EventBus.java index 5309fc57..5803227c 100644 --- a/api/src/main/java/com/lunarclient/apollo/event/EventBus.java +++ b/api/src/main/java/com/lunarclient/apollo/event/EventBus.java @@ -26,6 +26,7 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -96,7 +97,8 @@ public void unregister(@NonNull Object instance) { for (Method method : this.getEventMethods(instance)) { List> listeners = this.events.get(method.getParameterTypes()[0]); if (listeners != null) { - listeners.removeIf(consumer -> consumer instanceof ReflectiveConsumer && ((ReflectiveConsumer) consumer).getInstance() == instance); + listeners.removeIf(consumer -> consumer instanceof ReflectiveConsumer + && ((ReflectiveConsumer) consumer).getInstance() == instance); } } } @@ -127,17 +129,24 @@ public boolean unregister(@NonNull Class event, @NonNull Co @SuppressWarnings("unchecked") public EventResult post(@NonNull T event) { CopyOnWriteArrayList> consumers = this.events.get(event.getClass()); - List throwables = new ArrayList<>(); - if (consumers != null) { - for (Consumer consumer : consumers) { - try { - ((Consumer) consumer).accept(event); - } catch (Throwable throwable) { - throwables.add(throwable); + if (consumers == null || consumers.isEmpty()) { + return new EventResult<>(event, Collections.emptyList()); + } + + List throwables = null; + for (Consumer consumer : consumers) { + try { + ((Consumer) consumer).accept(event); + } catch (Throwable throwable) { + if (throwables == null) { + throwables = new ArrayList<>(); } + + throwables.add(throwable); } } - return new EventResult<>(event, throwables); + + return new EventResult<>(event, throwables == null ? Collections.emptyList() : throwables); } private List getEventMethods(Object instance) { diff --git a/api/src/main/java/com/lunarclient/apollo/option/Option.java b/api/src/main/java/com/lunarclient/apollo/option/Option.java index 24d61baf..f88affef 100644 --- a/api/src/main/java/com/lunarclient/apollo/option/Option.java +++ b/api/src/main/java/com/lunarclient/apollo/option/Option.java @@ -130,6 +130,15 @@ public static > EnumOption.EnumOptionBuilder enumerator() { */ boolean notify; + /** + * Returns the option key. + * + * @return the key string + * @since 1.2.8 + */ + @EqualsAndHashCode.Exclude + String key; + Option(M builder) { this.path = requireNonNull(builder.node, "node"); this.typeToken = requireNonNull(builder.typeToken, "typeToken"); @@ -137,16 +146,8 @@ public static > EnumOption.EnumOptionBuilder enumerator() { this.comment = builder.comment; this.defaultValue = builder.defaultValue; this.notify = builder.notify; - } - /** - * Returns the key as a joined {@link String}. - * - * @return the key string - * @since 1.0.0 - */ - public String getKey() { - return String.join(".", this.getPath()); + this.key = String.join(".", this.path); } @Override diff --git a/api/src/minestom/java/com/lunarclient/apollo/MinestomApollo.java b/api/src/minestom/java/com/lunarclient/apollo/MinestomApollo.java index 14144d2d..f80c8d60 100644 --- a/api/src/minestom/java/com/lunarclient/apollo/MinestomApollo.java +++ b/api/src/minestom/java/com/lunarclient/apollo/MinestomApollo.java @@ -27,12 +27,11 @@ import com.lunarclient.apollo.player.ApolloPlayer; import com.lunarclient.apollo.player.ApolloPlayerManager; import com.lunarclient.apollo.recipients.Recipients; +import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.Optional; import java.util.UUID; import java.util.function.Consumer; -import java.util.stream.Collectors; import lombok.NonNull; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Player; @@ -76,11 +75,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer players) { ApolloPlayerManager playerManager = Apollo.getPlayerManager(); - List apolloPlayers = players.stream() - .map(player -> playerManager.getPlayer(player.getUuid())) - .filter(Optional::isPresent) - .map(Optional::get) - .collect(Collectors.toList()); + List apolloPlayers = new ArrayList<>(players.size()); + + for (Player player : players) { + playerManager.getPlayer(player.getUuid()) + .ifPresent(apolloPlayers::add); + } return Recipients.of(apolloPlayers); } diff --git a/api/src/velocity/java/com/lunarclient/apollo/VelocityApollo.java b/api/src/velocity/java/com/lunarclient/apollo/VelocityApollo.java index f88992ed..dbd1cdad 100644 --- a/api/src/velocity/java/com/lunarclient/apollo/VelocityApollo.java +++ b/api/src/velocity/java/com/lunarclient/apollo/VelocityApollo.java @@ -27,12 +27,11 @@ import com.lunarclient.apollo.player.ApolloPlayerManager; import com.lunarclient.apollo.recipients.Recipients; import com.velocitypowered.api.proxy.Player; +import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.Optional; import java.util.UUID; import java.util.function.Consumer; -import java.util.stream.Collectors; import lombok.NonNull; /** @@ -75,11 +74,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer players) { ApolloPlayerManager playerManager = Apollo.getPlayerManager(); - List apolloPlayers = players.stream() - .map(player -> playerManager.getPlayer(player.getUniqueId())) - .filter(Optional::isPresent) - .map(Optional::get) - .collect(Collectors.toList()); + List apolloPlayers = new ArrayList<>(players.size()); + + for (Player player : players) { + playerManager.getPlayer(player.getUniqueId()) + .ifPresent(apolloPlayers::add); + } return Recipients.of(apolloPlayers); } diff --git a/common/src/main/java/com/lunarclient/apollo/module/beam/BeamModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/beam/BeamModuleImpl.java index 7353eb98..ba4c4b38 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/beam/BeamModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/beam/BeamModuleImpl.java @@ -23,11 +23,11 @@ */ package com.lunarclient.apollo.module.beam; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.beam.v1.DisplayBeaconBeamMessage; import com.lunarclient.apollo.beam.v1.RemoveBeaconBeamMessage; import com.lunarclient.apollo.beam.v1.ResetBeaconBeamsMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import lombok.NonNull; @@ -46,7 +46,7 @@ public void displayBeam(@NonNull Recipients recipients, @NonNull Beam beam) { .setColor(NetworkTypes.toProtobuf(beam.getColor())) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -55,7 +55,7 @@ public void removeBeam(@NonNull Recipients recipients, @NonNull String beamId) { .setId(beamId) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -66,7 +66,7 @@ public void removeBeam(@NonNull Recipients recipients, @NonNull Beam beam) { @Override public void resetBeams(@NonNull Recipients recipients) { ResetBeaconBeamsMessage message = ResetBeaconBeamsMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/border/BorderModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/border/BorderModuleImpl.java index d4677ec0..dd6dd6f1 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/border/BorderModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/border/BorderModuleImpl.java @@ -23,11 +23,11 @@ */ package com.lunarclient.apollo.module.border; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.border.v1.DisplayBorderMessage; import com.lunarclient.apollo.border.v1.RemoveBorderMessage; import com.lunarclient.apollo.border.v1.ResetBordersMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import lombok.NonNull; @@ -53,7 +53,7 @@ public void displayBorder(@NonNull Recipients recipients, @NonNull Border border .setDurationTicks(checkPositive(border.getDurationTicks(), "Border#durationTicks")) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -62,7 +62,7 @@ public void removeBorder(@NonNull Recipients recipients, @NonNull String borderI .setId(borderId) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -73,7 +73,7 @@ public void removeBorder(@NonNull Recipients recipients, @NonNull Border border) @Override public void resetBorders(@NonNull Recipients recipients) { ResetBordersMessage message = ResetBordersMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/chat/ChatModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/chat/ChatModuleImpl.java index 2ccedc8f..ae4ee548 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/chat/ChatModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/chat/ChatModuleImpl.java @@ -23,10 +23,10 @@ */ package com.lunarclient.apollo.module.chat; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.chat.v1.DisplayLiveChatMessageMessage; import com.lunarclient.apollo.chat.v1.RemoveLiveChatMessageMessage; import com.lunarclient.apollo.common.ApolloComponent; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import lombok.NonNull; import net.kyori.adventure.text.Component; @@ -45,7 +45,7 @@ public void displayLiveChatMessage(@NonNull Recipients recipients, @NonNull Comp .setMessageId(messageId) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -54,7 +54,7 @@ public void removeLiveChatMessage(@NonNull Recipients recipients, int messageId) .setMessageId(messageId) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/coloredfire/ColoredFireModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/coloredfire/ColoredFireModuleImpl.java index d4227e37..297b2983 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/coloredfire/ColoredFireModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/coloredfire/ColoredFireModuleImpl.java @@ -23,11 +23,11 @@ */ package com.lunarclient.apollo.module.coloredfire; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.coloredfire.v1.OverrideColoredFireMessage; import com.lunarclient.apollo.coloredfire.v1.ResetColoredFireMessage; import com.lunarclient.apollo.coloredfire.v1.ResetColoredFiresMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import java.awt.Color; import java.util.UUID; @@ -47,7 +47,7 @@ public void overrideColoredFire(@NonNull Recipients recipients, @NonNull UUID bu .setColor(NetworkTypes.toProtobuf(color)) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -56,13 +56,13 @@ public void resetColoredFire(@NonNull Recipients recipients, @NonNull UUID burni .setPlayerUuid(NetworkTypes.toProtobuf(burningPlayer)) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetColoredFires(@NonNull Recipients recipients) { ResetColoredFiresMessage message = ResetColoredFiresMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/cooldown/CooldownModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/cooldown/CooldownModuleImpl.java index ede71674..7fcf0632 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/cooldown/CooldownModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/cooldown/CooldownModuleImpl.java @@ -23,11 +23,11 @@ */ package com.lunarclient.apollo.module.cooldown; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.cooldown.v1.DisplayCooldownMessage; import com.lunarclient.apollo.cooldown.v1.RemoveCooldownMessage; import com.lunarclient.apollo.cooldown.v1.ResetCooldownsMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import java.awt.Color; import lombok.NonNull; @@ -52,7 +52,7 @@ public void displayCooldown(@NonNull Recipients recipients, @NonNull Cooldown co } DisplayCooldownMessage message = builder.build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -61,7 +61,7 @@ public void removeCooldown(@NonNull Recipients recipients, @NonNull String coold .setName(cooldownName) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -72,7 +72,7 @@ public void removeCooldown(@NonNull Recipients recipients, @NonNull Cooldown coo @Override public void resetCooldowns(@NonNull Recipients recipients) { ResetCooldownsMessage message = ResetCooldownsMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } private com.lunarclient.apollo.cooldown.v1.CooldownStyle toProtobuf(CooldownStyle style) { diff --git a/common/src/main/java/com/lunarclient/apollo/module/cosmetic/CosmeticModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/cosmetic/CosmeticModuleImpl.java index 23af53d3..e9874170 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/cosmetic/CosmeticModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/cosmetic/CosmeticModuleImpl.java @@ -23,6 +23,7 @@ */ package com.lunarclient.apollo.module.cosmetic; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.location.ApolloBlockLocation; import com.lunarclient.apollo.cosmetic.v1.DisplaySprayMessage; import com.lunarclient.apollo.cosmetic.v1.EquipNpcCosmeticsMessage; @@ -39,7 +40,6 @@ import com.lunarclient.apollo.module.cosmetic.options.HatOptions; import com.lunarclient.apollo.module.cosmetic.options.PetOptions; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import java.util.List; import java.util.UUID; @@ -73,7 +73,7 @@ public void equipNpcCosmetics(@NonNull Recipients recipients, @NonNull UUID npcU .setCopyLocalCosmetics(copyLocalCosmetics) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -87,7 +87,7 @@ public void unequipNpcCosmetics(@NonNull Recipients recipients, @NonNull UUID np .addAllCosmeticIds(validatedIds) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -96,7 +96,7 @@ public void resetNpcCosmetics(@NonNull Recipients recipients, @NonNull UUID npcU .setNpcUuid(NetworkTypes.toProtobuf(npcUuid)) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -109,7 +109,7 @@ public void startNpcEmote(@NonNull Recipients recipients, @NonNull UUID npcUuid, .build()) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -118,13 +118,13 @@ public void stopNpcEmote(@NonNull Recipients recipients, @NonNull UUID npcUuid) .setNpcUuid(NetworkTypes.toProtobuf(npcUuid)) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetNpcEmotes(@NonNull Recipients recipients) { ResetNpcEmotesMessage message = ResetNpcEmotesMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -137,7 +137,7 @@ public void displaySpray(@NonNull Recipients recipients, @NonNull Spray spray) { .setDuration(NetworkTypes.toProtobuf(spray.getDuration())) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -146,7 +146,7 @@ public void removeSpray(@NonNull Recipients recipients, int sprayId) { .setSprayId(checkStrictlyPositive(sprayId, "Spray#sprayId")) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -159,13 +159,13 @@ public void removeSpray(@NonNull Recipients recipients, int sprayId, @Nullable A } RemoveSprayMessage message = builder.build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetSprays(@NonNull Recipients recipients) { ResetSpraysMessage message = ResetSpraysMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } private com.lunarclient.apollo.cosmetic.v1.Cosmetic toProtobuf(Cosmetic cosmetic) { diff --git a/common/src/main/java/com/lunarclient/apollo/module/entity/EntityModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/entity/EntityModuleImpl.java index e2f6c3b4..e1f06eb5 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/entity/EntityModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/entity/EntityModuleImpl.java @@ -23,6 +23,7 @@ */ package com.lunarclient.apollo.module.entity; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloEntity; import com.lunarclient.apollo.common.v1.EntityId; import com.lunarclient.apollo.entity.v1.FlipEntityMessage; @@ -30,7 +31,6 @@ import com.lunarclient.apollo.entity.v1.ResetFlipedEntityMessage; import com.lunarclient.apollo.entity.v1.ResetRainbowSheepMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import java.util.List; import java.util.Set; @@ -54,7 +54,7 @@ public void overrideRainbowSheep(@NonNull Recipients recipients, @NonNull List ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -67,7 +67,7 @@ public void resetRainbowSheep(@NonNull Recipients recipients, @NonNull List ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -80,7 +80,7 @@ public void flipEntity(@NonNull Recipients recipients, @NonNull List ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -93,7 +93,7 @@ public void resetFlippedEntity(@NonNull Recipients recipients, @NonNull List ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/glow/GlowModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/glow/GlowModuleImpl.java index 59ccdae0..acbcbe60 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/glow/GlowModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/glow/GlowModuleImpl.java @@ -23,11 +23,11 @@ */ package com.lunarclient.apollo.module.glow; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.glow.v1.OverrideGlowEffectMessage; import com.lunarclient.apollo.glow.v1.ResetGlowEffectMessage; import com.lunarclient.apollo.glow.v1.ResetGlowEffectsMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import java.awt.Color; import java.util.UUID; @@ -56,7 +56,7 @@ public void overrideGlow(@NonNull Recipients recipients, @NonNull UUID glowingPl } OverrideGlowEffectMessage message = builder.build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -65,13 +65,13 @@ public void resetGlow(@NonNull Recipients recipients, @NonNull UUID glowingPlaye .setPlayerUuid(NetworkTypes.toProtobuf(glowingPlayer)) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetGlow(@NonNull Recipients recipients) { ResetGlowEffectsMessage message = ResetGlowEffectsMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/hologram/HologramModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/hologram/HologramModuleImpl.java index 03518c0b..16f40520 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/hologram/HologramModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/hologram/HologramModuleImpl.java @@ -23,12 +23,12 @@ */ package com.lunarclient.apollo.module.hologram; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloComponent; import com.lunarclient.apollo.hologram.v1.DisplayHologramMessage; import com.lunarclient.apollo.hologram.v1.RemoveHologramMessage; import com.lunarclient.apollo.hologram.v1.ResetHologramsMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import java.util.stream.Collectors; import lombok.NonNull; @@ -54,7 +54,7 @@ public void displayHologram(@NonNull Recipients recipients, @NonNull Hologram ho .setShowBackground(hologram.isShowBackground()) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -63,7 +63,7 @@ public void removeHologram(@NonNull Recipients recipients, @NonNull String holog .setId(hologramId) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -74,7 +74,7 @@ public void removeHologram(@NonNull Recipients recipients, @NonNull Hologram hol @Override public void resetHolograms(@NonNull Recipients recipients) { ResetHologramsMessage message = ResetHologramsMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/limb/LimbModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/limb/LimbModuleImpl.java index 6a7e24d7..4e0f364c 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/limb/LimbModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/limb/LimbModuleImpl.java @@ -23,12 +23,12 @@ */ package com.lunarclient.apollo.module.limb; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.limb.v1.HideArmorPiecesMessage; import com.lunarclient.apollo.limb.v1.HideBodyPartMessage; import com.lunarclient.apollo.limb.v1.ResetArmorPiecesMessage; import com.lunarclient.apollo.limb.v1.ResetBodyPartMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import java.util.Collection; import java.util.Set; @@ -54,7 +54,7 @@ public void hideArmorPieces(@NonNull Recipients recipients, @NonNull UUID player .addAllArmorPieces(pieces) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -68,7 +68,7 @@ public void resetArmorPieces(@NonNull Recipients recipients, @NonNull UUID playe .addAllArmorPieces(pieces) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -82,7 +82,7 @@ public void hideBodyParts(@NonNull Recipients recipients, @NonNull UUID playerUu .addAllBodyParts(parts) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -96,7 +96,7 @@ public void resetBodyParts(@NonNull Recipients recipients, @NonNull UUID playerU .addAllBodyParts(parts) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } private com.lunarclient.apollo.limb.v1.ArmorPiece toProtobuf(ArmorPiece armorPiece) { diff --git a/common/src/main/java/com/lunarclient/apollo/module/nametag/NametagModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/nametag/NametagModuleImpl.java index 9164a402..5254595d 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/nametag/NametagModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/nametag/NametagModuleImpl.java @@ -23,17 +23,16 @@ */ package com.lunarclient.apollo.module.nametag; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloComponent; import com.lunarclient.apollo.nametag.v1.OverrideNametagMessage; import com.lunarclient.apollo.nametag.v1.ResetNametagMessage; import com.lunarclient.apollo.nametag.v1.ResetNametagsMessage; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; -import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; import lombok.NonNull; +import net.kyori.adventure.text.Component; /** * Provides the nametag module. @@ -44,16 +43,14 @@ public final class NametagModuleImpl extends NametagModule { @Override public void overrideNametag(@NonNull Recipients recipients, @NonNull UUID playerUuid, @NonNull Nametag nametag) { - List lines = nametag.getLines().stream() - .map(ApolloComponent::toJson) - .collect(Collectors.toList()); + OverrideNametagMessage.Builder builder = OverrideNametagMessage.newBuilder() + .setPlayerUuid(NetworkTypes.toProtobuf(playerUuid)); - OverrideNametagMessage message = OverrideNametagMessage.newBuilder() - .setPlayerUuid(NetworkTypes.toProtobuf(playerUuid)) - .addAllAdventureJsonLines(lines) - .build(); + for (Component line : nametag.getLines()) { + builder.addAdventureJsonLines(ApolloComponent.toJson(line)); + } - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, builder.build()); } @Override @@ -62,13 +59,13 @@ public void resetNametag(@NonNull Recipients recipients, @NonNull UUID playerUui .setPlayerUuid(NetworkTypes.toProtobuf(playerUuid)) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetNametags(@NonNull Recipients recipients) { ResetNametagsMessage message = ResetNametagsMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/nickhider/NickHiderModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/nickhider/NickHiderModuleImpl.java index 11a2faaa..cab61bd0 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/nickhider/NickHiderModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/nickhider/NickHiderModuleImpl.java @@ -23,9 +23,9 @@ */ package com.lunarclient.apollo.module.nickhider; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.nickhider.v1.OverrideNickHiderMessage; import com.lunarclient.apollo.nickhider.v1.ResetNickHiderMessage; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import lombok.NonNull; @@ -42,13 +42,13 @@ public void overrideNick(@NonNull Recipients recipients, @NonNull String nick) { .setNick(nick) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetNick(@NonNull Recipients recipients) { ResetNickHiderMessage message = ResetNickHiderMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/notification/NotificationModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/notification/NotificationModuleImpl.java index 897b65e0..78688bd7 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/notification/NotificationModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/notification/NotificationModuleImpl.java @@ -23,11 +23,11 @@ */ package com.lunarclient.apollo.module.notification; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloComponent; import com.lunarclient.apollo.network.NetworkTypes; import com.lunarclient.apollo.notification.v1.DisplayNotificationMessage; import com.lunarclient.apollo.notification.v1.ResetNotificationsMessage; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import lombok.NonNull; import net.kyori.adventure.text.Component; @@ -70,13 +70,13 @@ public void displayNotification(@NonNull Recipients recipients, @NonNull Notific } DisplayNotificationMessage message = builder.build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetNotifications(@NonNull Recipients recipients) { ResetNotificationsMessage message = ResetNotificationsMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/paynow/PayNowModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/paynow/PayNowModuleImpl.java index 068c3c72..ae549895 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/paynow/PayNowModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/paynow/PayNowModuleImpl.java @@ -23,8 +23,8 @@ */ package com.lunarclient.apollo.module.paynow; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.paynow.v1.OpenPayNowEmbeddedCheckoutMessage; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import lombok.NonNull; @@ -41,7 +41,7 @@ public void displayPayNowEmbeddedCheckout(@NonNull Recipients recipients, @NonNu .setCheckoutToken(checkoutToken) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/richpresence/RichPresenceModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/richpresence/RichPresenceModuleImpl.java index afb22482..6acd584d 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/richpresence/RichPresenceModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/richpresence/RichPresenceModuleImpl.java @@ -23,7 +23,7 @@ */ package com.lunarclient.apollo.module.richpresence; -import com.lunarclient.apollo.player.AbstractApolloPlayer; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.richpresence.v1.OverrideServerRichPresenceMessage; import com.lunarclient.apollo.richpresence.v1.ResetServerRichPresenceMessage; @@ -73,13 +73,13 @@ public void overrideServerRichPresence(@NonNull Recipients recipients, @NonNull } OverrideServerRichPresenceMessage message = builder.build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetServerRichPresence(@NonNull Recipients recipients) { ResetServerRichPresenceMessage message = ResetServerRichPresenceMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/serverlink/ServerLinkModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/serverlink/ServerLinkModuleImpl.java index 4427a971..ef2b05a4 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/serverlink/ServerLinkModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/serverlink/ServerLinkModuleImpl.java @@ -23,10 +23,10 @@ */ package com.lunarclient.apollo.module.serverlink; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloComponent; import com.lunarclient.apollo.common.icon.ResourceLocationIcon; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.serverlink.v1.AddServerLinkMessage; import com.lunarclient.apollo.serverlink.v1.OverrideServerLinkResourceMessage; @@ -51,13 +51,13 @@ public void overrideServerLinkResource(@NonNull Recipients recipients, @NonNull .setIcon(NetworkTypes.toProtobuf(icon)) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetServerLinkResource(@NonNull Recipients recipients) { ResetServerLinkResourceMessage message = ResetServerLinkResourceMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -75,7 +75,7 @@ public void addServerLink(@NonNull Recipients recipients, @NonNull List ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -94,13 +94,13 @@ public void removeServerLink(@NonNull Recipients recipients, @NonNull List ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetServerLinks(@NonNull Recipients recipients) { ResetServerLinksMessage message = ResetServerLinksMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } private com.lunarclient.apollo.serverlink.v1.ServerLink toProtobuf(ServerLink serverLink) { diff --git a/common/src/main/java/com/lunarclient/apollo/module/staffmod/StaffModModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/staffmod/StaffModModuleImpl.java index c9a83db4..6ccb5aa6 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/staffmod/StaffModModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/staffmod/StaffModModuleImpl.java @@ -23,7 +23,7 @@ */ package com.lunarclient.apollo.module.staffmod; -import com.lunarclient.apollo.player.AbstractApolloPlayer; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.staffmod.v1.DisableStaffModsMessage; import com.lunarclient.apollo.staffmod.v1.EnableStaffModsMessage; @@ -62,7 +62,7 @@ public void enableStaffMods(@NonNull Recipients recipients, @NonNull List ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -75,17 +75,17 @@ public void disableStaffMods(@NonNull Recipients recipients, @NonNull List ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void enableAllStaffMods(@NonNull Recipients recipients) { - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(this.enableAllStaffModsMessage)); + ApolloManager.getNetworkManager().sendPacket(recipients, this.enableAllStaffModsMessage); } @Override public void disableAllStaffMods(@NonNull Recipients recipients) { - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(this.disableAllStaffModsMessage)); + ApolloManager.getNetworkManager().sendPacket(recipients, this.disableAllStaffModsMessage); } private com.lunarclient.apollo.staffmod.v1.StaffMod toProtobuf(StaffMod staffMod) { diff --git a/common/src/main/java/com/lunarclient/apollo/module/stopwatch/StopwatchModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/stopwatch/StopwatchModuleImpl.java index ded30e4b..a57741bf 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/stopwatch/StopwatchModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/stopwatch/StopwatchModuleImpl.java @@ -23,10 +23,10 @@ */ package com.lunarclient.apollo.module.stopwatch; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloComponent; import com.lunarclient.apollo.common.location.HudPosition; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.stopwatch.v1.AddStopwatchMessage; import com.lunarclient.apollo.stopwatch.v1.AddTimerMessage; @@ -54,19 +54,19 @@ public final class StopwatchModuleImpl extends StopwatchModule { @Override public void startStopwatch(@NonNull Recipients recipients) { StartStopwatchMessage message = StartStopwatchMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void stopStopwatch(@NonNull Recipients recipients) { StopStopwatchMessage message = StopStopwatchMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetStopwatch(@NonNull Recipients recipients) { ResetStopwatchMessage message = ResetStopwatchMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -94,7 +94,7 @@ public void addStopwatch(@NonNull Recipients recipients, @NonNull Stopwatch stop } AddStopwatchMessage message = builder.build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -103,7 +103,7 @@ public void removeStopwatch(@NonNull Recipients recipients, @NonNull String id) .setId(id) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -112,7 +112,7 @@ public void startStopwatch(@NonNull Recipients recipients, @NonNull String id) { .setId(id) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -121,7 +121,7 @@ public void stopStopwatch(@NonNull Recipients recipients, @NonNull String id) { .setId(id) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -130,13 +130,13 @@ public void resetStopwatch(@NonNull Recipients recipients, @NonNull String id) { .setId(id) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetStopwatches(@NonNull Recipients recipients) { ResetStopwatchesMessage message = ResetStopwatchesMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -171,7 +171,7 @@ public void addTimer(@NonNull Recipients recipients, @NonNull Timer timer) { } AddTimerMessage message = builder.build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -180,7 +180,7 @@ public void removeTimer(@NonNull Recipients recipients, @NonNull String id) { .setId(id) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -189,7 +189,7 @@ public void startTimer(@NonNull Recipients recipients, @NonNull String id) { .setId(id) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -198,7 +198,7 @@ public void stopTimer(@NonNull Recipients recipients, @NonNull String id) { .setId(id) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -207,13 +207,13 @@ public void resetTimer(@NonNull Recipients recipients, @NonNull String id) { .setId(id) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetTimers(@NonNull Recipients recipients) { ResetTimersMessage message = ResetTimersMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/team/TeamModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/team/TeamModuleImpl.java index 89005d29..bb3ffe50 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/team/TeamModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/team/TeamModuleImpl.java @@ -23,16 +23,15 @@ */ package com.lunarclient.apollo.module.team; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloComponent; import com.lunarclient.apollo.common.location.ApolloLocation; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.team.v1.ResetTeamMembersMessage; import com.lunarclient.apollo.team.v1.UpdateTeamMembersMessage; import java.awt.Color; import java.util.List; -import java.util.stream.Collectors; import lombok.NonNull; import net.kyori.adventure.text.Component; @@ -45,21 +44,19 @@ public final class TeamModuleImpl extends TeamModule { @Override public void updateTeamMembers(@NonNull Recipients recipients, @NonNull List teamMembers) { - List teamMembersProto = teamMembers.stream() - .map(this::toProtobuf) - .collect(Collectors.toList()); + UpdateTeamMembersMessage.Builder builder = UpdateTeamMembersMessage.newBuilder(); - UpdateTeamMembersMessage message = UpdateTeamMembersMessage.newBuilder() - .addAllMembers(teamMembersProto) - .build(); + for (TeamMember teamMember : teamMembers) { + builder.addMembers(this.toProtobuf(teamMember)); + } - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, builder.build()); } @Override public void resetTeamMembers(@NonNull Recipients recipients) { ResetTeamMembersMessage message = ResetTeamMembersMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } private com.lunarclient.apollo.team.v1.TeamMember toProtobuf(TeamMember member) { diff --git a/common/src/main/java/com/lunarclient/apollo/module/tebex/TebexModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/tebex/TebexModuleImpl.java index 2b15fbd5..d4ed6fd7 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/tebex/TebexModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/tebex/TebexModuleImpl.java @@ -23,7 +23,7 @@ */ package com.lunarclient.apollo.module.tebex; -import com.lunarclient.apollo.player.AbstractApolloPlayer; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.tebex.v1.OpenTebexEmbeddedCheckoutMessage; import lombok.NonNull; @@ -50,7 +50,7 @@ public void displayTebexEmbeddedCheckout(@NonNull Recipients recipients, @NonNul } OpenTebexEmbeddedCheckoutMessage message = builder.build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/title/TitleModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/title/TitleModuleImpl.java index 250a99c5..e2be6a7d 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/title/TitleModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/title/TitleModuleImpl.java @@ -23,9 +23,9 @@ */ package com.lunarclient.apollo.module.title; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloComponent; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.title.v1.DisplayTitleMessage; import com.lunarclient.apollo.title.v1.ResetTitlesMessage; @@ -54,13 +54,13 @@ public void displayTitle(@NonNull Recipients recipients, @NonNull Title title) { .setInterpolationRate(checkPositive(title.getInterpolationRate(), "Title#interpolationRate")) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetTitles(@NonNull Recipients recipients) { ResetTitlesMessage message = ResetTitlesMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/tntcountdown/TntCountdownModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/tntcountdown/TntCountdownModuleImpl.java index 2697a60f..40b05231 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/tntcountdown/TntCountdownModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/tntcountdown/TntCountdownModuleImpl.java @@ -23,9 +23,9 @@ */ package com.lunarclient.apollo.module.tntcountdown; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.ApolloEntity; import com.lunarclient.apollo.network.NetworkTypes; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.tntcountdown.v1.SetTntCountdownMessage; import lombok.NonNull; @@ -51,7 +51,7 @@ public void setTntCountdown(@NonNull Recipients recipients, @NonNull ApolloEntit .setDurationTicks(checkPositive(ticks, "TntCountdown#ticks")) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/vignette/VignetteModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/vignette/VignetteModuleImpl.java index 71e609a9..c461f322 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/vignette/VignetteModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/vignette/VignetteModuleImpl.java @@ -23,7 +23,7 @@ */ package com.lunarclient.apollo.module.vignette; -import com.lunarclient.apollo.player.AbstractApolloPlayer; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.vignette.v1.DisplayVignetteMessage; import com.lunarclient.apollo.vignette.v1.ResetVignetteMessage; @@ -45,13 +45,13 @@ public void displayVignette(@NonNull Recipients recipients, @NonNull Vignette vi .setOpacity(checkRange(vignette.getOpacity(), 0, 1, "Vignette#opacity")) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override public void resetVignette(@NonNull Recipients recipients) { ResetVignetteMessage message = ResetVignetteMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } } diff --git a/common/src/main/java/com/lunarclient/apollo/module/waypoint/WaypointModuleImpl.java b/common/src/main/java/com/lunarclient/apollo/module/waypoint/WaypointModuleImpl.java index 03844a1f..b9ed8e3b 100644 --- a/common/src/main/java/com/lunarclient/apollo/module/waypoint/WaypointModuleImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/module/waypoint/WaypointModuleImpl.java @@ -23,11 +23,11 @@ */ package com.lunarclient.apollo.module.waypoint; +import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.common.location.ApolloBlockLocation; import com.lunarclient.apollo.event.player.ApolloRegisterPlayerEvent; import com.lunarclient.apollo.network.NetworkTypes; import com.lunarclient.apollo.option.config.Serializer; -import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.player.ApolloPlayer; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.waypoint.v1.DisplayWaypointMessage; @@ -68,7 +68,7 @@ public WaypointModuleImpl() { @Override public void displayWaypoint(@NonNull Recipients recipients, @NonNull Waypoint waypoint) { DisplayWaypointMessage message = this.toProtobuf(waypoint); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -77,7 +77,7 @@ public void removeWaypoint(@NonNull Recipients recipients, @NonNull String waypo .setName(waypointName) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -88,7 +88,7 @@ public void removeWaypoint(@NonNull Recipients recipients, @NonNull Waypoint way @Override public void resetWaypoints(@NonNull Recipients recipients) { ResetWaypointsMessage message = ResetWaypointsMessage.getDefaultInstance(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -97,7 +97,7 @@ public void showWaypoint(@NonNull Recipients recipients, @NonNull String waypoin .setName(waypointName) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } @Override @@ -106,7 +106,7 @@ public void hideWaypoint(@NonNull Recipients recipients, @NonNull String waypoin .setName(waypointName) .build(); - recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message)); + ApolloManager.getNetworkManager().sendPacket(recipients, message); } private void onPlayerRegister(ApolloRegisterPlayerEvent event) { @@ -115,7 +115,7 @@ private void onPlayerRegister(ApolloRegisterPlayerEvent event) { if (waypoints != null) { for (Waypoint waypoint : waypoints) { - ((AbstractApolloPlayer) player).sendPacket(this.toProtobuf(waypoint)); + ApolloManager.getNetworkManager().sendPacket(player, this.toProtobuf(waypoint)); } } } diff --git a/common/src/main/java/com/lunarclient/apollo/network/ApolloNetworkManager.java b/common/src/main/java/com/lunarclient/apollo/network/ApolloNetworkManager.java index ee43fb74..7685665b 100644 --- a/common/src/main/java/com/lunarclient/apollo/network/ApolloNetworkManager.java +++ b/common/src/main/java/com/lunarclient/apollo/network/ApolloNetworkManager.java @@ -24,6 +24,7 @@ package com.lunarclient.apollo.network; import com.google.protobuf.Any; +import com.google.protobuf.Message; import com.lunarclient.apollo.Apollo; import com.lunarclient.apollo.ApolloManager; import com.lunarclient.apollo.event.ApolloReceivePacketEvent; @@ -31,6 +32,7 @@ import com.lunarclient.apollo.event.EventBus; import com.lunarclient.apollo.player.AbstractApolloPlayer; import com.lunarclient.apollo.player.ApolloPlayer; +import com.lunarclient.apollo.recipients.Recipients; import java.util.UUID; import lombok.NoArgsConstructor; @@ -62,6 +64,31 @@ public void sendPacket(ApolloPlayer player, Any message) { } } + /** + * Sends the provided message packet to the provided {@link Recipients}. + * + * @param recipients the recipients to send the packet to + * @param message the message to send + * @since 1.2.8 + */ + public void sendPacket(Recipients recipients, Message message) { + Any packet = Any.pack(message); + byte[] data = packet.toByteArray(); + + recipients.forEach(recipient -> { + EventBus.EventResult result = EventBus.getBus() + .post(new ApolloSendPacketEvent((ApolloPlayer) recipient, packet)); + + if (!result.getEvent().isCancelled()) { + ((AbstractApolloPlayer) recipient).sendPacket(data); + } + + for (Throwable throwable : result.getThrowing()) { + throwable.printStackTrace(); + } + }); + } + /** * Receives an {@link Any} message packet from the provided player. * diff --git a/common/src/main/java/com/lunarclient/apollo/network/NetworkOptions.java b/common/src/main/java/com/lunarclient/apollo/network/NetworkOptions.java index e62fe44a..a2c38d19 100644 --- a/common/src/main/java/com/lunarclient/apollo/network/NetworkOptions.java +++ b/common/src/main/java/com/lunarclient/apollo/network/NetworkOptions.java @@ -32,8 +32,7 @@ import com.lunarclient.apollo.module.ApolloModule; import com.lunarclient.apollo.option.Option; import com.lunarclient.apollo.option.Options; -import com.lunarclient.apollo.player.AbstractApolloPlayer; -import com.lunarclient.apollo.player.ApolloPlayer; +import com.lunarclient.apollo.recipients.Recipients; import io.leangen.geantyref.GenericTypeReflector; import java.awt.Color; import java.lang.reflect.AnnotatedParameterizedType; @@ -52,18 +51,18 @@ public final class NetworkOptions { /** - * Send a single option to a single player. + * Send a single option to the provided {@link Recipients}. * - * @param module the module the option belongs to - * @param key the option key - * @param value the option value - * @param players the players to send the option to + * @param module the module the option belongs to + * @param key the option key + * @param value the option value + * @param recipients the recipients to send the option to * @since 1.0.0 */ public static void sendOption(@Nullable ApolloModule module, Option key, Value value, - Iterable players) { + Recipients recipients) { if (!key.isNotify()) { return; } @@ -73,35 +72,31 @@ public static void sendOption(@Nullable ApolloModule module, moduleBuilder.putProperties(key.getKey(), value); modulesBuilder.addConfigurableSettings(moduleBuilder.build()); - for (ApolloPlayer player : players) { - ((AbstractApolloPlayer) player).sendPacket(modulesBuilder.build()); - } + ApolloManager.getNetworkManager().sendPacket(recipients, modulesBuilder.build()); } /** * Sends the provided {@link ApolloModule}s options to the provided - * {@link ApolloPlayer}s. + * {@link Recipients}. * * @param modules the modules to send the options of * @param onlyPresent send only the options that have a present value - * @param players the players to send the module options to + * @param recipients the recipients to send the module options to * @since 1.0.0 */ public static void sendOptions(Iterable modules, boolean onlyPresent, - ApolloPlayer... players) { - for (ApolloPlayer player : players) { - OverrideConfigurableSettingsMessage.Builder modulesBuilder = OverrideConfigurableSettingsMessage.newBuilder(); - - for (ApolloModule module : modules) { - modulesBuilder.addConfigurableSettings(NetworkOptions.moduleWithOptions( - module, - onlyPresent - ).build()); - } + Recipients recipients) { + OverrideConfigurableSettingsMessage.Builder modulesBuilder = OverrideConfigurableSettingsMessage.newBuilder(); - ((AbstractApolloPlayer) player).sendPacket(modulesBuilder.build()); + for (ApolloModule module : modules) { + modulesBuilder.addConfigurableSettings(NetworkOptions.moduleWithOptions( + module, + onlyPresent + ).build()); } + + ApolloManager.getNetworkManager().sendPacket(recipients, modulesBuilder.build()); } /** diff --git a/common/src/main/java/com/lunarclient/apollo/option/OptionsImpl.java b/common/src/main/java/com/lunarclient/apollo/option/OptionsImpl.java index bd20e9eb..1cd5b43b 100644 --- a/common/src/main/java/com/lunarclient/apollo/option/OptionsImpl.java +++ b/common/src/main/java/com/lunarclient/apollo/option/OptionsImpl.java @@ -24,12 +24,12 @@ package com.lunarclient.apollo.option; import com.google.protobuf.Value; -import com.lunarclient.apollo.Apollo; import com.lunarclient.apollo.event.EventBus; import com.lunarclient.apollo.event.option.ApolloUpdateOptionEvent; import com.lunarclient.apollo.module.ApolloModule; import com.lunarclient.apollo.network.NetworkOptions; import com.lunarclient.apollo.player.ApolloPlayer; +import com.lunarclient.apollo.recipients.Recipients; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -274,11 +274,9 @@ protected void postPacket(Option option, @Nullable ApolloPlayer player, return; } - Collection players = player == null ? Apollo.getPlayerManager() - .getPlayers() : Collections.singleton(player); - + Recipients recipients = player == null ? Recipients.ofEveryone() : player; Value valueWrapper = NetworkOptions.wrapValue(Value.newBuilder(), option.getTypeToken().getType(), value); - NetworkOptions.sendOption(this.module, option, valueWrapper, players); + NetworkOptions.sendOption(this.module, option, valueWrapper, recipients); } } diff --git a/platform/bukkit/src/main/java/com/lunarclient/apollo/wrapper/BukkitApolloWorld.java b/platform/bukkit/src/main/java/com/lunarclient/apollo/wrapper/BukkitApolloWorld.java index 48c8dc01..ee4a8849 100644 --- a/platform/bukkit/src/main/java/com/lunarclient/apollo/wrapper/BukkitApolloWorld.java +++ b/platform/bukkit/src/main/java/com/lunarclient/apollo/wrapper/BukkitApolloWorld.java @@ -25,14 +25,16 @@ import com.lunarclient.apollo.Apollo; import com.lunarclient.apollo.player.ApolloPlayer; +import com.lunarclient.apollo.player.ApolloPlayerManager; import com.lunarclient.apollo.recipients.ForwardingRecipients; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.world.ApolloWorld; +import java.util.ArrayList; import java.util.Collection; -import java.util.Optional; -import java.util.stream.Collectors; +import java.util.List; import lombok.AllArgsConstructor; import org.bukkit.World; +import org.bukkit.entity.Player; /** * The Bukkit implementation of {@link ApolloWorld}. @@ -51,11 +53,16 @@ public String getName() { @Override public Collection getPlayers() { - return this.world.getPlayers().stream() - .map(player -> Apollo.getPlayerManager().getPlayer(player.getUniqueId())) - .filter(Optional::isPresent) - .map(Optional::get) - .collect(Collectors.toList()); + ApolloPlayerManager playerManager = Apollo.getPlayerManager(); + List players = this.world.getPlayers(); + List apolloPlayers = new ArrayList<>(players.size()); + + for (Player player : players) { + playerManager.getPlayer(player.getUniqueId()) + .ifPresent(apolloPlayers::add); + } + + return apolloPlayers; } @Override diff --git a/platform/folia/src/main/java/com/lunarclient/apollo/wrapper/FoliaApolloWorld.java b/platform/folia/src/main/java/com/lunarclient/apollo/wrapper/FoliaApolloWorld.java index 7d07d92a..510749b7 100644 --- a/platform/folia/src/main/java/com/lunarclient/apollo/wrapper/FoliaApolloWorld.java +++ b/platform/folia/src/main/java/com/lunarclient/apollo/wrapper/FoliaApolloWorld.java @@ -25,14 +25,16 @@ import com.lunarclient.apollo.Apollo; import com.lunarclient.apollo.player.ApolloPlayer; +import com.lunarclient.apollo.player.ApolloPlayerManager; import com.lunarclient.apollo.recipients.ForwardingRecipients; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.world.ApolloWorld; +import java.util.ArrayList; import java.util.Collection; -import java.util.Optional; -import java.util.stream.Collectors; +import java.util.List; import lombok.AllArgsConstructor; import org.bukkit.World; +import org.bukkit.entity.Player; /** * The Folia implementation of {@link ApolloWorld}. @@ -51,11 +53,16 @@ public String getName() { @Override public Collection getPlayers() { - return this.world.getPlayers().stream() - .map(player -> Apollo.getPlayerManager().getPlayer(player.getUniqueId())) - .filter(Optional::isPresent) - .map(Optional::get) - .collect(Collectors.toList()); + ApolloPlayerManager playerManager = Apollo.getPlayerManager(); + List players = this.world.getPlayers(); + List apolloPlayers = new ArrayList<>(players.size()); + + for (Player player : players) { + playerManager.getPlayer(player.getUniqueId()) + .ifPresent(apolloPlayers::add); + } + + return apolloPlayers; } @Override diff --git a/platform/minestom/src/main/java/com/lunarclient/apollo/wrapper/MinestomApolloWorld.java b/platform/minestom/src/main/java/com/lunarclient/apollo/wrapper/MinestomApolloWorld.java index a4c30f4c..57be618e 100644 --- a/platform/minestom/src/main/java/com/lunarclient/apollo/wrapper/MinestomApolloWorld.java +++ b/platform/minestom/src/main/java/com/lunarclient/apollo/wrapper/MinestomApolloWorld.java @@ -25,13 +25,16 @@ import com.lunarclient.apollo.Apollo; import com.lunarclient.apollo.player.ApolloPlayer; +import com.lunarclient.apollo.player.ApolloPlayerManager; import com.lunarclient.apollo.recipients.ForwardingRecipients; import com.lunarclient.apollo.recipients.Recipients; import com.lunarclient.apollo.world.ApolloWorld; +import java.util.ArrayList; import java.util.Collection; -import java.util.Optional; -import java.util.stream.Collectors; +import java.util.List; +import java.util.Set; import lombok.AllArgsConstructor; +import net.minestom.server.entity.Player; import net.minestom.server.instance.Instance; /** @@ -51,11 +54,16 @@ public String getName() { @Override public Collection getPlayers() { - return this.instance.getPlayers().stream() - .map(player -> Apollo.getPlayerManager().getPlayer(player.getUuid())) - .filter(Optional::isPresent) - .map(Optional::get) - .collect(Collectors.toList()); + ApolloPlayerManager playerManager = Apollo.getPlayerManager(); + Set players = this.instance.getPlayers(); + List apolloPlayers = new ArrayList<>(players.size()); + + for (Player player : players) { + playerManager.getPlayer(player.getUuid()) + .ifPresent(apolloPlayers::add); + } + + return apolloPlayers; } @Override diff --git a/settings.gradle.kts b/settings.gradle.kts index ff9bce4d..94c4f945 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,14 +1,6 @@ pluginManagement { includeBuild("build-logic") repositories { - maven(url = "https://repo.stellardrift.ca/repository/internal/") { - name = "stellardriftReleases" - mavenContent { releasesOnly() } - } - maven(url = "https://repo.stellardrift.ca/repository/snapshots/") { - name = "stellardriftSnapshots" - mavenContent { snapshotsOnly() } - } gradlePluginPortal() maven("https://repo.jpenilla.xyz/snapshots") }