Archergun Ammunition and Special Effects 1.12.2 - Herbertofury/Advent-of-Ascension GitHub Wiki
Home · Historical gun firing · Historical bows
Historical archerguns: arrows, trajectories and special effects
Minecraft 1.12.2 / AoA 3.3.6. All nine direct archergun registrations are matched to released constructors and exact item identities. The selected base, subclass and projectile methods are also recorded. These are static release references, not final damage, measured DPS or a running-game certification.

First use: prepare arrows, not a draw animation
- Select the 1.12.2 release in the inventory and recipe explorers. Later crossbows are a separate release family; similarly named weapons are not a reason to substitute their behavior.
- Craft Holly Arrows: place Iron Nugget, Stick, Holly Top Petals vertically, in that order, for four Holly Arrows. Open the illustrated exact recipe.
- Eight of the nine entries request 1 + Greed level Holly Arrows through the shared inventory helper. This is an exact item-stack matching route, not the bow's wider HollyArrow-class search. Do not assume Pop Shots or tipped variants are accepted.
- Spectral Archergun creates its projectile without an inventory-item payment call in its override. That does not remove the inherited firing gates, cooldown or durability handling.
- Follow the gun firing requirements and split-stack warning. These weapons inherit BaseGun's firing path; the 1.12.2 bow charge/release formula does not apply to them.
All nine entries
Open a weapon name to see its source-model portrait, exact recipe/drop searches and lazy 1.12.2 archergun inputs · arrows and special effects panel.
| Weapon and portrait | Damage input | Delay · ticks | Durability | Recoil input | Selected ammo method |
|---|---|---|---|---|---|
| Coral Archergun | 13 | 12 | 600 | 3 | Holly Arrow |
| Lunar Archergun | 10.5 | 12 | 1530 | 3 | Holly Arrow |
| Mecha Archergun | 11.5 | 16 | 1300 | 3 | Holly Arrow |
| Pyro Archergun | 7.5 | 12 | 950 | 3 | Holly Arrow |
| Rosidian Archergun | 9 | 12 | 1280 | 3 | Holly Arrow |
| Skeletal Archergun | 8.5 | 12 | 1100 | 3 | Holly Arrow |
| Spectral Archergun | 6.5 | 8 | 1600 | 3 | No item consumed by selected method |
| Trolls Archergun | 9.5 | 16 | 800 | 3 | Holly Arrow |
| Viral Archergun | 9 | 12 | 1250 | 3 | Holly Arrow |
Trajectory: Lunar is a real exception
- The ordinary base ammo method creates EntityHollyArrowShot with constructor inputs
maxAge = 120andpiercingValue = 0, then adds 0.25 to its vertical motion. Spectral uses the same projectile and vertical adjustment. - The ordinary projectile's gravity getter returns the float value approximately 0.05.
- Lunar Archergun creates EntityLunarHollyArrowShot instead. Its gravity getter returns 0, and the inspected Lunar ammo method does not add the base method's 0.25 vertical adjustment.
These facts describe the selected code paths. They do not establish an exact travel distance, constant speed through every collision, or a measured six-second useful range. Projectile updates, collision handling, server ticks and other mods still matter.
Effects: when the hit hook actually runs
| Weapon | Checked behavior | Important ordering or limit |
|---|---|---|
| Coral | Requests Slowness, 40 ticks, amplifier 2, on a living target | Happens before delegating to the base damage method; it is not gated by the base damage helper's success result |
| Pyro | Calls the target's fire method with 5 seconds when the target is living | Runs from the successful base damage-effect hook; fire immunity and other defenses still apply |
| Rosidian | Rolls nextInt(8) == 0, then requests healing of 1 health point for the shooter |
A 1-in-8 roll per eligible effect-hook call, not guaranteed every eighth shot and not 1 full heart |
| Viral | Requests Poison, 40 ticks, amplifier 2, with ambient and particle flags true | Runs from the successful base damage-effect hook on a living target; potion acceptance is separate |
| Mecha, Skeletal, Troll's | No declared special impact or ammo override among the checked behavior methods | Do not invent an extra ability from their names |
| Lunar | Uses the zero-gravity projectile described above | Not a bow draw-speed upgrade |
| Spectral | Skips the inventory-item payment in its ammo method | Does not create a survival arrow-farming promise |
Amplifier 2 corresponds to level III in ordinary potion naming; 40 ticks is nominally two seconds at 20 TPS. Neither guarantees that a target accepts or retains the effect for that wall-clock duration.
Damage multiplier caveat for restoration
The selected BaseArchergun.doImpactDamage passes the float-converted damage getter directly to dealRangedDamage. It does not multiply that damage by the incoming bulletDmgMultiplier. It forwards the multiplier to the effect hook only after the helper reports success. A nonliving-target fallback also uses the damage getter.
Do not copy the ordinary BaseGun multiplier formula onto archerguns or promise that a modifier changes final damage without tracing its route. The inherited getter can still apply AoA's hardcore setting; the constructor table is not the final health change. Target defenses and external hooks remain relevant.
Block impacts and arrow recovery
After the ordinary projectile delegates to BaseBullet's impact method, it attempts to create an in-ground Holly Arrow only when all three checks hold: server side, projectile marked dead, block hit. It copies the motion fields and attempts a world spawn.
- A Creative player shooter or the Spectral Archergun changes that new arrow's pickup status to CREATIVE_ONLY.
- Therefore Spectral's ammo-free shots are not evidence of free recoverable Survival ammunition.
- The selected method does not verify that the world accepted the replacement arrow. Other cases leave pickup behavior to the created arrow's defaults and subsequent processing; a guaranteed refund is not established here.
- Entity hits do not take this block-recovery branch.
Practical test and porting checklist
- Start with a small known Holly Arrow balance, then compare Greed and split-stack inventories.
- Compare Lunar and ordinary trajectories on a safe test range without assuming an exact range from maxAge.
- Test Coral against damage-rejecting targets separately from Pyro, Viral and Rosidian because the effect ordering differs.
- Check Spectral with zero ammo, then verify cooldown, durability and Creative-only block-arrow pickup separately.
- Record normal/hardcore damage and any projectile multiplier independently.
- Preserve these resource and effect semantics in optional TaCZ-quality remodels; reload animations remain optional.
Released registration, identity, base and projectile evidence · Source-model crop provenance.