# MCVector3d

Link to mcvector3d

A 3-dimensional vector, in a 3-dimensional vector space.

This class is immutable, meaning its values cannot change, so it is safe to be stored as a key in maps or in collections.

No, it's not an arrow.

## 导入类

Link to 导入类

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.

`ZenScript Copy``import crafttweaker.api.util.MCVector3d;`

## 已实现的接口

Link to 已实现的接口

MCVector3d implements the following interfaces. That means all methods defined in these interfaces are also available in MCVector3d

## Constructor #构造函数

Link to constructor-构造函数

`ZenScript Copy``new MCVector3d(x as double, y as double, z as double) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 x | 类型 double | 描述 No description provided |

参数 y | 类型 double | 描述 No description provided |

参数 z | 类型 double | 描述 No description provided |

## Casters

Link to casters

结果类型 | 是否隐藏 |
---|---|

结果类型 MCVector3i | 是否隐藏 false |

## 使用方式

Link to 使用方式

Name: `asVector3i`

Return Type: MCVector3i

`ZenScript Copy````
// MCVector3d.asVector3i() as MCVector3i
myMCVector3d.asVector3i();
```

Name: `cross`

Performs the cross product between this vector and `other`

.

Returns: The cross product.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.cross(other as MCVector3d) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 other | 类型 MCVector3d | 描述 The other vector. |

Name: `distanceTo`

Computes the Euclidean distance between this vector and the other vector.

Returns: The Euclidean distance between them.

Return Type: double

`ZenScript Copy``MCVector3d.distanceTo(other as MCVector3d) as double`

参数 | 类型 | 描述 |
---|---|---|

参数 other | 类型 MCVector3d | 描述 The other vector. |

Name: `dot`

Performs a dot product between this vector and `other`

.

Returns: The dot product.

Return Type: double

`ZenScript Copy``MCVector3d.dot(other as MCVector3d) as double`

参数 | 类型 | 描述 |
---|---|---|

参数 other | 类型 MCVector3d | 描述 The other vector. |

Name: `getCoordinate`

Gets the coordinate of this vector that corresponds to the given DirectionAxis.

Returns: The value of the corresponding coordinate.

Return Type: double

`ZenScript Copy``MCVector3d.getCoordinate(axis as DirectionAxis) as double`

参数 | 类型 | 描述 |
---|---|---|

参数 axis | 类型 DirectionAxis | 描述 The axis. |

Name: `getCoordinate`

Gets the coordinate of this vector identified by the specified index.

Namely, 0 corresponds to the X coordinate, 1 to Y, and 2 to Z.

Returns: The value of the corresponding coordinate.

Return Type: double

`ZenScript Copy``MCVector3d.getCoordinate(index as int) as double`

参数 | 类型 | 描述 |
---|---|---|

参数 index | 类型 int | 描述 The coordinate index. |

Name: `minus`

Subtracts `other`

from this vector.

Returns: The subtraction result.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.minus(other as MCVector3d) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 other | 类型 MCVector3d | 描述 The other vector. |

Name: `minus`

Subtracts the vector `(x, y, z)`

from this vector.

Returns: The subtraction result.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.minus(x as double, y as double, z as double) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 x | 类型 double | 描述 The x component of the other vector. |

参数 y | 类型 double | 描述 The y component of the other vector. |

参数 z | 类型 double | 描述 The z component of the other vector. |

Name: `normalize`

Normalizes the current vector, making it of unit length.

Returns: The normalized vector.

Return Type: MCVector3d

`ZenScript Copy````
// MCVector3d.normalize() as MCVector3d
myMCVector3d.normalize();
```

Name: `plus`

Adds this vector to the `other`

vector, computing their sum member by member.

Returns: The sum.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.plus(other as MCVector3d) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 other | 类型 MCVector3d | 描述 The other vector. |

Name: `plus`

Adds this vector to the vector `(x, y, z)`

, computing their sum member by member.

Returns: The sum.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.plus(x as double, y as double, z as double) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 x | 类型 double | 描述 The x component of the other vector. |

参数 y | 类型 double | 描述 The y component of the other vector. |

参数 z | 类型 double | 描述 The z component of the other vector. |

Name: `scale`

Scales the current vector by the given `factor`

.

Returns: The scaled vector.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.scale(factor as double) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 factor | 类型 double | 描述 The factor. |

Name: `squareDistanceTo`

Computes the squared Euclidean distance between this vector and the other vector.

This method is faster and less error-prone than calling `distanceTo`

and squaring the result.

Returns: The squared Euclidean distance between them.

Return Type: double

`ZenScript Copy``MCVector3d.squareDistanceTo(other as MCVector3d) as double`

参数 | 类型 | 描述 |
---|---|---|

参数 other | 类型 MCVector3d | 描述 The other vector. |

Name: `subtractReverse`

Subtracts this vector from the `other`

vector and returns the result.

Returns: The result.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.subtractReverse(other as MCVector3d) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 other | 类型 MCVector3d | 描述 The vector from which this vector should be subtracted from. |

Name: `times`

Multiplies the two vectors member by member, computing what is known as the Hadamard product.

Returns: The Hadamard product.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.times(other as MCVector3d) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 other | 类型 MCVector3d | 描述 The other vector. |

Name: `times`

Multiplies this vector with the vector `(x, y, z)`

, computing what is known as the Hadamard product.

Returns: The Hadamard product.

Return Type: MCVector3d

`ZenScript Copy``MCVector3d.times(x as double, y as double, z as double) as MCVector3d`

参数 | 类型 | 描述 |
---|---|---|

参数 x | 类型 double | 描述 The x component of the other vector. |

参数 y | 类型 double | 描述 The y component of the other vector. |

参数 z | 类型 double | 描述 The z component of the other vector. |

名称 | 类型 | 可获得 | 可设置 | 描述 |
---|---|---|---|---|

名称 inverse | 类型 MCVector3d | 可获得 true | 可设置 false | 描述 Inverts the vector, effectively flipping it. This is equivalent to a scale by -1, or a rotation of pi radians around the origin. |

名称 magnitude | 类型 double | 可获得 true | 可设置 false | 描述 Gets the length, also known as magnitude, of the vector. |

名称 magnitudeSquared | 类型 double | 可获得 true | 可设置 false | 描述 Gets the squared length, also known as squared magnitude, of the vector. This method is faster and less error-prone than calling `magnitude` and squaring the result. |

名称 x | 类型 double | 可获得 true | 可设置 false | 描述 Gets the X coordinate of this vector. |

名称 y | 类型 double | 可获得 true | 可设置 false | 描述 Gets the Y coordinate of this vector. |

名称 z | 类型 double | 可获得 true | 可设置 false | 描述 Gets the Z coordinate of this vector. |