mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-09 06:50:32 +08:00
595734a57e
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 01e22e09 Misc maven build updates 746f5324 #556: Allow sending messages from specific UUIDs 92b99cde #501: Add PersistentDataHolder to Chunk CraftBukkit Changes: 4ef13f94 Misc maven build updates 04639f5a #759: Allow sending messages from specific UUIDs 77c894a2 #672: Add PersistentDataHolder to Chunk Spigot Changes: 57bbdd8e Rebuild patches Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
85 lines
4.2 KiB
Diff
85 lines
4.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: DigitalRegent <misterwener@gmail.com>
|
|
Date: Sat, 11 Apr 2020 13:10:58 +0200
|
|
Subject: [PATCH] Brand support
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
index 45cf34c35af9d2ae9a60ff81af5bea3495d4621f..16664a446192c77903ff1f10989c7afab703eb49 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -4,6 +4,7 @@ import com.google.common.primitives.Doubles;
|
|
import com.google.common.primitives.Floats;
|
|
import com.mojang.brigadier.ParseResults;
|
|
import com.mojang.brigadier.StringReader;
|
|
+import io.netty.buffer.Unpooled;
|
|
import io.netty.util.concurrent.Future;
|
|
import io.netty.util.concurrent.GenericFutureListener;
|
|
import it.unimi.dsi.fastutil.ints.Int2ShortMap;
|
|
@@ -108,6 +109,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80);
|
|
private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit
|
|
|
|
+ private String clientBrandName = null; // Paper - Brand name
|
|
+
|
|
public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) {
|
|
this.minecraftServer = minecraftserver;
|
|
this.networkManager = networkmanager;
|
|
@@ -2738,6 +2741,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
private static final MinecraftKey CUSTOM_REGISTER = new MinecraftKey("register");
|
|
private static final MinecraftKey CUSTOM_UNREGISTER = new MinecraftKey("unregister");
|
|
|
|
+ private static final MinecraftKey MINECRAFT_BRAND = new MinecraftKey("brand"); // Paper - Brand support
|
|
+
|
|
@Override
|
|
public void a(PacketPlayInCustomPayload packetplayincustompayload) {
|
|
PlayerConnectionUtils.ensureMainThread(packetplayincustompayload, this, this.player.getWorldServer());
|
|
@@ -2765,6 +2770,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
try {
|
|
byte[] data = new byte[packetplayincustompayload.data.readableBytes()];
|
|
packetplayincustompayload.data.readBytes(data);
|
|
+
|
|
+ // Paper start - Brand support
|
|
+ if (packetplayincustompayload.tag.equals(MINECRAFT_BRAND)) {
|
|
+ try {
|
|
+ this.clientBrandName = new PacketDataSerializer(Unpooled.copiedBuffer(data)).readUTF(256);
|
|
+ } catch (StringIndexOutOfBoundsException ex) {
|
|
+ this.clientBrandName = "illegal";
|
|
+ }
|
|
+ }
|
|
+ // Paper end
|
|
server.getMessenger().dispatchIncomingMessage(player.getBukkitEntity(), packetplayincustompayload.tag.toString(), data);
|
|
} catch (Exception ex) {
|
|
PlayerConnection.LOGGER.error("Couldn\'t dispatch custom payload", ex);
|
|
@@ -2774,6 +2789,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
|
|
}
|
|
|
|
+ // Paper start - brand support
|
|
+ public String getClientBrandName() {
|
|
+ return clientBrandName;
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
public final boolean isDisconnected() {
|
|
return (!this.player.joining && !this.networkManager.isConnected()) || this.processedDisconnect; // Paper
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
index 453cae339656a52a6d42bc712de546b340a5e91c..bdfd9f84209dec8ee312f72075c9e71c30cbbdec 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -2166,6 +2166,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
// Paper end
|
|
};
|
|
|
|
+ // Paper start - brand support
|
|
+ @Override
|
|
+ public String getClientBrandName() {
|
|
+ return getHandle().playerConnection.getClientBrandName();
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
public Player.Spigot spigot()
|
|
{
|
|
return spigot;
|