SpigotCustomItemsAPI
Example of admin sword:
public class AdminSword extends CustomItem implements IItemEntityHit{
private static AdminSword inst;
public AdminSword() {
super(new NamespacedKey(ExNihiloMain.getPlugin(ExNihiloMain.class), "admin_sword"));
CustomItemStorage.getInstance().registerCustomItem(this);
AdminSword.inst = this;
}
@Override
public ItemStack create(int count) {
ItemStack is = ItemBuilder.create(getMaterial(), count, "Admin sword", getCustomModelData(), "Insta-kill sword");
ItemMeta im = is.getItemMeta();
im.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE, new AttributeModifier("generic.attack_damage", 2028, Operation.ADD_NUMBER));
im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
is.setItemMeta(im);
return is;
}
@Override
public Material getMaterial() {
// TODO Auto-generated method stub
return Material.DIAMOND_SWORD;
}
public static AdminSword getInstance() {
return inst;
}
@Override
public void onHit(EntityDamageByEntityEvent event) {
event.getDamager().sendMessage("lightning");
Location loc = event.getEntity().getLocation();
loc.getWorld().strikeLightningEffect(loc);
}
}