public ReadResults Parse(IStringReader reader, DispatcherResources resources, out Enchantment result)
        {
            result = default;
            ReadResults readResults = ResourceLocation.TryRead(reader, out ResourceLocation enchantment);

            if (!readResults.Successful)
            {
                return(readResults);
            }
            if (!resources.Enchantments.Contains(enchantment))
            {
                return(ReadResults.Failure(CommandError.UnknownEnchantment(enchantment)));
            }
            result = new Enchantment(enchantment);
            return(ReadResults.Success());
        }