public class CustomTexturedTool extends CustomTool implements ModelInjector
CustomTool
that contains at least one Texture since it implements
ModelInjector. A texture pack is required in order for the Item to function.
The Texture Pack will be provided during the
AdditionsAPIInitializationEvent
using the
AdditionsAPIInitializationEvent.addResourcePackFromPlugin(org.bukkit.plugin.java.JavaPlugin, String)
or a similar method. The resource pack must have the following structure:
assets\plugin_name\textures\items\texture_name.png where plugin_name will be
the first part of the CustomTool
's Id Name (e.g. "vanilla_additions")
and the texture_name will be the name of the Texture that you specified when
creating the Item. It is necessary that the CustomTexturedTool
is
registered during the AdditionsAPIInitializationEvent
and that the
Texture Pack is received by the Player in order for the Texture to work.CustomTexturedTool
and a
CustomTexturedItem
is that the CustomTexturedTool
will appear
as handheld, so that the stick part lines up with the hand of the player, as
seen with Swords, Axes, Pickaxes, Shovels and Hoes in-game.CHEST_UUID, FEET_UUID, HEAD_UUID, LEGS_UUID, LORE_PREFIX, LORE_SUFFIX, MAIN_HAND_UUID, OFF_HAND_UUID
Constructor and Description |
---|
CustomTexturedTool(DamageableItem dItem,
java.lang.String idName,
java.lang.String defaultTexture)
Creates a
CustomTexturedTool |
Modifier and Type | Method and Description |
---|---|
java.util.HashMap<java.lang.String,java.lang.Short> |
getAllTextures()
This is needed for later use and will be filled with Texture Names when
using
ModelInjector.addTexture(String) and with the appropriate durability
values when the API is enabled. |
java.lang.String |
getDefaultTexture() |
java.util.HashMap<ModelInjection,java.lang.Short> |
getOverrideEntries()
Provide your override entry to define the model that you want to use.
The "damaged" and "damage" tag will be automatically defined by the toolbox, you don't need to worry about them. |
addAttackDamage, addAttackSpeed, getToolLikeAttributes, getToolLikeAttributes, getToolType, hasToolLikeAttributes, setToolLikeAttributes
addAllCustomRecipes, addAttribute, addAttribute, addAttribute, addCustomRecipe, addEnchantment, addForbiddenEnchantment, addForbiddenEnchantment, addItemFlag, addLoreLine, clearAttributes, clone, compareTo, getAmount, getAttributes, getAttributeVisibility, getBurnTime, getCanBePlacedVisibility, getCanDestroyVisibility, getCustomRecipes, getDisplayName, getDurability, getDurabilityMechanics, getEnchantmentVisibility, getEnchantmnets, getFakeDurability, getForbidenEnchantments, getFullLore, getIdName, getItemFlags, getItemType, getLore, getMaterial, getPermissions, getPotionEffectsVisibility, getUnbreakableVisibility, hasFakeDurability, hasHoeAbilities, isCombinableInCrafting, isEnchantable, isUnbreakable, setAmount, setAttributes, setAttributeVisibility, setBurnTime, setCanBePlacedVisibility, setCanDestroyVisibility, setCombinedInCrafting, setDisplayName, setDurability, setDurabilityMechanics, setEnchantable, setEnchantmentVisibility, setFakeDurability, setHoeAbilities, setIdName, setLore, setMaterial, setPermissions, setPotionEffectsVisibility, setUnbreakable, setUnbreakableVisibility
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addTexture, checkCustomItem, getDamageableItem, getTexture, inject
public CustomTexturedTool(DamageableItem dItem, java.lang.String idName, java.lang.String defaultTexture)
CustomTexturedTool
dItem
- The DamageableItem that the CustomTool
will be based
off. This will determine the Material of the
CustomTool
.idName
- the CustomTool
's ID Name. This MUST BE SIMILAR to
"vanilla_additions:emerald_sword" as the Texture will not be
able to be detected otherwise. It is also saved in the
ItemStack so you can easily detect which CustomTool
it
is.defaultTexture
- The name of the default texture. This will be the name of the
PNG file (without the extension .png) whose texture will be
used from the Resource Pack.public java.util.HashMap<java.lang.String,java.lang.Short> getAllTextures()
ModelInjector
ModelInjector.addTexture(String)
and with the appropriate durability
values when the API is enabled. Here's some example code: private Map overrideModels = new HashMap();
@Override
public Map getAllTextures() {
return overrideModels;
}
getAllTextures
in interface ModelInjector
public java.util.HashMap<ModelInjection,java.lang.Short> getOverrideEntries()
ModelInjector
Provide your override entry to define the model that you want to use.
The "damaged" and "damage" tag will be automatically defined by the
toolbox, you don't need to worry about them.
Note: You should at least provide an entry with a empty predicate tag that points to your basic model
getOverrideEntries
in interface ModelInjector
-- The base model is the original item's model, we inject a override entry so it will display the model we defined when an itemstack matches our custom item id.
public java.lang.String getDefaultTexture()
getDefaultTexture
in interface ModelInjector