Skip to main content
Duck Shot wiki

Wiki

Duck Shot Wiki

Public setup, weapon authoring, combat systems, particles, admin help, and troubleshooting for Duck Shot.

Getting Started

Start here for installation, first boot, and your first working Duck Shot weapon.

Example Library and Pack Planning

Separate the public starter pack, the deeper example library, and your own server-only content so the docs stay honest and useful.

Server Operations

Handle permissions, runtime tools, integrations, and real troubleshooting on live servers.

Combat Systems

Explosive Payloads, Clusters, and Strike Recipes

Author explosive ammo branches, launcher payloads, cluster effects, and heavier projectile-side explosive choreography without losing readability.

Duck Shot has multiple explosive layers, and they should not all be authored the same way.

This page is the public guide to the explosive side that belongs on the weapon or projectile itself:

  • explosive ammo branches
  • explosive launcher payloads
  • cluster munitions
  • artillery-style shell behavior
  • impact choreography that is still part of the projectile, not a remote support-caller flow

Airstrike callers and Sky Select support items are covered separately in sky Select, Airstrikes, and Support Callers.

Start with the explosive job

Ask what the explosive is supposed to be.

Is it:

  • one stronger hit on a normal firearm
  • a projectile payload from a launcher
  • a grenade or shell that splits into fragments
  • a planted charge or mine
  • a remote support strike

If you answer that first, the config path gets much clearer.

Explosive ammo is the lightest-weight branch

Explosive ammo is the right answer when the player should still think:

  • same gun
  • different round

The example ammos.yml already uses that pattern for explosive rifle, SMG, sniper, revolver, and arrow branches.

The explosive ammo variants commonly override:

  • explosion_enabled
  • explosion_power_override
  • explosion_break_blocks
  • explosion_set_fire
  • explosion_ripple.*
  • explosion_water.*
  • impact_v2_profiles
  • impact sound scaling

That means the round can feel explosive without forcing you to clone the whole firearm.

Use launcher payloads when the projectile is the fantasy

If the player is supposed to feel like they are firing a rocket, shell, or payload head, put the explosive identity on the projectile branch instead of hiding it inside ammo.

Good examples:

  • launcher branches
  • shell branches
  • payload arrows
  • specialized support shells

This is the right design lane when the projectile body, travel feel, and impact choreography matter just as much as the damage.

Cluster payloads are a different design language

CLUSTER_GRENADE.yml is a very different design from a normal explosive.

Important cluster knobs include:

  • count
  • fuse_ticks
  • waves
  • wave_delay_ticks
  • spread_radius
  • spread_height
  • submunition speed
  • submunition gravity
  • submunition power

Interpretation:

  • count controls how dense the breakup feels
  • waves decides whether it pops once or chains outward
  • spread_radius controls how much area the fragments occupy
  • spread_height decides whether the breakup feels flat, arcing, or chaotic

When cluster is the right answer

Use cluster when:

  • the follow-up chaos is the point
  • you want area denial
  • the initial explosion should not be the whole story

Do not use cluster when:

  • all you really want is a stronger grenade
  • the item needs to stay easy to read instantly
  • you do not actually want delayed secondary pressure

Copyable explosive ammo branch

Use this when the base firearm should stay recognizable and only the payload should change.

YAML
ammo_types:
  HEAVY_RIFLE:
    material: MAGENTA_DYE
    display_name: <#B39DDB>Heavy Rifle Magazine
    variants:
      EXPLOSIVE:
        custom_model_data: 17
        display_name: <#FF8A65>Heavy Rifle Mag (Explosive)
        loaded_label: <#FF8A65>Explosive
        lore:
          - <gray>Small area payload with brighter impact effects.
        overrides:
          damage_multiplier: 1.08
          explosion_enabled: true
          explosion_power_override: 0.88
          explosion_break_blocks: false
          explosion_set_fire: false
          impact_sound:
            enabled: true
            replace_default: false
            key: minecraft:entity.generic.explode
            volume: 0.45
            pitch: 1.25
          impact_v2_profiles:
            - explosion.duck.cinematic.v2.urban.debris

Why this works:

  • the weapon still reads like the same weapon
  • the round clearly announces itself
  • the destructive behavior stays controlled

Copyable cluster grenade pattern

Use this when fragmentation is the real fantasy.

YAML
projectile:
  type: THROWN_DISPLAY
  speed: 1.05
  gravity: true
  explosion:
    power: 2.6
    break_blocks: false
    plant:
      enabled: true
      fuse_ticks: 34
      sticky: false
    cluster:
      enabled: true
      count: 8
      waves: 2
      wave_delay_ticks: 6
      spread_radius: 4.8
      spread_height: 1.6
      submunition_speed: 0.92
      submunition_gravity: true
      submunition_power: 2.3

Why this works:

  • the first bounce is readable
  • the split is large enough to matter
  • the follow-up danger comes from the bomblets, not from one giant blast

Copyable launcher payload pattern

Use this when the projectile itself is the item fantasy.

YAML
projectile:
  type: PROJECTILE_V2
  profile: rocket.standard
  explosion:
    power: 4.2
    break_blocks: false
    set_fire: false
    water:
      enabled: true
      power_multiplier: 0.45
      no_block_damage: true
    blocks:
      enabled: true
      shape: CRATER
      radius_x: 4.5
      radius_y: 3.0
      radius_z: 4.5
      max_depth: 6
      rebuild_delay_ticks: 180
      rebuild_duration_ticks: 160

Why this works:

  • the projectile can still behave like a launcher round
  • the impact can feel heavy without turning the map into permanent damage
  • water and terrain behavior stay readable

Heavy payloads should scale more than damage

If you move from a light explosive rifle mag to a sniper payload or launcher shell, do not only change the power number.

Scale the whole presentation:

  • impact sound
  • ripple size
  • water behavior
  • crater size
  • visual profile
  • delay or whistle

Heavier payloads should sound heavier and read heavier.

Strikes and explosive projectiles are not the same thing

A projectile can still have a very cinematic blast without becoming a support caller.

Keep it on the projectile side when:

  • the player is directly firing the payload
  • the item fantasy is still "weapon shot"
  • there is no separate targeting session

Move to the support-caller side when:

  • the player is picking a location from above
  • aircraft or mortar choreography is the real fantasy
  • warning windows and strike limits become the main design problem

Good explosive authoring order

  1. decide whether the explosive belongs on ammo, projectile, or planted device
  2. get one readable impact working
  3. add sound and particles
  4. add ripple, crater, or water behavior
  5. add cluster logic only if delayed pressure is truly needed

That order keeps the config readable.

Common mistakes

Using a full cluster layout for a simple grenade

If the item should explode once, let it explode once.

Turning every explosive into block damage

Terrain damage should be a deliberate gameplay choice, not the default.

Copying a support-strike file to build a launcher

If the player is firing the explosive directly, start from the projectile or ammo branch instead.

Adding spectacle before the base impact feels right

If the blast timing is unclear, bigger particles do not save it.