geforkt von Mirrors/Paper
f09fed894f
--- work/Bukkit Submodule work/Bukkit 6a4242cb..337955e3: > SPIGOT-5468: Improve Beehive TileEntity API > #473: Add an API for passing the heightmap to getHighestBlockAt* method --- work/CraftBukkit Submodule work/CraftBukkit 807a677e..708be695: > SPIGOT-5468: Improve Beehive TileEntity API > #624: Add an API for passing the heightmap to getHighestBlockAt* method > MC-135989, SPIGOT-5564: Don't kick players for flight while riptiding This deprecates the Paper getHighestBlockAt HeightMap APIs now that Bukkit has added their own. These methods will stick around long enough for people to migrate. Their API is pretty much the same as ours, migration should be quick and easy.
48 Zeilen
2.3 KiB
Diff
48 Zeilen
2.3 KiB
Diff
From 1905f86c9162ccd1280286a679e3bf6ef72f59f5 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 4b3ddfd99..2c94ca6a8 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -2546,7 +2546,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())) {
|
|
this.minecraftServer.warning("Player " + this.player.getDisplayName().getString() + " just tried to change non-editable sign");
|
|
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 4c2273497..f051f2d3c 100644
|
|
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
|
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
|
@@ -14,6 +14,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
|
// Paper start - Strip invalid unicode from signs on load
|
|
private static final boolean keepInvalidUnicode = Boolean.getBoolean("Paper.keepInvalidUnicode"); // Allow people to keep their bad unicode if they really want it
|
|
private boolean privateUnicodeRemoved = false;
|
|
+ public java.util.UUID signEditor;
|
|
// Paper end
|
|
|
|
public TileEntitySign() {
|
|
@@ -138,7 +139,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() {
|
|
--
|
|
2.25.0
|
|
|