package tc.oc.commons.core.chat;
import javax.annotation.Nullable;
import net.md_5.bungee.api.chat.BaseComponent;
public abstract class AbstractMultiAudience implements Audience {
protected abstract Iterable<? extends Audience> getAudiences();
@Override
public void sendMessage(BaseComponent message) {
for(Audience a : getAudiences()) a.sendMessage(message);
}
@Override
public void sendWarning(BaseComponent message, boolean audible) {
for(Audience a : getAudiences()) a.sendWarning(message, audible);
}
@Override
public void playSound(Sound sound) {
for(Audience a : getAudiences()) a.playSound(sound);
}
@Override
public void sendHotbarMessage(BaseComponent message) {
for(Audience a : getAudiences()) a.sendHotbarMessage(message);
}
@Override
public void showTitle(@Nullable BaseComponent title, @Nullable BaseComponent subtitle, int inTicks, int stayTicks, int outTicks) {
for(Audience a : getAudiences()) a.showTitle(title, subtitle, inTicks, stayTicks, outTicks);
}
@Override
public void hideTitle() {
for(Audience a : getAudiences()) a.hideTitle();
}
@Override
public void sendMessage(String message) {
for(Audience a : getAudiences()) a.sendMessage(message);
}
@Override
public void sendWarning(String message, boolean audible) {
for(Audience a : getAudiences()) a.sendWarning(message, audible);
}
}