MMOItem Converter

Converts vanilla items into MMOItems.

When crafted, picked up, traded with villagers, and looted from world-gen chests.

Also allows vanilla items to be upgradeable and tiered. See Tips for more information.

What is guaranteed to be kept:

  • Material - Diamond Sword, Iron Ingot, Snowball

  • Display name - Star Piercer, Steel Ingot, Snowball

  • Lore - no need for examples

  • Enchantments - Sharpness IV, Infinity I, Protection IX

  • Custom Model Data - 420, 1080, 1337

  • Attributes - Max Health, Attack Damage, Attack Speed, Movement Speed, Armor

  • Unbreakable - (You know, if it takes damage)

  • Other Data - Banner patterns, Potion Effects, Leather armor dye

Theoretically, all NBT should be kept. These are the things that have been tested, though.

This does not create a MMOItem template, and you can never call /mmoitemes revid command for these.

Converter Types

This is the uncomment-to-activate format the default file is provided:

#Convert_Into_MMOItems:

# - ALL # Stands for all the following:


### General Types

# - ARMOUR # Will convert armour - MMOItem Type ARMOR

# - WHIP # Will convert leads - MMOItem Type WHIP

# - TOOL # Will convert tools - MMOItem Type TOOL

# - SHIELD # Will convert shields - MMOItem Type SHIELD (not default, you must create this type)

# - WEAPONS # Will convert weapons. Stands for all the following:


### If you dont want to convert all weapons, you can use these separately instead of WEAPONS

# - SWORD # - MMOItem Type SWORD

# - AXE # - MMOItem Type AXE

# - BOW # - MMOItem Type BOW

# - CROSSBOW # - MMOItem Type CROSSBOW

# - TRIDENT # - MMOItem Type SPEAR


For a detailed list of which items fall into each category, see below.

Tips

I mentioned that 'no stats from the VANILLA MMOItem will be passed on to converted vanilla items. Well thats not entirely true.

There is exactly one stat that is passed on:

The Item Upgrading Stat

This is, and I repeat, the only stat that from the VANILLA MMOItem that will affect converted items. Every other stat is ignored.

Trading with Villagers

Trading with villagers uses the best features of this MMOItems Converter, and I think its much fun, so I will use it as an example:

Common Tier: Just the +1 health and lore from items traded with villagers.

Rare Tier: Higher stats but the price is now in diamonds!

Convert_Into_MMOItems: - ALL
ALL: OnTrade:
# Some stats given to everything traded with villagers! lore: '&8&o'In partnership with &e&o%player%&8'' max-health: '+1' # Chance of finding trades that give better tiers. Tier: - COMMON 22 - UNCOMMON 8 - RARE 1 # If UNCOMMON tier was rolled... UNCOMMON:
# Increase the price of Items, 500% (five times) the usual. Price: '500%'

# Slightly better items obtained from this trade attack-damage: '120%' armor: '150%'
# If RARE tier was rolled... RARE:
# Multiplies price by five, then changes it from emeralds to diamonds. Price: 'v DIAMOND 0 500%'
# Even better items obtained from this trade attack-damage: '140%' armor: '200%'

The price scales with the base selling price of the item, such that this sword enchanted with sweeping edge (that used to cost 13 emeralds) now costs 65 amethyst.

Villager shops are converted only when the villager is first interacted with, so that the villager will always give you the same item. This includes the lore line in this example, anyone who trades with this villager will get an item that says I am the partner of the villager.

Options - The way of adding stats to individual items

The first step is to choose which category, that is, SWORD? TOOL? ARMOR? And also choose where, OnCraft (when the item is crafted), or OnPickup (when picked up):

plugins/Gunging_Ootilities_Plugin/mmoitems-converter.yml

SWORD:

OnCraft:

[...]

[...]

[...]

[...]


OnPickup:

[...]

[...]

[...]

[...]


OnLootGen:

[...]

[...]

[...]

[...]


OnTrade:

[...]

[...]

[...]

[...]


From there, you can add almost any stat you want. The supported kind of stats are numeric, text, text list, and boolean:

SWORD:

OnCraft:

physical-damage: '2.5'

displayed-type: 'Makeshift Sword'

lore:

- 'If you ever wanted to add lore'

- 'to swords only when crafted,'

- 'this is how you''d do it'



OnPickup:

