From bc2fafca271783ca13bf54228a577a6356a5a4c5 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 2 Dec 2020 17:04:37 +0000 Subject: [PATCH] Fixed players losing all permissions when being de-opped after joining as op --- src/player/Player.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/player/Player.php b/src/player/Player.php index 007a74d2c..7051290b6 100644 --- a/src/player/Player.php +++ b/src/player/Player.php @@ -279,7 +279,11 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{ $this->uuid = $this->playerInfo->getUuid(); $this->xuid = $this->playerInfo instanceof XboxLivePlayerInfo ? $this->playerInfo->getXuid() : ""; - $this->perm = new PermissibleBase($this->server->isOp($this->username) ? [DefaultPermissions::ROOT_OPERATOR => true] : [DefaultPermissions::ROOT_USER => true]); + $rootPermissions = [DefaultPermissions::ROOT_USER => true]; + if($this->server->isOp($this->username)){ + $rootPermissions[DefaultPermissions::ROOT_OPERATOR] = true; + } + $this->perm = new PermissibleBase($rootPermissions); $this->chunksPerTick = (int) $this->server->getConfigGroup()->getProperty("chunk-sending.per-tick", 4); $this->spawnThreshold = (int) (($this->server->getConfigGroup()->getProperty("chunk-sending.spawn-radius", 4) ** 2) * M_PI); $this->chunkSelector = new ChunkSelector();