Advanced Tooltip Configuration
The advanced_tooltip_config manifest entry controls the multi-page tooltip system for MMOItems, including pagination keybinds, item comparison, and dynamic requirement status indicators.
Configuration
advanced_tooltip_config — Map
Configuration for the advanced tooltip settings.
Properties
isEnabled
"> Enable or disable the advanced dynamic tooltip system globally or per player. overrideDefaultLore
"> When true, completely overrides MMOItems default lore with Typewriter's dynamic paginated format. paginationKeybind
">
Keybind for changing pages. Available: SWAP_OFFHAND, DROP, SNEAK, SHIFT_LEFT, SHIFT_RIGHT, LEFT_CLICK, RIGHT_CLICK, MIDDLE_CLICK. Default: SWAP_OFFHAND (F key).
comparisonKeybind
">
Keybind to set an item as comparison base. Same available options as pagination. Default: SNEAK.
requirementMetSymbol
">
MiniMessage symbol displayed when a requirement IS met. Used by both <requirement_met> (static) and <requirement_status> (dynamic). Default: <green>✔</green>.
requirementNotMetSymbol
">
MiniMessage symbol displayed when a requirement is NOT met. Used by both <requirement_not_met> (static) and <requirement_status> (dynamic). Default: <red>✖</red>.
categoryImages
">
Maps MMOItems category IDs (e.g., SWORD, BOOTS) to MiniMessage icon strings for the <category_image> tag.
paginationIndicator
">
Indicator at the bottom of multi-page items. Use <page> and <max_pages> placeholders.
comparisonIndicator
"> Indicator shown when comparison mode is active on a compatible item. comparisonStatPositive
">
Template for positive stat difference when comparing items. Use <value> placeholder. Default: <green> +<value></green>.
comparisonStatNegative
">
Template for negative stat difference when comparing items. Use <value> placeholder. Default: <red> -<value></red>.
Lore Tags Reference
All tags below are placed directly in your MMOItems lore template and replaced at display time.
Page Structure
| Tag | Description |
|---|---|
<page_break> | Splits lore into pages. Everything after this tag goes to the next page. |
<pagination_indicator> | Replaced with the configured pagination indicator. Hidden on single-page items. |
<category_image> | Replaced with the category icon from categoryImages map. |
Requirement Status (Conditional, Dynamic)
| Tag | Behavior |
|---|---|
<requirement_met> | Shows requirementMetSymbol (✔) ONLY when the player meets the requirement. Hidden otherwise. |
<requirement_not_met> | Shows requirementNotMetSymbol (✖) ONLY when the player does NOT meet the requirement. Hidden otherwise. |
How it works:
- Place BOTH tags side by side on each requirement line:
<requirement_met><requirement_not_met> - At display time, the tooltip engine reads the item's requirements from MMOItems (level, class, profession, permission)
- Each requirement is evaluated against the player's CURRENT stats via MMOCore
- For each requirement: only the CORRECT tag is shown, the other becomes invisible
- If the player levels up, the indicators update on the next inventory refresh
Example MMOItems lore template:
<gray>Required Level: <white>50</white> <requirement_met><requirement_not_met>
<gray>Required Class: <white>Warrior</white> <requirement_met><requirement_not_met>
<gray>Required Profession: <white>Mining 30</white> <requirement_met><requirement_not_met>
Rendered (player level 55, class Warrior, no Mining):
Required Level: 50 ✔
Required Class: Warrior ✔
Required Profession: Mining 30 ✖
Evaluated stat keys (read from MMOItems NBT):
| NBT Key | Check |
|---|---|
MMOITEMS_REQUIRED_LEVEL | PlayerData.getLevel() >= value |
MMOITEMS_REQUIRED_CLASS | PlayerData.getProfess().getId() == value |
MMOITEMS_REQUIRED_PROFESSION | PlayerData.getCollectionSkills().getLevel(name) >= level |
MMOITEMS_REQUIRED_PERMISSION | player.hasPermission(value) |
If MMOCore is not available, the tags fall back to static replacement (both show).
Comparison
| Tag | Description |
|---|---|
<comparison_indicator> | Shown when comparison mode is active and item type matches the base item. |
<comparison_stat_positive> | Template for higher stats when comparing. |
<comparison_stat_negative> | Template for lower stats when comparing. |
Comparison workflow:
- Press the configured
comparisonKeybind(default: Shift/Sneak) on an MMOItem - That item becomes the comparison base
- When viewing other items of the same category, the comparison indicator appears
- Press the comparison keybind again on the same item to clear comparison
Keybinds Reference
| Keybind String | Trigger |
|---|---|
SWAP_OFFHAND | F key (swap hands) or F-click in inventory |
DROP | Q key (drop item) |
SNEAK | Left or Right Shift (sneak) |
SHIFT_LEFT | Left Shift + Click in inventory |
SHIFT_RIGHT | Right Shift + Click in inventory |
LEFT_CLICK | Left click in inventory |
RIGHT_CLICK | Right click in inventory |
MIDDLE_CLICK | Middle click in inventory |
Note: When the pagination keybind matches an MMOItem, the default action (swap/drop/etc.) is ALWAYS cancelled for that item — even on single-page items. This ensures consistent behavior.