2019-08-19 17:04:19 +02:00
|
|
|
package fr.themode.minestom;
|
|
|
|
|
|
|
|
import fr.themode.minestom.entity.Player;
|
2019-08-21 16:50:52 +02:00
|
|
|
import fr.themode.minestom.net.packet.server.ServerPacket;
|
2019-08-19 17:04:19 +02:00
|
|
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
public interface Viewable {
|
|
|
|
|
|
|
|
void addViewer(Player player);
|
|
|
|
|
|
|
|
void removeViewer(Player player);
|
|
|
|
|
|
|
|
Set<Player> getViewers();
|
|
|
|
|
|
|
|
default boolean isViewer(Player player) {
|
|
|
|
return getViewers().contains(player);
|
|
|
|
}
|
|
|
|
|
2019-08-21 16:50:52 +02:00
|
|
|
default void sendPacketToViewers(ServerPacket packet) {
|
|
|
|
getViewers().forEach(player -> player.getPlayerConnection().sendPacket(packet));
|
|
|
|
}
|
|
|
|
|
|
|
|
default void sendPacketsToViewers(ServerPacket... packets) {
|
|
|
|
getViewers().forEach(player -> {
|
|
|
|
for (ServerPacket packet : packets)
|
|
|
|
player.getPlayerConnection().sendPacket(packet);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2019-08-19 17:04:19 +02:00
|
|
|
}
|