private JunctionFlags RotateJunction(WorldRotation rot, JunctionFlags input) { var rotN = (int)rot; int rotLower = (((int)input & 15) << rotN); int rotHigher = (((int)input & 240) << rotN); return (JunctionFlags)((rotLower & 15) | (rotLower >> 4) | ((rotHigher | rotHigher>>4) & 240)); }