
Wiki
Duck Blocks Wiki
In-world machines, trigger systems, moving structures, redstone logic, and the public Duck Blocks authoring workflow.
Getting Started
Start here for first boot, the file split, server-wide defaults, and the real saved trigger shape.
In-Game Authoring
Build DuckBlocks live through the admin menu, trigger editor, display editor, and machine-by-machine editor flow.
Placeholders and Context
Understand player context, built-in tokens, and how Duck Blocks hands finished commands into the rest of the server.
Trigger Logic and Motion
Control how DuckBlocks fire, sequence, move, and carry players through the world.
YML File Guides
Jump straight into the reusable preset files that make a large Duck Blocks library maintainable.
Runtime and Troubleshooting
Understand what gets saved, what the carry logs mean, and how to troubleshoot live Duck Blocks cleanly.
duckblocks.yml is the actual machine library. Every trigger you create in the GUI eventually lands here.
That means this file is the bridge between the in-game editor and the durable content pack you can version, move, or review.
Top-level file shape
schema: 9
triggers:
- sid: 1
commands: [item]
execMode: CONSOLEThe file has a schema number and then a trigger list. Everything else is per-trigger data.
The trigger fields that matter most
Most public Duck Blocks work can be understood in these groups:
Trigger behavior
commandsexecModeexecDelayMscooldownMscooldownScopeoneTimeoneTimeScopetitle
Redstone behavior
redstoneEnabledredstoneEdgeredstoneDebounceMsredstonePerPlayerredstoneRangeredstoneMaxTargetsredstoneSkipIfEmptyrequirePlayerPlaceholder
Visual and hitbox behavior
renderModeinteractionWidthinteractionHeightdisplayTextdisplayItemdisplayBlockDatadisplayScaledisplayBillboarddisplayInterpolationDuration- offsets and rotations
Advanced systems
animationstimelinestravelmodelEngine
Those fields are the reason Duck Blocks scales beyond simple buttons. They are also the fields most worth learning through the GUI first and by hand later.
Example: a simple visible trigger
triggers:
- sid: 3
commands:
- "db:message You found the control panel."
- "db:sound UI_BUTTON_CLICK vol=1.0 pitch=1.0 audience=player mode=origin range=0"
execMode: CONSOLE
cooldownMs: 0
oneTime: false
redstoneEnabled: false
renderMode: DISPLAY_ITEM
interactionWidth: 1.4
interactionHeight: 1.4
displayScale: 1.0This is the correct style when you only need a visible prop that reacts to interaction.
Example: a moving display block
Your live Duck Blocks config already shows the larger travel structure clearly:
travel:
enabled: true
trigger: CLICK
mode: LOOP
speed: 1.5
smooth: true
activeRangeBlocks: 128.0
walkable: false
mountable: false
waypoints:
- x: 70.93
y: 2.96
z: 893.17
- x: 68.75
y: 2.88
z: 890.5That is the shape you use for moving props, looping patrol paths, and environmental machines.
Example: a rideable moving structure
Your live file also shows the more advanced platform shape:
travel:
enabled: true
mode: LOOP
walkable: true
walkRadiusX: 1
walkRadiusZ: 1
walkYOffset: 0
walkPlatformType: COLLIDER_SHULKERS
carryMode: SMART
walkLevitationAssist: true
mountable: true
mountSneakToMount: trueThis is the family of settings that turns a moving display into a structure players can stand on or ride.
Example: a live animated nearby machine
Your live file also shows the layered style Duck Blocks is built for:
animations:
- name: "Spin - Always"
type: SPIN
mode: ALWAYS
- name: "Pop - On Activate"
type: POP
mode: ACTIVATE
timelines:
- name: sound
enabled: true
trigger: NEARBY
loop: true
loopDelayTicks: 1
range: 5.0
steps:
- type: EFFECT_LINE
line: "db:sound BLOCK.POWDER_SNOW.PLACE vol=2.15 pitch=0.45 range=25 oy=0.10"This is the kind of split that keeps a machine readable:
- animations for idle or activation motion
- timelines for staged nearby behavior
db:lines for the actual local feedback
How to think about YAML edits safely
The safest workflow is:
- create or edit the block in the GUI
- confirm it works in-game
- read the saved YAML
- make careful hand edits only when you now understand the saved shape
That protects you from writing giant blocks of YAML without knowing what the editor would have produced.

