Fix elytra function names

This commit is contained in:
Ethan 2024-07-15 10:37:45 +08:00
parent 3d25d03fa5
commit 27e4b75266

View file

@ -121,10 +121,12 @@ public class BedrockActionTranslator extends PacketTranslator<PlayerActionPacket
} }
} }
case START_GLIDE -> { case START_GLIDE -> {
stopPlayerFlyingAbilities(session, entity); // Otherwise gliding will not work in creative
sendPlayerGlideState(session, entity); ServerboundPlayerAbilitiesPacket playerAbilitiesPacket = new ServerboundPlayerAbilitiesPacket(false);
session.sendDownstreamGamePacket(playerAbilitiesPacket);
sendPlayerGlideToggle(session, entity);
} }
case STOP_GLIDE -> sendPlayerGlideState(session, entity); case STOP_GLIDE -> sendPlayerGlideToggle(session, entity);
case START_SNEAK -> { case START_SNEAK -> {
ServerboundPlayerCommandPacket startSneakPacket = new ServerboundPlayerCommandPacket(entity.getEntityId(), PlayerState.START_SNEAKING); ServerboundPlayerCommandPacket startSneakPacket = new ServerboundPlayerCommandPacket(entity.getEntityId(), PlayerState.START_SNEAKING);
session.sendDownstreamGamePacket(startSneakPacket); session.sendDownstreamGamePacket(startSneakPacket);
@ -378,14 +380,8 @@ public class BedrockActionTranslator extends PacketTranslator<PlayerActionPacket
session.sendUpstreamPacket(levelEventPacket); session.sendUpstreamPacket(levelEventPacket);
} }
private void sendPlayerGlideState(GeyserSession session, Entity entity) { private void sendPlayerGlideToggle(GeyserSession session, Entity entity) {
ServerboundPlayerCommandPacket glidePacket = new ServerboundPlayerCommandPacket(entity.getEntityId(), PlayerState.START_ELYTRA_FLYING); ServerboundPlayerCommandPacket glidePacket = new ServerboundPlayerCommandPacket(entity.getEntityId(), PlayerState.START_ELYTRA_FLYING);
session.sendDownstreamGamePacket(glidePacket); session.sendDownstreamGamePacket(glidePacket);
} }
private void stopPlayerFlyingAbilities(GeyserSession session, Entity entity) {
// Otherwise gliding will not work in creative
ServerboundPlayerAbilitiesPacket playerAbilitiesPacket = new ServerboundPlayerAbilitiesPacket(false);
session.sendDownstreamGamePacket(playerAbilitiesPacket);
}
} }