Configuration
The main configuration file config.json controls the core behavior of the Info Hub.
Complete Example
{
"language": "en-US",
"command": {
"name": "info",
"aliases": ["hub", "infohub", "menu"],
"description": "Opens the Info Hub"
},
"joinMessage": {
"enabled": true,
"delaySeconds": 2,
"message": [
"",
"&8━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
" &6Welcome to the server!",
" &7Use &e/info &7for all information!",
"&8━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
""
],
"showOnlyOnFirstJoin": false,
"cooldownMinutes": 0
},
"infoItem": {
"enabled": true,
"itemId": "InfoHub_Book",
"giveOnFirstJoin": true,
"giveOnEveryJoin": false,
"hotbarSlot": 8,
"giveDelaySeconds": 3
},
"globalSearch": {
"enabled": true,
"minQueryLength": 2,
"maxResults": 20,
"searchIn": {
"commands": true,
"faq": true,
"rules": true,
"team": false
}
},
"sections": {
"commands": {
"icon": "Tool_Pickaxe_Iron",
"priority": 1,
"permission": null,
"enabled": true,
"command": "commands"
},
"rules": {
"icon": "Weapon_Sword_Iron",
"priority": 2,
"permission": null,
"enabled": true,
"command": "rules"
},
"faq": {
"icon": "Ore_Gold",
"priority": 3,
"permission": null,
"enabled": true,
"command": "faq"
},
"serverinfo": {
"icon": "Ore_Prisma",
"priority": 4,
"permission": null,
"enabled": true,
"command": null
},
"team": {
"icon": "Weapon_Longsword_Iron",
"priority": 5,
"permission": null,
"enabled": true,
"command": "team"
}
},
"display": {
"hubTitle": "KyuubiSoft Info Hub",
"itemsPerPage": 6,
"showSectionDescriptions": true
},
"permissions": {
"adminReload": "infohub.admin.reload",
"bypassCommandFilter": "infohub.bypass.commandfilter"
}
}
Settings Reference
General Settings
| Setting | Type | Default | Description |
|---|---|---|---|
language | String | "de-DE" | Language for UI texts (de-DE, en-US, etc.) |
Command Settings
| Setting | Type | Description |
|---|---|---|
command.name | String | Main command to open the Info Hub |
command.aliases | Array | Alternative commands |
command.description | String | Command description |
Join Message
| Setting | Type | Default | Description |
|---|---|---|---|
joinMessage.enabled | Boolean | true | Enable welcome message |
joinMessage.delaySeconds | Integer | 2 | Delay after join in seconds |
joinMessage.message | Array | - | Message lines (with color codes) |
joinMessage.showOnlyOnFirstJoin | Boolean | false | Only show on first ever join |
joinMessage.cooldownMinutes | Integer | 0 | Cooldown between messages (0 = always) |
Info Item
| Setting | Type | Default | Description |
|---|---|---|---|
infoItem.enabled | Boolean | true | Enable info item system |
infoItem.itemId | String | "InfoHub_Book" | Item ID for the info item |
infoItem.giveOnFirstJoin | Boolean | true | Give item on first join |
infoItem.giveOnEveryJoin | Boolean | false | Give item on every join |
infoItem.hotbarSlot | Integer | 8 | Hotbar slot 0-8 |
infoItem.giveDelaySeconds | Integer | 3 | Delay before giving item |
Global Search
The Info Hub features live inline search - results appear instantly on the same page while typing.
| Setting | Type | Default | Description |
|---|---|---|---|
globalSearch.enabled | Boolean | true | Enable global search |
globalSearch.minQueryLength | Integer | 2 | Minimum search query length |
globalSearch.maxResults | Integer | 20 | Maximum search results |
globalSearch.searchIn.commands | Boolean | true | Include commands in search |
globalSearch.searchIn.faq | Boolean | true | Include FAQ in search |
globalSearch.searchIn.rules | Boolean | true | Include rules in search |
globalSearch.searchIn.team | Boolean | false | Include team in search |
Search Behavior
| Location | Search Type | Behavior |
|---|---|---|
| Main Hub | Live Inline | Results replace sections while typing |
| Command Categories | Live Inline | Categories filter while typing |
| Command List | Live Inline | Commands filter while typing |
Live Search
Start typing in the search box (minimum 2 characters) and results appear instantly. The section buttons are temporarily hidden while searching. Click any result to open its detail page, or clear the search text to return to the main view.
Sections
Each section can be configured:
| Setting | Type | Description |
|---|---|---|
icon | String | Item ID for the section icon |
priority | Integer | Sort order (lower = higher) |
permission | String | Permission to view (null = everyone) |
enabled | Boolean | Show section in main menu |
command | String | Direct command for this section (null = no command) |
commandAliases | Array | Additional command aliases (optional) |
Section Command Configuration
You can add a command to any section. For example, to add a command for the serverinfo section:
"serverinfo": {
"icon": "Ore_Prisma",
"priority": 4,
"enabled": true,
"command": "serverinfo",
"commandAliases": ["server", "info-server"]
}
Display Settings
| Setting | Type | Default | Description |
|---|---|---|---|
display.hubTitle | String | "Info Hub" | Title shown in the hub |
display.itemsPerPage | Integer | 6 | Items per page in lists |
display.showSectionDescriptions | Boolean | true | Show section descriptions |
Color Codes
Use these codes in messages:
| Code | Color | Code | Color |
|---|---|---|---|
&0 | Black | &8 | Dark Gray |
&1 | Dark Blue | &9 | Blue |
&2 | Dark Green | &a | Green |
&3 | Dark Cyan | &b | Cyan |
&4 | Dark Red | &c | Red |
&5 | Purple | &d | Pink |
&6 | Gold | &e | Yellow |
&7 | Gray | &f | White |
Formatting:
| Code | Effect |
|---|---|
&l | Bold |
&o | Italic |
&n | Underlined |
&r | Reset |
Examples
Minimal Join Message
"joinMessage": {
"enabled": true,
"delaySeconds": 1,
"message": [
"&aWelcome! Type &e/info &afor help."
]
}
Staff-Only Section
"sections": {
"admin-tools": {
"icon": "Deco_CommandBlock",
"priority": 10,
"permission": "infohub.section.admin",
"enabled": true
}
}
Disable Info Item
"infoItem": {
"enabled": false
}