Rebalance the maximum and default SpectatorDataThirdPersonInfo#shoulderCamSmoothness values (+1 squashed commit)

Squashed commits:
[d1374a7] Information about the shoulder camera's position are now stored in a separate, interpolateable Object instead of directly in the SpectatorData Object
This commit is contained in:
CrushedPixel
2015-09-09 23:23:33 +02:00
parent d839204855
commit 7196bc03bd
3 changed files with 58 additions and 29 deletions

View File

@@ -0,0 +1,49 @@
package eu.crushedpixel.replaymod.holders;
import eu.crushedpixel.replaymod.interpolation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class SpectatorDataThirdPersonInfo implements KeyframeValue {
/**
* The shoulder camera's distance (in blocks) to the player
*/
@Interpolate
public double shoulderCamDistance = 3;
/**
* The shoulder camera's pitch offset in degrees, value between -90 and 90
*/
@Interpolate
public double shoulderCamPitchOffset = 0;
/**
* The shoulder camera's rotation around the player in degrees
*/
@Interpolate
public double shoulderCamYawOffset = 0;
/**
* The distance between the automatically calculated position keyframes in seconds
*/
@Interpolate
public double shoulderCamSmoothness = 1;
@Override
public KeyframeValue newInstance() {
return new SpectatorDataThirdPersonInfo();
}
@Override
public Interpolation getLinearInterpolator() {
return new GenericLinearInterpolation<SpectatorDataThirdPersonInfo>();
}
@Override
public Interpolation getCubicInterpolator() {
return new GenericSplineInterpolation<SpectatorDataThirdPersonInfo>();
}
}