public override void Update() { if (fuel == null) { fuel = new FuelCore(maxFuel); } if (currentRecipe == null && checkTimer <= 0) { FurnaceRecipe recipe = inputItem.IsAir ? null : FurnaceRecipeManager.Instance.IsValid(inputItem) ? FurnaceRecipeManager.Instance.Recipe : null; if (recipe != null && (outputItem.IsAir || outputItem.type == recipe.GetResult().type)) { currentRecipe = recipe; } checkTimer = 2; } if (currentRecipe != null) { UpdateItem(); progression++; } checkTimer--; }
public override void Update() { if (currentRecipe == null && checkTimer <= 0) { FurnaceRecipe recipe = GetRecipe(); if (recipe != null && (outputItem.IsAir || outputItem.type == recipe.GetResult().type)) { currentRecipe = recipe; } checkTimer = 20; } if (currentRecipe != null) { updateItem(); progression++; } if (boundCapacitor != null) { energy.addEnergy(boundCapacitor.energy.ConsumeEnergy(boundCapacitor.maxTransferRate)); } checkTimer--; }
private void updateItem() { if (progression >= currentRecipe.GetCookTime() && energy.ConsumeEnergy(50) == 50) { inputItem.stack -= currentRecipe.GetIngredientStack(); Item result = currentRecipe.GetResult().Clone(); if (outputItem.IsAir) { outputItem = result; } else { outputItem.stack++; } currentRecipe = null; progression = 0; } }
/*****************************************************************/ /* TIME FOR FUN :D */ /*****************************************************************/ private void UpdateItem() { if (progression >= cookTimer && fuel.getCurrentEnergyLevel() > 0) { inputItem.stack -= currentRecipe.GetIngredientStack(); Item result = currentRecipe.GetResult().Clone(); if (outputItem.IsAir) { _outputItem.Value = result; } else { outputItem.stack++; } fuel.ConsumeEnergy(1); currentRecipe = null; progression = 0; } }