Add vector.to_string and vector.from_string (#10323)
Writing vectors as strings is very common and should belong to `vector.*`. `minetest.pos_to_string` is also too long to write, implies that one should only use it for positions and leaves no spaces after the commas.
This commit is contained in:
@@ -3149,6 +3149,16 @@ For the following functions, `v`, `v1`, `v2` are vectors,
|
||||
* Returns a vector.
|
||||
* A copy of `a` if `a` is a vector.
|
||||
* `{x = a, y = b, z = c}`, if all of `a`, `b`, `c` are defined numbers.
|
||||
* `vector.from_string(s[, init])`:
|
||||
* Returns `v, np`, where `v` is a vector read from the given string `s` and
|
||||
`np` is the next position in the string after the vector.
|
||||
* Returns `nil` on failure.
|
||||
* `s`: Has to begin with a substring of the form `"(x, y, z)"`. Additional
|
||||
spaces, leaving away commas and adding an additional comma to the end
|
||||
is allowed.
|
||||
* `init`: If given starts looking for the vector at this string index.
|
||||
* `vector.to_string(v)`:
|
||||
* Returns a string of the form `"(x, y, z)"`.
|
||||
* `vector.direction(p1, p2)`:
|
||||
* Returns a vector of length 1 with direction `p1` to `p2`.
|
||||
* If `p1` and `p2` are identical, returns `{x = 0, y = 0, z = 0}`.
|
||||
|
Reference in New Issue
Block a user