Skip to main content

Custom Pages

Version 1.2.0+

The Custom Pages System allows server admins to create their own pages via JSON - no Java code required.

File: custom/pages.json

Supported Page Types

TypeDescriptionUse Case
TEXTSimple text with color codesDonation page, welcome text, announcements
LISTList with expandable entriesChangelog, news, updates
FAQ_STYLEExpandable questions & answersTips & tricks, extended FAQ
GRIDButton grid (planned)Quick links, categories

Complete Example

{
"pages": [
{
"id": "changelog",
"title": "Server Changelog",
"icon": "Ore_Prisma",
"type": "LIST",
"showInHub": true,
"quickAccess": false,
"command": "changelog",
"commandAliases": ["updates", "news"],
"permission": "",
"priority": 10,
"entries": [
{
"title": "v1.2.0 - Big Update",
"subtitle": "2026-02-01",
"content": "&aAdded:&r New spawn area\n&eChanged:&r Economy balancing\n&cFixed:&r Login issues"
},
{
"title": "v1.1.0 - Quality of Life",
"subtitle": "2026-01-15",
"content": "&aAdded:&r /home command\n&cFixed:&r Various bugs"
}
]
},
{
"id": "donate",
"title": "Support Us",
"icon": "Ore_Gold",
"type": "TEXT",
"showInHub": true,
"quickAccess": true,
"priority": 20,
"content": "&6Thank you for supporting our server!&r\n\nYour donations help us:\n- Keep the server running 24/7\n- Add new features\n\n&bHow to donate:&r\nVisit &6store.example.com&r"
},
{
"id": "tips",
"title": "Tips & Tricks",
"icon": "Tool_Torch",
"type": "FAQ_STYLE",
"showInHub": true,
"command": "tips",
"priority": 30,
"entries": [
{
"title": "How do I get started?",
"content": "Visit &6/spawn&r and follow the tutorial path.",
"tags": ["beginner", "tutorial"]
},
{
"title": "How do I claim land?",
"content": "Use a &eGolden Shovel&r to create claims!",
"tags": ["claims", "protection"]
}
]
}
]
}

Configuration Fields

Page Object

FieldTypeRequiredDescription
idStringYesUnique page identifier
titleStringYesDisplay title
iconStringNoItem icon (e.g., Ore_Gold, Tool_Torch)
typeEnumYesTEXT, LIST, FAQ_STYLE, GRID
showInHubBooleanNoShow on main page (default: true)
quickAccessBooleanNoShow in Quick Access sidebar
commandStringNoRegister command (e.g., "changelog"/changelog)
commandAliasesString[]NoAlternative commands
permissionStringNoPermission required to view
priorityIntegerNoSort order (lower = higher up, default: 99)
contentStringTEXT onlyText content with color codes
entriesArrayLIST/FAQList of entries

Entry Object (for LIST and FAQ_STYLE)

FieldTypeRequiredDescription
titleStringYesEntry title
subtitleStringNoSubtitle (e.g., date)
contentStringYesContent with color codes
iconStringNoItem icon
tagsString[]NoSearch keywords (FAQ_STYLE only)

Page Types

TEXT Type

Simple text display with color code support. Perfect for static information.

{
"id": "welcome",
"title": "Welcome",
"icon": "Deco_Book",
"type": "TEXT",
"showInHub": true,
"content": "&6Welcome to our server!&r\n\nWe're glad you're here.\n\n&aEnjoy your stay!&r"
}

LIST Type

Expandable list with entries. Each entry has a title, optional subtitle, and collapsible content.

{
"id": "changelog",
"title": "Changelog",
"icon": "Ore_Prisma",
"type": "LIST",
"command": "changelog",
"entries": [
{
"title": "v1.2.0 - Major Update",
"subtitle": "2026-02-01",
"content": "&aNew features:&r\n- Feature 1\n- Feature 2"
}
]
}

FAQ_STYLE Type

Question and answer format with expandable answers. Supports tags for search filtering.

{
"id": "tips",
"title": "Tips & Tricks",
"icon": "Tool_Torch",
"type": "FAQ_STYLE",
"entries": [
{
"title": "How do I get started?",
"content": "Visit &6/spawn&r and follow the tutorial.",
"tags": ["beginner", "start"]
}
]
}

Color Codes

Minecraft-style color codes are supported in all text fields:

CodeColorCodeColor
&0Black&8Dark Gray
&1Dark Blue&9Blue
&2Dark Green&aGreen
&3Dark Cyan&bCyan
&4Dark Red&cRed
&5Purple&dPink
&6Gold&eYellow
&7Gray&fWhite
&rReset (default color)

Example: "&aAdded:&r New feature" → "Added:" in Green, "New feature" in default color


Main Page Display

Pages with showInHub: true are displayed as buttons on the Info Hub main page:

  • Up to 3 Custom Page buttons are shown
  • Sorted by priority (lower values appear first)
  • Button displays icon, title, and automatic description

Command Registration

When command is set, a command is automatically registered:

{
"command": "changelog",
"commandAliases": ["updates", "news"]
}

This registers: /changelog, /updates, /news

All commands open the corresponding custom page directly.


Permissions

Optionally set a permission to restrict page visibility:

{
"permission": "infohub.page.vip"
}

Only players with this permission can see the page. The page will be hidden from the hub and commands will deny access for players without permission.


After Changes

After editing pages.json, reload the configuration:

/infohub reload
Hot Reload

Changes to custom pages are applied immediately after reload - no server restart required.