Skip to main content
SuperiorSkyblock2 provides extensive menu customization through YAML configuration files. All menus are located in the menus/ directory. The plugin includes numerous pre-configured menus:

Core Menus

settings.yml

Island settings toggles (PvP, spawning, explosions, etc.)

permissions.yml

Island role permissions management

upgrades.yml

Island upgrade tiers and purchase interface

members.yml

Island member list and management

Additional Menus

  • island-creation.yml - Island schematic selection
  • top-islands.yml - Island leaderboard display
  • warps.yml - Island warp management
  • missions.yml - Mission tracking and rewards
  • values.yml - Block worth and level display
  • visitors.yml - Current island visitors
  • biomes.yml - Biome selection interface
  • bank-logs.yml - Island bank transaction history
Many menus have version-specific variants (1_12.yml, 1_13.yml, 1_16.yml, 1_20.yml) that are automatically loaded based on server version.
All menus follow a consistent YAML structure:
menu-example.yml
######################################################
##                SuperiorSkyblock 2                ##
##                Developed by Ome_R                ##
######################################################

# Menu title (supports color codes)
title: '&lMenu Title'

# Whether to enable back button
previous-menu: true

# Pattern defines the layout
pattern:
  - '$ $ $ $ $ $ $ $ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ $ $ $ $ $ $ $ $'

# Where dynamic items appear
slots: '@'

# Pagination controls
previous-page: '%'
current-page: '*'
next-page: '^'

# Item definitions
items:
  '$':
    type: STAINED_GLASS_PANE
    data: 3
    name: '&f'
title
string
required
The menu title displayed at the top. Supports color codes (&a, &b, etc.)
previous-menu
boolean
default:"false"
Whether to show a back button to return to the previous menu
pattern
array
required
Defines the menu layout using characters. Each character represents a slot or item type.
slots
string
Character that represents dynamic content slots (e.g., ’@’ for settings items)
items
object
required
Defines what appears for each character in the pattern

Settings Menu Example

The settings menu allows players to toggle island features:
settings.yml
title: '&lIsland Settings'
previous-menu: true

pattern:
  - '$ $ $ $ $ $ $ $ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ $ % $ * $ ^ $ $'

slots: '@'
previous-page: '%'
current-page: '*'
next-page: '^'

items:
  '$':
    type: STAINED_GLASS_PANE
    data: 3
    name: '&f'
  '%':
    type: PAPER
    name: '{0}Previous Page'
  '*':
    type: DOUBLE_PLANT
    name: '&aCurrent Page'
    lore:
      - '&7Page {0}'
  '^':
    type: PAPER
    name: '{0}Next Page'

settings:
  pvp:
    display-menu: true
    settings-enabled:
      type: DIAMOND_SWORD
      name: '&6PvP'
      lore:
        - '&7Allow players to pvp inside the island.'
        - '&7Currently &aENABLED&7.'
      flags:
        - HIDE_ATTRIBUTES
    settings-disabled:
      type: DIAMOND_SWORD
      name: '&6PvP'
      lore:
        - '&7Allow players to pvp inside the island.'
        - '&7Currently &cDISABLED&7.'
      flags:
        - HIDE_ATTRIBUTES
    sound:
      type: ORB_PICKUP
      volume: 0.2
      pitch: 0.2

Settings Configuration

Available island settings:
  • always_day / always_night / always_middle_day / always_middle_night
  • always_rain / always_shiny
  • creeper_explosion / tnt_explosion / wither_explosion
  • crops_growth / tree_growth
  • egg_lay
  • enderman_grief
  • fire_spread
  • ghast_fireball
  • lava_flow / water_flow
  • natural_animals_spawn / natural_monster_spawn
  • spawner_animals_spawn / spawner_monster_spawn
  • pvp
See Island Settings for complete list.

Item Configuration

Each item in a menu can be configured with multiple properties:
items:
  'X':
    # Material type
    type: DIAMOND
    
    # Data/damage value (1.12 and below)
    data: 0
    
    # Display name (supports color codes)
    name: '&bItem Name'
    
    # Lore lines
    lore:
      - '&7First line'
      - '&7Second line'
    
    # Enchantments
    enchants:
      - 'PROTECTION:4'
      - 'DURABILITY:3'
    
    # Item flags
    flags:
      - HIDE_ATTRIBUTES
      - HIDE_ENCHANTS
    
    # Custom skull texture (player heads)
    skull: 'base64-texture-here'
    
    # Stack amount
    amount: 1

Item Properties

type
string
required
Material type. See Materials List
data
integer
default:"0"
Data/damage value for legacy versions (1.12 and below)
name
string
Display name with color code support
lore
array
List of lore lines displayed under the item name
enchants
array
Enchantments in format ENCHANTMENT:LEVEL
flags
array
Item flags to hide attributes, enchants, etc.
skull
string
Base64-encoded texture for custom player heads

Custom Skulls

Use custom player head textures from Minecraft-Heads.com:
type: SKULL_ITEM
data: 3
skull: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzk1ZDM3OTkzZTU5NDA4MjY3ODQ3MmJmOWQ4NjgyMzQxM2MyNTBkNDMzMmEyYzdkOGM1MmRlNDk3NmIzNjIifX19'
name: '&eCustom Head'
Add sound effects when clicking menu items:
sounds:
  '@':
    access:
      type: PORTAL_TRIGGER
      volume: 1
      pitch: 0.2
    no-access:
      type: ANVIL_LAND
      volume: 0.2
      pitch: 0.2
