mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-07 16:01:55 +01:00
Make Audiences use PacketGroupingAudience where possible
This commit is contained in:
parent
cd06fbdfaa
commit
1f52761c39
@ -32,17 +32,17 @@ public class Audiences implements AudienceProvider<Audience> {
|
||||
|
||||
@Override
|
||||
public @NotNull Audience all() {
|
||||
return Audience.audience(this.collection().all());
|
||||
return Audience.audience(this.players(), this.console(), this.custom());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Audience players() {
|
||||
return Audience.audience(this.collection().players());
|
||||
return PacketGroupingAudience.of(this.collection().players());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Audience players(@NotNull Predicate<Player> filter) {
|
||||
return Audience.audience(this.collection().players(filter));
|
||||
return PacketGroupingAudience.of(this.collection().players(filter));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -52,7 +52,7 @@ public class Audiences implements AudienceProvider<Audience> {
|
||||
|
||||
@Override
|
||||
public @NotNull Audience server() {
|
||||
return Audience.audience(this.collection().server());
|
||||
return Audience.audience(this.players(), this.console());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -29,12 +29,12 @@ public final class CollectionAudienceProvider implements AudienceProvider<Iterab
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Iterable<? extends Audience> players() {
|
||||
public @NotNull Iterable<Player> players() {
|
||||
return MinecraftServer.getConnectionManager().getOnlinePlayers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Iterable<? extends Audience> players(@NotNull Predicate<Player> filter) {
|
||||
public @NotNull Iterable<Player> players(@NotNull Predicate<Player> filter) {
|
||||
return MinecraftServer.getConnectionManager().getOnlinePlayers().stream().filter(filter).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package net.minestom.server.adventure.audience;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import net.kyori.adventure.audience.Audience;
|
||||
import net.kyori.adventure.audience.ForwardingAudience;
|
||||
import net.kyori.adventure.audience.MessageType;
|
||||
@ -31,17 +32,16 @@ public interface PacketGroupingAudience extends ForwardingAudience {
|
||||
* @return the audience
|
||||
*/
|
||||
static PacketGroupingAudience of(Collection<Player> players) {
|
||||
return new PacketGroupingAudience() {
|
||||
@Override
|
||||
public @NotNull Collection<Player> getPlayers() {
|
||||
return players;
|
||||
}
|
||||
return () -> players;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Iterable<? extends Audience> audiences() {
|
||||
return players;
|
||||
}
|
||||
};
|
||||
/**
|
||||
* Creates a packet grouping audience that copies an iterable of players.
|
||||
* @param players the players
|
||||
* @return the audience
|
||||
*/
|
||||
static PacketGroupingAudience of(Iterable<Player> players) {
|
||||
return () -> ImmutableList.copyOf(players);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user