CustomObjectRepository is now being saved to and loaded from the ReplayFile The CustomObjectRenderer uses the GuiObjectManager's timeline cursor position as interpolation timestamp for the CustomImageObjects which are drawn if a GuiObjectManager is open (instant preview) KeyframeList's add() method now removes Keyframes with the same timestamp before adding the new Keyframe Transformations class now holds default values to prevent NullPointerExceptions in methods calling getTransformationForTimestamp() Added Javadoc to Transformation POJO Created NumberValueChangeListener which can be applied to GuiNumberInput objects Made step size customizable in GuiDraggingNumberInput Changing a ReplayImageAssets image now notifies the CustomImageObjects linked to that asset Modified RoundUtils to provide a round() method which uses the DecimalFormat class instead of Math.round which is unstable
37 lines
740 B
Java
37 lines
740 B
Java
package eu.crushedpixel.replaymod.holders;
|
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Data;
|
|
|
|
@Data
|
|
@AllArgsConstructor
|
|
public class Transformation {
|
|
|
|
/**
|
|
* The object's anchor around which modifiers like orientation or position should be applied.
|
|
* x=0, y=0, z=0 is the object's center.
|
|
*/
|
|
private Position anchor;
|
|
|
|
/**
|
|
* The object's position in the Minecraft world.
|
|
*/
|
|
private Position position;
|
|
|
|
/**
|
|
* The object's orientation.
|
|
*/
|
|
private Position orientation;
|
|
|
|
/**
|
|
* The object's scale, individual values between 0 and 100.
|
|
*/
|
|
private Position scale;
|
|
|
|
/**
|
|
* The object's opacity. Value between 0 and 100.
|
|
*/
|
|
private double opacity;
|
|
|
|
}
|