disable-enchanting: true

physical-damage: '5'

displayed-type: 'Monster Sword'

gem-sockets:

- 'Uncolored'

- 'Red'

- 'Yellow'


Finally, its worth noting that numerical stuff, as always, supports the Plus Minus Percent notation:

SWORD:

OnCraft:

# Vanilla crafted swords only deal 50% of their usual damage,

# perhaps the server is combat oriented and good swords drop

# from bosses or other monsters?

attack-damage: '50%'


# All swords will have ridiculously high attack speed, exactly 6

attack-speed: '6'


ARMOR:

OnCraft:


# Armor will give a lot more toughness,

# but consider that 80% of 0 is still 0,

# so only diamond armor will be affected.

armor-toughness: '+80%'


# All armor will protect a little more.

armor: '+0.5'


Random Tiers:

The first step is to choose which category, that is, SWORD? TOOL? ARMOR? And also choose where, OnCraft (when the item is crafted), or OnPickup (when picked up). Write the possible tiers in GooP List Placeholder's format (Allows you to specify a tier and a weight):

plugins/Gunging_Ootilities_Plugin/mmoitems-converter.yml

SWORD:

OnCraft:

Tier:


# Total: 100, of which 70% will be common.

- COMMON 70

- UNCOMMON 22

- RARE 6

- EPIC 2



OnPickup:

Tier:

# Total 5, of which 20% will be epic.

- RARE 4

- EPIC 1


Furthermore, you may give any bonus (numeric/text/text list/boolean) stats based on tier:

plugins/Gunging_Ootilities_Plugin/mmoitems-converter.yml

SWORD:

OnCraft:

Tier:

- COMMON 7

- UNCOMMON 4

- RARE 2

- EPIC 1

UNCOMMON:


# Better attack damage

attack-damage: '110%'

RARE:


# Even better attack damage

attack-damage: '130%'

EPIC:


# Best attack damage, and even crit chance!

attack-damage: '150%'

critical-strike-chance: '5'


OnPickup:

Tier:

- RARE 5

- EPIC 1

RARE:

disable-enchanting: true

attack-damage: '120%'

gem-sockets:

- 'Uncolored'

- 'Red'

EPIC:

attack-damage: '140%'

critical-strike-chance: '4'

set: 'EPIC_SET_BONUS'

String Lists require MMOItems 6.3+



When are the Random Tiers applied?

The item a player crafts, is not the same one they see in the crafting table as a preview. The preview is exactly that, a preview, and the tier it will be has not been chosen yet. The tier is chosen the moment the player crafts the item.

This will cause the preview to not display a tier, but the final item will always have a tier (because its based on weights). To fix this:

SWORD:

OnCraft:


# Lowercase t, the tier the preview will display.

tier: 'COMMON'


# Capital T, the weighted list of random tiers.

Tier:

- COMMON 7

- UNCOMMON 4

- RARE 2

- EPIC 1

When the item is crafted, and a random tier picked, it will take precedence and overwrite the standard one.


Advanced Settings

The default behaviour of the GooP Converter is fitting vanilla items into MMOItem Types (swords go to SWORD, pickaxes go to TOOL...), and giving them all the same MMOItems ID 'VANILLA'. This behavior generalizes things, and though its simple, its not very powerful.


The first step in making a more powerful system, is fitting vanilla items to other types. Suppose you do

plugins/Gunging_Ootilities_Plugin/mmoitems-converter.yml

MMOItems_Type_Prefix: "VANILLA_"


With that, swords will be sent to MMOItem Type VANILLA_SWORD, while armor will go to VANILLA_ARMOR, and crossbows to VANILLA_BOW. Make sure the types exist by configuring them all, you may follow this example:

plugins/MMOItems/item-types.yml

VANILLA_SWORD:

# This is the parent MMOItem Type, basically, what kind of

# stats these items can have. For example, setting the parent

# to GEM_STONE will allow this type VANILLA_SWORD to be inserted

# into items... we dont want that. Lets just use the SWORD type.

parent: 'SWORD'


# What it will display like in /mmoitems browse

display: 'WOODEN_SWORD'

name: 'Makeshift Sword'


unident-item:

name: '<#cb94ff>&l¿ <#b363ff>Unidentified<#f7e57e>&l Sword <#cb94ff>&l?'

