# Info Files (info)

This section explains info file fields, purposes, allowed values, and fallback rules, with a complete example.

For `dc` format and conventions, please read:
- [Getting Started](../Getting_Started)

## Location
- Directory: `DLC/info/`
- File: `<name>.dc`

## Write Rules
- Basic usage:
  - Each DLC has one info file. The config file name is based on `file_name`.
- Remote download or Required resources:
  - Info files are generated automatically; content comes from remote/required configs.
  - If maintained manually, info fields are used with priority.

## Complete Example
```dc
[basic]
identifier = "ExampleMod"
type = "mod"
file_name = "example-mod-1.0.0.jar"
RedirectUrl = "https://example.com/project-page"
isInList = true
isHidden = false
AllowEnableByAll = true
dependencies = ""
conflicts = ""
alarm = false

[DisplayName]
zh_cn = "示例模组"
en_us = "Example Mod"

[tip]
zh_cn = "这是一个示例说明"
en_us = "Example description"
```

---

## Field Reference

#### `file_name`
- **Purpose**: DLC file name (including extension).
- **Allowed**: String.

#### `identifier`
- **Purpose**: Logical identifier (used by prerequisites/presets/conflicts).
- **Allowed**: String.

#### `RedirectUrl`
- **Purpose**: URL opened when the DLC name is double-clicked in the DLC list.
- **Allowed**: String.

#### `[DisplayName]`
- **Purpose**: Localized display name.
- **Allowed**: Object `{ zh_cn: "...", en_us: "..." }`.

#### `type`
- **Purpose**: Category type.
- **Allowed**: `mod` / `resourcepack` / `datapack` / `gunpack` / `others`.

#### `isInList`
- **Purpose**: Whether to show in the DLC list.
- **Allowed**: Boolean.

#### `isHidden`
- **Purpose**: Hide the entry. Intended for libraries/prerequisites without standalone meaning; auto-disabled when not required.
- **Allowed**: Boolean.

#### `AllowEnableByAll`
- **Purpose**: Whether this entry is enabled by following “Enable All”.
- **Allowed**: Boolean.

#### `alarm`
- **Purpose**: Whether enabling this item requires alarm confirmation.
- **Allowed**: Boolean.

#### `dependencies`
- **Purpose**: Prerequisite identifier list (string or array).

1) **String** (comma-separated identifiers)
```dc
"LibA, LibB"
```

2) **Array**
```dc
["LibA", "LibB"]
```

#### `conflicts`
- **Purpose**: Conflict identifier list (string or array). (Same syntax as prerequisites)

#### `[tip]`
- **Purpose**: Localized tooltip text.
- **Allowed**: Object `{ zh_cn: "...", en_us: "..." }`.

---

## Notes
- Info files may be generated automatically or maintained manually.
- If DisplayName or tip is missing, they fall back to file name or identifier.
