Skip to content
AtBar66666 edited this page Mar 18, 2026 · 1 revision

MMOitemAllin Wiki

Complete configuration guide for every module. Each module loads its configs from a dedicated subfolder inside your plugin data directory.


Table of Contents


Folder Structure

plugins/MMOitemAllin/
├── config.yml              # Global settings
├── message.yml             # All plugin messages
├── gui/
│   └── eInventory.yml      # Enhancement GUI layout
├── enhance/                # One .yml per enhancement stone
│   └── enhancement_stone_1.yml
├── protection_scroll/      # One .yml per protection scroll
│   └── protection_scroll_1.yml
├── slot/                   # One .yml per slot puncher
│   └── slot_puncher_1.yml
├── disassemble/            # One .yml per disassemble stone
│   └── disassemble_stone_1.yml
├── luckyGem/               # One .yml per lucky gem
│   └── lucky_gem_1.yml
└── gemExtension/           # One .yml per skill/particle stone
    ├── skill_stone_1.yml
    └── particle_stone_1.yml

All subfolders and example configs are auto-generated on first launch if they don't exist.


config.yml — Global Settings

Located at plugins/MMOitemAllin/config.yml. Controls core behavior shared across modules.

# Maximum enhancement level any item can reach
max-enhancement-level: 3

# Star rating display appended to item lore
# #star-bar# is replaced with the actual star bar (e.g. ★★★☆☆)
enhancement-stars:
  enabled: true
  filled-star-char: "&6★"
  empty-star-char: "&7☆"
  lore-format:
    - ""
    - "&7Enhancement Stars: #star-bar#"
    - ""

# Item name format after enhancement
# Variables: {original_name}, {level}
enhancement-name-format: "{original_name} &7+&f{level}"

# Whether to downgrade level on failure
failure-degrade: true

# How many levels to lose on failure
failure-degrade-amount: 1

# Developer mode — prints debug info to console and specific players
dev-mode:
  enabled: false
  notify-players: []

# Deskin module settings (see Deskin Module section)
deskin:
  blocked-categories: []
  skin-lore-format: "&eSkin Applied: &f{skin_name}"
  skin-lore-none: "&eSkin Applied: &fNone"

Key Fields

Field Type Description
max-enhancement-level Integer Hard cap for enhancement level
enhancement-stars.enabled Boolean Toggle star lore display
enhancement-name-format String Name template. {original_name} = base name, {level} = current level
failure-degrade Boolean If true, failed enhancement reduces level
failure-degrade-amount Integer Levels lost per failure

message.yml — Messages

Located at plugins/MMOitemAllin/message.yml. Every player-facing message is configurable. Supports both & color codes and MiniMessage tags (e.g. <green>, <bold>).

All messages support variable placeholders like {level}, {cost}, {count}, etc. See the default file for the full list.


Enhancement Module

Enhancement Stones

Folder: plugins/MMOitemAllin/enhance/ One file per stone. The filename (without .yml) becomes the stone ID.

Full Example

# The MMOItems type and ID that represents this enhancement stone
mmoitem-type: "MATERIAL"
mmoitem-id: "STEEL_INGOT"

# Target whitelist — only items matching these entries can use this stone
# Format: "type" or "type:id" (e.g. "SWORD", "SWORD:FIRE_BLADE")
# Empty list or ["all"] = no restriction
allowed-targets:
  - "all"

# Success rate — can be a single value/formula or conditional branches
# Simple: a flat value or formula
#   success-rate-formula: "0.85"
#   success-rate-formula: "1 - level * 0.05"
# Conditional: first matching condition wins (top to bottom)
success-rate-formula:
  conditions:
    "0":
      condition: "level <= 5"
      formula: "90"
    "1":
      condition: "level <= 10"
      formula: "0.8"
    "2":
      condition: "level <= 15"
      formula: "0.6"
    "3":
      condition: "level <= 20"
      formula: "0.4"
    "4":
      condition: "level > 20"
      formula: "0.2"

# Gold cost — same syntax as success-rate-formula (single or conditional)
cost-formula:
  conditions:
    "0":
      condition: "level <= 10"
      formula: "100"
    "1":
      condition: "level <= 20"
      formula: "level * 200 + 1000"
    "2":
      condition: "level > 20"
      formula: "level * 500 + 5000"

