Authoritative Examples
Reference implementations
Start from the empty template. The table names typical files in the current default content pack. If you have a matching version of that pack, use it for comparison, but do not copy its namespace and IDs unchanged.
| Type | Behavior file | Render file |
|---|---|---|
| Assault rifle / detachable-mag long gun | weapons/firearms/m4.json | weapons/firearms/render/m4.render.json |
| Pistol | weapons/firearms/staccato_2011_p.json | weapons/firearms/render/staccato_2011_p.render.json |
| Tube-fed shotgun | weapons/firearms/m590a1.json | weapons/firearms/render/m590a1.render.json |
| Bolt-action rifle | weapons/firearms/cheytac_m200.json | weapons/firearms/render/cheytac_m200.render.json |
| Standalone melee | weapons/melee/karambit.json | weapons/melee/render/karambit.render.json |
| Magnified optic | attachments/sights/sz_bullseye_optic.json | attachments/render/sights/sz_bullseye_optic.render.json |
| Laser | attachments/lasers/1mw_laser_box.json | attachments/render/lasers/1mw_laser_box.render.json |
Large box magazine (xmaglrg) | attachments/magazines/m4_xmaglrg.json | attachments/render/magazines/m4_xmaglrg.render.json |
Drum magazine (drummag, model/module definition) | attachments/magazines/rm277_drummag.json | attachments/render/magazines/rm277_drummag.render.json |
| Ammunition | bullets/5_56x45.json | Same file contains model/material declarations |
Paths are relative to the current default content pack. The public Wiki provides an asset-free empty template so the guide does not depend on a removed or version-mismatched example link. Current Wiki rules and loader validation are authoritative.
Legacy fields not to use
The following names are ignored or explicitly removed legacy syntax. Do not add them to new packs; retain current fields and explicitly authored defaults.
| Legacy field | Current form |
|---|---|
hud_icon_texture | hud.weapon_icon |
camera.recoil_pitch, camera.recoil_yaw, camera.recoil_recovery, recoil.handRotPivot, recoil_animation | Current recoil block |
arms.arm_poses | Current arms, animation controller, and pose_graph |
Module default_enabled, built_in, incompatible_with | default_installed, embedded, conflicts_with |
Sight reticle_attach_node, lense_hide_node | reticle_node, lens_hide_node |
Flat reticle_preview.u/v/width/height | reticle_preview.crop.u/v/width/height |
Top-level rpm, shot_cooldown_*, automatic_interval_* | mechanics.rpm and mechanics.fire_interval_ms |
animation_state_rules, animation_interrupt_rules | animation_machine |
melee.impact_frame, melee.impact_time | Timing fields in melee.combos.*.attacks[] |
sight.hybrid | sight.optic |
Do not classify explicit current defaults or valid identity animation mappings as legacy. Remove only obsolete names or formats that the loader explicitly rejects.
For independent teaching configurations without default-pack assets, see Configuration Examples. Existing valid fields and explicit defaults should be preserved when merging examples.
For field purpose, units, defaults and adjustment effects, see the parameter reference. For animation control/blending, see Lua animation machines.