Items you create must all have an item type: blunt weapon, armor, consumable, etc. Every item type has a specific set of item stats/options/tags that you can use to customize your item. Items which have the same type also share unique type passive effectsIdentification
Item types are split into type sets which have also their unique set of passive effects.
Slashing
When performing a melee attack, slashing weapons deal damage in a cone behind your initial target.
- Sword, Greatsword, Katana
- Axe, Greataxe
- Halberd
Piercing
- Thrusting Sword
- Dagger
- Spear, Lance
Blunt
Blunt weapons deal AoE (area of effect) damage around the target.
- Hammer, Greathammer
- Gauntlet - can stun entities [right-click]
- Lute, Stave
- Greatstaff
Offhand & Accessories
Offhand items are the only items that can apply their stats when held in the off hand.
- Tome
- Catalyst, Talisman
- Off-Catalysts (off-catalyst stats are restricted to when held in off hand).
- Shield, Greatshield
- Accessory: these items may only apply their stats when they are placed in non-vanilla slots i.e custom slots from custom inventories like RPGInventory.
Range
Range weapons have different item passives depending on their item types.
- Wand - can cast magic attack [left click] & can knock enemies back [right click on entity]
- Staff - same as Wand
- Bow, Greatbow
- Whip - ranged whip attack [left click]
- Crossbow - can fire arrows [left click]
- Musket - can fire musket bullets [right click]
Extra
- Armor - applies effects when worn
- Tool - can has custom enchants
- Consumable - can be consumed [right click] and applied on items [drag & drop]
- Miscellaneous
- Gem Stone
- Material - can be used to craft other items at the advanced workbench.
How to create new item types?
You can add new item types to MMOItems using the item-types config file.
Creating an item type is pretty straight forward. You will have to specify 4 parameters: the type ID, which is only used as a reference in the /mi or similar commands, the type name, display item (the display which is displayed in /mi browse as well as in the advanced recipe list and the type parent.
You need to use the following format:
LONG_SWORD:
display: IRON_SWORD:0
name: 'Long Sword'
parent: 'SWORD'
unident-item:
name: '&f#prefix#Unidentified Long Sword'
lore:
- '&7This item is unidentified. I must'
- '&7find a way to identify it!'
- '{tier}'
- '{tier}&8Item Info:'
- '{range}&8- &7Lvl Range: &e#range#'
- '{tier}&8- &7Item Tier: #prefix##tier#'
For instance, this adds an item type called Long Sword which behaves exactly like the SWORD item type. The type parent defines how the item type will behave. When set to 'GEM_STONE', the type will behave exactly like a gem stone and you will be able to give your item any gem stone stat. The type name is the name displayed in /mi browse, in the recipe list or on the item lore.
The unident-item
config section dictates how an unidentified item from that item category looks like. You can change the item display name and lore using given placeholders. #prefix# corresponds to the item TIER color prefix which thus depend on the unidentified item's tier. #prefix# is the display name of the unidentified item tier. #range# is the unidentified item's level range which also depends on its item tier.
Lines starting with {tier} only display if the unidentified item has a tier. Lines starting with {range} only display if the item has the 'Required Level' item stat.
You can add as many new item types as you want. Do not forget to use /mi reload after adding new item types, this way the config files corresponding to your item type (located in /MMOItems/item/) are generated. If your item type was successfully registered in MMOItems, you should be able to find it in the command auto tab completions.