mirror of
https://github.com/KAMKEEL/CustomNPC-Plus-API.git
synced 2026-11-14 10:54:44 +00:00
89 lines
2.3 KiB
Java
89 lines
2.3 KiB
Java
package noppes.npcs.api.handler.data;
|
|
|
|
public interface IFramePart {
|
|
|
|
/**
|
|
* @return The name of the animation part (e.g. HEAD, BODY, RIGHT_ARM, LEFT_ARM, RIGHT_LEG, LEFT_LEG, FULL_MODEL)
|
|
*/
|
|
String getName();
|
|
|
|
/**
|
|
* @return The ordinal ID of the animation part
|
|
*/
|
|
int getPartId();
|
|
|
|
/**
|
|
* Sets the animation part by name.
|
|
* @param name The part name (e.g. HEAD, BODY, RIGHT_ARM, LEFT_ARM, RIGHT_LEG, LEFT_LEG, FULL_MODEL)
|
|
* @return This frame part for chaining
|
|
*/
|
|
IFramePart setPart(String name);
|
|
|
|
/**
|
|
* Sets the animation part by ordinal ID.
|
|
* @param partId The part ordinal ID
|
|
* @return This frame part for chaining
|
|
*/
|
|
IFramePart setPart(int partId);
|
|
|
|
/**
|
|
* @return The rotation angles as a float array [x, y, z] in degrees
|
|
*/
|
|
float[] getRotations();
|
|
|
|
/**
|
|
* Sets the rotation angles.
|
|
* @param rotation A float array [x, y, z] in degrees
|
|
* @return This frame part for chaining
|
|
*/
|
|
IFramePart setRotations(float[] rotation);
|
|
|
|
/**
|
|
* @return The pivot offsets as a float array [x, y, z]
|
|
*/
|
|
float[] getPivots();
|
|
|
|
/**
|
|
* Sets the pivot offsets.
|
|
* @param pivot A float array [x, y, z]
|
|
* @return This frame part for chaining
|
|
*/
|
|
IFramePart setPivots(float[] pivot);
|
|
|
|
/**
|
|
* @return Whether this part has custom speed and smooth settings that override the parent frame
|
|
*/
|
|
boolean isCustomized();
|
|
|
|
/**
|
|
* Sets whether this part uses custom speed and smooth settings.
|
|
* @param customized True to use part-level settings instead of the parent frame's
|
|
* @return This frame part for chaining
|
|
*/
|
|
IFramePart setCustomized(boolean customized);
|
|
|
|
/**
|
|
* @return The interpolation speed of this part
|
|
*/
|
|
float getSpeed();
|
|
|
|
/**
|
|
* Sets the interpolation speed of this part.
|
|
* @param speed The speed value
|
|
* @return This frame part for chaining
|
|
*/
|
|
IFramePart setSpeed(float speed);
|
|
|
|
/**
|
|
* @return The smooth interpolation type: 0 = Interpolated, 1 = Linear, 2 = None
|
|
*/
|
|
byte isSmooth();
|
|
|
|
/**
|
|
* Sets the smooth interpolation type.
|
|
* @param smooth The smooth type: 0 = Interpolated, 1 = Linear, 2 = None
|
|
* @return This frame part for chaining
|
|
*/
|
|
IFramePart setSmooth(byte smooth);
|
|
}
|