mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-23 11:06:29 +01:00
a0b8b886c8
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
CraftBukkit Changes:
d5a72960
SPIGOT-6063: ConsoleSender sending extra lines in Java 13+
Spigot Changes:
2740d5ae Rebuild patches
45 lines
2.2 KiB
Diff
45 lines
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Thu, 28 Feb 2019 00:15:28 -0500
|
|
Subject: [PATCH] Fix sign edit memory leak
|
|
|
|
when a player edits a sign, a reference to their Entity is never cleand up.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
index 5fa1d0756d6e47a360dbdac89235941be67c4692..ca0f14a34e5167c544cef47f675a48baef44294b 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -2588,7 +2588,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
|
|
TileEntitySign tileentitysign = (TileEntitySign) tileentity;
|
|
|
|
- if (!tileentitysign.d() || tileentitysign.f() != this.player) {
|
|
+ if (!tileentitysign.d() || tileentitysign.signEditor == null || !tileentitysign.signEditor.equals(this.player.getUniqueID())) {
|
|
PlayerConnection.LOGGER.warn("Player {} just tried to change non-editable sign", this.player.getDisplayName().getString());
|
|
this.sendPacket(tileentity.getUpdatePacket()); // CraftBukkit
|
|
return;
|
|
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
|
|
index 2b249e7e2018a283b80b9462fbc129420e47ec06..7bee21d9ae9e8c27fe129605060455b55093afda 100644
|
|
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
|
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
|
@@ -11,6 +11,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
|
private EntityHuman c;
|
|
private final FormattedString[] g;
|
|
private EnumColor color;
|
|
+ public java.util.UUID signEditor; // Paper
|
|
|
|
public TileEntitySign() {
|
|
super(TileEntityTypes.SIGN);
|
|
@@ -112,7 +113,10 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
|
}
|
|
|
|
public void a(EntityHuman entityhuman) {
|
|
- this.c = entityhuman;
|
|
+ // Paper start
|
|
+ //this.c = entityhuman;
|
|
+ signEditor = entityhuman != null ? entityhuman.getUniqueID() : null;
|
|
+ // Paper end
|
|
}
|
|
|
|
public EntityHuman f() {
|