| package cofh.api.item; |
| |
| import net.minecraft.entity.EntityLivingBase; |
| import net.minecraft.item.ItemStack; |
| import net.minecraft.util.math.BlockPos; |
| |
| /** |
| * Implement this interface on subclasses of Item to have that item work as a tool for CoFH mods. |
| */ |
| public interface IToolHammer { |
| |
| /** |
| * Called to ensure that the wrench can be used. |
| * |
| * @param item |
| * The itemstack for the tool. Not required to match equipped item (e.g., multi-tools that contain other tools) |
| * @param user |
| * The entity using the tool |
| * @param x |
| * X location of the block/tile |
| * @param y |
| * Y location of the block/tile |
| * @param z |
| * Z location of the block/tile |
| * @return True if this tool can be used |
| */ |
| boolean isUsable(ItemStack item, EntityLivingBase user, BlockPos pos); |
| |
| /** |
| * Callback for when the tool has been used reactively. |
| * |
| * @param item |
| * The ItemStack for the tool. Not required to match equipped item (e.g., multi-tools that contain other tools) |
| * @param user |
| * The entity using the tool |
| * @param x |
| * X location of the block/tile |
| * @param y |
| * Y location of the block/tile |
| * @param z |
| * Z location of the block/tile |
| */ |
| void toolUsed(ItemStack item, EntityLivingBase user, BlockPos pos); |
| |
| } |