package net.obnoxint.mcdev.feature; import org.bukkit.plugin.Plugin; /** * <p> * A logical unit possibly managed by a {@link FeatureManager}. Please read the README file for more information about how Features are supposed to be used. * </p> */ public interface Feature { /** * @return the name of this feature. */ String getFeatureName(); /** * @return the Plugin instance which holds this feature. */ Plugin getFeaturePlugin(); /** * @return the {@link FeatureProperties} of this feature. */ FeatureProperties getFeatureProperties(); /** * @return true if this feature is active. */ boolean isFeatureActive(); /** * @param active true in order to activate this feature. */ void setFeatureActive(boolean active); }