Files
refinedstorage/src/main/java/storagecraft/jei/SoldererRecipeWrapper.java
Raoul Van den Berge ace66cec1b solderer JEI integration
2016-01-28 09:25:43 +01:00

80 lines
1.4 KiB
Java

package storagecraft.jei;
import com.google.common.base.Objects;
import java.util.Collections;
import java.util.List;
import mezz.jei.plugins.vanilla.VanillaRecipeWrapper;
import net.minecraft.item.ItemStack;
public class SoldererRecipeWrapper extends VanillaRecipeWrapper
{
private int hashCode;
private List<ItemStack> inputs;
private ItemStack output;
public SoldererRecipeWrapper(List<ItemStack> inputs, ItemStack output)
{
this.inputs = inputs;
this.output = output;
int available = 0;
for (int i = 0; i < 3; ++i)
{
if (inputs.get(i) != null)
{
available = i;
break;
}
}
hashCode = Objects.hashCode(inputs.get(available), output);
}
@Override
public List<ItemStack> getInputs()
{
return inputs;
}
@Override
public List<ItemStack> getOutputs()
{
return Collections.singletonList(output);
}
@Override
public boolean equals(Object obj)
{
if (!(obj instanceof SoldererRecipeWrapper))
{
return false;
}
SoldererRecipeWrapper other = (SoldererRecipeWrapper) obj;
for (int i = 0; i < inputs.size(); i++)
{
if (!ItemStack.areItemStacksEqual(inputs.get(i), other.inputs.get(i)))
{
return false;
}
}
return ItemStack.areItemStacksEqual(output, other.output);
}
@Override
public int hashCode()
{
return hashCode;
}
@Override
public String toString()
{
return inputs + " = " + output;
}
}