How do I add an item - Maxlego08/zShop-API GitHub Wiki
This page is valid for all plugins using the template developed by maxlego08 and using the loader system for itemstacks.
Example:
Here is an example of an item in a yml file:
item:
material: 3
data: 0
durability: 0
amount: 1
glow: true
lore:
- "line"
- "&cred line"
- "&fwhite line"
name: "&eMy awesome name"
enchants:
- PROTECTION_ENVIRONMENTAL,4
flags:
- HIDE_ENCHANTS
Example potion:
test2:
item:
material: POTION
potion: "SPEED"
splash: true
extended: true
level: 1
type: NONE
slot: 33
Example player head:
test3:
item:
material: PLAYER_HEAD
url: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTM2ZTk0ZjZjMzRhMzU0NjVmY2U0YTkwZjJlMjU5NzYzODllYjk3MDlhMTIyNzM1NzRmZjcwZmQ0ZGFhNjg1MiJ9fX0="
type: NONE
slot: 34
Example leather dye:
type: INVENTORY
slot: 19
item:
material: LEATHER_BOOTS
data: 0
color: AQUA
amount: 1
durability: 0
name: '&aMobs'
lore:
- '&7Click to access the mobs'
inventory: mobs
Colors:
- WHITE
- SILVER
- GRAY
- BLACK
- RED
- MAROOM
- YELLOW
- OLIVE
- LIME
- GREEN
- AQUA
- TEAL
- BLUE
- NAVY
- FUCHSIA
- PURPLE
- ORANGE
Now let's move on to the explanation of each element
- material
You can put the item ID for versions lower than 1.13 and you can put the material name for higher versions. List of materials: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
- data
The item data works only for versions lower than 1.13, the default value is 0.
- amount
The number of items (from 1 to 64), the default value is 1.
- durability
Allows you to change the durability of items, works only for armor and other items that use durability, the default value is 0.
- name
Allows you to change the name of the item, by default the name is null.
- glow
Allows to add an enchantment to the item and to add the HIDE_ENCHANTS flag
- lore
Allows to change a lore of the item, by default the lore is null.
- enchants
Allows you to add enchantments, you have to put the name of the enchantment then the level of the enchantment, like this: ENCHANT,ENCHANT_LEVEL
List of enchantments available: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
- flags
This option is available for servers greater than or equal to the 1.8. List of flags: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/ItemFlag.html
Developer - Loading and saving an itemtack
To save and load an item you will have to use the ItemStackLoader class
//Create class
ItemStackLoader loader = new ItemStackLoader();
//Load your confirguration
YamlConfiguration configuration = plugin.getConfig();
//You have to put a . at the end of your path to load the item.
String path = "item.";
//Load ItemStack
ItemStack itemStack = loader.load(configuration, path);
//Save ItemStack
loader.save(itemStack, configuration, path);