An addon bundle is a format first introduced by Snowberry. As a regular folder, such bundles are designed to be easy to produce, requiring no specialist tools (only a text editor, for writing Info metadata).
The high-level structure of an .addon is as follows:
name.addon / | contents / | data / | defs / | info | readme.html
The folder name is suffixed with .addon. This “extension” is required so that addon bundles can be easily recognized.
A couple of files inside the bundle have a special meaning:
[[info]]
(required, plain text file) Describes what the addon does/contains (known as metadata). This is analogous to the use of Info in a Box (Addon). Note the lack of an extension in the name. snowberry configuration definitions may be included (for example, defining new addon-specific options and/or text translations).
readme.html
(optional, HTML document) Rich-formatted description of the addon. HTML markup is used for structure and styling, to make it easier to read. If present this description is used instead of that specified in the Info file (with the
readme
property).
contents/
(required, folder) All the contents of the bundle should be placed here. TOC?? Now obsolete? –danij (talk) 01:30, 15 May 2015 (BST)
defs/
(optional, folder) The place for ded definition files. These will be loaded automatically when the bundle is loaded by Doomsday.
data/
(optional, folder) The place for data files, including pk3s, wads and lmps. These will be loaded automatically when the bundle is loaded by Doomsday.
info metadata file for “Amaze-DOOM” (Episode One) by Mod-O-tron-2000! (-not a real mod):
name: Amaze-DOOM Episode One provides: doom-mod-levelset component: game-jdoom language english ( version: 6.01 summary: Amazing DOOM maps that blow the bloody doors off! contact: http://www.moddingworld.com author: Mod-O-tron-2000 copyright: 2015 license: Do what you will, I don't care readme: Prepare for bewildering amazement and unparalleled levels of DOOMy goodness )
Place the above Info file and all the files belonging to episode one, in a pk3 with a name of your choosing, for example episodeone.pk3:
episodeone.pk3 / | info | lights.ded | main.ded | particles.ded | weapons.ded | weapons.wad | ...
That is it. You now have a compatible add-on.
Mods comprised of multiple sub-components may be packaged into a [[addon_box|Box (Addon)]].