mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 03:32:46 +01:00
ebb727e629
Upstream has released updates that appear 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: 810cb078 Add hideEntity / showEntity API CraftBukkit Changes: 04f8e7e2 SPIGOT-6814: (Chunk) PersistentData is lost after restart 37fd1917 Add hideEntity / showEntity API 7e2214da Move checkstyle to slightly later compile phase 45c3f826 SPIGOT-6816: Fix ChunkSnapshot#getBiome Spigot Changes: b11f318f Rebuild patches 622b2310 SPIGOT-6811: Fix mob spawning mismatch 2b2a3d56 Rebuild patches
33 lines
1.6 KiB
Diff
33 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Zach Brown <zach@zachbr.io>
|
|
Date: Mon, 4 Feb 2019 23:33:24 -0500
|
|
Subject: [PATCH] Block Entity#remove from being called on Players
|
|
|
|
This doesn't result in the same behavior as other entities and causes
|
|
several problems. Anyone ever complain about the "Cannot send chat
|
|
message" thing? That's one of the issues this causes, among others.
|
|
|
|
If a plugin developer can come up with a valid reason to call this on a
|
|
Player we will look at limiting the scope of this change. It appears to
|
|
be unintentional in the few cases we've seen so far.
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
index 26f64968afa68ac1915a7d89dde3cd31e6e11ccc..8059715ce7328cc81cb4decddf0fb012905a08a2 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -2381,6 +2381,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
public void resetCooldown() {
|
|
getHandle().resetAttackStrengthTicker();
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public void remove() {
|
|
+ if (this.getHandle().getClass().equals(ServerPlayer.class)) { // special case for NMS plugins inheriting
|
|
+ throw new UnsupportedOperationException("Calling Entity#remove on players produces undefined (bad) behavior");
|
|
+ } else {
|
|
+ super.remove();
|
|
+ }
|
|
+ }
|
|
// Paper end
|
|
// Spigot start
|
|
private final Player.Spigot spigot = new Player.Spigot()
|