Files
2025-03-06 01:48:39 -05:00

60 lines
1.8 KiB
Java

package noppes.npcs.api.entity.data;
/**
* Represents the rotation configuration for a model.
* It controls how different parts of a model rotate under various conditions.
*/
public interface IModelRotate {
/**
* Checks if rotation is applied while the entity is standing.
*
* @return true if rotation while standing is enabled; false otherwise.
*/
boolean whileStanding();
/**
* Sets whether rotation should be applied while the entity is standing.
*
* @param whileStanding true to enable; false to disable.
*/
void whileStanding(boolean whileStanding);
/**
* Checks if rotation is applied while the entity is attacking.
*
* @return true if rotation while attacking is enabled; false otherwise.
*/
boolean whileAttacking();
/**
* Sets whether rotation should be applied while the entity is attacking.
*
* @param whileAttacking true to enable; false to disable.
*/
void whileAttacking(boolean whileAttacking);
/**
* Checks if rotation is applied while the entity is moving.
*
* @return true if rotation while moving is enabled; false otherwise.
*/
boolean whileMoving();
/**
* Sets whether rotation should be applied while the entity is moving.
*
* @param whileMoving true to enable; false to disable.
*/
void whileMoving(boolean whileMoving);
/**
* Retrieves the rotation settings for a specific part of the model.
* Parts are indexed as follows: 0 - head, 1 - body, 2 - left arm, 3 - right arm, 4 - left leg, 5 - right leg.
*
* @param part the index of the model part.
* @return the rotation settings for the specified part.
*/
IModelRotatePart getPart(int part);
}