# Attribute enhancement — how stats scale on success/failure
attribute-enhancement:
  default:
    # Stats in this list are never modified by enhancement
    excluded-stats:
      - "CUSTOM_MODEL_DATA"

  # Per-stat multiplier override (stat ID → multiplier)
  # The final attribute change = base-multiplier × stat-multiplier × original-stat-value
  stat-multipliers:
    attack_damage: 1.2

  # Base multiplier — conditional branches with separate success/fail formulas
  base-multiplier:
    conditions:
      "0":
        condition: "level <= 5"
        success-formula: "0.05"    # +5% on success
        fail-formula: "-0.02"      # -2% on failure
      "1":
        condition: "level <= 10"
        success-formula: "0.1"
        fail-formula: "-0.03"
      "2":
        condition: "level <= 15"
        success-formula: "0.15"
        fail-formula: "-0.05"
      "3":
        condition: "level <= 20"
        success-formula: "0.25"
        fail-formula: "-0.08"
      "4":
        condition: "level > 20"
        success-formula: "0.35"
        fail-formula: "-0.1"

Formula Variables

All formulas (success rate, cost, base multiplier) support these variables:

Variable Description
level Current enhancement level of the item
playerLevel Player's experience level
itemLevel Item level (if applicable)

Tip: Success rate values > 1 are treated as percentages (e.g. 90 = 90%). Values ≤ 1 are treated as decimals (e.g. 0.9 = 90%).


Protection Scrolls

Folder: plugins/MMOitemAllin/protection_scroll/ One file per scroll type.

When placed in the protection scroll slot of the Enhancement GUI, a protection scroll prevents level downgrade and attribute loss on failure. The scroll is consumed.

# The MMOItems type and ID that represents this protection scroll
mmoitem-type: "CONSUMABLE"
mmoitem-id: "PROTECTION_SCROLL"

That's it — protection scrolls only need to be identified. All behavior is handled by the enhancement system.


Enhancement GUI

File: plugins/MMOitemAllin/gui/eInventory.yml

Fully configurable GUI layout, title, slot positions, button actions, and scripts.

ui_layout:
  # GUI title — supports color codes, PlaceholderAPI, ItemsAdder font images
  title: "&6Enhancement Station"
  # Number of rows (1-6)
  rows: 4

# Optional custom open command (in addition to /mmoitemEnhance gui)
open_command:
  enabled: true
  name: "enhance"
  permission: "enhanceGui.open"
  aliases:
    - "en"

# Scripts executed on GUI open/close
script:
  open:
    - 'play_sound{sound=BLOCK_CHEST_OPEN}'
  close:
    - 'play_sound{sound=BLOCK_CHEST_CLOSE}'

# Slot definitions
slots:
  TARGET_SLOT:
    type: target-item        # Slot for the item to enhance
    slot: 19
    material: MAP
    custom-model-data: 250
    name: "&e&lPlace Item to Enhance"
    lore:
      - "&7Place your MMOItems weapon/armor here"

  STONE_SLOT:
    type: enhancement-stone  # Slot for the enhancement stone
    slot: 22
    material: MAP
    custom-model-data: 250
    name: "&e&lPlace Enhancement Stone"
    lore:
      - "&7Different stones have different success rates"

  PROTECTION_SCROLL_SLOT:
    type: protection-scroll  # Slot for optional protection scroll
    slot: 25
    material: MAP
    custom-model-data: 250
    name: "&e&lPlace Protection Scroll"
    lore:
      - "&7Prevents level loss on failure"

  ENHANCE_BUTTON:
    type: enhance-button     # The button that triggers enhancement
    slots: [30, 31, 32]      # Can span multiple slots
    material: MAP
    custom-model-data: 250
    display-name: "&a&lEnhance"
    lore:
      - ""
      - "&7Current Level: &f{current_level} &7→ &f{next_level}"
      - "&7Success Rate: &a{success_rate}%"
      - "&7Cost: &6{cost}"
      - ""
      - "&eClick to enhance"
    default-lore:            # Shown when no items are placed
      - ""
      - "&7Place an item and stone first"

  CLOSE_BUTTON:
    type: static
    slot: 0
    material: MAP
    custom-model-data: 250
    name: "&c&lClose"
    lore:
      - "&7Click to close"
    click-actions:
      - 'play_sound{sound=UI_BUTTON_CLICK}'
      - 'close'

