From f08ad926af03d833e64442b3f6eaa0822bed1cca Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 7 Feb 2020 17:11:06 -0600 Subject: [PATCH] I'll get this right one of these times :S --- ...e-permissions-for-players-on-world-c.patch | 39 ++++++++++++------- .../0091-Add-permission-for-F3-N-debug.patch | 6 +-- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/patches/server/0048-Don-t-recalculate-permissions-for-players-on-world-c.patch b/patches/server/0048-Don-t-recalculate-permissions-for-players-on-world-c.patch index 652390f7d..e9f43c3bb 100644 --- a/patches/server/0048-Don-t-recalculate-permissions-for-players-on-world-c.patch +++ b/patches/server/0048-Don-t-recalculate-permissions-for-players-on-world-c.patch @@ -1,44 +1,57 @@ -From f9348099359bcbd9526f496b47d44d2d8f0c82dc Mon Sep 17 00:00:00 2001 +From 2e011621b6713aa46e814010bfea008299906ac2 Mon Sep 17 00:00:00 2001 From: Tom Date: Fri, 12 Jul 2019 07:59:35 -0500 Subject: [PATCH] Don't recalculate permissions for players on world change --- - src/main/java/net/minecraft/server/PlayerList.java | 8 ++++++-- + src/main/java/net/minecraft/server/PlayerList.java | 9 +++++---- src/main/java/net/pl3x/purpur/PurpurConfig.java | 5 +++++ - 2 files changed, 11 insertions(+), 2 deletions(-) + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 7b79ee4f..8a204be2 100644 +index 7b79ee4fe..c8868c231 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -712,7 +712,9 @@ public abstract class PlayerList { +@@ -32,13 +32,10 @@ import org.bukkit.Location; + import org.bukkit.craftbukkit.util.CraftChatMessage; + import org.bukkit.entity.Player; + import org.bukkit.event.player.PlayerChangedWorldEvent; +-import org.bukkit.event.player.PlayerPortalEvent; + import org.bukkit.event.player.PlayerJoinEvent; + import org.bukkit.event.player.PlayerLoginEvent; + import org.bukkit.event.player.PlayerQuitEvent; + import org.bukkit.event.player.PlayerRespawnEvent; +-import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; +-import org.bukkit.util.Vector; + import org.spigotmc.event.player.PlayerSpawnLocationEvent; + // CraftBukkit end + +@@ -712,7 +709,9 @@ public abstract class PlayerList { entityplayer1.playerConnection.sendPacket(new PacketPlayOutServerDifficulty(worlddata.getDifficulty(), worlddata.isDifficultyLocked())); entityplayer1.playerConnection.sendPacket(new PacketPlayOutExperience(entityplayer1.exp, entityplayer1.expTotal, entityplayer1.expLevel)); this.a(entityplayer1, worldserver); -- this.d(entityplayer1); -+ skipPermRecalc = true; // Purpur -+ d(entityplayer1); -+ skipPermRecalc = false; // Purpur ++ movedToWorld = true; // Purpur + this.d(entityplayer1); ++ movedToWorld = false; // Purpur if (!entityplayer.playerConnection.isDisconnected()) { worldserver.addPlayerRespawn(entityplayer1); this.players.add(entityplayer1); -@@ -907,10 +909,12 @@ public abstract class PlayerList { +@@ -907,10 +906,12 @@ public abstract class PlayerList { entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityStatus(entityplayer, b0)); } - entityplayer.getBukkitEntity().recalculatePermissions(); // CraftBukkit -+ if (!skipPermRecalc && net.pl3x.purpur.PurpurConfig.updatePermissionsOnWorldChange) entityplayer.getBukkitEntity().recalculatePermissions(); // CraftBukkit ++ if (!(movedToWorld && !net.pl3x.purpur.PurpurConfig.updatePermissionsOnWorldChange)) entityplayer.getBukkitEntity().recalculatePermissions(); // CraftBukkit // Purpur this.server.getCommandDispatcher().a(entityplayer); } -+ private boolean skipPermRecalc = false; // Purpur ++ private boolean movedToWorld = false; // Purpur + // Paper start public boolean isWhitelisted(GameProfile gameprofile) { return isWhitelisted(gameprofile, null); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index c35d19f6..12b2e121 100644 +index c35d19f66..12b2e1211 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -166,6 +166,11 @@ public class PurpurConfig { diff --git a/patches/server/0091-Add-permission-for-F3-N-debug.patch b/patches/server/0091-Add-permission-for-F3-N-debug.patch index ad962148d..c966a96c1 100644 --- a/patches/server/0091-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0091-Add-permission-for-F3-N-debug.patch @@ -1,4 +1,4 @@ -From 1dda091ec37fc952104f45ce6996bcd89e9e4f96 Mon Sep 17 00:00:00 2001 +From d83f60a0f9036de2c64e949e943b39c5f17b2b2a Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 28 Dec 2019 04:21:54 -0600 Subject: [PATCH] Add permission for F3+N debug @@ -8,10 +8,10 @@ Subject: [PATCH] Add permission for F3+N debug 1 file changed, 1 insertion(+) diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 5efc1431..d48f5ac2 100644 +index c8868c231..5d6502707 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -905,6 +905,7 @@ public abstract class PlayerList { +@@ -902,6 +902,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + i); }