# Vec > A lightweight immutable 3D position record for use in cutscene definitions. `gg.lode.lecternapi.api.cutscene.Vec` --- ## Signature ```java public record Vec(double x, double y, double z) ``` --- ## Overview Vec provides a simple way to represent positions without importing Bukkit's Vector class. It's used primarily in the Cutscene API for camera waypoints. --- ## Fields | Field | Type | Description | |---|---|---| | `x` | `double` | X coordinate. | | `y` | `double` | Y coordinate. | | `z` | `double` | Z coordinate. | --- ## Static Methods ### of ```java public static Vec of(double x, double y, double z) ``` Creates a new Vec instance. | Parameter | Type | Description | |---|---|---| | `x` | `double` | X coordinate. | | `y` | `double` | Y coordinate. | | `z` | `double` | Z coordinate. | **Returns:** A new `Vec` instance. --- ## Usage ```java // In a camera path .cameraPath(path -> path .waypoint(Vec.of(100, 70, 200), 0, -10, 0, 0) .waypoint(Vec.of(150, 80, 250), 45, -5, 0, 60)) // From a Bukkit Location Location loc = player.getLocation(); Vec position = Vec.of(loc.getX(), loc.getY(), loc.getZ()); ``` --- ## Related Pages - [[CameraWaypoint]] — Uses Vec for position - [[Cutscene]] — Parent API