Search in sources :

Example 16 with TagList

use of de.keyle.knbt.TagList in project MyPet by xXKeyleXx.

the class MyPigZombie method writeExtendedInfo.

@Override
public TagCompound writeExtendedInfo() {
    TagCompound info = super.writeExtendedInfo();
    info.getCompoundData().put("Baby", new TagByte(isBaby()));
    List<TagCompound> itemList = new ArrayList<>();
    for (EquipmentSlot slot : EquipmentSlot.values()) {
        if (getEquipment(slot) != null) {
            TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(getEquipment(slot));
            item.getCompoundData().put("Slot", new TagInt(slot.getSlotId()));
            itemList.add(item);
        }
    }
    info.getCompoundData().put("Equipment", new TagList(itemList));
    return info;
}
Also used : ArrayList(java.util.ArrayList) EquipmentSlot(de.Keyle.MyPet.api.entity.EquipmentSlot) TagInt(de.keyle.knbt.TagInt) TagList(de.keyle.knbt.TagList) TagCompound(de.keyle.knbt.TagCompound) TagByte(de.keyle.knbt.TagByte)

Example 17 with TagList

use of de.keyle.knbt.TagList in project MyPet by xXKeyleXx.

the class MySkeleton method writeExtendedInfo.

@Override
public TagCompound writeExtendedInfo() {
    TagCompound info = super.writeExtendedInfo();
    info.getCompoundData().put("Type", new TagInt(type));
    List<TagCompound> itemList = new ArrayList<>();
    for (EquipmentSlot slot : EquipmentSlot.values()) {
        if (getEquipment(slot) != null) {
            TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(getEquipment(slot));
            item.getCompoundData().put("Slot", new TagInt(slot.getSlotId()));
            itemList.add(item);
        }
    }
    info.getCompoundData().put("Equipment", new TagList(itemList));
    return info;
}
Also used : TagInt(de.keyle.knbt.TagInt) ArrayList(java.util.ArrayList) EquipmentSlot(de.Keyle.MyPet.api.entity.EquipmentSlot) TagList(de.keyle.knbt.TagList) TagCompound(de.keyle.knbt.TagCompound)

Example 18 with TagList

use of de.keyle.knbt.TagList in project MyPet by xXKeyleXx.

the class MyStray method readExtendedInfo.

@Override
public void readExtendedInfo(TagCompound info) {
    if (info.getCompoundData().containsKey("Equipment")) {
        TagList equipment = info.getAs("Equipment", TagList.class);
        for (int i = 0; i < equipment.size(); i++) {
            TagCompound item = equipment.getTagAs(i, TagCompound.class);
            ItemStack itemStack = MyPetApi.getPlatformHelper().compundToItemStack(item);
            setEquipment(EquipmentSlot.getSlotById(item.getAs("Slot", TagInt.class).getIntData()), itemStack);
        }
    }
}
Also used : TagInt(de.keyle.knbt.TagInt) TagList(de.keyle.knbt.TagList) ItemStack(org.bukkit.inventory.ItemStack) TagCompound(de.keyle.knbt.TagCompound)

Example 19 with TagList

use of de.keyle.knbt.TagList in project MyPet by xXKeyleXx.

the class MyWitherSkeleton method writeExtendedInfo.

@Override
public TagCompound writeExtendedInfo() {
    TagCompound info = super.writeExtendedInfo();
    List<TagCompound> itemList = new ArrayList<>();
    for (EquipmentSlot slot : EquipmentSlot.values()) {
        if (getEquipment(slot) != null) {
            TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(getEquipment(slot));
            item.getCompoundData().put("Slot", new TagInt(slot.getSlotId()));
            itemList.add(item);
        }
    }
    info.getCompoundData().put("Equipment", new TagList(itemList));
    return info;
}
Also used : ArrayList(java.util.ArrayList) EquipmentSlot(de.Keyle.MyPet.api.entity.EquipmentSlot) TagInt(de.keyle.knbt.TagInt) TagList(de.keyle.knbt.TagList) TagCompound(de.keyle.knbt.TagCompound)

Example 20 with TagList

use of de.keyle.knbt.TagList in project MyPet by xXKeyleXx.

the class MyZombie method readExtendedInfo.

@Override
public void readExtendedInfo(TagCompound info) {
    if (info.getCompoundData().containsKey("Baby")) {
        setBaby(info.getAs("Baby", TagByte.class).getBooleanData());
    }
    if (info.getCompoundData().containsKey("Villager")) {
        setVillager(info.getAs("Villager", TagByte.class).getBooleanData());
    }
    if (info.getCompoundData().containsKey("Husk")) {
        setHusk(info.getAs("Husk", TagByte.class).getBooleanData());
    }
    if (info.getCompoundData().containsKey("Profession")) {
        setProfession(info.getAs("Profession", TagInt.class).getIntData());
    }
    if (info.getCompoundData().containsKey("Type")) {
        int type = info.getAs("Type", TagInt.class).getIntData();
        if (!info.getCompoundData().containsKey("Version")) {
            if (type == 6) {
                setHusk(true);
            } else if (type > 0 && type < 6) {
                setVillager(true);
                setProfession(type);
            }
        } else {
            setType(type);
        }
    }
    if (info.getCompoundData().containsKey("Equipment")) {
        TagList equipment = info.get("Equipment");
        for (int i = 0; i < equipment.size(); i++) {
            TagCompound item = equipment.getTag(i);
            ItemStack itemStack = MyPetApi.getPlatformHelper().compundToItemStack(item);
            setEquipment(EquipmentSlot.getSlotById(item.getAs("Slot", TagInt.class).getIntData()), itemStack);
        }
    }
}
Also used : TagInt(de.keyle.knbt.TagInt) TagList(de.keyle.knbt.TagList) ItemStack(org.bukkit.inventory.ItemStack) TagCompound(de.keyle.knbt.TagCompound)

Aggregations

TagCompound (de.keyle.knbt.TagCompound)47 TagList (de.keyle.knbt.TagList)47 TagInt (de.keyle.knbt.TagInt)25 ArrayList (java.util.ArrayList)17 ItemStack (org.bukkit.inventory.ItemStack)17 TagByte (de.keyle.knbt.TagByte)13 EquipmentSlot (de.Keyle.MyPet.api.entity.EquipmentSlot)8 TagShort (de.keyle.knbt.TagShort)3 CraftItemStack (org.bukkit.craftbukkit.v1_11_R1.inventory.CraftItemStack)3 CraftItemStack (org.bukkit.craftbukkit.v1_12_R1.inventory.CraftItemStack)3 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 CraftItemStack (org.bukkit.craftbukkit.v1_10_R1.inventory.CraftItemStack)2 CraftItemStack (org.bukkit.craftbukkit.v1_7_R4.inventory.CraftItemStack)2 CraftItemStack (org.bukkit.craftbukkit.v1_8_R1.inventory.CraftItemStack)2 CraftItemStack (org.bukkit.craftbukkit.v1_8_R2.inventory.CraftItemStack)2 CraftItemStack (org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack)2 CraftItemStack (org.bukkit.craftbukkit.v1_9_R1.inventory.CraftItemStack)2 CraftItemStack (org.bukkit.craftbukkit.v1_9_R2.inventory.CraftItemStack)2 TagString (de.keyle.knbt.TagString)1 ItemStack (net.minecraft.server.v1_11_R1.ItemStack)1