public Element output(Document doc, String slot) {
        String realslot = slot.toLowerCase();
        TNode main = new TNode(realslot, getName(), doc);
        if (realslot == "helmet" || realslot == "chestplate" || realslot == "leggings" || realslot == "boots") {
            if (getVisiblename() != null) {
                main.setAttribute("name", getVisiblename());
            }
            if (getLore() != null) {
                main.setAttribute("lore", getLore());
            }
            if (!enchantments.isEmpty()) {
                String enchstr = "";
                for (int i = 0; i < enchantments.size() - 1; i++) {
                    //Build string first
                    enchstr += enchantments.get(i).output() + ";";
                }
                //Add last enchantment with no semicolon
                enchstr += enchantments.get(enchantments.size() - 1).output();
                main.setAttribute("enchantment", enchstr);
            }

            return main.tag;
        }
        //If invalid, return tag to say so
        //TODO: Proper error handling
        Comment com = doc.createComment(realslot + " is not a type of armor");
        main.tag.appendChild(com);
        return main.tag;
    }