public void blob(Message msg) {
        while (!msg.eom()) {
            switch (msg.uint8()) {
                case GMSG_TIME:
                    Timer.server = msg.int32();
                    ;
                    Timer.local = System.currentTimeMillis() / 1000;
                    break;
                case GMSG_ASTRO:
                    double dt = defix(msg.int32());
                    double mp = defix(msg.int32());
                    double yt = defix(msg.int32());
                    boolean night = (dt < 0.25) || (dt > 0.75);
                    ast = new Astronomy(dt, mp, yt, night);
                    break;
                case GMSG_LIGHT:
                    amblight = msg.color();
                    break;
            }
        }
    }