Sniper Stance Scopes and Inputs 1.12.2 - Herbertofury/Advent-of-Ascension GitHub Wiki
Home · Historical gun inputs · Ammunition checks
Historical snipers: stance, scopes and exact inputs
Minecraft 1.12.2 / AoA 3.3.6. This reference covers 27 direct sniper registrations, their exact scope getters, selected base firing methods and client scope hooks. It is static documentation, not a measured accuracy, damage or compatibility test.

The atlas preserves the original 385×257 source pixels for each overlay. The checkerboard replaces the transparent background only for inspection. It does not depict an actual world, live HUD scaling or a rendered sniper weapon.
Use the intended stance
- Hold the sniper in the main hand. The inspected base right-click path explicitly rejects offhand use rather than calling the ordinary gun's Brace hand selector.
- Wait for fully cooled attack strength.
- Sneak while on the ground to use the base steady-firing branch and the selected client scope flag.
- Check the proper ammunition and its physical count before a small test shot.
- Read your weapon's subclass and scope row below; a shared scope image does not mean identical behavior.
The base use method obtains its ammunition result before its explicit world.isRemote check. Only fireSniper is called inside that server-side branch. As with shotguns, this is an inventory-prediction/synchronization test target, not proof that the server consumes twice.
Steady and unsteady firing are different branches
When the shooter is both sneaking and grounded, the selected base fireSniper path uses getRecoilForShot with the Control multiplier 1 − 0.15 × Control level for the server player's recoil packet.
Otherwise it calls bullet.shoot with 20.0 and 50.0 in the velocity and inaccuracy argument positions, and sends getRecoil() × 2 for the server-player recoil packet. That second packet calculation does not apply the same Control expression in this method.
Do not reinterpret those inputs as exact meters, degrees, hit percentages or a guaranteed recoil curve. The method then attempts to spawn the projectile; acceptance and client presentation remain separate runtime checks.
The early-impact penalty is based on age
BaseSniper.doImpactDamage forwards to the base gun damage path with half the supplied projectile multiplier when bullet.getAge() ≤ 1, otherwise with the unchanged multiplier. This is an age predicate, not a fixed distance measurement or a claim that all subclasses preserve the same outcome.
The constructor damage below is still not final health removed. AoA configuration, projectile multipliers, target defenses, enchantments and subclass impact logic can change it.
Prepare ammunition
The released Metal Slug recipe is a vertical column:
- Iron Ingot at the top
- Limonite Ingot in the middle
- Gunpowder at the bottom
It produces 8 Metal Slugs. Open the illustrated exact recipe.
- 25 inspected snipers inherit the base ammo method: Metal Slugs, amount 1 + Greed level.
- Moon Maker: its override still checks Metal Slugs at that amount, but constructs an EntityMoonMaker projectile.
- Discharge Sniper: its override checks Discharge Capsules and constructs an EntityDischargeSlug.
The shared multi-stack accounting and spawn-acceptance warnings remain relevant. Registration and an ammunition reference do not establish every weapon's Survival acquisition route.
Compare the 27 exact-release references
Each weapon name opens its own source-model portrait and lazy 1.12.2 sniper inputs · scope and stance panel. Use the historical sniper family filter to browse them together.
| Sniper and portrait | Damage input | Delay · ticks | Durability | Recoil input | Scope symbol |
|---|---|---|---|---|---|
| Baron SSR | 35 | 88 | 240 | 20 | REDLIGHT |
| Bayonette SR | 33 | 86 | 300 | 18 | BASIC |
| Bolt Rifle | 30 | 100 | 100 | 26 | BASIC |
| Camo Rifle | 31.5 | 84 | 150 | 19 | DOTTED |
| Clown Cracker | 33.5 | 84 | 305 | 17 | DOTTED |
| Clownimator | 49.5 | 95 | 545 | 18 | DOTTED |
| Crystaneer | 37.5 | 88 | 345 | 21 | CRYSTAL |
| Dark Beast | 50.5 | 96 | 560 | 25 | MONSTER |
| Deadlock | 25.5 | 90 | 120 | 25 | DIAMOND |
| Decimator | 33 | 95 | 180 | 18 | DOTTED |
| Discharge Sniper | 10 | 24 | 540 | 11 | DISCHARGE |
| Dual Sight | 38.5 | 91 | 350 | 30 | DOTTED |
| Duster | 21 | 60 | 170 | 18 | BASIC |
| Floro500 | 37 | 70 | 550 | 13 | FLORO |
| Head Hunter | 41.5 | 92 | 380 | 23 | DOTTED |
| Hive Cracker | 44 | 84 | 555 | 17 | DOTTED |
| Ka500 | 30 | 70 | 360 | 13 | DOTTED |
| Mark Maker | 36.5 | 70 | 530 | 13 | MARKER |
| Mineral | 58.5 | 112 | 560 | 22 | BOULDER |
| Monster | 38 | 96 | 250 | 25 | MONSTER |
| Moon Maker | 38.5 | 70 | 570 | 13 | MOON |
| Rosid Rifle | 45.5 | 102 | 405 | 19 | DOTTED |
| Sabbath | 44 | 97 | 450 | 22 | SCRATCHES |
| Sludge Sniper | 37 | 87 | 350 | 18 | DOTTED |
| Sweet Tooth | 32.5 | 77 | 460 | 17 | CANDY |
| Terminator | 53 | 112 | 470 | 22 | DOTTED |
| Viper-1 | 30 | 89 | 185 | 17 | SCRATCHES |
Scope activation and presentation
The inspected END-phase client tick handler sets isSniping when the player is sneaking, grounded and holding a BaseSniper in the main hand. It selects that weapon's getScreen result. Each of the 27 resolved getters returns one of the 13 scope symbols shown above.
The selected FOV hook sets the event's new-FOV value to 0.2 while isSniping is true. This is the event value, not a standalone camera angle in degrees or a measured zoom ratio. The scope overlay and crosshair-cancellation hooks separately require first-person view; do not assume that the FOV method contains that same first-person guard.
The overlay renderer uses a post-HELMET event, rejects canceled events, and chooses one of the matching released scope textures. Resource packs, other HUD/FOV mods and actual aspect ratios can affect the final presentation. The source atlas is not a compatibility certificate.
Target-build checks
- Main hand versus offhand, grounded crouch versus airborne crouch, and leaving the crouched state.
- First-person versus third-person FOV and crosshair behavior, including other FOV/HUD mods.
- The early age boundary at 0, 1 and 2 without substituting a guessed distance.
- Metal Slugs versus Discharge Capsules, Creative mode, Greed and split-stack payment.
- Stable and unstable recoil with Control, preserving the actual branch distinction.
- Missing or rejected projectile spawns, client inventory correction and subclass impact effects.
Released constructor windows, six base methods, 32 scope/ammo/client method records and 13 texture hashes · Scope-atlas provenance.