commandName | String | — | Command name to open this bug report system (e.g., 'report', 'bugreport', 'ticket') |
serverName | String | — | Name displayed when referencing this server in reports |
sequenceStorage | Ref<BugReportSequenceArtifactEntry> | — | Artifact storing the reports and the incremental sequence for bug IDs |
selectMenuTitle | String | Select Category | Title displayed on the category selection dialog |
selectMenuBody | String | Choose a category for your report: | Body text displayed on the category selection dialog |
submitButtonText | String | Submit | Text displayed on the submit button |
categoryLayoutLines | Int | 1 | Number of lines to display categories across in the selection menu |
maxReportsPerPlayer | Int | 0 | Maximum amount of non-deleted reports each player may keep (0 = unlimited) |
submissionCooldown | Int | 0 | Cooldown in seconds between two submissions from the same player |
notifyPermission | String | bugreport.notify | Permission required to receive staff notifications on new reports |
adminPermission | String | bugreport.admin | Permission required to use the list/status/delete admin subcommands |
statuses | List<BugReportStatus> | defaultStatuses | Statuses a report can be moved through with the status subcommandBugReportStatus (3)
| Campo | Tipo | Predeterminado | Descripción |
|---|
displayName | String | Open | Display name shown to players | description | String | — | Description of what this status means | sendNotification | Boolean | true | Whether to send notifications when a report enters this status |
|
categories | List<BugReportCategory> | defaultCategories | Available categories shown to players, each with their own form inputsBugReportCategory (4)
| Campo | Tipo | Predeterminado | Descripción |
|---|
displayName | String | General | Display name shown in the menu | dialogTitle | String | New Bug Report | Custom title shown on the dialog window | inputs | List<BugReportInput> | empty | Custom inputs for this category (TextInput or BooleanInput only)Variantes:boolean_inputtext_inputboolean_input (3)
| Campo | Tipo | Predeterminado | Descripción |
|---|
key | String | reproducible | — | label | String | Reproducible? | Label for the toggle | initial | Boolean | false | Initial state of the toggle |
text_input (7)
| Campo | Tipo | Predeterminado | Descripción |
|---|
key | String | description | — | label | String | Description | Label shown above the input | placeholder | String | Enter text... | Placeholder text shown when empty | minLength | Int | 0 | Minimum character length | maxLength | Int | 256 | Maximum character length | multiline | Boolean | false | Whether to allow multiple lines | height | Int | 128 | Height in pixels when multiline; clamped to 1..512 by runtime |
| displayLine | Int | 0 | Line number where this category appears in the selection menu (0-indexed) |
|
messages | BugReportMessages | — | Player facing messagesBugReportMessages (13)
| Campo | Tipo | Predeterminado | Descripción |
|---|
submissionSuccess | String | Thank you! Your report has been submitted as #{id}. | — | submissionCooldown | String | Please wait {cooldown} before submitting another report. | — | submissionLimitReached | String | You have reached the maximum number of open reports. | — | submissionMissingMessage | String | Please describe the issue before submitting a report. | — | staffNotification | String | {player} submitted bug report #{id} ({status}). | — | reportNotFound | String | Unable to find bug report #{id}. | — | statusUpdated | String | Report #{id} is now {status}. | — | unknownStatus | String | Unknown status '{status}'. Available statuses: {statuses}. | — | reportDeleted | String | Report #{id} has been deleted. | — | noReportsFound | String | There are no bug reports matching your filters. | — | noCategoriesAvailable | String | No categories available for bug reports. | — | listHeader | String | Recent bug reports: | — | listEntry | String | #{id} - {title} [{status}] by {player} in {world} | — |
|
webhook | BugReportWebhookSettings | — | Discord webhook delivery configurationBugReportWebhookSettings (8)
| Campo | Tipo | Predeterminado | Descripción |
|---|
destination | Ref<WebhookDefinitionEntry> | — | Discord destination receiving the bug reports. Empty = no delivery. | threadNameTemplate | String | Bug #{id}: {title} | Thread name template when posting to a Discord Forum channel (required for forums). Placeholders: {id},{title},{message},{category},{status},{player},{server},{world},{x},{y},{z},{gamemode},{created_at} + custom fieldsPlaceholdersVarias líneas | defaultTagIds | List<String> | empty | Default Discord forum tag IDs applied to the created thread | pingRoleIds | List<String> | empty | Role IDs to ping on new reports (formatted as Discord role IDs) | contentTemplate | String | — | Optional message content sent alongside the embed (supports placeholders: {id},{title},{message},{category},{status},{player},{server},{world},{x},{y},{z},{gamemode},{created_at} and any custom field key)PlaceholdersVarias líneas | titleTemplate | String | {title} | Title template for the Discord embed (placeholders: {id},{title},{message},{category},{status},{player},{server},{world},{x},{y},{z},{gamemode},{created_at} + custom fields)PlaceholdersVarias líneas | color | String | #ff5555 | Hex color applied to the embed sidebar (e.g. #ff5555) | fields | List<BugReportWebhookFieldTemplate> | — | Fields added to the embed bodyBugReportWebhookFieldTemplate (2)
| Campo | Tipo | Predeterminado | Descripción |
|---|
value | String | {player} | Value shown in the Discord embed field (placeholders supported) | inline | Boolean | false | Display this field on the same line when possible |
|
|
discordCommands | Boolean | false | Register Discord slash commands (list/status/delete) for this report system |
discordAdminRoleIds | List<String> | empty | Discord role IDs allowed to use the slash commands (empty = server administrators only) |