package am2.api.spell.component.interfaces; import net.minecraft.item.ItemStack; import am2.api.blocks.MultiblockStructureDefinition; public interface IRitualInteraction <T extends ISkillTreeEntry> { /** * Gets a MultiblockStructureDefinition outlining the ritual blocks needed and where they should be relative to a given location. * This should be instantiated on mod load and cached somewhere, and NOT instantiated upon request. */ public MultiblockStructureDefinition getRitualShape(); /** * Gets a list of items that need to be present in {@link #getReagentSearchRadius() getReagentSearchRadius()} for the ritual to match. * Items on the ground as well as items attached to Wizard's Chalk are included. */ public ItemStack[] getReagents(); /** * Gets the radius to search for reagents when checking the ritual. */ public int getReagentSearchRadius(); }