Slot Types

Type Purpose
target-item Accepts the weapon/armor to enhance
enhancement-stone Accepts the enhancement stone
protection-scroll Accepts an optional protection scroll
enhance-button Clickable button that performs the enhancement
static Decorative/functional button (close, help, etc.)

Enhance Button Variables

Variable Description
{current_level} Item's current enhancement level
{next_level} Level after successful enhancement
{success_rate} Calculated success rate (%)
{cost} Gold cost for this enhancement

Static Slot Properties

Property Description
material Bukkit material name or XMaterial name
custom-model-data Custom model data integer
custom-model-data-string Custom model data string (1.21.4+)
custom-model-data-float Custom model data float (1.21.4+)
hide-tooltip Hide item tooltip (1.20.5+)
glow Add enchantment glow effect
fill-empty Fill all remaining empty slots with this item
click-actions List of actions on click (close, play_sound{sound=X})

Slot Puncher Module

Folder: plugins/MMOitemAllin/slot/ One file per puncher type.

Slot punchers add gem sockets to weapons. Drag a slot puncher onto a weapon to use.

Example Config

# MMOItems type and ID of this slot puncher item
mmoitem-type: "CONSUMABLE"
mmoitem-id: "SOCKET_PUNCHER"

# Success rate — value (0-1 or percentage) or formula
# Available variables: currentSockets (current_sockets), appliedCount (applied_count)
success-rate: "0.75"

# Number of gem sockets added on success
sockets-to-add: 1

# Max times this puncher type can be used on a single weapon (-1 = unlimited)
max-sockets-per-weapon: 5

Fields

Field Type Default Description
mmoitem-type String MMOItems item type
mmoitem-id String MMOItems item ID
success-rate String "0.5" Success probability. Supports formulas with currentSockets and appliedCount
sockets-to-add Integer 1 Sockets granted per successful use
max-sockets-per-weapon Integer -1 Usage cap per weapon. -1 = no limit

The puncher is always consumed on use, whether the attempt succeeds or fails.


Gem Disassemble Module

Folder: plugins/MMOitemAllin/disassemble/ One file per disassemble stone type.

Disassemble stones let players remove socketed gems from equipment through a GUI. Players can select specific gems to remove.

Example Config

# MMOItems type and ID of this disassemble stone
mmoitem-type: "CONSUMABLE"
mmoitem-id: "DISASSEMBLE_STONE"

# Whether the stone is consumed after use
consume-on-use: true

How It Works

  1. Player holds a weapon with gems in main hand
  2. Player drags a disassemble stone onto the weapon (or uses the command)
  3. A GUI opens showing all socketed gems
  4. Player selects which gems to remove
  5. Confirm → gems and their stat contributions are removed from the weapon

Lucky Gem Module

Folder: plugins/MMOitemAllin/luckyGem/ One file per lucky gem type.

Lucky gems increase a gem's success rate before socketing. Drag a lucky gem onto any MMOItems GEM_STONE to apply the bonus.

Example Config

# MMOItems type and ID of this lucky gem
mmoitem-type: "MATERIAL"
mmoitem-id: "LUCKY_GEM"

# Success rate bonus — fixed value or formula
# Fixed: "10" adds 10% to the gem's success rate
# Formula: supports `currentRate` / `current_rate` variables
#   e.g. "currentRate * 0.1" adds 10% of the current rate
success-rate-bonus: "10"

# Whether the lucky gem is consumed after use
consume-on-use: true

Fields

Field Type Default Description
mmoitem-type String MMOItems item type
mmoitem-id String MMOItems item ID
success-rate-bonus String "10" Bonus amount. Can be a number or formula using currentRate
consume-on-use Boolean true Whether the gem is consumed

The resulting success rate is capped at 100%.


Gem Extension Module

