public ByteXYZ GetBlockCoords(PGStarMatch m)
        {
            int starclass = m.StarClass;

            int[] v0 = GetBaseBlockCoords(starclass);
            int[] v  = m.BlockCoords;
            int[] bc = new int[] { v[0] - v0[0], v[1] - v0[1], v[2] - v0[2] };
            if (bc[0] < 0 || bc[0] >= 128 || bc[1] < 0 || bc[1] >= 128 || bc[2] < 0 || bc[2] >= 128)
            {
                return(ByteXYZ.Invalid);
            }
            else
            {
                ByteXYZ blockcoords = new ByteXYZ {
                    X = (sbyte)bc[0], Y = (sbyte)bc[1], Z = (sbyte)bc[2]
                };
                string suffix = PGStarMatch.GetPgSuffix(blockcoords, m.StarClass, m.StarSeq);

                return(blockcoords);
            }
        }