use of net.dries007.tfc.api.capability.food.IFood in project firmalife by eerussianguy.
the class HelpersFL method updateFoodFuzzed.
public static ItemStack updateFoodFuzzed(ItemStack oldStack, ItemStack newStack) {
ItemStack output = CapabilityFood.updateFoodFromPrevious(oldStack, newStack);
IFood cap = output.getCapability(CapabilityFood.CAPABILITY, null);
if (cap != null && !cap.isRotten()) {
cap.setCreationDate(cap.getCreationDate() - (cap.getCreationDate() % ICalendar.HOURS_IN_DAY));
}
return output;
}
use of net.dries007.tfc.api.capability.food.IFood in project TerraFirmaCraft by TerraFirmaCraft.
the class FoodCombiningCraftingRecipe method assemble.
@Override
public ItemStack assemble(CraftingContainer inv) {
ItemStack resultStack = ItemStack.EMPTY;
int outputAmount = 0;
long minCreationDate = -1;
for (int i = 0; i < inv.getContainerSize(); i++) {
ItemStack stack = inv.getItem(i);
if (!stack.isEmpty()) {
// Get the food capability
IFood cap = stack.getCapability(FoodCapability.CAPABILITY).resolve().orElse(null);
if (cap != null) {
// Increment output amount
outputAmount++;
// Find the min creation date
if (minCreationDate == -1 || minCreationDate > cap.getCreationDate()) {
minCreationDate = cap.getCreationDate();
}
// And save the stack
if (resultStack.isEmpty()) {
resultStack = stack.copy();
}
}
}
}
// Update the capability and count of the result
resultStack.setCount(outputAmount);
final long date = minCreationDate;
resultStack.getCapability(FoodCapability.CAPABILITY).ifPresent(cap -> cap.setCreationDate(date));
return resultStack;
}
Aggregations