Staff Runes Casting and Hand Safety 1.12.2 - Herbertofury/Advent-of-Ascension GitHub Wiki

Home ยท Rune production ยท Historical archerguns

Historical staves: rune costs, casting and hand safety

Minecraft 1.12.2 / AoA 3.3.6. All 57 staff registrations, 134 rune-cost entries and their constant damage getters are checked against released classes. This is a preparation reference, not a claim that all 57 spell effects have been fully documented or tested in a game.

Four historical staff source-model portraits with damage-getter inputs, durability and rune-type counts

Start with the right runes

  1. Find your staff in the table below and gather every rune type shown. Quantities are per-type base requirements, not a total shared among different runes.
  2. Use historical Runation production for the release's checked rune routes. The rune links in the staff's inventory panel lead to the corresponding rune portrait and recipe/drop searches.
  3. For this historical release, keep rune stacks in ordinary inventory slots, rather than either hand, while the hand-routing issue below remains unresolved. This avoids the specific swapped-hand path; it is not a guarantee that every other payment problem is absent.
  4. Check the spell's target/environment requirements. 29 staves declare custom precondition methods; the default method simply returns a non-null object. A rejected custom precondition can prevent the cast before rune payment.
  5. Do not hold a gun or blaster in your main hand while trying to use a staff in the offhand: the base staff use path explicitly rejects that pairing.

Read the per-staff casting requirements and troubleshooting guide.

What a successful base cast does

On the server, the base use method checks the precondition, then requests rune payment with buffs allowed. A null precondition or failed payment returns failure. After payment it may play the casting sound, then sets a 12-tick cooldown, records the use statistic, damages the staff by 1, and finally calls cast.

That order matters when restoring the mod: rune payment and wear happen before the specific spell's cast function. A rejected projectile spawn or a later failure inside that function is not automatically refunded by this base method. Twelve ticks is nominally 0.6 seconds at 20 TPS; it is not measured wall-clock timing or proof that no spell changes its cooldown.

Discounts and Greed

The selected shared helper bypasses rune payment for Creative players. With buffs allowed, each rune type's amount follows:

max(1, base quantity + 2 if Greed is present โˆ’ Archmage level โˆ’ 1 if wearing the full Nightmare set)

The +2 Greed change is triggered by any positive level, not +2 per level. The minimum is one of each required type; discounts do not make a listed rune type free. If allowBuffs is false, this helper copies the base map and bypasses both these discounts and its Greed adjustment.

Base quantity Archmage level Full Nightmare set Greed present Requested per-type amount
2 0 No No 2
2 1 No No 1
2 1 Yes No 1
2 1 Yes Yes 2
4 2 No Yes 4

The accompanying 800-case arithmetic model explores these branches; it does not establish which enchantment levels are obtainable, permitted together or provided by other mods.

Hand-routing defect: exact scope

The released helper's collection phase records OFF_HAND as marker โˆ’1 and MAIN_HAND as marker โˆ’2. Its consumption phase reads MAIN_HAND for โˆ’1 and OFF_HAND for โˆ’2. Those are opposite hands.

For example, with a staff in the main hand and a sufficient required rune stack in the offhand, the collected โˆ’1 marker leads the consumption path to fetch the staff and cast its item to RuneItem. This is a source-backed unsafe cast path. It has not been reproduced in a running game here, so it is recorded as a restoration defect/test target rather than a claim about your current Enderloom build.

A proper fix must keep collection and consumption tied to the same physical stack, account for hand/inventory aliases once, validate all required quantities before mutation, and test insufficient inventories without partial loss. Merely swapping variable names would not prove that every aliasing issue is resolved.

All 57 staff inputs

36 of these damage getters return zero. That does not mean their spells do nothing: effects, summons, healing and other behavior can live in cast/projectile/impact methods. Use the table for supplies and reference inputs, not a damage tier list.

