package net.minecraft.network.chat; import com.google.common.collect.Lists; import java.util.List; import java.util.Objects; import java.util.function.UnaryOperator; import javax.annotation.Nullable; import net.minecraft.ChatFormatting; import net.minecraft.locale.Language; import net.minecraft.util.FormattedCharSequence; public class MutableComponent implements Component { private final ComponentContents contents; private final List siblings; private Style style; private FormattedCharSequence visualOrderText = FormattedCharSequence.EMPTY; @Nullable private Language decomposedWith; MutableComponent(ComponentContents p_237200_, List p_237201_, Style p_237202_) { this.contents = p_237200_; this.siblings = p_237201_; this.style = p_237202_; } public static MutableComponent create(ComponentContents p_237205_) { return new MutableComponent(p_237205_, Lists.newArrayList(), Style.EMPTY); } @Override public ComponentContents getContents() { return this.contents; } @Override public List getSiblings() { return this.siblings; } public MutableComponent setStyle(Style p_130943_) { this.style = p_130943_; return this; } @Override public Style getStyle() { return this.style; } public MutableComponent append(String p_130947_) { return p_130947_.isEmpty() ? this : this.append(Component.literal(p_130947_)); } public MutableComponent append(Component p_130942_) { this.siblings.add(p_130942_); return this; } public MutableComponent withStyle(UnaryOperator