2019-03-23 21:58:50 +02:00
|
|
|
package com.minelittlepony.pony;
|
2016-11-24 02:01:23 -05:00
|
|
|
|
2019-03-23 21:58:50 +02:00
|
|
|
import com.minelittlepony.pony.meta.Gender;
|
|
|
|
import com.minelittlepony.pony.meta.Race;
|
|
|
|
import com.minelittlepony.pony.meta.Size;
|
|
|
|
import com.minelittlepony.pony.meta.TailLength;
|
|
|
|
import com.minelittlepony.pony.meta.Wearable;
|
2019-11-30 14:56:07 +02:00
|
|
|
import com.minelittlepony.util.IInterpolator;
|
2018-06-11 19:25:02 +02:00
|
|
|
|
2019-01-06 18:07:42 +02:00
|
|
|
import java.util.UUID;
|
|
|
|
|
2016-11-24 02:01:23 -05:00
|
|
|
/**
|
2018-04-25 21:29:49 +02:00
|
|
|
* Metadata for a pony.
|
2016-11-24 02:01:23 -05:00
|
|
|
*/
|
2019-03-23 19:48:20 +02:00
|
|
|
public interface IPonyData {
|
2018-04-25 21:29:49 +02:00
|
|
|
/**
|
|
|
|
* Gets this pony's race.
|
|
|
|
*/
|
2019-03-23 21:49:34 +02:00
|
|
|
Race getRace();
|
2016-11-24 02:01:23 -05:00
|
|
|
|
2018-04-25 21:29:49 +02:00
|
|
|
/**
|
|
|
|
* Gets the length of the pony's tail.
|
|
|
|
*/
|
2019-03-23 21:49:34 +02:00
|
|
|
TailLength getTail();
|
2018-04-24 14:55:32 +02:00
|
|
|
|
2018-04-25 21:29:49 +02:00
|
|
|
/**
|
|
|
|
* Get the pony's gender (usually female).
|
|
|
|
*/
|
2019-03-23 21:49:34 +02:00
|
|
|
Gender getGender();
|
2018-04-24 14:55:32 +02:00
|
|
|
|
2018-04-25 21:29:49 +02:00
|
|
|
/**
|
|
|
|
* Gets the current pony size.
|
|
|
|
*/
|
2019-03-23 21:49:34 +02:00
|
|
|
Size getSize();
|
2018-04-24 14:55:32 +02:00
|
|
|
|
2018-04-25 21:29:49 +02:00
|
|
|
/**
|
|
|
|
* Gets the magical glow colour for magic-casting races. Returns 0 otherwise.
|
|
|
|
*/
|
2018-04-24 14:55:32 +02:00
|
|
|
int getGlowColor();
|
|
|
|
|
2019-07-24 23:37:22 +02:00
|
|
|
/**
|
|
|
|
* Returns true if and only if this metadata represents a pony that has a horn.
|
|
|
|
*/
|
|
|
|
boolean hasHorn();
|
|
|
|
|
2018-04-25 21:29:49 +02:00
|
|
|
/**
|
|
|
|
* Returns true if and only if this metadata represents a pony that can cast magic.
|
|
|
|
*/
|
2018-04-24 14:55:32 +02:00
|
|
|
boolean hasMagic();
|
2018-06-05 20:18:57 +02:00
|
|
|
|
2018-06-11 19:25:02 +02:00
|
|
|
/**
|
|
|
|
* Checks it this pony is wearing the given accessory.
|
|
|
|
*/
|
2019-03-23 21:49:34 +02:00
|
|
|
boolean isWearing(Wearable wearable);
|
2018-06-11 19:25:02 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets an interpolator for interpolating values.
|
|
|
|
*/
|
2019-01-06 18:07:42 +02:00
|
|
|
IInterpolator getInterpolator(UUID interpolatorId);
|
2016-11-24 02:01:23 -05:00
|
|
|
}
|