Use title packet for actionbar methods (#3959)

This commit is contained in:
Nassim Jahnke 2020-07-22 10:01:35 +02:00
parent 15fe280169
commit 7db19cb346
2 changed files with 14 additions and 1 deletions

View file

@ -31,6 +31,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ * @param message The message to send
+ */
+ public void sendActionBar(char alternateChar, @NotNull String message);
+
+ /**
+ * Sends an Action Bar message to the client.
+ *
+ * @param message The components to send
+ */
+ public void sendActionBar(@NotNull net.md_5.bungee.api.chat.BaseComponent... message);
+
/**
* Sends the component to the player

View file

@ -26,9 +26,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
// Paper start
+ @Override
+ public void sendActionBar(BaseComponent[] message) {
+ if (getHandle().playerConnection == null) return;
+ getHandle().playerConnection.sendPacket(new PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction.ACTIONBAR, message, -1, -1, -1));
+ }
+
+ @Override
+ public void sendActionBar(String message) {
+ if (getHandle().playerConnection == null || message == null || message.isEmpty()) return;
+ getHandle().playerConnection.sendPacket(new PacketPlayOutChat(new net.minecraft.server.ChatComponentText(message), net.minecraft.server.ChatMessageType.GAME_INFO, SystemUtils.getNullUUID()));
+ getHandle().playerConnection.sendPacket(new PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction.ACTIONBAR, CraftChatMessage.fromStringOrNull(message)));
+ }
+
+ @Override