@Override public void load(TagCompound compound) { if (compound.getCompoundData().containsKey("Buff")) { Buff selectedBuff = Buff.getBuffByID(compound.getAs("Buff", TagInt.class).getIntData()); if (selectedBuff != null) { this.selectedBuffs.add(selectedBuff); } } if (compound.getCompoundData().containsKey("Buffs")) { int[] selectedBuffs = compound.getAs("Buffs", TagIntArray.class).getIntArrayData(); if (selectedBuffs.length != 0) { for (int selectedBuffId : selectedBuffs) { Buff selectedBuff = Buff.getBuffByID(selectedBuffId); if (selectedBuff != null) { this.selectedBuffs.add(selectedBuff); } } } } if (compound.getCompoundData().containsKey("Active")) { this.active = compound.getAs("Active", TagByte.class).getBooleanData(); } if (compound.getCompoundData().containsKey("Reciever")) { this.receiver = BuffReceiver.valueOf(compound.getAs("Reciever", TagString.class).getStringData()); } }
public static ItemTooltip myPetToItemTooltip(StoredMyPet mypet, String lang) { List<String> lore = new ArrayList<>(); lore.add(RESET + Translation.getString("Name.Hunger", lang) + ": " + GOLD + Math.round(mypet.getSaturation())); if (!Configuration.Respawn.DISABLE_AUTO_RESPAWN) { if (mypet.getRespawnTime() > 0) { lore.add(RESET + Translation.getString("Name.Respawntime", lang) + ": " + GOLD + mypet.getRespawnTime() + "sec"); } else { lore.add(RESET + Translation.getString("Name.HP", lang) + ": " + GOLD + String.format("%1.2f", mypet.getHealth())); } } else if (mypet.getRespawnTime() <= 0) { lore.add(RESET + Translation.getString("Name.HP", lang) + ": " + GOLD + String.format("%1.2f", mypet.getHealth())); } lore.add(RESET + Translation.getString("Name.Exp", lang) + ": " + GOLD + String.format("%1.2f", mypet.getExp())); if (mypet.getInfo().containsKey("storage")) { TagCompound storage = mypet.getInfo().getAs("storage", TagCompound.class); if (storage.containsKey("level")) { lore.add(RESET + Translation.getString("Name.Level", lang) + ": " + GOLD + storage.getAs("level", TagInt.class).getIntData()); } } lore.add(RESET + Translation.getString("Name.Type", lang) + ": " + GOLD + mypet.getPetType().name()); lore.add(RESET + Translation.getString("Name.Skilltree", lang) + ": " + GOLD + (mypet.getSkilltree() != null ? mypet.getSkilltree().getDisplayName() : "-")); if (Configuration.Respawn.DISABLE_AUTO_RESPAWN) { if (mypet.getRespawnTime() > 0) { lore.add(ChatColor.RED + Translation.getString("Name.Dead", lang)); } } return new ItemTooltip().addLore(lore).setTitle(mypet.getPetName()); }
public void convert(StoredMyPet pet) { Version fromVersion = Version.v1_7_R4; TagCompound info = pet.getInfo(); if (info.containsKey("Version")) { if (info.containsKeyAs("Version", TagString.class)) { fromVersion = Version.valueOf(info.getAs("Version", TagString.class).getStringData()); } else if (info.containsKeyAs("Version", TagInt.class)) { fromVersion = Version.values()[info.getAs("Version", TagInt.class).getIntData() + 1]; } else { fromVersion = Version.values()[info.getAs("Version", TagShort.class).getShortData()]; } } for (Version v : Version.values()) { if (v.ordinal() <= fromVersion.ordinal()) { continue; } if (v.ordinal() > toVersion.ordinal()) { break; } try { Method m = this.getClass().getDeclaredMethod(v.name(), StoredMyPet.class); m.invoke(this, pet); } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { } } } }
switch (TagType.getTypeById(tag.getTagTypeId())) { case Int: return new NBTTagInt(((TagInt) tag).getIntData()); case Short: return new NBTTagShort(((TagShort) tag).getShortData());