Search in sources :

Example 56 with NBTTagCompound

use of net.minecraft.server.v1_9_R2.NBTTagCompound in project acidisland by tastybento.

the class NMSHandler method setPotion.

/* (non-Javadoc)
     * @see com.wasteofplastic.acidisland.nms.NMSAbstraction#setPotion(com.wasteofplastic.org.jnbt.Tag)
     */
@SuppressWarnings({ "unchecked" })
@Override
public ItemStack setPotion(Material material, Tag itemTags, ItemStack chestItem) {
    Map<String, Tag> cont = (Map<String, Tag>) ((CompoundTag) itemTags).getValue();
    if (cont != null) {
        if (((CompoundTag) itemTags).getValue().containsKey("tag")) {
            Map<String, Tag> contents = (Map<String, Tag>) ((CompoundTag) itemTags).getValue().get("tag").getValue();
            StringTag stringTag = ((StringTag) contents.get("Potion"));
            if (stringTag != null) {
                String tag = ((StringTag) contents.get("Potion")).getValue();
                // Bukkit.getLogger().info("DEBUG: potioninfo found: " + tag);
                net.minecraft.server.v1_9_R2.ItemStack stack = CraftItemStack.asNMSCopy(chestItem);
                NBTTagCompound tagCompound = stack.getTag();
                if (tagCompound == null) {
                    tagCompound = new NBTTagCompound();
                }
                tagCompound.setString("Potion", tag);
                stack.setTag(tagCompound);
                return CraftItemStack.asBukkitCopy(stack);
            }
        }
    }
    // Schematic is old, the potions do not have tags
    // Set it to zero so that the potion bottles don't look like giant purple and black blocks
    chestItem.setDurability((short) 0);
    Bukkit.getLogger().warning("Potion in schematic is pre-V1.9 format and will just be water.");
    return chestItem;
}
Also used : StringTag(com.wasteofplastic.org.jnbt.StringTag) NBTTagCompound(net.minecraft.server.v1_9_R2.NBTTagCompound) NBTTagString(net.minecraft.server.v1_9_R2.NBTTagString) ListTag(com.wasteofplastic.org.jnbt.ListTag) StringTag(com.wasteofplastic.org.jnbt.StringTag) CompoundTag(com.wasteofplastic.org.jnbt.CompoundTag) Tag(com.wasteofplastic.org.jnbt.Tag) Map(java.util.Map)

Aggregations

ItemStack (org.bukkit.inventory.ItemStack)17 CompoundTag (com.wasteofplastic.org.jnbt.CompoundTag)15 ListTag (com.wasteofplastic.org.jnbt.ListTag)15 StringTag (com.wasteofplastic.org.jnbt.StringTag)15 Tag (com.wasteofplastic.org.jnbt.Tag)15 Map (java.util.Map)15 ArrayList (java.util.ArrayList)10 ItemMeta (org.bukkit.inventory.meta.ItemMeta)10 TagCompound (de.keyle.knbt.TagCompound)9 InvocationTargetException (java.lang.reflect.InvocationTargetException)9 NBTTagCompound (net.minecraft.server.v1_10_R1.NBTTagCompound)8 NBTTagCompound (net.minecraft.server.v1_11_R1.NBTTagCompound)8 NBTTagCompound (net.minecraft.server.v1_9_R2.NBTTagCompound)8 NBTTagCompound (net.minecraft.server.v1_12_R1.NBTTagCompound)6 NBTTagCompound (net.minecraft.server.v1_8_R3.NBTTagCompound)6 NBTTagCompound (net.minecraft.server.v1_9_R1.NBTTagCompound)6 NBTTagCompound (net.minecraft.server.v1_8_R1.NBTTagCompound)5 GameProfile (com.mojang.authlib.GameProfile)4 Property (com.mojang.authlib.properties.Property)4 HashMap (java.util.HashMap)4