/******************************************************************************* * AbyssalCraft * Copyright (c) 2012 - 2017 Shinoow. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-3.0.txt * * Contributors: * Shinoow - implementation ******************************************************************************/ package com.shinoow.abyssalcraft.lib.util.blocks; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; /** * Internal interface for Ritual Altar TE's<br> * This shouldn't be used by other mods. * @author shinoow * */ public interface IRitualAltar extends ISingletonInventory { /** * Attempts to perform a ritual * @param world Current World * @param pos TE BlockPos * @param player Player interacting with the altar */ public void performRitual(World world, BlockPos pos, EntityPlayer player); /** * Used to determine if a Ritual can be performed */ public boolean canPerform(); /** * Check the surroundings (to make sure there's Pedestals, and that they have items placed on them) * @param world Current World * @param pos TE BlockPos */ public boolean checkSurroundings(World world, BlockPos pos); /** * Resets all the pedestals (removes any item placed on them) * @param world Current World * @param pos TE BlockPos */ public void resetPedestals(World world, BlockPos pos); /** * Returns the cooldown until a new Ritual can be performed */ public int getRitualCooldown(); /** * Determines if a Ritual is currently being performed */ public boolean isPerformingRitual(); }