2016-05-05 19:50:59 +02:00
|
|
|
package de.ellpeck.actuallyadditions.api.recipe;
|
|
|
|
|
2016-05-06 12:26:41 +02:00
|
|
|
import de.ellpeck.actuallyadditions.api.internal.IAtomicReconstructor;
|
|
|
|
import net.minecraft.block.state.IBlockState;
|
2016-05-05 19:50:59 +02:00
|
|
|
import net.minecraft.item.ItemStack;
|
2016-05-06 12:26:41 +02:00
|
|
|
import net.minecraft.util.math.BlockPos;
|
2016-05-05 19:50:59 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Used for the Atomic Reconstructor's Color Lens changing algorythm.
|
|
|
|
* When registering a new item to be changed, it needs an IColorLensChanger which
|
|
|
|
* is the method with which the item will be changed.
|
2016-05-06 12:26:41 +02:00
|
|
|
* <p>
|
2016-05-05 19:50:59 +02:00
|
|
|
* See ColorLensChangerByDyeMeta for reference.
|
|
|
|
*/
|
|
|
|
public interface IColorLensChanger{
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Modifies the given item.
|
|
|
|
* Will only be called with stacks containing items that are registered with
|
|
|
|
* this IColorLensChanger.
|
|
|
|
*
|
2016-05-06 12:26:41 +02:00
|
|
|
* @param stack the stack to modify
|
|
|
|
* @param hitBlockState The state of the block that was hit
|
|
|
|
* @param hitBlock the block that was hit (usually air, or the block that is also in the stack)
|
|
|
|
* @param tile the Reconstructor doing the color conversion
|
2016-05-05 19:50:59 +02:00
|
|
|
* @return the modified stack. Please make sure to return a modified COPY of the input stack.
|
|
|
|
*/
|
2016-05-06 12:26:41 +02:00
|
|
|
ItemStack modifyItem(ItemStack stack, IBlockState hitBlockState, BlockPos hitBlock, IAtomicReconstructor tile);
|
2016-05-05 19:50:59 +02:00
|
|
|
|
|
|
|
}
|