@Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj == this) return true;
        if (!(obj instanceof Vector3i)) return false;
        Vector3i other = (Vector3i)obj;
        return other.x == this.x && other.y == this.y && other.z == this.z;
    }