EssentialsX

EssentialsX

2M Downloads

Vanished players isSleepingIgnored() = false

molor opened this issue · 4 comments

commented

Type of bug

Other unexpected behaviour

/ess version output

[16:09:26] Server version: 1.16.5-R0.1-SNAPSHOT git-Paper-753 (MC: 1.16.5) (fine)
[16:09:26] Brand version: Paper (fine)
[16:09:26] EssentialsX version: 2.19.0-dev+126-887772a (fine)
[16:09:26] LuckPerms version: 5.3.3 (fine)
[16:09:26] Vault version: 1.7.3-b131 (fine)
[16:09:26] EssentialsXGeoIP version: 2.19.0-dev+126-887772a (fine)
[16:09:26] EssentialsXSpawn version: 2.19.0-dev+126-887772a (fine)

Server startup log

It's fine

EssentialsX config files

Default

Error log (if applicable)

No response

Bug description

Two players joined the game, one vanished himself via command after 1 minute. Both players in survival game mode. If first player tries to sleep, while another vanished and don't sleeping, night cannot be skipped because vanished players don't have isSleepingIgnored() set to true after vanished and back to original value when unvanished.

This can be used to detect hidden players on server :c

Steps to reproduce

See Bug description

Expected behaviour

Vanished players do not prevent night skipping.

Actual behaviour

Vanished players prevent other players from skipping night.

commented

Players don't have operator status or administrator permissions like essentials.sleepingignored, they are just players in default groups with only access to vanish.

commented

I see you're using LuckPerms, you can give players the essentials.sleepingignored and tie it into the essentials:vanished context like so:

q8z3rv79pn.mp4.mp4
commented

It has become apparent to me that we only set the sleeping ignored state on join, so contexts won't work here, I'll open a pr with a config option for this in a bit

commented

we only set the sleeping ignored state on join

I'm already tried method with LP and I came to the same conclusion :D
I think that this problem can only be solved by Player#setSleepingIgnored() when vanishing and unvanishing :Р