Search in sources :

Example 31 with NBTTagList

use of net.minecraft.server.v1_8_R1.NBTTagList in project Ublisk by Derkades.

the class Sword method getItemStack.

@Override
public ItemStack getItemStack() {
    Item item = new Item(this.getMaterial()).setName(this.getColoredName()).setLore(this.getLore());
    NBTTagList modifiers = new NBTTagList();
    NBTTagCompound damage = new NBTTagCompound();
    damage.setString("AttributeName", "generic.attackDamage");
    damage.setString("Name", "generic.attackDamage");
    damage.setDouble("Amount", this.getDamage());
    damage.setInt("Operation", 1);
    damage.setInt("UUIDLeast", 652);
    damage.setInt("UUIDMost", 12098);
    modifiers.add(damage);
    if (this.getMovementSpeed() != -1) {
        NBTTagCompound speed = new NBTTagCompound();
        speed.setString("AttributeName", "generic.movementSpeed");
        speed.setString("Name", "generic.movementSpeed");
        speed.setDouble("Amount", this.getMovementSpeed());
        speed.setInt("Operation", 1);
        speed.setInt("UUIDLeast", 652);
        speed.setInt("UUIDMost", 12098);
        modifiers.add(speed);
    }
    if (this.getAttackSpeed().getValue() != -1) {
        NBTTagCompound attackSpeed = new NBTTagCompound();
        attackSpeed.setString("AttributeName", "generic.attackSpeed");
        attackSpeed.setString("Name", "generic.attackSpeed");
        attackSpeed.setDouble("Amount", this.getAttackSpeed().getValue());
        attackSpeed.setInt("Operation", 1);
        attackSpeed.setInt("UUIDLeast", 652);
        attackSpeed.setInt("UUIDMost", 12098);
        modifiers.add(attackSpeed);
    }
    if (this.getKnockbackResistance() != -1) {
        NBTTagCompound knockback = new NBTTagCompound();
        knockback.setString("AttributeName", "generic.knockbackResistance");
        knockback.setString("Name", "generic.knockbackResistance");
        knockback.setDouble("Amount", this.getKnockbackResistance());
        knockback.setInt("Operation", 1);
        knockback.setInt("UUIDLeast", 652);
        knockback.setInt("UUIDMost", 12098);
        modifiers.add(knockback);
    }
    NBTTagCompound compound = item.getNBT();
    compound.set("AttributeModifiers", modifiers);
    compound.setInt("HideFlags", 7);
    compound.setBoolean("Unbreakable", true);
    item.setNBT(compound);
    item.setDamage(this.getDamage());
    return item.getItemStack();
}
Also used : NBTTagList(net.minecraft.server.v1_12_R1.NBTTagList) Item(xyz.derkades.ublisk.utils.inventory.Item) NBTTagCompound(net.minecraft.server.v1_12_R1.NBTTagCompound)

Aggregations

ArrayList (java.util.ArrayList)21 ItemStack (org.bukkit.inventory.ItemStack)21 ItemMeta (org.bukkit.inventory.meta.ItemMeta)21 CompoundTag (com.wasteofplastic.org.jnbt.CompoundTag)20 ListTag (com.wasteofplastic.org.jnbt.ListTag)20 StringTag (com.wasteofplastic.org.jnbt.StringTag)20 Tag (com.wasteofplastic.org.jnbt.Tag)20 Map (java.util.Map)20 TagCompound (de.keyle.knbt.TagCompound)9 InvocationTargetException (java.lang.reflect.InvocationTargetException)9 NBTTagCompound (net.minecraft.server.v1_12_R1.NBTTagCompound)5 NBTTagList (net.minecraft.server.v1_12_R1.NBTTagList)5 HashMap (java.util.HashMap)4 NBTTagString (net.minecraft.server.v1_12_R1.NBTTagString)4 NBTTagCompound (net.minecraft.server.v1_10_R1.NBTTagCompound)3 NBTTagList (net.minecraft.server.v1_10_R1.NBTTagList)3 NBTTagString (net.minecraft.server.v1_10_R1.NBTTagString)3 NBTTagCompound (net.minecraft.server.v1_11_R1.NBTTagCompound)3 NBTTagList (net.minecraft.server.v1_11_R1.NBTTagList)3 NBTTagCompound (net.minecraft.server.v1_7_R4.NBTTagCompound)3