
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.
integration bridges, Airdrops, WorldGuard, and Vehicle MC
Duck Shot already exposes real ecosystem hooks. The plugin is not isolated to one folder of weapon files. It can cooperate with other systems when you wire the support files correctly.
The main public bridge file is integrations.yml, and the default config already shows three important lanes:
- MCWAR Airdrops cooperation
- WorldGuard safety guards
- the wider combat path that cooperates with Vehicle MC
The global integration file
At the top level, integrations.yml is intentionally safe to ship even when the other plugin is absent.
airdrops:
enabled: true
plugin_names:
- "MCWAR-Airdrops"
default_mode: RANDOM_WEIGHTED
Â
world_guard_guards:
enabled: true
plugin_names:
- "WorldGuard"That matters because Duck Shot fails open or disables the bridge gracefully instead of breaking the whole weapon stack when the integration target is not installed.
Airdrops integration
The default config already shows a real Airdrops bridge:
airdrops:
enabled: true
plugin_names:
- "MCWAR-Airdrops"
default_mode: RANDOM_WEIGHTED
default_crate_type: ""
actionbar_feedback:
enabled: true
template: "<gold>Airdrop Called</gold> <gray>{mode}</gray> <white>{crate}</white>"
duration_ticks: 45Interpretation:
- Duck Shot can detect the airdrops plugin by name
- a weapon can opt into multiple trigger modes
- the bridge can show player feedback without you building that UI by hand
Weapon-level Airdrops behavior
The actual weapons can opt into the bridge individually.
Airstrike marker style integration
integrations:
airdrops:
enabled: false
mode: CALLIN_TORCH
crate_type: ""
trigger_on_block_hit: true
trigger_on_entity_hit: true
require_tagged_projectile: true
suppress_duckshot_impact_flow: trueInterpretation:
- the weapon can be an Airdrops trigger item
- block hit and entity hit can both be valid triggers
- you can require a tagged projectile for safety
- you can either keep or suppress the normal Duck Shot impact path
Flare-gun style integration
integrations:
airdrops:
enabled: true
mode: CALLIN_FLAREGUN
trigger_on_block_hit: true
trigger_on_entity_hit: true
require_tagged_projectile: true
suppress_duckshot_impact_flow: falseThis is the stronger public pattern when you want:
- normal flare visuals
- but upgraded crate-call behavior when the loaded ammo is the right tagged item
WorldGuard guards
The WorldGuard side is a true safety layer, not a cosmetic integration.
The example structure:
world_guard_guards:
enabled: true
register_custom_flags: true
default_allow_if_unset: true
ignore_player_bypass: false
flags:
use_weapon: "duckshot-use-weapon"
shoot: "duckshot-shoot"
explosion_block_damage: "duckshot-explosion-block-damage"
projectile_entity_damage: "duckshot-projectile-entity-damage"This lets you separate:
- whether a weapon can be used at all
- whether shooting is allowed
- whether explosions may break blocks
- whether projectile impacts can hurt entities
- whether impact FX can spawn
That is exactly the kind of split you want on a production server.
Duck Shot and Vehicle MC cooperation
The cross-plugin contract continues on the Vehicle MC side in duckshot_bridge.yml.
Vehicle MC's current bridge file exposes:
duckshotBridge:
enabled: true
doubleHitGuardTicks: 4
duckshotToVehiclemc:
readProjectiles: true
readExplosions: true
readPlantedAndLoose: true
defaultExplosionDamage: 45.0
defaultExplosionRadius: 4.0
vehiclemcToDuckshot:
enabled: true
routeExplosiveWeapons: trueInterpretation:
- Duck Shot projectiles can be read into vehicle damage
- Duck Shot explosive objects can damage vehicles
- Vehicle MC can route armed-vehicle behavior back into the wider combat stack
This is why the two plugins should be documented as cooperating systems, not as unrelated downloads.
Recommended split of responsibility
Use Duck Shot for:
- weapon authoring
- projectile behavior
- airstrike marker logic
- support items and call-in tools
Use Vehicle MC for:
- vehicle instance state
- vehicle HP and components
- driver and passenger workflow
- vehicle-specific UI and service infrastructure
Use the bridge when:
- the gunfire must affect vehicles
- the vehicle should behave like part of the same combat ecosystem
Common design mistakes
Turning every integration into one giant weapon file
Keep global discovery and safety in integrations.yml, then let the individual weapon opt in only where it needs to.
Mixing region safety into weapon content
WorldGuard permissions belong in the guard file, not buried across a hundred weapons.
Forgetting feedback
If an Airdrops trigger succeeds, show the player something. The example action-bar feedback block is already designed for that.
Suggested order
- enable the global bridge in
integrations.yml - confirm the target plugin name is correct
- wire one weapon into the bridge
- test both block-hit and entity-hit behavior
- add region guards before public rollout