material: 'CLAY_BALL'

model: '2'

lore:

- ''

- '<#bee89b>This item is unidentified. Will have to'

- '<#bee89b>purchase a <#e099f0>Scroll of Identification'

- '<#bee89b>for &a$10<#bee89b> at the &b/warp market<#bee89b>.'

These are the types you must make a configuration of: SWORD, AXE, TOOL, ARMOR, SPEAR, WHIP, BOW, and SHIELD.




Finally, editing their IDs individually.

plugins/Gunging_Ootilities_Plugin/mmoitems-converter.yml

Differentiate_Items: true


Activating this will give every vanilla piece a different id, the three things considered are the Equipment, Material, and Tier, where Tier will only show up if there are tiers involved, and is thus optional. The format is simple:

GENERIC_{Equipment}_{Material}_{Tier}


For example, a diamond sword (with no tier): GENERIC_SWORD_DIAMOND

A goldwn helmet with EPIC tier: GENERIC_HELMET_GOLDEN_EPIC

A turtle helmet with rare tier: GENERIC_HELMET_RARE

The materials supported are only wooden, leather, chainmail, stone, iron, golden, diamond, and netherite.



You can now redirect a diamond axe from m AXE VANILLA into a very specific m VANILLA_AXE GENERIC_AXE_DIAMOND_UNCOMMON, and the coolest part is, that if you do create an axe with that type and id (/mmoitems create VANILLA_AXE GENERIC_AXE_DIAMOND_UNCOMMON), the MMOItems Converter will spit it out as the result of the crafting (or picking up) operation.


Prevent MythicItems from being Converted

If the items you made with MythicMobs should not be converted, do not allow them to enter the converter by adding this to the file:

Allow_MythicItems: false


Use Defense instead of Armor to Convert Items

Some people use Defense stat from MMOItems, to toggle this you must put in the plugin config the following value:

plugins/Gunging_Ootilities_Plugin/config.yml

ConverterUsesDefense: true

Examples of converted items:

Despite showing a custom item being converted, this is intended to convert plain ol' vanilla items. However, if you are confident you won't ever need /mmoitems revid, and use PhatLoots or other non-MMOItems supporting plugin to distribute items, you can safely use this to transition into using MMOItems in your server.

*Bow and crossbow damage values were obtained experimentally in MMOItems 5.5

Detailed List of Conversion of Types:

With enfasis on the ones I think may come unexpected to you


Sword

  • Netherite Sword

  • Diamond Sword

  • Iron Sword

  • Golden Sword

  • Stone Sword

  • Wooden Sword


Axe

  • Netherite Axe

  • Diamond Axe

  • Iron Axe

  • Golden Axe

  • Stone Axe

  • Wooden Axe


Tool

  • Shears

  • Flint and Steel

  • Netherite Pickaxe, Shovel, Hoe

  • Diamond Pickaxe, Shovel, Hoe

  • Golden Pickaxe, Shovel, Hoe

  • Iron Pickaxe, Shovel, Hoe

  • Stone Pickaxe, Shovel, Hoe

  • Wooden Pickaxe, Shovel, Hoe


Armor

  • Turtle Helmet

  • Netherite Helmet, Chestplate, Leggings, Boots

  • Diamond Helmet, Chestplate, Leggings, Boots

  • Golden Helmet, Chestplate, Leggings, Boots

  • Iron Helmet, Chestplate, Leggings, Boots

  • Chainmail Helmet, Chestplate, Leggings, Boots

  • Leather Helmet, Chestplate, Leggings, Boots


Spear

  • Trident


Whip

  • Lead ( Attk Dmg: 5; Attk Spd: 2.8 )

  • Fishing Rod ( Attk Dmg: 3; Attk Spd: 3.4 )

  • Carrot on a Stick ( Attk Dmg: 4; Attk Spd: 3.2 )

  • Warped Fungus on a Stick ( Attk Dmg: 6; Attk Spd: 3.0 )


Bow

  • Bow ( Attk Dmg: 6 )

  • Crossbow ( Attk Dmg: 8 )


Shield

  • Shield

Comment from the Dev:

Very early versions of GooP supported an additional type 'MATERIAL' which converted anything that didnt fit into those categories. However, MMOItem crafting stations would not work anymore with vanilla items because they would all have been converted into 'VANILLA'.