package me.reb4ck.hyperskills.api;
import me.reb4ck.hyperskills.objects.Ability;
import me.reb4ck.hyperskills.objects.Perk;
import me.reb4ck.hyperskills.objects.SkillType;
import java.util.UUID;
public interface HyperSkillsAPI {
/**
* Method to get Player level for the specified skill
*
* @param skill SkillType
* @param uuid UUID
* @return return skill level
*/
int getLevel(UUID uuid, SkillType skill);
/**
* Method to set Player level for a specific skill
*
* @param skill SkillType
* @param uuid UUID
* @param level int
*/
void setLevel(UUID uuid, SkillType skill, int level);
/**
* Method to add Levels to a specific player skill
*
* @param skill SkillType
* @param uuid UUID
* @param level int
* @return return skill level
*/
void addLevel(UUID uuid, SkillType skill, int level);
/**
* Method to get Player XP for the specified skill
* @param skill SkillType
* @param uuid UUID
* @return return skill xp
*/
double getXP(UUID uuid, SkillType skill);
/**
* Method to set Player XP for the specified skill
* @param skill SkillType
* @param uuid UUID
* @param xp double
*/
void setXP(UUID uuid, SkillType skill, double xp);
/**
* Method to add XP specified player skill
* @param skill SkillType
* @param uuid UUID
* @param xp double
*/
void addXP(UUID uuid, SkillType skill, double xp);
/**
* Method to add more ability to the player
* @param ability Ability
* @param uuid UUID
* @param quantity double
*/
void addArmorAbility(UUID uuid, Ability ability, double quantity);
/**
* Method to set a remove quantity from an ability
* @param ability Ability
* @param uuid UUID
* @param quantity double
*/
void removeArmorAbility(UUID uuid, Ability ability, double quantity);
/**
* Method to add more perk to the player
* @param perk Perk
* @param uuid UUID
* @param quantity double
*/
void addArmorPerk(UUID uuid, Perk perk, double quantity);
/**
* Method to set a Perk quantity from an perk
* @param perk Ability
* @param uuid UUID
* @param quantity double
*/
void removeArmorPerk(UUID uuid, Perk perk, double quantity);
/**
* Method to add more ability to the player
* @param ability Ability
* @param uuid UUID
* @param quantity double
*/
void addAbility(UUID uuid, Ability ability, double quantity);
/**
* Method to set a specific quantity to an ability
* @param ability Ability
* @param uuid UUID
* @param quantity double
*/
void setAbility(UUID uuid, Ability ability, double quantity);
/**
* Method to set a remove quantity from an ability
* @param ability Ability
* @param uuid UUID
* @param quantity double
*/
void removeAbility(UUID uuid, Ability ability, double quantity);
/**
* Method to get Total Player Ability quantity
* @param ability Ability
* @param uuid UUID
* @return return ability quantity
*/
double getTotalAbility(UUID uuid, Ability ability);
/**
* Method to get Player Ability quantity
* @param ability Ability
* @param uuid UUID
* @return return ability quantity
*/
double getSimpleAbility(UUID uuid, Ability ability);
/**
* Method to add more ability to the player
* @param perk Perk
* @param uuid UUID
* @param quantity double
*/
void addPerk(UUID uuid, Perk perk, double quantity);
/**
* Method to set a specific quantity to a perk
* @param perk Perk
* @param uuid UUID
* @param quantity double
*/
void setPerk(UUID uuid, Perk perk, double quantity);
/**
* Method to a remove a specific quantity from a perk
* @param perk Perk
* @param uuid UUID
* @param quantity double
*/
void removePerk(UUID uuid, Perk perk, double quantity);
/**
* Method to get Total Player Perk quantity
* @param perk Perk
* @param uuid UUID
* @return return perk quantity
*/
double getTotalPerk(UUID uuid, Perk perk);
/**
* Method to get Simple Player Perk quantity
* @param perk Perk
* @param uuid UUID
* @return return perk quantity
*/
double getSimplePerk(UUID uuid, Perk perk);
}
package me.reb4ck.hypercollections.api;
import org.bukkit.OfflinePlayer;
public interface HyperCollectionsAPI {
/**
* Method to get Player level for the specified collection
*
* @param key String
* @param player OfflinePlayer
* @return return collection level
*/
int getLevel(OfflinePlayer player, String key);
/**
* Method to get Player XP for the specified collection
* @param key String
* @param player OfflinePlayer
* @return return collection xp
*/
double getXP(OfflinePlayer player, String key);
/**
* Method to set Player level for the specified collection
*
* @param key String
* @param player OfflinePlayer
* @param quantity int
*/
void setLevel(OfflinePlayer player, String key, int quantity);
/**
* Method to set Player XP for the specified collection
* @param key String
* @param player OfflinePlayer
* @param quantity double
*/
void setXP(OfflinePlayer player, String key, double quantity);
/**
* Method to add Levels to specified player collection
*
* @param key String
* @param player OfflinePlayer
* @param quantity int
* @return return skill level
*/
void addLevel(OfflinePlayer player, String key, int quantity);
/**
* Method to add XP to specified player collection
* @param key String
* @param player OfflinePlayer
* @param quantity double
*/
void addXP(OfflinePlayer player, String key, double quantity);
}
package me.reb4ck.hyperenchants.api;
import me.reb4ck.hyperenchants.managers.HyperEnchant;
import org.bukkit.inventory.ItemStack;
import java.util.HashMap;
import java.util.List;
public interface HyperEnchantsAPI {
/**
* Method to get a Enchanted Item
*
* @param itemStack ItemStack
* @param hyperEnchant HyperEnchant
* @param level int
* @return return enchanted item
*/
ItemStack enchantItem(ItemStack itemStack, HyperEnchant hyperEnchant, int level);
/**
* Method to get HyperEnchant instance from its enchantmentID
*
* @param enchantmentID String
* @return return hyperenchant instance
*/
HyperEnchant getEnchantmentInstance(String enchantmentID);
/**
* Method to check compatibility between an item and enchantment
*
* @param itemStack ItemStack
* @param hyperEnchant HyperEnchant
* @return return if enchant is compatible
*/
boolean itemCanBeEnchanted(ItemStack itemStack, HyperEnchant hyperEnchant);
/**
* Method to check if item is enchanted with a specific level
*
* @param itemStack ItemStack
* @param hyperEnchant HyperEnchant
* @param level int
* @return return if item is enchanted
*/
boolean itemIsEnchanted(ItemStack itemStack, HyperEnchant hyperEnchant, int level);
/**
* Method to get all Enchantments availables for an item
*
* @param itemStack ItemStack
* @return return item available enchantments
*/
List<HyperEnchant> getAvailableEnchantments(ItemStack itemStack);
/**
* Method to get all Enchantments for an item
*
* @param itemStack ItemStack
* @return return item enchantments
*/
HashMap<HyperEnchant, Integer> getItemEnchantments(ItemStack itemStack);
/**
* Method to get all Enchantments instances of plugin
*
* @return return item enchantments
*/
List<HyperEnchant> getAllEnchantments();
/**
* Method to get all Enchantments id of plugin
*
* @return return item enchantments
*/
List<String> getAllEnchantmentsID();
}