package gtPlusPlus.api.interfaces; import gtPlusPlus.api.objects.Logger; public interface IPlugin { /** * @return A {@link String} object which returns the {@link IPlugin}'s name. */ public String getPluginName(); /** * @return A {@link String} object which returns the {@link IPlugin}'s short name. This String should only contain 4 * Characters. */ public String getPluginAbbreviation(); /** * @param message - A {@link String} object which holds a message to be logged to console. */ default void log(String message) { Logger.INFO("[" + getPluginAbbreviation() + "] " + message); } /** * @param message - A {@link String} object which holds a warning/error message to be logged to console. */ default void logDebug(String message) { Logger.WARNING("[" + getPluginAbbreviation() + "] " + message); } public boolean preInit(); public boolean init(); public boolean postInit(); public boolean serverStart(); public boolean serverStop(); }