public override int GetHashCode()
        {
            int hash = 1;

            if (Action != 0)
            {
                hash ^= Action.GetHashCode();
            }
            if (BlockX != 0)
            {
                hash ^= BlockX.GetHashCode();
            }
            if (BlockY != 0)
            {
                hash ^= BlockY.GetHashCode();
            }
            if (BlockZ != 0)
            {
                hash ^= BlockZ.GetHashCode();
            }
            if (Face != 0)
            {
                hash ^= Face.GetHashCode();
            }
            return(hash);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (HotbarIndex != 0)
            {
                hash ^= HotbarIndex.GetHashCode();
            }
            if (Direction != 0)
            {
                hash ^= Direction.GetHashCode();
            }
            if (BlockX != 0)
            {
                hash ^= BlockX.GetHashCode();
            }
            if (BlockY != 0)
            {
                hash ^= BlockY.GetHashCode();
            }
            if (BlockZ != 0)
            {
                hash ^= BlockZ.GetHashCode();
            }
            return(hash);
        }