Files
2026-03-09 16:20:07 -04:00

41 lines
1.6 KiB
Java

package noppes.npcs.api.ability.data;
/**
* Configuration for the anchor point of an energy ability projectile.
* Controls where the projectile spawns relative to the caster.
*/
public interface IEnergyAnchorData {
/** @return Anchor point ordinal (0=FRONT, 1=CENTER, 2=RIGHT_HAND, 3=LEFT_HAND, 4=ABOVE_HEAD, 5=CHEST, 6=EYE). */
int getAnchor();
/**
* Set the anchor point.
* @param anchor Anchor ordinal (0=FRONT, 1=CENTER, 2=RIGHT_HAND, 3=LEFT_HAND, 4=ABOVE_HEAD, 5=CHEST, 6=EYE)
*/
void setAnchor(int anchor);
/** @return X offset from the anchor point (positive = right). */
float getAnchorOffsetX();
/** @param anchorOffsetX X offset from anchor (positive = right). */
void setAnchorOffsetX(float anchorOffsetX);
/** @return Y offset from the anchor point (positive = up). */
float getAnchorOffsetY();
/** @param anchorOffsetY Y offset from anchor (positive = up). */
void setAnchorOffsetY(float anchorOffsetY);
/** @return Z offset from the anchor point (positive = forward). */
float getAnchorOffsetZ();
/** @param anchorOffsetZ Z offset from anchor (positive = forward). */
void setAnchorOffsetZ(float anchorOffsetZ);
/** @return Whether the projectile launches from the anchor position instead of the default eye/look-vector position. */
boolean getLaunchFromAnchor();
/** @param launchFromAnchor When true, the projectile launches from its anchor position; when false, it snaps to the default eye/look-vector position. */
void setLaunchFromAnchor(boolean launchFromAnchor);
}