| package cofh.api.item; |
| |
| import net.minecraft.entity.player.EntityPlayer; |
| import net.minecraft.item.ItemStack; |
| |
| /** |
| * Implement this interface on Item classes which may be "Empowered" - what that means is completely up to you. This just provides a uniform way of dealing with |
| * them. |
| * |
| * @author King Lemming |
| * |
| */ |
| public interface IEmpowerableItem { |
| |
| /** |
| * Check whether or not a given item is currently in an empowered state. |
| */ |
| boolean isEmpowered(ItemStack stack); |
| |
| /** |
| * Attempt to set the empowered state of the item. |
| * |
| * @param stack |
| * ItemStack to be empowered/disempowered. |
| * @param state |
| * Desired state. |
| * @return TRUE if the operation was successful, FALSE if it was not. |
| */ |
| boolean setEmpoweredState(ItemStack stack, boolean state); |
| |
| /** |
| * Callback method for reacting to a state change. Useful in KeyBinding handlers. |
| * |
| * @param player |
| * Player holding the item, if applicable. |
| * @param stack |
| * The item being held. |
| */ |
| void onStateChange(EntityPlayer player, ItemStack stack); |
| |
| } |