mirror of
https://github.com/KAMKEEL/CustomNPC-Plus-API.git
synced 2026-11-14 20:14:43 +00:00
168 lines
4.1 KiB
Java
168 lines
4.1 KiB
Java
package noppes.npcs.api.entity;
|
|
|
|
import net.minecraft.entity.passive.EntityTameable;
|
|
|
|
/**
|
|
* Represents a Pixelmon (a tameable creature) with additional attributes
|
|
* such as shiny state, level, IV/EV values, nature, moves, and more.
|
|
*
|
|
* @param <T> The underlying Minecraft EntityTameable type.
|
|
*/
|
|
public interface IPixelmon<T extends EntityTameable> extends IAnimal<T> {
|
|
|
|
/**
|
|
* @return true if the Pixelmon is shiny.
|
|
*/
|
|
boolean getIsShiny();
|
|
|
|
/**
|
|
* Sets whether the Pixelmon is shiny.
|
|
*
|
|
* @param bo true for shiny.
|
|
*/
|
|
void setIsShiny(boolean bo);
|
|
|
|
/**
|
|
* @return The Pixelmon's level.
|
|
*/
|
|
int getLevel();
|
|
|
|
/**
|
|
* Sets the Pixelmon's level.
|
|
*
|
|
* @param level the new level.
|
|
*/
|
|
void setLevel(int level);
|
|
|
|
/**
|
|
* Gets the Individual Value (IV) for the specified stat.
|
|
*
|
|
* @param type 0: HP, 1: Attack, 2: Defense, 3: SpAttack, 4: SpDefense, 5: Speed
|
|
* @return the IV value, or -1 if invalid.
|
|
*/
|
|
int getIV(int type);
|
|
|
|
/**
|
|
* Sets the Individual Value (IV) for the specified stat.
|
|
*
|
|
* @param type 0: HP, 1: Attack, 2: Defense, 3: SpAttack, 4: SpDefense, 5: Speed
|
|
* @param value the new IV value.
|
|
*/
|
|
void setIV(int type, int value);
|
|
|
|
/**
|
|
* Gets the Effort Value (EV) for the specified stat.
|
|
*
|
|
* @param type 0: HP, 1: Attack, 2: Defense, 3: SpAttack, 4: SpDefense, 5: Speed
|
|
* @return the EV value, or -1 if invalid.
|
|
*/
|
|
int getEV(int type);
|
|
|
|
/**
|
|
* Sets the Effort Value (EV) for the specified stat.
|
|
*
|
|
* @param type 0: HP, 1: Attack, 2: Defense, 3: SpAttack, 4: SpDefense, 5: Speed
|
|
* @param value the new EV value.
|
|
*/
|
|
void setEV(int type, int value);
|
|
|
|
/**
|
|
* Gets the calculated stat for the specified stat type.
|
|
*
|
|
* @param type 0: HP, 1: Attack, 2: Defense, 3: SpAttack, 4: SpDefense, 5: Speed
|
|
* @return the stat value, or -1 if invalid.
|
|
*/
|
|
int getStat(int type);
|
|
|
|
/**
|
|
* Sets the calculated stat for the specified stat type.
|
|
*
|
|
* @param type 0: HP, 1: Attack, 2: Defense, 3: SpAttack, 4: SpDefense, 5: Speed
|
|
* @param value the new stat value.
|
|
*/
|
|
void setStat(int type, int value);
|
|
|
|
/**
|
|
* @return The Pixelmon's size type (0: Pygmy, 1: Runt, 2: Small, 3: Normal, 4: Huge, 5: Giant,
|
|
* 6: Enormous, 7: Ginormous, 8: Microscopic).
|
|
*/
|
|
int getSize();
|
|
|
|
/**
|
|
* Sets the Pixelmon's size type.
|
|
*
|
|
* @param type the size type.
|
|
*/
|
|
void setSize(int type);
|
|
|
|
/**
|
|
* @return The Pixelmon's happiness (0-255).
|
|
*/
|
|
int getHapiness();
|
|
|
|
/**
|
|
* Sets the Pixelmon's happiness.
|
|
*
|
|
* @param value a value between 0 and 255.
|
|
*/
|
|
void setHapiness(int value);
|
|
|
|
/**
|
|
* @return The Pixelmon's nature as an integer (see nature definitions).
|
|
*/
|
|
int getNature();
|
|
|
|
/**
|
|
* Sets the Pixelmon's nature.
|
|
*
|
|
* @param type the nature value.
|
|
*/
|
|
void setNature(int type);
|
|
|
|
/**
|
|
* @return The type of Poké Ball in which the Pixelmon is contained
|
|
* (-1: Uncaught, 0: Pokéball, 1: Great Ball, etc.).
|
|
*/
|
|
int getPokeball();
|
|
|
|
/**
|
|
* Sets the type of Poké Ball for this Pixelmon.
|
|
*
|
|
* @param type -1 for Uncaught, 0 for Pokéball, etc.
|
|
*/
|
|
void setPokeball(int type);
|
|
|
|
/**
|
|
* @return The Pixelmon's nickname.
|
|
*/
|
|
String getNickname();
|
|
|
|
/**
|
|
* @return true if the Pixelmon has a nickname.
|
|
*/
|
|
boolean hasNickname();
|
|
|
|
/**
|
|
* Sets the Pixelmon's nickname.
|
|
*
|
|
* @param name the new nickname.
|
|
*/
|
|
void setNickname(String name);
|
|
|
|
/**
|
|
* Returns the name of the move in the specified slot.
|
|
*
|
|
* @param slot the move slot.
|
|
* @return the move name.
|
|
*/
|
|
String getMove(int slot);
|
|
|
|
/**
|
|
* Sets the move in the specified slot.
|
|
*
|
|
* @param slot the move slot.
|
|
* @param move the move name.
|
|
*/
|
|
void setMove(int slot, String move);
|
|
}
|