Add Spectator mode ability layer (#3770)

Fixes #3769
This commit is contained in:
蒟蒻 2023-05-14 05:29:30 +08:00 committed by GitHub
parent 2b56927d27
commit ea136b269c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1739,7 +1739,12 @@ public class GeyserSession implements GeyserConnection, GeyserCommandSource {
abilities.add(Ability.NO_CLIP);
}
abilityLayer.setLayerType(AbilityLayer.Type.BASE);
// https://github.com/GeyserMC/Geyser/issues/3769 Setting Spectator mode ability layer
if (spectator) {
abilityLayer.setLayerType(AbilityLayer.Type.SPECTATOR);
} else {
abilityLayer.setLayerType(AbilityLayer.Type.BASE);
}
abilityLayer.setFlySpeed(flySpeed);
// https://github.com/GeyserMC/Geyser/issues/3139 as of 1.19.10
abilityLayer.setWalkSpeed(walkSpeed == 0f ? 0.01f : walkSpeed);