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()); }