forked from GeyserMC/Geyser
Add translators for title/subtitle/actionbar
This commit is contained in:
parent
75d38abe1d
commit
49dc3bbe60
1 changed files with 34 additions and 0 deletions
|
@ -31,6 +31,7 @@ import com.flowpowered.math.vector.Vector3i;
|
|||
import com.github.steveice10.mc.protocol.data.message.TranslationMessage;
|
||||
import com.github.steveice10.mc.protocol.packet.ingame.server.ServerChatPacket;
|
||||
import com.github.steveice10.mc.protocol.packet.ingame.server.ServerJoinGamePacket;
|
||||
import com.github.steveice10.mc.protocol.packet.ingame.server.ServerTitlePacket;
|
||||
import com.nukkitx.nbt.CompoundTagBuilder;
|
||||
import com.nukkitx.nbt.NbtUtils;
|
||||
import com.nukkitx.nbt.stream.NBTOutputStream;
|
||||
|
@ -65,6 +66,7 @@ public class TranslatorsInit {
|
|||
public static void start() {
|
||||
addLoginPackets();
|
||||
addChatPackets();
|
||||
addTitlePackets();
|
||||
}
|
||||
|
||||
private static void addLoginPackets() {
|
||||
|
@ -185,4 +187,36 @@ public class TranslatorsInit {
|
|||
session.getUpstream().sendPacket(textPacket);
|
||||
});
|
||||
}
|
||||
|
||||
public static void addTitlePackets() {
|
||||
Registry.add(ServerTitlePacket.class, (packet, session) -> {
|
||||
SetTitlePacket titlePacket = new SetTitlePacket();
|
||||
|
||||
switch (packet.getAction()) {
|
||||
case TITLE:
|
||||
titlePacket.setType(SetTitlePacket.Type.SET_TITLE);
|
||||
titlePacket.setText(packet.getTitle().getFullText());
|
||||
break;
|
||||
case SUBTITLE:
|
||||
titlePacket.setType(SetTitlePacket.Type.SET_SUBTITLE);
|
||||
titlePacket.setText(packet.getSubtitle().getFullText());
|
||||
break;
|
||||
case CLEAR:
|
||||
case RESET:
|
||||
titlePacket.setType(SetTitlePacket.Type.RESET_TITLE);
|
||||
titlePacket.setText("");
|
||||
break;
|
||||
case ACTION_BAR:
|
||||
titlePacket.setType(SetTitlePacket.Type.SET_ACTIONBAR_MESSAGE);
|
||||
titlePacket.setText(packet.getActionBar().getFullText());
|
||||
break;
|
||||
}
|
||||
|
||||
titlePacket.setFadeInTime(packet.getFadeIn());
|
||||
titlePacket.setFadeOutTime(packet.getFadeOut());
|
||||
titlePacket.setStayTime(packet.getStay());
|
||||
|
||||
session.getUpstream().sendPacket(titlePacket);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue