/**
* Copyright (c) Lambda Innovation, 2013-2016
* This file is part of the AcademyCraft mod.
* https://github.com/LambdaInnovation/AcademyCraft
* Licensed under GPLv3, see project root for more information.
*/
package cn.academy.ability.develop.condition;
import cn.academy.ability.api.Skill;
import cn.academy.ability.api.data.AbilityData;
import cn.academy.ability.develop.IDeveloper;
import net.minecraft.util.ResourceLocation;
/**
* Skill development constraint. This should represent a single atomic constraint on player.
* If it has a icon to display, it will be displayed on the developer's skill description page.
* @author WeAthFolD
*/
public interface IDevCondition {
/**
* @param developer The develope that performs this action
* @return Whether the player can learn the given skill
*/
boolean accepts(AbilityData data, IDeveloper developer, Skill skill);
/**
* @return The icon displayed in skill desc page
*/
ResourceLocation getIcon();
/**
* @return The hovering text displayed in skill desc page
*/
String getHintText();
default boolean shouldDisplay() {
return true;
}
}