CorePlugins Wiki
Support Discord
  • Welcome
  • Info
    • Introduction
    • Key Concepts
    • FAQ
    • Changelog
  • Usage
    • Installation
    • Configuration
    • Commands & Permissions
    • Creating Custom Items
      • Basic Item Format
      • Namespace System
    • GUI System
    • Tips/Best Practices
    • Troubleshooting
    • Languages
Powered by GitBook
On this page
  • Opening the GUI
  • Namespace Selection Screen
  • Item Browser Screen
  • Search Functionality
  • Customizing the GUI
  • Tips & Best Practices
  1. Usage

GUI System

CoreItems provides a built-in, in-game browser so players never have to memorize commands. All custom items and namespaces are presented in easy-to-use menus with pagination, searching, etc...

Opening the GUI

  • Command: /coreitems menu

  • Permission: coreitems.command.menu

Running the command opens the Namespace Selection screen.


Namespace Selection Screen

  • Title: Controlled by gui.main-menu-title (supports color codes)

  • Icons: Each namespace appears as an item icon (by default the first item in its customs.yml) with the namespace name beneath.

  • Pagination:

    • Slots per page set by gui.namespaces-per-page

    • Next/Previous page arrows appear automatically when needed

  • Border: Empty slots are filled with the gui.border-item material


Item Browser Screen

After choosing a namespace, you’ll see its items:

  • Title: gui.items-menu-title (use {namespace} to insert the current namespace name)

  • Items per page: Controlled by gui.items-per-page

  • Item Icons: Display each custom item’s texture, name, and lore

  • Click Behavior:

    • Left-click an item to receive one in your inventory (requires give permission)

    • Shift-click (if supported) follows the same behavior or can be customized per item

  • Border & Pagination: Same rules as the Namespace screen


Search Functionality

CoreItems includes a namespace-wide search:

  • Enable/Disable: search.enabled

  • Search Button: An item (default search.button-material) appears in both menus

  • Timeout: Players have search.timeout seconds to type their query

  • Results Screen:

    • Titled with search.results-title (use {query})

    • Displays matching items with the same click-to-give behavior


Customizing the GUI

All GUI options live in config.yml under the gui: and search: sections:

Setting
Description
Default

gui.main-menu-title

Title of the namespace selection screen

CoreItems: Namespaces

gui.items-menu-title

Title of the item browser (use {namespace})

CoreItems: {namespace}

gui.border-item

Material to fill border slots (or NONE)

BLACK_STAINED_GLASS_PANE

gui.namespaces-per-page

Number of namespaces shown per page

14

gui.items-per-page

Number of items shown per namespace page

21

search.enabled

Toggle the search button and menus

true

search.button-material

Material for the search button

OAK_SIGN

search.timeout

Seconds before the search prompt closes

30

search.results-title

Title for the search results screen (use {query})

Search Results: {query}


Tips & Best Practices

  • Consistent Icons: Define a clear “first item” in each namespace so the menu icons stay recognizable.

  • Meaningful Titles: Use color codes in your titles to match your server’s theme.

  • Adjust Page Size: If you have large namespaces, bump up items-per-page to reduce clicks.

  • Search Positioning: Place the search button in a consistent slot (e.g., top-right) so players can find it quickly.


Next Steps

  • Visit Tips to learn advanced tricks for organizing and optimizing your GUI.

  • Head to Troubleshooting if menus aren’t loading or items aren’t appearing.

PreviousNamespace SystemNextTips/Best Practices

Last updated 20 days ago