Merge
Merge
The Merge feature allows transferring data from a main item to a target result item. You will need both the item to be transferred and the result item. The functionality can be customized according to your preferences.

How Merge Works
When you place both the item to be transferred and the result item, then press the confirm button, the stats from the transfer item will be moved to the result item. You can fully customize how this process works.
Permission
Each station has its own permission requirement in order to be used. Of course, you can customize or change the permission to suit your needs.
settings:
permission: nwmmoupgrade.merge.sword
Features
1. Material Item
If enabled, this means the operation of the station will require the specified materials in order to function as intended. You can define one or more material items, and the station will only execute if the player provides the required materials.
materials:
enabled: false
items:
- type: MATERIAL
id: STEEL_INGOT
amount: 5
slot: 30
#match-item-type: SWORD #filter option
#match-result-type: SWORD #filter option
#match-tier-type: RARE #filter option
Note:
type
is the type of the MMOItem.id
is the ID of the MMOItem.amount
is the quantity of the material required.slot
is the GUI slot where the material must be placed.
Options
These are additional conditions that enhance material requirements:
match-item-type
: The material will only be accepted if the item placed in the item slot has the matchingtype
specified here.match-result-type
: The material will only be accepted if the item placed in the result item slot has the matchingtype
specified here.match-item-tier
: The material will only be accepted if the item placed in the item slot has the matchingtier
specified here.
2. Chance Item
If enabled and used in conjunction with chance-based mechanics, the Chance Item provides an additional success rate boost on top of the existing base chance. This item acts as a support to increase the overall likelihood of success during actions such as upgrading
chance-item:
enabled: false
items:
- type: MATERIAL
id: RARE_DIAMOND
amount: 5
slot: 32
chance: 50
#match-item-type: SWORD #filter option
#match-result-type: SWORD #filter option
#match-tier-type: RARE #filter option
- type: MATERIAL
id: SILVER_INGOT
amount: 1
slot: 32
chance: 50
#match-item-type: ARMOR #filter option
#match-result-type: SWORD #filter option
#match-tier-type: RARE #filter option
Note:
type
is the type of the MMOItem.id
is the ID of the MMOItem.amount
is the quantity of the material required.slot
is the GUI slot where the material must be placed.chance
This sets the success chance for the Chance Item
Options
These are additional conditions that enhance material requirements:
match-item-type
: The material will only be accepted if the item placed in the item slot has the matchingtype
specified here.match-result-type
: The material will only be accepted if the item placed in the result item slot has the matchingtype
specified here.match-item-tier
: The material will only be accepted if the item placed in the item slot has the matchingtier
specified here.
3. Material Formula
The Material Formula feature provides a highly flexible way to dynamically calculate the cost and material requirements for item.
Material Increase
When this feature is enabled (enabled: true
), the quantity of material items required for an gem add socket will increase as the item's level rises. This ensures that higher-level upgrades demand a greater investment from players, providing a more balanced progression.
The increase is determined by a custom formula you define, giving you precise control over the scaling.
In Short:
Level Up = Material Requirements.
Formula Configuration
The core of this feature lies in the formula
field, where you can define a mathematical expression.
Basic: you can use the basic default chance calculation or create your own custom formula to control how the chance is calculated.
Custom Placeholders: The formula supports specific placeholders that will be replaced with dynamic values during calculation.
material-formula:
enabled: true
formula: "1"
4. Merge Whitelist This feature allows specific stats to be transferred from the source item to the result item. You can configure exactly which stats are allowed to be transferred.
Note: If this feature is disabled, all stats from the MMOItems will be transferred by default. Therefore, enabling and defining specific stats is recommended for better control.
options:
.....
whitelist-stats:
#Item Stats.
#Check your main item for Stats lists
#https://gitlab.com/phoenix-dvpmt/mmoitems/-/blob/master/MMOItems-API/src/main/java/net/Indyuce/mmoitems/ItemStats.java
enabled: true
stats:
- REQUIRED_LEVEL
- REQUIRED_CLASS
- ATTACK_DAMAGE
- ATTACK_SPEED
- CRITICAL_STRIKE_CHANCE
- CRITICAL_STRIKE_POWER
- SKILL_CRITICAL_STRIKE_CHANCE
- SKILL_CRITICAL_STRIKE_POWER
- BLOCK_POWER
- BLOCK_RATING
- BLOCK_COOLDOWN_REDUCTION
- DODGE_RATING
- DODGE_COOLDOWN_REDUCTION
- PARRY_RATING
- PARRY_COOLDOWN_REDUCTION
- COOLDOWN_REDUCTION
- RANGE
- MANA_COST
- STAMINA_COST
- ARROW_VELOCITY
- ARROW_POTION_EFFECTS
- PVE_DAMAGE
- PVP_DAMAGE
- BLUNT_POWER
- BLUNT_RATING
- WEAPON_DAMAGE
- SKILL_DAMAGE
- PROJECTILE_DAMAGE
- MAGIC_DAMAGE
- PHYSICAL_DAMAGE
- DEFENSE
- DAMAGE_REDUCTION
- FALL_DAMAGE_REDUCTION
- PROJECTILE_DAMAGE_REDUCTION
- PHYSICAL_DAMAGE_REDUCTION
- FIRE_DAMAGE_REDUCTION
- MAGIC_DAMAGE_REDUCTION
- PVE_DAMAGE_REDUCTION
- PVP_DAMAGE_REDUCTION
- UNDEAD_DAMAGE
- LIFESTEAL
- SPELL_VAMPIRISM
Or you can view the available stats here, or inspect them directly from the item using NBT viewers.