Common sound types:
  • ORB_PICKUP
  • CLICK
  • PORTAL_TRIGGER
  • ANVIL_LAND
  • LEVEL_UP
  • ENTITY_VILLAGER_YES
  • ENTITY_VILLAGER_NO
See Bukkit Sound API for complete list.

Permissions Menu

The permissions menu allows island leaders to configure role permissions:
permissions.yml
title: '&lIsland Permissions'
previous-menu: true

pattern:
  - '$ $ $ $ $ $ $ $ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ $ $ $ $ $ $ $ $'

slots: '@'

permissions:
  break:
    display-menu: true
    permission-enabled:
      type: DIAMOND_PICKAXE
      name: '&6Break Blocks'
      lore:
        - '&7Allow breaking blocks.'
        - '&7Currently &aENABLED&7.'
      flags:
        - HIDE_ATTRIBUTES
    permission-disabled:
      type: DIAMOND_PICKAXE
      name: '&6Break Blocks'
      lore:
        - '&7Allow breaking blocks.'
        - '&7Currently &cDISABLED&7.'
      flags:
        - HIDE_ATTRIBUTES
See Island Permissions for a complete list of available permissions.

Placeholders in Menus

Menus support various placeholders:

Common Placeholders

  • {0}, {1}, {2} - Dynamic values (context-dependent)
  • {player} - Player name
  • {island} - Island name
  • {leader} - Island leader name
  • {worth} - Island worth
  • {level} - Island level
  • {members} - Member count
  • {visitors} - Current visitor count

PlaceholderAPI Support

If PlaceholderAPI is installed, you can use any placeholder:
name: '&b{island}'
lore:
  - '&7Owner: {leader}'
  - '&7Level: %superior_island_level%'
  - '&7Worth: %superior_island_worth%'
  - '&7Members: %superior_island_members_count%'
For menus with many items, configure pagination:
pattern:
  - '$ $ $ $ $ $ $ $ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ @ @ @ @ @ @ @ $'
  - '$ $ % $ * $ ^ $ $'

slots: '@'
previous-page: '%'
current-page: '*'
next-page: '^'

items:
  '%':
    type: PAPER
    name: '{0}Previous Page'
  '*':
    type: SUNFLOWER
    name: '&aCurrent Page'
    lore:
      - '&7Page {0}'
  '^':
    type: PAPER
    name: '{0}Next Page'

Creating Custom Menus

1

Create Menu File

Create a new YAML file in the menus/ directory:
plugins/SuperiorSkyblock2/menus/custom-menu.yml
2

Define Menu Structure

title: '&lCustom Menu'
previous-menu: false

pattern:
  - '$ $ $ $ $ $ $ $ $'
  - '$ A $ B $ C $ D $'
  - '$ $ $ $ $ $ $ $ $'
3

Add Items

items:
  '$':
    type: BLACK_STAINED_GLASS_PANE
    name: '&f'
  'A':
    type: DIAMOND
    name: '&bOption A'
    lore:
      - '&7Click to select'
  'B':
    type: EMERALD
    name: '&aOption B'
  'C':
    type: GOLD_INGOT
    name: '&6Option C'
  'D':
    type: REDSTONE
    name: '&cOption D'
4

Open Menu via Command

Use the admin command to open custom menus:
/is admin openmenu <player> custom-menu

Version-Specific Menus

Create version-specific menu files for compatibility:
menus/
├── settings.yml          # Default (MC 1.12)
├── settings1_13.yml      # MC 1.13-1.15
├── settings1_16.yml      # MC 1.16-1.19
└── settings1_20.yml      # MC 1.20+
The plugin automatically loads the correct version.
  • Use characters that are easy to distinguish ($, @, #, %, ^)
  • Keep patterns symmetrical for visual appeal
  • Reserve borders for decorative items
  • Use @ for dynamic content areas
Available color codes:
  • &0 - Black
  • &1 - Dark Blue
  • &2 - Dark Green
  • &3 - Dark Aqua
  • &4 - Dark Red
  • &5 - Dark Purple
  • &6 - Gold
  • &7 - Gray
  • &8 - Dark Gray
  • &9 - Blue
  • &a - Green
  • &b - Aqua
  • &c - Red
  • &d - Light Purple
  • &e - Yellow
  • &f - White
  • &l - Bold
  • &o - Italic
  • &n - Underline
  • &m - Strikethrough
Available item flags:
  • HIDE_ATTRIBUTES - Hide attribute modifiers
  • HIDE_DESTROYS - Hide can destroy lore
  • HIDE_ENCHANTS - Hide enchantments
  • HIDE_PLACED_ON - Hide placed on lore
  • HIDE_POTION_EFFECTS - Hide potion effects
  • HIDE_UNBREAKABLE - Hide unbreakable flag
  • Minimize animated items (they update frequently)
  • Use simple patterns for menus opened often
  • Avoid excessive placeholders that require calculation
  • Test menu load times with many items

Troubleshooting

Invalid YAML syntax will prevent menus from loading. Use a YAML validator before reloading.
  • Verify material names are valid for your version
  • Check pattern characters match item definitions
  • Ensure slots are properly defined
  • Review data values for legacy versions
  • Verify sound type is valid for your MC version
  • Check volume (0.0-1.0) and pitch (0.5-2.0)
  • Ensure sounds section is properly formatted
  • Test with different sound types