mirror of https://github.com/Minestom/Minestom.git
Add component support to actionbars and titles
This commit is contained in:
parent
9308d5701d
commit
660cb7584a
|
@ -461,13 +461,59 @@ public class Player extends LivingEntity {
|
|||
sendHeaderFooter(Chat.fromLegacyText(header, colorChar), Chat.fromLegacyText(footer, colorChar));
|
||||
}
|
||||
|
||||
public void sendActionBarMessage(Component message) {
|
||||
private void sendTitle(Component title, TitlePacket.Action action) {
|
||||
TitlePacket titlePacket = new TitlePacket();
|
||||
titlePacket.action = TitlePacket.Action.SET_ACTION_BAR;
|
||||
titlePacket.actionBarText = Chat.toJsonString(message);
|
||||
titlePacket.action = action;
|
||||
|
||||
switch (action) {
|
||||
case SET_TITLE:
|
||||
titlePacket.titleText = Chat.toJsonString(title);
|
||||
break;
|
||||
case SET_SUBTITLE:
|
||||
titlePacket.subtitleText = Chat.toJsonString(title);
|
||||
break;
|
||||
case SET_ACTION_BAR:
|
||||
titlePacket.actionBarText = Chat.toJsonString(title);
|
||||
default:
|
||||
throw new UnsupportedOperationException("Invalid TitlePacket.Action type!");
|
||||
}
|
||||
|
||||
playerConnection.sendPacket(titlePacket);
|
||||
}
|
||||
|
||||
public void sendTitleSubtitleMessage(Component title, Component subtitle) {
|
||||
sendTitle(title, TitlePacket.Action.SET_TITLE);
|
||||
sendTitle(subtitle, TitlePacket.Action.SET_SUBTITLE);
|
||||
}
|
||||
|
||||
public void sendTitleMessage(Component title) {
|
||||
sendTitle(title, TitlePacket.Action.SET_TITLE);
|
||||
}
|
||||
|
||||
public void sendTitleMessage(String title, char colorChar) {
|
||||
sendTitleMessage(Chat.fromLegacyText(title, colorChar));
|
||||
}
|
||||
|
||||
public void sendTitleMessage(String title) {
|
||||
sendTitleMessage(title, Chat.COLOR_CHAR);
|
||||
}
|
||||
|
||||
public void sendSubtitleMessage(Component subtitle) {
|
||||
sendTitle(subtitle, TitlePacket.Action.SET_SUBTITLE);
|
||||
}
|
||||
|
||||
public void sendSubtitleMessage(String subtitle, char colorChar) {
|
||||
sendSubtitleMessage(Chat.fromLegacyText(subtitle, colorChar));
|
||||
}
|
||||
|
||||
public void sendSubtitleMessage(String subtitle) {
|
||||
sendSubtitleMessage(subtitle, Chat.COLOR_CHAR);
|
||||
}
|
||||
|
||||
public void sendActionBarMessage(Component actionBar) {
|
||||
sendTitle(actionBar, TitlePacket.Action.SET_ACTION_BAR);
|
||||
}
|
||||
|
||||
public void sendActionBarMessage(String message, char colorChar) {
|
||||
sendActionBarMessage(Chat.fromLegacyText(message, colorChar));
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package net.minestom.server.network.packet.server.play;
|
||||
|
||||
import net.minestom.server.chat.Chat;
|
||||
import net.minestom.server.network.packet.PacketWriter;
|
||||
import net.minestom.server.network.packet.server.ServerPacket;
|
||||
import net.minestom.server.network.packet.server.ServerPacketIdentifier;
|
||||
|
@ -25,13 +24,13 @@ public class TitlePacket implements ServerPacket {
|
|||
|
||||
switch (action) {
|
||||
case SET_TITLE:
|
||||
writer.writeSizedString(Chat.toJsonString(Chat.fromLegacyText(titleText)));
|
||||
writer.writeSizedString(titleText);
|
||||
break;
|
||||
case SET_SUBTITLE:
|
||||
writer.writeSizedString(Chat.toJsonString(Chat.fromLegacyText(subtitleText)));
|
||||
writer.writeSizedString(subtitleText);
|
||||
break;
|
||||
case SET_ACTION_BAR:
|
||||
writer.writeSizedString(Chat.toJsonString(Chat.fromLegacyText(actionBarText)));
|
||||
writer.writeSizedString(actionBarText);
|
||||
break;
|
||||
case SET_TIMES_AND_DISPLAY:
|
||||
writer.writeInt(fadeIn);
|
||||
|
|
Loading…
Reference in New Issue