====== Add-on bundle ======
An //addon// bundle is a [[modding:addon_format|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).
===== Anatomy =====
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.
==== Metadata ====
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 [[addon_box|Box (Addon)]]. Note the lack of an extension in the name. [[snowberry]] [[snowberry_configuration_file|configuration definition]]s 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|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).
{{note|[[snowberry]] presents both plain text and HTML formatted metadata in the Help Panel, when the addon is highlighted in the Addons tab.}}
contents/
(required, folder) All the contents of the bundle should be placed here.
TOC?? Now obsolete? --danij (talk) 01:30, 15 May 2015 (BST)
==== Definitions ====
defs/
(optional, folder) The place for [[ded]] definition files. These will be **loaded automatically** when the bundle is loaded by Doomsday.
==== Data ====
data/
(optional, folder) The place for data files, including [[pk3]]s, [[wad]]s and [[modding:lmp]]s. These will be **loaded automatically** when the bundle is loaded by Doomsday.
===== Example =====
[[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.
{{note|Mods comprised of multiple sub-components may be packaged into a [[addon_box|Box (Addon)]].}}
===== See also =====
* [[Addon format]]
* [[Addon box]]
* [[Info]]
* [[Metadata]]