--- a/net/minecraft/server/IChatBaseComponent.java +++ b/net/minecraft/server/IChatBaseComponent.java @@ -22,8 +22,21 @@ import java.util.Map.Entry; import java.util.Optional; import javax.annotation.Nullable; +// CraftBukkit start +import com.google.common.collect.Streams; +import java.util.stream.Stream; -public interface IChatBaseComponent extends Message, IChatFormatted { +public interface IChatBaseComponent extends Message, IChatFormatted, Iterable { + + default Stream stream() { + return Streams.concat(new Stream[]{Stream.of(this), this.getSiblings().stream().flatMap(IChatBaseComponent::stream)}); + } + + @Override + default Iterator iterator() { + return this.stream().iterator(); + } + // CraftBukkit end ChatModifier getChatModifier();