Folder: plugins/MMOitemAllin/gemExtension/ One file per gem extension. Two types: Skill Stones and Particle Stones.

Drag a gem extension item onto a weapon to apply the skill or particle effect.

Skill Stones

Attach an active ability to a weapon.

# Type must be SKILL
gem-type: "SKILL"

# MMOItems identity of this skill stone
mmoitem-type: "MATERIAL"
mmoitem-id: "skill_stone_1"

# Consumed after successful application
consume-on-use: true

# Target whitelist (empty or ["all"] = any weapon)
allowed-targets: []

# The skill ID registered in MMOItems/MythicLib
skill-id: "FIREBOLT"

# How the skill is triggered
# Options: RIGHT_CLICK, LEFT_CLICK, SHIFT_RIGHT_CLICK, SHIFT_LEFT_CLICK, etc.
trigger-type: "RIGHT_CLICK"

# Whether to hide the skill description from item lore
hide-skill: false

# Skill modifiers (damage, cooldown, mana cost, etc.)
skill-modifiers:
  damage: 10.0
  cooldown: 5.0
  mana: 20.0

Particle Stones

Add a visual particle effect to a weapon.

# Type must be PARTICLE
gem-type: "PARTICLE"

# MMOItems identity of this particle stone
mmoitem-type: "MATERIAL"
mmoitem-id: "particle_stone_1"

consume-on-use: true
allowed-targets: []

# Particle pattern type (MMOItems particle types)
# Examples: HELIX, CROWN, WINGS, AURA, VORTEX
particle-type: "HELIX"

# Minecraft particle name
# Examples: FLAME, HEART, SMOKE, ENCHANT, REDSTONE
particle: "FLAME"

# Optional RGB color for colorable particles (e.g. REDSTONE)
particle-color:
  red: 255
  green: 0
  blue: 0

# Fine-tune the particle display
particle-modifiers:
  radius: 0.5
  height: 1.0
  amount: 3.0

Shared Fields

Field Type Default Description
gem-type String SKILL or PARTICLE
mmoitem-type String MMOItems item type
mmoitem-id String MMOItems item ID
consume-on-use Boolean true Consumed after use
allowed-targets List [] Whitelist. Format: "type" or "type:id". Empty = allow all

Deskin Module

Config section in plugins/MMOitemAllin/config.yml under deskin:.

The deskin module lets players remove applied skins from weapons through a GUI, restoring the original appearance and returning the skin item to inventory.

deskin:
  # Block specific item categories from being deskinned
  # Leave empty to allow all categories
  blocked-categories: []
  # Example: ["SWORD", "ARMOR"]

  # Lore line format when a skin is applied
  # {skin_name} is replaced with the skin's display name
  skin-lore-format: "&eSkin Applied: &f{skin_name}"

  # Lore line when no skin is applied
  skin-lore-none: "&eSkin Applied: &fNone"

How It Works

  1. Open the deskin GUI via /mmoitemEnhance deskin
  2. Place the skinned weapon into the input slot
  3. Click the confirm button
  4. The skin is removed and the skin item is returned to the player's inventory
  5. The weapon's material, model data, armor trim, equippable model, and skull texture are all restored to original

Restored Properties

The module automatically detects and restores:

  • Material type
  • Custom Model Data
  • Item Model (1.21.2+)
  • Custom Model Data Component (1.21.4+)
  • Leather armor color
  • Armor trim (1.20+)
  • Equippable model (1.21.2+)
  • Skull texture (Player Heads)
  • Unbreakable state

All version-specific restorations are handled gracefully — the plugin detects the server version at runtime and skips unsupported operations.


Commands

Command Description Permission
/mmoitemEnhance gui Open enhancement GUI mmoitemenhanced.enhance
/mmoitemEnhance disassemble Open disassemble GUI mmoitemenhanced.disassemble
/mmoitemEnhance deskin Open deskin GUI mmoitemenhanced.deskin
/mmoitemEnhance reload Reload all configs mmoitemenhanced.admin
/mmoitemEnhance info Plugin information

Custom enhancement GUI command (if open_command.enabled: true in eInventory.yml):

Command Permission
/enhance (or configured name) Configured in open_command.permission