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.

Thirteen original sniper scope textures over a documentation checkerboard

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

  1. 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.
  2. Wait for fully cooled attack strength.
  3. Sneak while on the ground to use the base steady-firing branch and the selected client scope flag.
  4. Check the proper ammunition and its physical count before a small test shot.
  5. 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:

  1. Iron Ingot at the top
  2. Limonite Ingot in the middle
  3. 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.