public class CustomItem extends java.lang.Object implements java.lang.Cloneable, java.lang.Comparable<CustomItem>
CustomTexturedItem
CustomTool
instead. There are similar classes available for other
ItemTypes too, such as Leather Armor. CustomItemStack
and get the ItemStack from there.Modifier and Type | Field and Description |
---|---|
static java.util.UUID |
CHEST_UUID
The UUID of the Attribute that will be applied to the Chestplate Slot.
|
static java.util.UUID |
FEET_UUID
The UUID of the Attribute that will be applied to the Boots Slot.
|
static java.util.UUID |
HEAD_UUID
The UUID of the Attribute that will be applied to the Head Slot.
|
static java.util.UUID |
LEGS_UUID
The UUID of the Attribute that will be applied to the Leggings Slot.
|
static java.lang.String |
LORE_PREFIX |
static java.lang.String |
LORE_SUFFIX |
static java.util.UUID |
MAIN_HAND_UUID
The UUID of the Attribute that will be applied to the Main Hand Slot.
|
static java.util.UUID |
OFF_HAND_UUID
The UUID of the Attribute that will be applied to the Off Hand Slot.
|
Constructor and Description |
---|
CustomItem(org.bukkit.Material material,
int amount,
short durability,
java.lang.String idName)
Create a new Custom Item.
|
CustomItem(org.bukkit.Material material,
int amount,
short durability,
java.lang.String idName,
ItemDurability itemDurability)
Create a new Custom Item.
|
CustomItem(org.bukkit.Material material,
int amount,
short durability,
java.lang.String idName,
ItemDurability itemDurability,
ItemPermissions itemPermissions)
Create a new Custom Item.
|
Modifier and Type | Method and Description |
---|---|
CustomItem |
addAllCustomRecipes(java.util.List<? extends CustomRecipe> recipes)
Adds all of the specified recipes to the list of CustomShapedRecipes.
|
CustomItem |
addAttribute(Attributes.AttributeType type,
double amount,
org.bukkit.inventory.EquipmentSlot slot,
Attributes.Operation operation)
Adds an Attribute to the CustomItem.
|
CustomItem |
addAttribute(Attributes.AttributeType type,
double amount,
org.bukkit.inventory.EquipmentSlot slot,
Attributes.Operation operation,
java.util.UUID uuid)
Adds an Attribute to the CustomItem.
|
CustomItem |
addAttribute(java.lang.String name,
Attributes.AttributeType type,
double amount,
org.bukkit.inventory.EquipmentSlot slot,
Attributes.Operation operation,
java.util.UUID uuid)
Adds an Attribute to the CustomItem.
|
CustomItem |
addCustomRecipe(CustomRecipe recipe)
Adds the specified recipe to the list of CustomShapedRecipes.
|
CustomItem |
addEnchantment(org.bukkit.enchantments.Enchantment enchantment,
int level)
Adds an Enchantment to the CustomItem.
|
CustomItem |
addForbiddenEnchantment(org.bukkit.enchantments.Enchantment forbiddenEnchantment)
Add an Enchantment to the list of forbidden enchants.
|
CustomItem |
addForbiddenEnchantment(java.util.List<org.bukkit.enchantments.Enchantment> forbiddenEnchantments)
Add an Enchantment list to the list of forbidden enchants.
|
CustomItem |
addItemFlag(org.bukkit.inventory.ItemFlag itemFlag)
Add an ItemFlag to the CustomItem.
|
CustomItem |
addLoreLine(java.lang.String lore)
Adds a line to the Lore that will be included with the CustomItem.
|
CustomItem |
clearAttributes()
Remove all Attribtues from the Custom Item
|
CustomItem |
clone() |
int |
compareTo(CustomItem cItem)
Compare the CustomItems in regards to their durability.
|
int |
getAmount() |
java.util.List<Attributes.Attribute> |
getAttributes() |
boolean |
getAttributeVisibility() |
int |
getBurnTime() |
boolean |
getCanBePlacedVisibility() |
boolean |
getCanDestroyVisibility() |
java.util.List<CustomRecipe> |
getCustomRecipes() |
java.lang.String |
getDisplayName() |
short |
getDurability() |
ItemDurability |
getDurabilityMechanics() |
boolean |
getEnchantmentVisibility() |
java.util.HashMap<org.bukkit.enchantments.Enchantment,java.lang.Integer> |
getEnchantmnets() |
int |
getFakeDurability() |
java.util.List<org.bukkit.enchantments.Enchantment> |
getForbidenEnchantments()
Get a List of the Enchantments that are not allowed for this item.
|
java.util.List<java.lang.String> |
getFullLore(java.util.Map<org.bukkit.enchantments.Enchantment,java.lang.Integer> map,
int durability,
Attributes attributes) |
java.lang.String |
getIdName() |
java.util.List<org.bukkit.inventory.ItemFlag> |
getItemFlags() |
ItemType |
getItemType() |
java.util.List<java.lang.String> |
getLore() |
org.bukkit.Material |
getMaterial() |
ItemPermissions |
getPermissions() |
boolean |
getPotionEffectsVisibility() |
boolean |
getUnbreakableVisibility() |
boolean |
hasFakeDurability() |
boolean |
hasHoeAbilities()
ONLY APPLICABLE FOR HOES
This is useful if you would like to create a Custom Item with no special abilities. |
boolean |
isCombinableInCrafting() |
boolean |
isEnchantable() |
boolean |
isUnbreakable() |
CustomItem |
setAmount(int amount)
Set the Amount of the Custom Item
|
CustomItem |
setAttributes(java.util.List<Attributes.Attribute> attributes) |
CustomItem |
setAttributeVisibility(boolean attributeVisibility)
Set whether the attribute text in the item lore will be visible or not.
|
CustomItem |
setBurnTime(int ticks)
Set the burn time of a Custom Item in ticks when placed in a furnace.
|
CustomItem |
setCanBePlacedVisibility(boolean canBePlacedVisibility)
Set whether the text that shows on which blocks this can be placed on in the
item lore is visible or not.
|
CustomItem |
setCanDestroyVisibility(boolean canDestroyVisibility)
Set whether the text that shows which blocks this item can mine in the item
lore is visible or not.
|
CustomItem |
setCombinedInCrafting(boolean canBeCombined)
Set if the item can be Combined in a Crafting Table.
|
CustomItem |
setDisplayName(java.lang.String displayName)
Set the display name of the Custom Item.
|
CustomItem |
setDurability(short durabilityShort)
Set the Durability of the Custom Item.
|
CustomItem |
setDurabilityMechanics(ItemDurability itemDurability)
These determine how the durability of the CustomItem, both for Fake and real
durability, will drop.
|
CustomItem |
setEnchantable(boolean canBeEnchanted)
Set if the item can be Enchanted.
|
CustomItem |
setEnchantmentVisibility(boolean enchantmentVisibility)
Set whether the enchantments in the item lore are visible or not.
|
CustomItem |
setFakeDurability(int durability)
Sets the Durability for the Fake Durability lore.
|
CustomItem |
setHoeAbilities(boolean hoeAbilities)
ONLY APPLICABLE FOR HOES
This is useful if you would like to create a Custom Item with no special abilities. |
CustomItem |
setIdName(java.lang.String IdName)
Set the CustomItem's IdName.
|
CustomItem |
setLore(java.util.List<java.lang.String> string)
Set the lore of the CustomItem.
|
CustomItem |
setMaterial(org.bukkit.Material material)
Set the Material of the Custom Item
|
void |
setPermissions(ItemPermissions permissions)
Set the Permission System for the Custom Item.
|
CustomItem |
setPotionEffectsVisibility(boolean potionEffectVisibility)
Set whether the text that shows the potion effect this item will include when
consumed in the item lore is visible or not.
|
CustomItem |
setUnbreakable(java.lang.Boolean unbreakable)
Set the Custom Item to be Unbreakable or not.
|
CustomItem |
setUnbreakableVisibility(boolean unbreakableVisibility)
Set whether the unbreakable tag in the item lore will be visible or not.
|
public static final java.lang.String LORE_PREFIX
public static final java.lang.String LORE_SUFFIX
public static final java.util.UUID MAIN_HAND_UUID
public static final java.util.UUID OFF_HAND_UUID
public static final java.util.UUID HEAD_UUID
public static final java.util.UUID CHEST_UUID
public static final java.util.UUID LEGS_UUID
public static final java.util.UUID FEET_UUID
public CustomItem(org.bukkit.Material material, int amount, short durability, java.lang.String idName)
material
- the material of the CustomItemamount
- the amount of the CustomItemdurability
- the durability of the CustomItemidName
- the Custom Item's ID Name. This MUST BE SIMILAR to
"vanilla_additions:emerald_sword" and is saved in the ItemStack so
you can easily detect which Custom Item it is.public CustomItem(org.bukkit.Material material, int amount, short durability, java.lang.String idName, ItemDurability itemDurability)
material
- the material of the CustomItemamount
- the amount of the CustomItemdurability
- the durability of the CustomItemitemDurability
- the ItemDurability
Durability System that will be used for
the Item. This will modify the way that durability drops for the
Custom Item. All Classes under package
com.chrismin13.additionsapi.durability are valid.idName
- the Custom Item's ID Name. This MUST BE SIMILAR to
"vanilla_additions:emerald_sword" and is saved in the ItemStack so
you can easily detect which Custom Item it is.public CustomItem(org.bukkit.Material material, int amount, short durability, java.lang.String idName, ItemDurability itemDurability, ItemPermissions itemPermissions)
material
- the material of the CustomItemamount
- the amount of the CustomItemdurability
- the durability of the CustomItemitemDurability
- the ItemDurability
Durability System that will be used for
the Item. This will modify the way that durability drops for the
Custom Item. All Classes under package
com.chrismin13.additionsapi.durability are valid.idName
- the Custom Item's ID Name. This MUST BE SIMILAR to
"vanilla_additions:emerald_sword" and is saved in the ItemStack so
you can easily detect which Custom Item it is.public org.bukkit.Material getMaterial()
public int getAmount()
public short getDurability()
CustomTexturedItem
. If the TexturedItem
was not processed during the AdditionsAPIInitializationEvent, it will
be always 0.public CustomItem setMaterial(org.bukkit.Material material)
public CustomItem setAmount(int amount)
public CustomItem setDurability(short durabilityShort)
public ItemType getItemType()
public boolean isUnbreakable()
public CustomItem setUnbreakable(java.lang.Boolean unbreakable)
public java.lang.String getDisplayName()
public CustomItem setDisplayName(java.lang.String displayName)
public java.lang.String getIdName()
CustomItemStack
and getting the idName from there.public CustomItem setIdName(java.lang.String IdName)
CustomItemStack
and getting the
idName from there.public java.util.List<org.bukkit.enchantments.Enchantment> getForbidenEnchantments()
public CustomItem addForbiddenEnchantment(org.bukkit.enchantments.Enchantment forbiddenEnchantment)
public CustomItem addForbiddenEnchantment(java.util.List<org.bukkit.enchantments.Enchantment> forbiddenEnchantments)
public boolean isEnchantable()
public CustomItem setEnchantable(boolean canBeEnchanted)
public boolean isCombinableInCrafting()
public CustomItem setCombinedInCrafting(boolean canBeCombined)
public java.util.List<CustomRecipe> getCustomRecipes()
List
- Returns a List of CustomShapedRecipes. These recipes
behave a lot like the Custom Recipes already found in Bukkit and are
converted to that format upon initialization. See
CustomShapedRecipe
.public CustomItem addCustomRecipe(CustomRecipe recipe)
CustomShapedRecipe
.public CustomItem addAllCustomRecipes(java.util.List<? extends CustomRecipe> recipes)
CustomShapedRecipe
.public CustomItem addAttribute(Attributes.AttributeType type, double amount, org.bukkit.inventory.EquipmentSlot slot, Attributes.Operation operation)
type
- The attribute that will be added.amount
- The amount of the attribute. Can also be a negative value.slot
- The EquipmentSlot
at which the Attribute will be applied.
For example, the EquipmentSlot HAND will apply the specified
Attribute to the Main Hand only.operation
- The math operation that will be used for the amount specified.public CustomItem addAttribute(Attributes.AttributeType type, double amount, org.bukkit.inventory.EquipmentSlot slot, Attributes.Operation operation, java.util.UUID uuid)
type
- The attribute that will be added.amount
- The amount of the attribute. Can also be a negative value.slot
- The EquipmentSlot
at which the Attribute will be applied.
For example, the EquipmentSlot HAND will apply the specified
Attribute to the Main Hand only.operation
- The math operation that will be used for the amount specified.uuid
- The UUID that the Attribute will be saved with in the ItemStack.public CustomItem addAttribute(java.lang.String name, Attributes.AttributeType type, double amount, org.bukkit.inventory.EquipmentSlot slot, Attributes.Operation operation, java.util.UUID uuid)
name
- The name that the Attribute will have. Can be anything, doesn't
have to match the Attribute.type
- The attribute that will be added.amount
- The amount of the attribute. Can also be a negative value.slot
- The EquipmentSlot
at which the Attribute will be applied.
For example, the EquipmentSlot HAND will apply the specified
Attribute to the Main Hand only.operation
- The math operation that will be used for the amount specified.uuid
- The UUID that the Attribute will be saved with in the ItemStack.public java.util.List<Attributes.Attribute> getAttributes()
List
- A list of Attributes that will be included with the
Custom Item. If you don't know what they do or how they work, check
out the Minecraft wiki.public CustomItem setAttributes(java.util.List<Attributes.Attribute> attributes)
attributes
- A list of Attributes that will be included with the Custom Item.
If you don't know what they do or how they work, check out the
Minecraft wiki.public CustomItem clearAttributes()
public CustomItem addItemFlag(org.bukkit.inventory.ItemFlag itemFlag)
public java.util.List<org.bukkit.inventory.ItemFlag> getItemFlags()
List
- A list of all ItemFlags included in the CustomItem.public boolean getAttributeVisibility()
public CustomItem setAttributeVisibility(boolean attributeVisibility)
public boolean getUnbreakableVisibility()
public CustomItem setUnbreakableVisibility(boolean unbreakableVisibility)
public boolean getCanDestroyVisibility()
public CustomItem setCanDestroyVisibility(boolean canDestroyVisibility)
public boolean getEnchantmentVisibility()
public CustomItem setEnchantmentVisibility(boolean enchantmentVisibility)
public boolean getCanBePlacedVisibility()
public CustomItem setCanBePlacedVisibility(boolean canBePlacedVisibility)
public boolean getPotionEffectsVisibility()
public CustomItem setPotionEffectsVisibility(boolean potionEffectVisibility)
public CustomItem setFakeDurability(int durability)
durability
- The maximum durability of the CustomItem and the one that it will
be starting with. Any number above 0 will enable the fake
durability lore. If it is 0 then it will not be enabled.public int getFakeDurability()
public boolean hasFakeDurability()
public java.util.HashMap<org.bukkit.enchantments.Enchantment,java.lang.Integer> getEnchantmnets()
Map
- A map of the Enchantments included in the CustomItem
and their level.public CustomItem addEnchantment(org.bukkit.enchantments.Enchantment enchantment, int level)
enchantment
- The Enchantment to add.level
- The level of the Enchantment. Set this to 1 if the Enchantment
doesn't have multiple levels by default.public CustomItem addLoreLine(java.lang.String lore)
public CustomItem setLore(java.util.List<java.lang.String> string)
public java.util.List<java.lang.String> getLore()
List
- The lore of the Custom Item. This does not include the
CustomTool's Fake Attack Speed and Attack Damage Lore or the
CustomItem's Fake Durability lore.public java.util.List<java.lang.String> getFullLore(java.util.Map<org.bukkit.enchantments.Enchantment,java.lang.Integer> map, int durability, Attributes attributes)
map
- The Enchantments that will be taken into consideration when
creating the lore. Currently, only the Sharpness Enchantment and
its Level have to be taken into consideration.durability
- The current fake durability that will be added if the CustomItem
has fake Durability.List
- The lore of the Custom Item. This includes the
CustomTool's Fake Attack Speed and Attack Damage Lore and the
CustomItem's Fake Durability lore that have been customized according
to the specified parameters.public CustomItem clone()
clone
in class java.lang.Object
public int compareTo(CustomItem cItem)
compareTo
in interface java.lang.Comparable<CustomItem>
public ItemDurability getDurabilityMechanics()
public CustomItem setDurabilityMechanics(ItemDurability itemDurability)
itemDurability
- the itemDurability to set. Every class under the package
com.chrismin13.additionsapi.durability is valid.public boolean hasHoeAbilities()
#addAttribute(AttributeType.ATTACK_DAMAGE,
0.0D, EquipmentSlot.HAND, Operation.ADD_NUMBER)
to remove the hoe's extra
attack damage and #setAttributeVisibility(false)
to remove the
Attribute Lore. Attack Speed will be reset as well.public CustomItem setHoeAbilities(boolean hoeAbilities)
#addAttribute(AttributeType.ATTACK_DAMAGE,
0.0D, EquipmentSlot.HAND, Operation.ADD_NUMBER)
to remove the hoe's extra
attack damage and #setAttributeVisibility(false)
to remove the
Attribute Lore. Attack Speed will be reset as well.hoeAbilities
- Whether the Hoe should keep its abilities or not.public ItemPermissions getPermissions()
public void setPermissions(ItemPermissions permissions)
permissions
- public int getBurnTime()
public CustomItem setBurnTime(int ticks)