mirror of
https://github.com/KAMKEEL/CustomNPC-Plus-API.git
synced 2026-11-14 04:59:48 +00:00
138 lines
2.9 KiB
Java
138 lines
2.9 KiB
Java
package noppes.npcs.api.gui;
|
|
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
|
|
/**
|
|
* Base interface for all custom GUI components.
|
|
* Defines common methods for position, appearance, and NBT serialization.
|
|
*/
|
|
public interface ICustomGuiComponent {
|
|
|
|
/**
|
|
* Returns the unique ID of this component.
|
|
*
|
|
* @return the component ID.
|
|
*/
|
|
int getID();
|
|
|
|
/**
|
|
* Sets the unique ID for this component.
|
|
*
|
|
* @param id the new ID.
|
|
* @return this component instance.
|
|
*/
|
|
ICustomGuiComponent setID(int id);
|
|
|
|
/**
|
|
* Returns the x position of this component.
|
|
*
|
|
* @return the x position.
|
|
*/
|
|
int getPosX();
|
|
|
|
/**
|
|
* Returns the y position of this component.
|
|
*
|
|
* @return the y position.
|
|
*/
|
|
int getPosY();
|
|
|
|
/**
|
|
* Sets the position of the component.
|
|
*
|
|
* @param x the new x position.
|
|
* @param y the new y position.
|
|
* @return this component instance.
|
|
*/
|
|
ICustomGuiComponent setPos(int x, int y);
|
|
|
|
/**
|
|
* Checks if the component has hover text.
|
|
*
|
|
* @return true if hover text is set.
|
|
*/
|
|
boolean hasHoverText();
|
|
|
|
/**
|
|
* Returns the hover text as an array of strings.
|
|
*
|
|
* @return the hover text.
|
|
*/
|
|
String[] getHoverText();
|
|
|
|
/**
|
|
* Sets the hover text with a single line.
|
|
*
|
|
* @param hoverText the hover text.
|
|
* @return this component instance.
|
|
*/
|
|
ICustomGuiComponent setHoverText(String hoverText);
|
|
|
|
/**
|
|
* Sets the hover text with multiple lines.
|
|
*
|
|
* @param hoverTextLines the hover text lines.
|
|
* @return this component instance.
|
|
*/
|
|
ICustomGuiComponent setHoverText(String[] hoverTextLines);
|
|
|
|
/**
|
|
* Returns the text color.
|
|
*
|
|
* @return the color as an integer.
|
|
*/
|
|
int getColor();
|
|
|
|
/**
|
|
* Sets the text color.
|
|
*
|
|
* @param color the color.
|
|
* @return this component instance.
|
|
*/
|
|
ICustomGuiComponent setColor(int color);
|
|
|
|
/**
|
|
* Returns the component's transparency (alpha).
|
|
*
|
|
* @return the alpha value.
|
|
*/
|
|
float getAlpha();
|
|
|
|
/**
|
|
* Sets the component's transparency (alpha).
|
|
*
|
|
* @param alpha the alpha value.
|
|
*/
|
|
void setAlpha(float alpha);
|
|
|
|
/**
|
|
* Returns the component's rotation.
|
|
*
|
|
* @return the rotation angle.
|
|
*/
|
|
float getRotation();
|
|
|
|
/**
|
|
* Sets the component's rotation.
|
|
*
|
|
* @param rotation the rotation angle.
|
|
*/
|
|
void setRotation(float rotation);
|
|
|
|
/**
|
|
* Serializes the component to an NBT compound.
|
|
*
|
|
* @param nbt the NBT compound to populate.
|
|
* @return the NBT compound.
|
|
*/
|
|
NBTTagCompound toNBT(NBTTagCompound nbt);
|
|
|
|
/**
|
|
* Deserializes the component from an NBT compound.
|
|
*
|
|
* @param nbt the NBT compound.
|
|
* @return this component instance.
|
|
*/
|
|
ICustomGuiComponent fromNBT(NBTTagCompound nbt);
|
|
}
|