Cooking Fish and Hunger Scaled Healing 1.12.2 - Herbertofury/Advent-of-Ascension GitHub Wiki

Cooking fish and hunger-scaled healing Β· 1.12.2

Minecraft 1.12.2 Β· AoA 3.3.6. This guide checks all sixteen raw/cooked fish pairs registered in the inspected release: 32 food declarations, sixteen furnace conversions and the shared HealingFood callback.

Open the interactive fish meal planner. It calculates the source-rule request from your hunger and saturation; it does not inspect or change a running game.

From catch to meal

  1. Obtain a raw fish through the historical fishing and Hauling system. That guide separates the outer catch categories from the level-conditioned fish table.
  2. Put one raw fish in a furnace and supply suitable fuel. The released registration requests one matching cooked fish and a smelting experience value of 3.0 for each of these sixteen conversions. This is the registered recipe value, not a claim about custom furnace automation, hook-modified XP or collection behavior.
  3. Check your missing hunger before eating. Cooked fish use the extra healing callback; the raw BasicFood items do not.
  4. Finish the normal food-use action. The cooked callback samples hunger before ordinary consumption, then requests scaled healing afterward. Actual restored health still depends on missing health and gameplay hooks.

These furnace conversions are registered in Java code. Absence from an archive’s crafting-recipe JSON list is not evidence that they are unavailable.

Read the numbers correctly

  • Hunger points: two points equal one full food-bar icon. Food restoration is capped at 20.
  • Saturation modifier: a multiplier, not a direct number of saturation points. The inspected vanilla comparison adds 2 Γ— the food’s hunger value Γ— its modifier, capped by the new hunger level.
  • Healing points: two points equal one heart. The maximum below requires enough missing hunger and enough missing health; it is not guaranteed every time you eat.
  • No instant revival: the helper skips dead entities, entities at zero health, and entities already at maximum health.

Worked example: Rainbowfish

Rainbowfish provides 9 hunger points with a 0.85 saturation modifier and a configured maximum extra healing of 10 health points (5 hearts).

Hunger before eating Missing hunger Hunger restored Extra healing request
11 or less 9 or more 9 10 health points / 5 hearts
15 5 5 about 5.5556 health points / 2.7778 hearts
19 1 1 about 1.1111 health points / 0.5556 hearts
20 0 0 0; explanatory boundary, normal use can be refused

The callback uses maximum healing Γ— min((20 βˆ’ hunger before eating) Γ· food hunger, 1). Its float arithmetic is reproduced in the planner and the 336 bounded cases. It does not use the number of hunger points missing after the meal.

At hunger 19 with zero saturation, the vanilla comparison requests about 15.3 saturation from Rainbowfish even though only one hunger point fits. Saturation uses the full configured food value and is then capped; the special healing calculation instead scales by the missing-hunger fraction. These are deliberately separate calculations.

Sixteen illustrated cooking pairs

The pictures are source-atlas crops composed into original recipe diagrams. They are not screenshots or a simulation of furnace timing. Table modifiers are rounded for readability; exact float values are in the evidence.

Raw β†’ cooked picture Hunger raw β†’ cooked Saturation modifier raw β†’ cooked Maximum cooked healing
Candlefish 1 β†’ 6 0.2 β†’ 0.7 7 health points / 3.5 hearts
Crimson Skipper 1 β†’ 5 0.15 β†’ 0.6 6 health points / 3 hearts
Crimson Stripefish 1 β†’ 4 0.1 β†’ 0.5 5 health points / 2.5 hearts
Dark Hatchetfish 2 β†’ 7 0.2 β†’ 0.75 8 health points / 4 hearts
Fingerfish 1 β†’ 1 0 β†’ 0.2 1 health points / 0.5 hearts
Golden Gullfish 2 β†’ 2 0.1 β†’ 0.4 3 health points / 1.5 hearts
Ironback 3 β†’ 8 0.3 β†’ 0.8 9 health points / 4.5 hearts
Limefish 1 β†’ 1 0.15 β†’ 0.35 2 health points / 1 hearts
Pearl Stripefish 1 β†’ 1 0.05 β†’ 0.35 1 health points / 0.5 hearts
Rainbowfish 3 β†’ 9 0.85 β†’ 0.85 10 health points / 5 hearts
Razorfish 3 β†’ 9 0.3 β†’ 0.85 10 health points / 5 hearts
Rocketfish 1 β†’ 4 0.15 β†’ 0.5 5 health points / 2.5 hearts
Sailback 1 β†’ 2 0.1 β†’ 0.4 2 health points / 1 hearts
Sapphire Strider 2 β†’ 6 0.2 β†’ 0.65 6 health points / 3 hearts
Turquoise Stripefish 1 β†’ 2 0.15 β†’ 0.4 4 health points / 2 hearts
Violet Skipper 1 β†’ 3 0.2 β†’ 0.5 4 health points / 2 hearts

Choose according to the missing hunger

Rainbowfish and Razorfish share the largest configured healing ceiling in this sixteen-fish set, 10 health points, and both restore 9 hunger points. That does not make them the universal best use of a rare catch. When only one hunger point is missing, Turquoise Stripefish requests 4 Γ— 1/2 = 2 health points, while Rainbowfish requests 10 Γ— 1/9 β‰ˆ 1.1111. Limefish also requests 2 health points with its one-point food value. Acquisition, stack supply, health cap and other food effects all matter.

This comparison covers these fish only. It does not rank every AoA food, certify potion interactions, or recommend using food at full hunger.

Restoration and testing boundaries

  • Verify actual food-use eligibility and hooks in the target Forge build; the inspected vanilla ItemFood methods are comparison evidence, not the complete patched runtime.
  • The AoA HealingFood override and healing helper have no explicit local server-side guard. Check authoritative health updates and client prediction rather than concluding that healing is applied twice.
  • Keep pre-meal hunger sampling when preserving historical behavior. Replacing it with post-meal hunger would change the intended fraction.
  • Preserve exact raw/cooked identities, sixteen Java-registered smelts and the difference between saturation modifier and saturation amount.
  • Test nearly-full hunger, low health, full health, zero health, altered maximum health and modded food/healing hooks before claiming runtime parity.

Sources and related guides

Compare modern fish food behavior

Modern fish food, cooking and healing Β· 1.21.1 documents 27 foods and 63 cooking recipes. Generic Cooked Fish and Cooked Rainbowfish have distinct effect and healing behavior; historical per-fish healing values must not be carried across releases.