
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.
Weapon Authoring
Learn the actual weapon-file structure, support files, and player-side feedback systems.
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.
Combat Systems
Tune firing, impacts, special utility items, and the Particles v2 effect stack.
Server Operations
Handle permissions, runtime tools, integrations, and real troubleshooting on live servers.
Duck Shot's editor templates are the cleanest way to start a new item without dragging old baggage into the file.
The important idea is simple:
- start from the template that already matches the item family
- get one working item first
- add only the systems that actually belong on that item
That approach keeps your pack readable and makes later tuning much easier.
Which template should you start from?
Use this quick rule:
gun_base.ymlfor firearmsthrowable_base.ymlfor grenades, shells, simple planted charges, and throwable explosivesconsumable_base.ymlfor med kits and one-use support itemsgrapple_base.ymlfor traversal tools, recovery tools, and hook-style utility itemsplantable_mountable_base.ymlfor mounted devices, plantable launchers, mortars, and sky-select hardware
If an item feels hard to organize, the usual problem is that it started from the wrong template.
gun_base.yml
This is the right starting point for most rifles, SMGs, pistols, LMGs, DMRs, and shotguns.
id: NEW_GUN
enabled: true
category: RIFLE
tier: COMMON
classifications:
- primary
- rifle
Â
display:
name: '<green>New Gun'
material: SHEARS
custom_model_data: 1
Â
ammo:
type: RIFLE
magazine_size: 30
Â
reload:
ammo_consumption_mode: INHERIT
duration_ticks: 40
Â
fire:
mode: SEMI
shots_per_second: 4.0
projectiles_per_shot: 1
Â
projectile:
type: ARROW
speed: 10.0
gravity: false
Â
damage:
base: 5.0Why this template works:
- it already has the normal firearm identity blocks
- it already has ammo, reload, fire, projectile, and damage in the right order
- it stays small enough that you can tell what changed
Best first edits:
- set the correct
classifications - tune
ammo.typeandmagazine_size - decide whether the weapon is
SEMI,BURST, orAUTO - add
aim,recoil,sounds, andparticles_v2only after the weapon fires correctly
Go deeper here:
throwable_base.yml
This is the clean starter for grenades, explosive shells, and simple throwable devices.
id: NEW_THROWABLE
enabled: true
category: EXPLOSIVE
tier: COMMON
classifications:
- throwable
- explosive
Â
visual_key: grenade
Â
display:
name: '<green>New Throwable'
material: SHEARS
custom_model_data: 1
Â
throwable:
enabled: true
fuse_ticks: 60
Â
projectile:
type: ITEM
speed: 1.0
gravity: true
Â
explosion:
enabled: true
power: 2.0
break_blocks: falseWhy this template works:
- it starts from a thrown item instead of pretending the item is a rifle
- it already uses a
throwableblock and an explosive branch - it keeps the default world damage conservative
Best first edits:
- set the
fuse_ticks - decide whether the projectile should bounce, stick, plant, or explode on impact
- tune
break_blocksand any block-breaking rules carefully before going live - add sound stages and particle stages after the gameplay loop works
Go deeper here:
- throwables, Explosives, and Flashbangs
- explosive Payloads, Clusters, and Strike Recipes
- block Breaking, Restoration, and Craters
consumable_base.yml
This is the starter for bandages, med kits, and other use-once support items.
id: NEW_CONSUMABLE
enabled: true
category: CONSUMABLE
tier: COMMON
classifications:
- consumable
Â
visual_key: medkit
Â
display:
name: '<green>New Consumable'
material: PAPER
custom_model_data: 1
Â
consumable:
enabled: true
heal_hearts: 2.0
use_duration_ticks: 20Why this template works:
- it avoids firearm-only branches that would just add noise
- it already frames the item as a support tool
- it is small enough to expand into healing, buffs, or special-use items later
Best first edits:
- decide whether the item heals, buffs, cleanses, or triggers a utility effect
- set a
classificationthat fits the slot and category behavior you want - add simple feedback first, then move into staged sounds or particles
Go deeper here:
grapple_base.yml
This is the dedicated base for movement tools and pull-based utility items.
id: NEW_GRAPPLE
enabled: true
category: CONSUMABLE
tier: COMMON
classifications:
- support_item
- tool
- grapple
Â
visual_key: grapple_default
Â
ammo:
type: DEV
magazine_size: 5
Â
fire:
mode: SEMI
shots_per_second: 4.0
Â
projectile:
type: ARROW
speed: 1.0
gravity: false
Â
grapple:
enabled: true
range_blocks: 56.0
cooldown_ticks: 8
allow_blocks: true
allow_items: true
allow_mobs: true
allow_players: falseWhy this template works:
- it already includes the special movement branch
- it separates target permissions from movement behavior
- it gives you clear places to tune travel distance, arrival behavior, and recovery
Best first edits:
- choose whether the grapple is for mobility, retrieval, or both
- tighten
range_blocksand cooldown before adding fancy visuals - decide whether players, mobs, items, or only blocks are allowed targets
- tune arrival distances before changing pull speed
Go deeper here:
- grapples and Tools
- input Binds, Consumables, and Alt Actions
- conditional Rules and Context-Aware Weapons
plantable_mountable_base.yml
This is the correct base for mounted launchers, deployable devices, mortar stations, and sky-select equipment.
id: NEW_PLANTABLE_DEVICE
enabled: true
category: PLANTABLE
tier: COMMON
classifications:
- "%category%"
Â
visual_key: mounted_device_alpha
Â
plantable:
enabled: true
placement:
allowed_faces: [up]
max_range_blocks: 5
Â
mountable:
enabled: false
Â
sky_select:
enabled: false
camera_height_blocks: 80
max_radius_blocks: 96
confirm_action: MORTAR_IF_AVAILABLEWhy this template works:
- it already separates placement, mounted behavior, and sky-select behavior
- it can stay a simple placeable prop or grow into a full support device
- it keeps the hardware flow readable instead of burying everything in the projectile block
Best first edits:
- decide whether the item is only plantable, only mountable, or both
- enable
sky_selectonly if the device actually needs remote targeting - keep the first version safe and simple before adding large payload chains
Go deeper here:
Good template workflow
The cleanest build order is:
- choose the right base template
- rename the item and fix its identity blocks
- make the item function with the smallest possible feature set
- add sound, particles, visual states, and conditions only after the base item works
- compare the finished file against a similar included example
That order prevents one of the most common Duck Shot problems: trying to tune polish on an item that still does not have a stable baseline.
Common template mistakes
Starting from a rifle for every item
This usually creates bloated throwables, ugly support tools, and hard-to-read utility devices.
Adding every advanced system on day one
A small clean base file is easier to debug than a huge file with ADS, recoil, visuals, conditional rules, explosive branches, and staged FX all at once.
Leaving the wrong classifications in place
If the template classification does not match the real item family, the item can end up in the wrong menu, wrong slot logic, or wrong lore placeholders.

