-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBroadcaster.java
More file actions
53 lines (45 loc) · 1.55 KB
/
Broadcaster.java
File metadata and controls
53 lines (45 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package net.theevilreaper.aves.util;
import net.kyori.adventure.text.Component;
import net.minestom.server.MinecraftServer;
import net.minestom.server.entity.Player;
import net.minestom.server.instance.Instance;
import org.jetbrains.annotations.ApiStatus;
import java.util.Collection;
/**
* The class allows the broadcasting of a message to all player on the server, to an instance or to a group of players.
* @author theEvilReaper
* @since 1.2.0
* @version 1.0.0
*/
public final class Broadcaster {
private Broadcaster() {}
/**
* Broadcasts a message to all players on the server
* @param component The message to send
*/
@ApiStatus.Experimental
public static void broadcast(Component component) {
broadcast(MinecraftServer.getConnectionManager().getOnlinePlayers(), component);
}
/**
* Broadcasts a message as to an {@link Instance}.
* @param instance The instance to get the players from it
* @param message The message to send
*/
@ApiStatus.Experimental
public static void broadcast(Instance instance, Component message) {
broadcast(instance.getPlayers(), message);
}
/**
* Broadcasts a message as to a group of players
* @param players The player who receives the message
* @param message The message to send
*/
@ApiStatus.Experimental
public static void broadcast(Collection<Player> players, Component message) {
if (players.isEmpty()) return;
for (Player player : players) {
player.sendMessage(message);
}
}
}