5. Custom Merge
This is an additional feature for the Merge function that can be enabled or disabled. When enabled, it allows you to configure additional behavior through the options
section.
5.1. Replace A Lower Stat
The replace-a-lower-stat
function works by replacing the stat from the Main Item to the Result Item, but only if the stat value on the Result Item is lower than that of the Main Item.
custom-merge:
enabled: true
replace-a-lower-stat: true
skip-lower-stat-cant-merge: false
check-match-upgrade-template: false
merge-stat-percentage:
enabled: false
percentage: 50
5.2. Skip Lower Stat Cant Merge
The skip-lower-stat-cant-merge
function will skip transferring the stat from the Main Item to the Result Item if the stat on the Result Item is higher than the stat on the Main Item.
custom-merge:
enabled: true
replace-a-lower-stat: false
skip-lower-stat-cant-merge: true
check-match-upgrade-template: false
merge-stat-percentage:
enabled: false
percentage: 50
5.3. Check Match Upgrade Template
The check-match-upgrade-template
function checks whether the upgrade-template
of the Main Item and the Result Item are the same. If they do not match, the merge cannot proceed. (This is designed to support UPGRADE transfers.)
custom-merge:
enabled: true
replace-a-lower-stat: false
skip-lower-stat-cant-merge: false
check-match-upgrade-template: true
merge-stat-percentage:
enabled: false
percentage: 50
5.4. Merge Stat Percentage
The merge-stat-percentage
function transfers stats that are of type Double, such as ATTACK_DAMAGE
, based on a percentage value.
For example, if the Main Item has ATTACK_DAMAGE
of 10, and the transfer percentage is set to 50%, the Result Item will receive ATTACK_DAMAGE
of 5 after the merge.
Note: Supports the use of Custom Placeholders.
custom-merge:
enabled: true
replace-a-lower-stat: false
skip-lower-stat-cant-merge: false
check-match-upgrade-template: false
merge-stat-percentage:
enabled: true
percentage: 50
6. Cost Upgrade
This feature allows you to use Vault (Money) for each Upgrade addition. And it also supports using custom placeholders from the system itself.
cost:
enabled: false #Cost
amount: 5000
cost:
enabled: true # Enable/disable cost system
amount: "{merge_custom_advance_cost_item}" # cost amount
7. Default Chance
This feature allows you to set the success chance of this station yourself, in cases where Tier is not enabled.
options:
....
default-chance: 0
8. Tiers
This feature allows you to set the success chance based on the tiers of the item placed in the item slot.
If the item's tier matches the specified tiers, the chance will be applied accordingly. If none of the tier conditions are met, the chance will be taken from the no-tier-chance
setting.
options:
....
tiers:
enabled: false
no-tier-chance: 10
tier-list:
- tier: COMMON
chance: 2
- tier: RARE
chance: 15
8. Filter Merge Enchantments
filter-merge-enchantments
is used to limit how many enchantments can exist on the Result Item after merging.
For example, if the Main Item has 5 enchantments and the Result Item already has 7, the merge will fail if you have set max-enchants
to 11, since the total (12) exceeds the allowed maximum.
filter-merge-enchantments:
enabled: true
max-enchants: 11
9. Filter Gem Socket Merge Item
filter-gem-socket-merge-item
filters the maximum number of Gem Sockets that can be transferred during a merge.
For example, if the Main Item has 1 socket and the Result Item already has 3 sockets, the merge will fail if max-socket
is set to 3, because the total (4) exceeds the allowed maximum.
filter-gem-socket-merge-item:
enabled: true
max-socket: 3
10. Match Item Type
match-item-type
checks whether the Main Item and the Result Item have the same Type. If they do not match, the merge will not be allowed.
applies-to:
- SWORD
- PICKAXE
11. Applies To
You can specify more than one MMOItem type that this configuration applies to.
applies-to:
- SWORD
- PICKAXE
Example Full Config
##########################################################################
#
# nwMMOUpgrade - Merge
# Created By Discord NN#7999 (Newworld Server)
#
# Supports RGB and standard color codes.
# 1.RGB = &#ffffff
# 2.Standard = &f
# 3. MiniMessage = <red>
# 4. Legacy Hex = &x
# https://www.birdflop.com/resources/rgb/
#
##########################################################################
#Contact&Support: https://discord.gg/gwXcr7c6Gq
#MMOItems Type
applies-to:
- SWORD
- TOOL
# Sound settings
#https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
sounds:
confirm-success: ENTITY_EXPERIENCE_ORB_PICKUP
confirm-fail: BLOCK_ANVIL_DESTROY
confirm-no-item: BLOCK_NOTE_BLOCK_PLING
#GUI customization
gui:
#GUI title, should support images normally.
title: "&#FF0000M&#FF0202e&#FF0505n&#FF0707u&#FF0A0A: &#FF0E0EM&#FF1111e&#FF1313r&#FF1616g&#FF1818e"
rows: 5 #GUI slots
display-slots:
item:
material: LIME_STAINED_GLASS_PANE
name: "<color:#00FF4F>Place the item to upgrade<color:#57E342>"
lore:
- "&7Drag and drop your item here"
cmd: 1
result:
material: RED_STAINED_GLASS_PANE
name: "<color:#FF0000>Place the result item to merge<color:#FF1818>"
lore:
- "&7Drag and drop your item here"
cmd: 1
material:
material: YELLOW_STAINED_GLASS_PANE
name: "<color:#E7FF00>Place the materials<color:#F2FF08>"
lore:
- "&7Drag and drop the required materials here"
cmd: 1
chance:
material: PINK_STAINED_GLASS_PANE
name: "<color:#FF00F8>Place a chance-enhancing stone (if any)<color:#E68DFF>"
lore:
- "&7Drag and drop the chance-enhancing stone here"
cmd: 1
slots:
#Slot for the item you want to add Gem slots to.
item: 20
result: 24
confirm:
material: BRICK
name: "&a&lConfirm" #Button name
lore: #Add your messages here.
- "&7Click to add a merge item"
# - ""
# - "&fCost: &a{cost}"
# - "&fSuccess Chance: &6{chance}%"
# - "&fMaterials:"
# - "{material}" # edit custom line -> missing-material-line: "- &4<gray>{material} <red>{amount}"
slot:
- 39-41
#Supports custom model data.
cmd: 2600
filter:
name: "&f" #Name
material: BLACK_STAINED_GLASS_PANE
cmd: 1
materials:
enabled: false
items:
- type: MATERIAL
id: STEEL_INGOT
amount: 1
slot: 30
#match-item-type: SWORD #จะใส่หรือไม่ใส่ก็ได้
#match-result-type: GEM_STONE #จะใส่หรือไม่ใส่ก็ได้
#match-tier-type: RARE #จะใส่หรือไม่ใส่ก็ได้
chance-item:
enabled: false
items:
- type: MATERIAL
id: RARE_DIAMOND
amount: 5
slot: 15
chance: 1
# match-item-type: SWORD #จะใส่หรือไม่ใส่ก็ได้
# match-result-type: GEM_STONE #จะใส่หรือไม่ใส่ก็ได้
# match-tier-type: RARE #จะใส่หรือไม่ใส่ก็ได้
settings:
permission: nwmmoupgrade.merge.default
cost:
enabled: false #Cost
amount: 5000
options:
material-formula:
enabled: false
formula: 1
default-chance: 100
tiers:
enabled: false
no-tier-chance: 10
tier-list:
- tier: COMMON
chance: 2
- tier: RARE
chance: 15
filter-merge-enchantments:
enabled: false
max-enchants: 11 # จำนวน Enchant สูงสุดที่อนุญาต
match-item-type:
enabled: false # เช็คเรื่อง type ของ item ว่าตรงกันมั้ย
filter-gem-socket-merge-item:
enabled: false # เช็คว่าถ้าเจ็ม socket เยอะเกินจะไม่ให้ merge item
max-socket: 3
whitelist-stats:
#Item Stats.
#Check your main item for Stats lists
#https://gitlab.com/phoenix-dvpmt/mmoitems/-/blob/master/MMOItems-API/src/main/java/net/Indyuce/mmoitems/ItemStats.java
enabled: true
stats:
- REQUIRED_LEVEL
- REQUIRED_CLASS
- ATTACK_DAMAGE
- ATTACK_SPEED
- CRITICAL_STRIKE_CHANCE
- CRITICAL_STRIKE_POWER
- SKILL_CRITICAL_STRIKE_CHANCE
- SKILL_CRITICAL_STRIKE_POWER
- BLOCK_POWER
- BLOCK_RATING
- BLOCK_COOLDOWN_REDUCTION
- DODGE_RATING
- DODGE_COOLDOWN_REDUCTION
- PARRY_RATING
- PARRY_COOLDOWN_REDUCTION
- COOLDOWN_REDUCTION
- RANGE
- MANA_COST
- STAMINA_COST
- ARROW_VELOCITY
- ARROW_POTION_EFFECTS
- PVE_DAMAGE
- PVP_DAMAGE
- BLUNT_POWER
- BLUNT_RATING
- WEAPON_DAMAGE
- SKILL_DAMAGE
- PROJECTILE_DAMAGE
- MAGIC_DAMAGE
- PHYSICAL_DAMAGE
- DEFENSE
- DAMAGE_REDUCTION
- FALL_DAMAGE_REDUCTION
- PROJECTILE_DAMAGE_REDUCTION
- PHYSICAL_DAMAGE_REDUCTION
- FIRE_DAMAGE_REDUCTION
- MAGIC_DAMAGE_REDUCTION
- PVE_DAMAGE_REDUCTION
- PVP_DAMAGE_REDUCTION
- UNDEAD_DAMAGE
- LIFESTEAL
- SPELL_VAMPIRISM
custom-merge:
enabled: false
replace-a-lower-stat: false
skip-lower-stat-cant-merge: false
check-match-upgrade-template: false
merge-stat-percentage:
enabled: false
percentage: 50
Last updated