mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-22 19:07:44 +01:00
58 lines
2.8 KiB
Diff
58 lines
2.8 KiB
Diff
From 8985b71ba6c91fe873598edf7c55d36769670e59 Mon Sep 17 00:00:00 2001
|
|
From: Tom <cryptite@gmail.com>
|
|
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 | 6 +++++-
|
|
src/main/java/net/pl3x/purpur/PurpurConfig.java | 5 +++++
|
|
2 files changed, 10 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
|
index 7b79ee4fe..2763dab47 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 {
|
|
entityplayer1.playerConnection.sendPacket(new PacketPlayOutServerDifficulty(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
|
|
entityplayer1.playerConnection.sendPacket(new PacketPlayOutExperience(entityplayer1.exp, entityplayer1.expTotal, entityplayer1.expLevel));
|
|
this.a(entityplayer1, worldserver);
|
|
+ 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 {
|
|
entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityStatus(entityplayer, b0));
|
|
}
|
|
|
|
- entityplayer.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
|
+ if (!(movedToWorld && !net.pl3x.purpur.PurpurConfig.updatePermissionsOnWorldChange)) entityplayer.getBukkitEntity().recalculatePermissions(); // CraftBukkit // Purpur
|
|
this.server.getCommandDispatcher().a(entityplayer);
|
|
}
|
|
|
|
+ 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 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 {
|
|
useBetterMending = getBoolean("settings.use-better-mending", useBetterMending);
|
|
}
|
|
|
|
+ public static boolean updatePermissionsOnWorldChange = false;
|
|
+ private static void updatePermissionsOnWorldChange() {
|
|
+ updatePermissionsOnWorldChange = getBoolean("settings.update-perms-on-world-change", updatePermissionsOnWorldChange);
|
|
+ }
|
|
+
|
|
public static boolean requireShiftToMount = true;
|
|
private static void requireShiftToMount() {
|
|
requireShiftToMount = getBoolean("settings.mobs.require-shift-to-mount", requireShiftToMount);
|
|
--
|
|
2.24.0
|
|
|