package net.minecraft.server;
import java.io.IOException;
import java.util.Locale;
import javax.annotation.Nullable;
public class PacketPlayOutTitle implements Packet<PacketListenerPlayOut> {
private PacketPlayOutTitle.EnumTitleAction a;
private IChatBaseComponent b;
private int c;
private int d;
private int e;
// Paper start
public net.md_5.bungee.api.chat.BaseComponent[] components;
public PacketPlayOutTitle(EnumTitleAction action, net.md_5.bungee.api.chat.BaseComponent[] components, int fadeIn, int stay, int fadeOut) {
this.a = action;
this.components = components;
this.c = fadeIn;
this.d = stay;
this.e = fadeOut;
}
// Paper end
public PacketPlayOutTitle() {}
public PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction packetplayouttitle_enumtitleaction, IChatBaseComponent ichatbasecomponent) {
this(packetplayouttitle_enumtitleaction, ichatbasecomponent, -1, -1, -1);
}
public PacketPlayOutTitle(int i, int j, int k) {
this(PacketPlayOutTitle.EnumTitleAction.TIMES, (IChatBaseComponent) null, i, j, k);
}
public PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction packetplayouttitle_enumtitleaction, @Nullable IChatBaseComponent ichatbasecomponent, int i, int j, int k) {
this.a = packetplayouttitle_enumtitleaction;
this.b = ichatbasecomponent;
this.c = i;
this.d = j;
this.e = k;
}
@Override
public void a(PacketDataSerializer packetdataserializer) throws IOException {
this.a = packetdataserializer.a(PacketPlayOutTitle.EnumTitleAction.class);
if (this.a == PacketPlayOutTitle.EnumTitleAction.TITLE || this.a == PacketPlayOutTitle.EnumTitleAction.SUBTITLE || this.a == PacketPlayOutTitle.EnumTitleAction.ACTIONBAR) {
this.b = packetdataserializer.f();
}
if (this.a == PacketPlayOutTitle.EnumTitleAction.TIMES) {
this.c = packetdataserializer.readInt();
this.d = packetdataserializer.readInt();
this.e = packetdataserializer.readInt();
}
}
@Override
public void b(PacketDataSerializer packetdataserializer) throws IOException {
packetdataserializer.a(this.a);
if (this.a == PacketPlayOutTitle.EnumTitleAction.TITLE || this.a == PacketPlayOutTitle.EnumTitleAction.SUBTITLE || this.a == PacketPlayOutTitle.EnumTitleAction.ACTIONBAR) {
// Paper start
if (this.components != null) {
packetdataserializer.a(net.md_5.bungee.chat.ComponentSerializer.toString(components));
} else {
packetdataserializer.a(this.b);
}
// Paper end
}
if (this.a == PacketPlayOutTitle.EnumTitleAction.TIMES) {
packetdataserializer.writeInt(this.c);
packetdataserializer.writeInt(this.d);
packetdataserializer.writeInt(this.e);
}
}
@Override
public void a(PacketListenerPlayOut packetlistenerplayout) {
packetlistenerplayout.a(this);
}
public static enum EnumTitleAction {
TITLE, SUBTITLE, ACTIONBAR, TIMES, CLEAR, RESET;
private EnumTitleAction() {}
public static PacketPlayOutTitle.EnumTitleAction a(String s) {
PacketPlayOutTitle.EnumTitleAction[] apacketplayouttitle_enumtitleaction = values();
int i = apacketplayouttitle_enumtitleaction.length;
for (int j = 0; j < i; ++j) {
PacketPlayOutTitle.EnumTitleAction packetplayouttitle_enumtitleaction = apacketplayouttitle_enumtitleaction[j];
if (packetplayouttitle_enumtitleaction.name().equalsIgnoreCase(s)) {
return packetplayouttitle_enumtitleaction;
}
}
return PacketPlayOutTitle.EnumTitleAction.TITLE;
}
public static String[] a() {
String[] astring = new String[values().length];
int i = 0;
PacketPlayOutTitle.EnumTitleAction[] apacketplayouttitle_enumtitleaction = values();
int j = apacketplayouttitle_enumtitleaction.length;
for (int k = 0; k < j; ++k) {
PacketPlayOutTitle.EnumTitleAction packetplayouttitle_enumtitleaction = apacketplayouttitle_enumtitleaction[k];
astring[i++] = packetplayouttitle_enumtitleaction.name().toLowerCase(Locale.ROOT);
}
return astring;
}
}
}