Package org.vivecraft.api.data
Interface VRPoseHistory
public interface VRPoseHistory
Represents the pose history of the VR player. See 
Vivecraft will store data for players going up to 200 ticks into the past. Attempting to retrieve history before this far back will throw an
VRPose for individual Pose data.
 In other words, it allows getting movement information of the VR player.
 Vivecraft will store data for players going up to 200 ticks into the past. Attempting to retrieve history before this far back will throw an
IllegalArgumentException.- Since:
- 1.3.0
- 
Method SummaryModifier and TypeMethodDescription@Nullable org.bukkit.util.VectoraveragePosition(VRBodyPart bodyPart, int maxTicksBack) Gets the average position between the most recent VRPose in this instance and the oldest VRPose that can be retrieved, going no farther back thanmaxTicksBack.doubleaverageSpeed(VRBodyPart bodyPart, int maxTicksBack) Gets the average speed in blocks/tick between the most recent VRPose in this instance and the oldest VRPose that can be retrieved, going no farther back thanmaxTicksBack.@Nullable org.bukkit.util.VectoraverageVelocity(VRBodyPart bodyPart, int maxTicksBack) Gets the average velocity in blocks/tick between the most recent VRPose in this instance and the oldest VRPose that can be retrieved, going no farther back thanmaxTicksBack.Gets a raw list ofVRPoseinstances, with index 0 representing the current tick's pose, 1 representing last tick's pose, etc.getHistoricalData(int ticksBack) Gets the pose fromticksBackticks back, ornullif such data isn't available.@Nullable org.bukkit.util.VectornetMovement(VRBodyPart bodyPart, int maxTicksBack) Gets the net movement between the most recent VRPose in this instance and the oldest VRPose that can be retrieved, going no farther back thanmaxTicksBack.intGets the number of ticks, historical data is currently available for.
- 
Method Details- 
ticksOfHistoryint ticksOfHistory()Gets the number of ticks, historical data is currently available for. The number returned by this method will never be higher than 200, the maximum number of ticks Vivecraft holds data for, however, it can be lower than 200.- Returns:
- The number of ticks, historical data is currently available for.
- Since:
- 1.3.0
 
- 
getAllHistoricalDataGets a raw list ofVRPoseinstances, with index 0 representing the current tick's pose, 1 representing last tick's pose, etc.- Returns:
- The aforementioned list of VRPoseinstances.
- Since:
- 1.3.0
 
- 
getHistoricalDataGets the pose fromticksBackticks back, ornullif such data isn't available.- Parameters:
- ticksBack- Ticks back to retrieve data from.
- Returns:
- A VRPoseinstance fromticksBackticks ago, ornullif that data isn't available.
- Throws:
- IllegalArgumentException- Thrown when- ticksBackis outside the range [0,200].
- Since:
- 1.3.0
 
- 
netMovement@Nullable @Nullable org.bukkit.util.Vector netMovement(VRBodyPart bodyPart, int maxTicksBack) throws IllegalArgumentException Gets the net movement between the most recent VRPose in this instance and the oldest VRPose that can be retrieved, going no farther back thanmaxTicksBack.- Parameters:
- bodyPart- The body part to get the net movement for.
- maxTicksBack- The maximum number of ticks back to compare the most recent data with.
- Returns:
- The aforementioned net movement. Note that this will return zero change on all axes if only zero ticks
 can be looked back. Will be nullif the body part requested isn't available.
- Throws:
- IllegalArgumentException- Thrown when- maxTicksBackis outside the range [0,200] or an invalid- bodyPartis supplied.
- Since:
- 1.3.0
 
- 
averageVelocity@Nullable @Nullable org.bukkit.util.Vector averageVelocity(VRBodyPart bodyPart, int maxTicksBack) throws IllegalArgumentException Gets the average velocity in blocks/tick between the most recent VRPose in this instance and the oldest VRPose that can be retrieved, going no farther back thanmaxTicksBack.- Parameters:
- bodyPart- The body part to get the average velocity for.
- maxTicksBack- The maximum number of ticks back to calculate velocity with.
- Returns:
- The aforementioned average velocity on each axis. Note that this will return zero velocity on all axes
 if only zero ticks can be looked back. Will be nullif the body part requested isn't available.
- Throws:
- IllegalArgumentException- Thrown when- maxTicksBackis outside the range [0,200] or an invalid- bodyPartis supplied.
- Since:
- 1.3.0
 
- 
averageSpeedGets the average speed in blocks/tick between the most recent VRPose in this instance and the oldest VRPose that can be retrieved, going no farther back thanmaxTicksBack.- Parameters:
- bodyPart- The body part to get the average speed for.
- maxTicksBack- The maximum number of ticks back to calculate speed with.
- Returns:
- The aforementioned average speed on each axis. Note that this will return zero speed if only zero ticks can be looked back, or if the body part requested isn't available.
- Throws:
- IllegalArgumentException- Thrown when- maxTicksBackis outside the range [0,200] or an invalid- bodyPartis supplied.
- Since:
- 1.3.0
 
- 
averagePosition@Nullable @Nullable org.bukkit.util.Vector averagePosition(VRBodyPart bodyPart, int maxTicksBack) throws IllegalArgumentException Gets the average position between the most recent VRPose in this instance and the oldest VRPose that can be retrieved, going no farther back thanmaxTicksBack.- Parameters:
- bodyPart- The body part to get the average position for.
- maxTicksBack- The maximum number of ticks back to calculate the position with.
- Returns:
- The aforementioned average position. Note that this will return the current position if only zero ticks
 can be looked back. Will be nullif the body part requested isn't available.
- Throws:
- IllegalArgumentException- Thrown when- maxTicksBackis outside the range [0,200] or an invalid- bodyPartis supplied.
- Since:
- 1.3.0
 
 
-