package joshie.harvest.cooking.tile;
import joshie.harvest.api.cooking.Utensil;
import joshie.harvest.cooking.CookingHelper.PlaceIngredientResult;
import joshie.harvest.cooking.HFCooking;
import joshie.harvest.cooking.tile.TileCooking.TileCookingTicking;
import joshie.harvest.core.lib.HFSounds;
import net.minecraft.item.ItemStack;
import net.minecraft.util.SoundCategory;
public class TileMixer extends TileCookingTicking {
private static final float MAX_OFFSET1 = 0.5F;
private static final float MIN_OFFSET1 = -0.5F;
private static final float MAX_OFFSET2 = 0F / 1.75F;
private static final float MIN_OFFSET2 = 1F / 1.75F;
public static ItemStack BLADE_STACK;
public float blade = 0F;
@Override
public void animate() {
for (int k = 0; k < rotations.length; k++) {
rotations[k] = rotations[k] + 10F;
}
for (int k = 0; k < offset1.length; k++) {
if (worldObj.rand.nextFloat() < 0.1F) {
offset1[k] = clampOffset1(offset1[k] + (worldObj.rand.nextBoolean() ? 0.05F : -0.05F));
offset2[k] = clampOffset2(offset2[k] + (worldObj.rand.nextBoolean() ? 0.05F : -0.05F));
}
}
blade += 100F;
//Play the sound effect
if (getCookTimer() == 1) worldObj.playSound(null, getPos(), HFSounds.MIXER, SoundCategory.BLOCKS, 0.9F, 1F);
}
private float clampOffset1(float f) {
return Math.max(MIN_OFFSET1, Math.min(MAX_OFFSET1, f));
}
private float clampOffset2(float f) {
return Math.max(MIN_OFFSET2, Math.min(MAX_OFFSET2, f));
}
@Override
public Utensil getUtensil() {
return HFCooking.MIXER;
}
@Override
public PlaceIngredientResult hasPrerequisites() {
return isAbove(HFCooking.COUNTER) ? PlaceIngredientResult.SUCCESS : PlaceIngredientResult.MISSING_COUNTER;
}
}