Staff and portrait Damage getter Durability Base rune costs
Aquatic Staff 10 1220 2 Wind Rune; 4 Water Rune; 1 Kinetic Rune
Atlantic Staff 0 1250 1 Distortion Rune; 2 Energy Rune; 2 Storm Rune
Baron Staff 12 1200 2 Wind Rune; 3 Power Rune
Candy Staff 0 950 3 Kinetic Rune; 2 Storm Rune
Celestial Staff 11 1150 1 Compass Rune; 2 Lunar Rune; 2 Energy Rune
Concussion Staff 0 1150 4 Power Rune; 4 Storm Rune
Coral Staff 0 950 2 Water Rune; 8 Kinetic Rune
Crystal Staff 0 1230 2 Distortion Rune; 5 Life Rune
Crystik Staff 0 1140 2 Distortion Rune; 1 Life Rune; 1 Water Rune
Cryston Staff 0 1240 2 Distortion Rune; 4 Energy Rune
Destruction Staff 0 1170 2 Power Rune; 2 Energy Rune
Ember Staff 0 1400 1 Kinetic Rune; 1 Wind Rune; 1 Fire Rune
Everfight Staff 0 1050 4 Kinetic Rune; 4 Power Rune
Evermight Staff 0 1050 2 Distortion Rune; 4 Power Rune
Fire Staff 5 850 2 Wind Rune; 2 Fire Rune
Firefly Staff 11 1230 2 Wind Rune; 2 Strike Rune; 1 Fire Rune
Firestorm Staff 16 990 1 Compass Rune; 2 Fire Rune; 2 Lunar Rune
Fungal Staff 0 1130 5 Distortion Rune; 2 Life Rune
Ghoul Staff 0 400 2 Wind Rune; 1 Distortion Rune; 2 Life Rune
Haunter's Staff 13 1225 4 Wind Rune; 4 Energy Rune
Hive Staff 0 1130 10 Energy Rune; 2 Life Rune
Joker Staff 0 300 4 Wind Rune; 4 Kinetic Rune
Kaiyu Staff 0 900 1 Kinetic Rune; 4 Energy Rune
Lightning Staff 0 1070 1 Compass Rune; 4 Strike Rune; 4 Storm Rune
Lightshine 0 700 3 Power Rune; 3 Life Rune; 2 Distortion Rune
Lunar Staff 16 1250 1 Compass Rune; 2 Lunar Rune
Lyonic Staff 0 1100 1 Energy Rune; 1 Wind Rune; 2 Wither Rune; 1 Strike Rune
Mecha Staff 0 1110 2 Wind Rune; 1 Distortion Rune; 1 Power Rune
Meteor Staff 14 1190 1 Compass Rune; 2 Lunar Rune; 2 Kinetic Rune
Moonlight Staff 0 1130 1 Compass Rune; 2 Lunar Rune; 2 Kinetic Rune
Nature Staff 0 1450 4 Life Rune; 2 Energy Rune
Nightmare Staff 14 1200 1 Compass Rune; 2 Lunar Rune; 2 Poison Rune
Noxious Staff 3.5 1210 2 Wind Rune; 2 Poison Rune; 2 Storm Rune
Phantom Staff 12 1060 2 Wind Rune; 2 Distortion Rune
Poison Staff 5 850 2 Wind Rune; 2 Poison Rune
Power Staff 8 1010 2 Wind Rune; 2 Power Rune
Primordial Staff 15 1230 2 Wind Rune; 2 Wither Rune
Reef Staff 0 1230 2 Energy Rune; 1 Water Rune
Rejuvenation Staff 0 870 4 Life Rune; 2 Energy Rune
Rosidian Staff 10.5 1180 3 Wind Rune; 2 Water Rune; 1 Life Rune
Runic Staff 0 1000 5 Distortion Rune
Shadowlord Staff 0 1200 10 Wither Rune; 2 Life Rune
Show Staff 0 900 3 Compass Rune; 3 Power Rune
Shyre Staff 0 1380 3 Energy Rune; 3 Distortion Rune
Sky Staff 0 1480 2 Wind Rune; 2 Kinetic Rune; 1 Energy Rune
Striker Staff 0 850 2 Strike Rune
Sun Staff 0 960 2 Fire Rune; 1 Storm Rune; 3 Lunar Rune
Surge Staff 0 1270 4 Power Rune; 1 Energy Rune
Tangle Staff 9 1140 2 Wind Rune; 2 Poison Rune; 1 Storm Rune
Ultimatum Staff 0 750 5 Life Rune; 3 Power Rune; 8 Distortion Rune
Underworld Staff 5 1140 1 Compass Rune; 3 Kinetic Rune
Warlock Staff 0 1050 3 Power Rune; 2 Kinetic Rune
Water Staff 5 850 2 Wind Rune; 2 Water Rune
Web Staff 0 1420 4 Distortion Rune; 4 Energy Rune
Wind Staff 5 850 3 Wind Rune
Wither Staff 5 850 2 Wind Rune; 2 Wither Rune
Wizard's Staff 0 800 3 Life Rune; 3 Power Rune; 3 Distortion Rune

Restoration acceptance checklist

  • Compare all 57 identities, durability inputs and 134 rune entries against this release before changing spell balance.
  • Test plain inventory rune stacks, partial stacks, extra rune types, both hands and aliases to inventory slots.
  • Test Creative, buffs disabled, Greed, Archmage and full/incomplete Nightmare sets independently.
  • Verify custom precondition failures leave payment, wear and cooldown unchanged.
  • Separately test a spell whose later spawn/action fails, because the base method pays first.
  • Give every spell an individual effect review before claiming complete combat, utility or multiplayer coverage.
  • Preserve rune-based casting in optional weapon remodels. A reload animation should not silently add a magazine requirement.

Released constructor, rune and casting evidence ยท Arithmetic and hand-routing models ยท Source-model crop provenance.