aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0191-String-based-Action-Bar-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Spigot-Server-Patches/0191-String-based-Action-Bar-API.patch')
-rw-r--r--Spigot-Server-Patches/0191-String-based-Action-Bar-API.patch89
1 files changed, 89 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0191-String-based-Action-Bar-API.patch b/Spigot-Server-Patches/0191-String-based-Action-Bar-API.patch
new file mode 100644
index 0000000000..381bbb29f1
--- /dev/null
+++ b/Spigot-Server-Patches/0191-String-based-Action-Bar-API.patch
@@ -0,0 +1,89 @@
+From e3e0fdeda8bebc5968613647f0af4b064d5713b1 Mon Sep 17 00:00:00 2001
+From: Aikar <[email protected]>
+Date: Tue, 27 Dec 2016 15:02:42 -0500
+Subject: [PATCH] String based Action Bar API
+
+
+diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
+index 1159eea1a..38359517c 100644
+--- a/src/main/java/net/minecraft/server/MCUtil.java
++++ b/src/main/java/net/minecraft/server/MCUtil.java
+@@ -1,10 +1,13 @@
+ package net.minecraft.server;
+
+ import com.google.common.util.concurrent.ThreadFactoryBuilder;
++import org.apache.commons.lang.exception.ExceptionUtils;
+ import org.bukkit.Location;
++import org.bukkit.craftbukkit.CraftWorld;
+ import org.bukkit.craftbukkit.util.Waitable;
+ import org.spigotmc.AsyncCatcher;
+
++import javax.annotation.Nonnull;
+ import javax.annotation.Nullable;
+ import java.util.concurrent.ExecutionException;
+ import java.util.concurrent.Executor;
+@@ -17,6 +20,24 @@ public final class MCUtil {
+
+ private MCUtil() {}
+
++ /**
++ * Quickly generate a stack trace for current location
++ *
++ * @return Stacktrace
++ */
++ public static String stack() {
++ return ExceptionUtils.getFullStackTrace(new Throwable());
++ }
++
++ /**
++ * Quickly generate a stack trace for current location with message
++ *
++ * @param str
++ * @return Stacktrace
++ */
++ public static String stack(String str) {
++ return ExceptionUtils.getFullStackTrace(new Throwable(str));
++ }
+
+ /**
+ * Ensures the target code is running on the main thread
+@@ -186,4 +207,13 @@ public final class MCUtil {
+ }
+ return null;
+ }
++
++ @Nonnull
++ public static World getNMSWorld(@Nonnull org.bukkit.World world) {
++ return ((CraftWorld) world).getHandle();
++ }
++
++ public static World getNMSWorld(@Nonnull org.bukkit.entity.Entity entity) {
++ return getNMSWorld(entity.getWorld());
++ }
+ }
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+index 233903b5f..a57034471 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+@@ -165,6 +165,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+
+ // Paper start
+ @Override
++ public void sendActionBar(String message) {
++ if (getHandle().playerConnection == null || message == null || message.isEmpty()) return;
++ getHandle().playerConnection.sendPacket(new PacketPlayOutChat(new ChatComponentText(message), (byte) 2));
++ }
++
++ @Override
++ public void sendActionBar(char alternateChar, String message) {
++ if (message == null || message.isEmpty()) return;
++ sendActionBar(org.bukkit.ChatColor.translateAlternateColorCodes(alternateChar, message));
++ }
++
++ @Override
+ public void setPlayerListHeaderFooter(BaseComponent[] header, BaseComponent[] footer) {
+ PacketPlayOutPlayerListHeaderFooter packet = new PacketPlayOutPlayerListHeaderFooter();
+ packet.header = header;
+--
+2.12.2
+