== AT == public net.minecraft.network.chat.HoverEvent$ItemStackInfo item public net.minecraft.network.chat.HoverEvent$ItemStackInfo count public net.minecraft.network.chat.HoverEvent$ItemStackInfo components public net.minecraft.network.chat.contents.TranslatableContents filterAllowedArguments(Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; Co-authored-by: zml <zml@stellardrift.ca> Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
89 lines
2.6 KiB
Java
89 lines
2.6 KiB
Java
package io.papermc.paper.adventure;
|
|
|
|
import java.util.List;
|
|
import net.kyori.adventure.text.Component;
|
|
import net.kyori.adventure.text.TextComponent;
|
|
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
|
import net.minecraft.network.chat.ComponentContents;
|
|
import net.minecraft.network.chat.MutableComponent;
|
|
import net.minecraft.network.chat.Style;
|
|
import net.minecraft.network.chat.contents.PlainTextContents;
|
|
import net.minecraft.util.FormattedCharSequence;
|
|
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
public final class AdventureComponent implements net.minecraft.network.chat.Component {
|
|
final Component adventure;
|
|
private net.minecraft.network.chat.@MonotonicNonNull Component vanilla;
|
|
|
|
public AdventureComponent(final Component adventure) {
|
|
this.adventure = adventure;
|
|
}
|
|
|
|
public net.minecraft.network.chat.Component deepConverted() {
|
|
net.minecraft.network.chat.Component vanilla = this.vanilla;
|
|
if (vanilla == null) {
|
|
vanilla = PaperAdventure.WRAPPER_AWARE_SERIALIZER.serialize(this.adventure);
|
|
this.vanilla = vanilla;
|
|
}
|
|
return vanilla;
|
|
}
|
|
|
|
public net.minecraft.network.chat.@Nullable Component deepConvertedIfPresent() {
|
|
return this.vanilla;
|
|
}
|
|
|
|
@Override
|
|
public Style getStyle() {
|
|
return this.deepConverted().getStyle();
|
|
}
|
|
|
|
@Override
|
|
public ComponentContents getContents() {
|
|
if (this.adventure instanceof TextComponent) {
|
|
return PlainTextContents.create(((TextComponent) this.adventure).content());
|
|
} else {
|
|
return this.deepConverted().getContents();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public String getString() {
|
|
return PlainTextComponentSerializer.plainText().serialize(this.adventure);
|
|
}
|
|
|
|
@Override
|
|
public List<net.minecraft.network.chat.Component> getSiblings() {
|
|
return this.deepConverted().getSiblings();
|
|
}
|
|
|
|
@Override
|
|
public MutableComponent plainCopy() {
|
|
return this.deepConverted().plainCopy();
|
|
}
|
|
|
|
@Override
|
|
public MutableComponent copy() {
|
|
return this.deepConverted().copy();
|
|
}
|
|
|
|
@Override
|
|
public FormattedCharSequence getVisualOrderText() {
|
|
return this.deepConverted().getVisualOrderText();
|
|
}
|
|
|
|
public Component adventure$component() {
|
|
return this.adventure;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return this.deepConverted().hashCode();
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(final Object obj) {
|
|
return this.deepConverted().equals(obj);
|
|
}
|
|
}
|