package net.glowstone.net.handler.play.player;
import com.flowpowered.networking.MessageHandler;
import net.glowstone.GlowServer;
import net.glowstone.entity.GlowPlayer;
import net.glowstone.net.GlowSession;
import net.glowstone.net.message.play.player.PlayerActionMessage;
public final class PlayerActionHandler implements MessageHandler<GlowSession, PlayerActionMessage> {
@Override
public void handle(GlowSession session, PlayerActionMessage message) {
final GlowPlayer player = session.getPlayer();
switch (message.getAction()) {
case 0: // crouch
player.setSneaking(true);
break;
case 1: // uncrouch
player.setSneaking(false);
break;
case 2: // leave bed
if (player.isSleeping()) {
player.leaveBed(true);
}
break;
case 3: // start sprinting
player.setSprinting(true);
break;
case 4: // stop sprinting
player.setSprinting(false);
break;
default:
GlowServer.logger.info("Player " + player + " sent unknown PlayerAction: " + message.getAction());
}
}
}