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.ClientStatusMessage; import org.bukkit.Achievement; public final class ClientStatusHandler implements MessageHandler<GlowSession, ClientStatusMessage> { @Override public void handle(GlowSession session, ClientStatusMessage message) { final GlowPlayer player = session.getPlayer(); switch (message.getAction()) { case ClientStatusMessage.RESPAWN: player.respawn(); break; case ClientStatusMessage.REQUEST_STATS: player.sendStats(); break; case ClientStatusMessage.OPEN_INVENTORY: player.awardAchievement(Achievement.OPEN_INVENTORY); break; default: GlowServer.logger.info(session + " sent unknown ClientStatus action: " + message.getAction()); } } }