// @generated by protoc-gen-es v2.13.0 with parameter "target=ts,import_extension=js"
// @generated from file soulfire/registry.proto (package soulfire.v1, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_google_api_annotations } from "../google/api/annotations_pb.js";
import { file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
import { file_soulfire_api_docs } from "./api_docs_pb.js";
import type { JsonObject, Message } from "@bufbuild/protobuf";

/**
 * Describes the file soulfire/registry.proto.
 */
export const file_soulfire_registry: GenFile = /*@__PURE__*/
  fileDesc("Chdzb3VsZmlyZS9yZWdpc3RyeS5wcm90bxILc291bGZpcmUudjEieAoQUmVnaXN0cnlJZGVudGl0eRIYChBzb3VsZmlyZV92ZXJzaW9uGAEgASgJEhkKEW1pbmVjcmFmdF92ZXJzaW9uGAIgASgJEhgKEHByb3RvY29sX3ZlcnNpb24YAyABKAUSFQoNcmVnaXN0cnlfaGFzaBgEIAEoCSLGAQoWTWluZWNyYWZ0UmVnaXN0cnlFbnRyeRInCgRraW5kGAEgASgOMhkuc291bGZpcmUudjEuUmVnaXN0cnlLaW5kEgoKAmlkGAIgASgJEhcKCm51bWVyaWNfaWQYAyABKAVIAIgBARIUCgxkaXNwbGF5X25hbWUYBCABKAkSKwoKcHJvcGVydGllcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDAoEdGFncxgGIAMoCUINCgtfbnVtZXJpY19pZCJ+ChpHZXRSZWdpc3RyeUlkZW50aXR5UmVxdWVzdBIkCgtpbnN0YW5jZV9pZBgBIAEoCUIK0vMYBgoEdXVpZEgAiAEBEh8KBmJvdF9pZBgCIAEoCUIK0vMYBgoEdXVpZEgBiAEBQg4KDF9pbnN0YW5jZV9pZEIJCgdfYm90X2lkIp0BChtHZXRSZWdpc3RyeUlkZW50aXR5UmVzcG9uc2USLwoIaWRlbnRpdHkYASABKAsyHS5zb3VsZmlyZS52MS5SZWdpc3RyeUlkZW50aXR5EjIKD3N1cHBvcnRlZF9raW5kcxgCIAMoDjIZLnNvdWxmaXJlLnYxLlJlZ2lzdHJ5S2luZBIZChFwcm90b2NvbF9mZWF0dXJlcxgDIAMoCSLvAQoaTGlzdFJlZ2lzdHJ5RW50cmllc1JlcXVlc3QSJwoEa2luZBgBIAEoDjIZLnNvdWxmaXJlLnYxLlJlZ2lzdHJ5S2luZBIRCglpZF9wcmVmaXgYAiABKAkSDAoEdGFncxgDIAMoCRIRCglwYWdlX3NpemUYBCABKA0SEgoKcGFnZV90b2tlbhgFIAEoCRIkCgtpbnN0YW5jZV9pZBgGIAEoCUIK0vMYBgoEdXVpZEgAiAEBEh8KBmJvdF9pZBgHIAEoCUIK0vMYBgoEdXVpZEgBiAEBQg4KDF9pbnN0YW5jZV9pZEIJCgdfYm90X2lkIoMBChtMaXN0UmVnaXN0cnlFbnRyaWVzUmVzcG9uc2USNAoHZW50cmllcxgBIAMoCzIjLnNvdWxmaXJlLnYxLk1pbmVjcmFmdFJlZ2lzdHJ5RW50cnkSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEhUKDXJlZ2lzdHJ5X2hhc2gYAyABKAkisAEKF0dldFJlZ2lzdHJ5RW50cnlSZXF1ZXN0EicKBGtpbmQYASABKA4yGS5zb3VsZmlyZS52MS5SZWdpc3RyeUtpbmQSCgoCaWQYAiABKAkSJAoLaW5zdGFuY2VfaWQYAyABKAlCCtLzGAYKBHV1aWRIAIgBARIfCgZib3RfaWQYBCABKAlCCtLzGAYKBHV1aWRIAYgBAUIOCgxfaW5zdGFuY2VfaWRCCQoHX2JvdF9pZCJlChhHZXRSZWdpc3RyeUVudHJ5UmVzcG9uc2USMgoFZW50cnkYASABKAsyIy5zb3VsZmlyZS52MS5NaW5lY3JhZnRSZWdpc3RyeUVudHJ5EhUKDXJlZ2lzdHJ5X2hhc2gYAiABKAki2wEKF0xpc3RSZWdpc3RyeVRhZ3NSZXF1ZXN0EicKBGtpbmQYASABKA4yGS5zb3VsZmlyZS52MS5SZWdpc3RyeUtpbmQSDgoGcHJlZml4GAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoDRISCgpwYWdlX3Rva2VuGAQgASgJEiQKC2luc3RhbmNlX2lkGAUgASgJQgrS8xgGCgR1dWlkSACIAQESHwoGYm90X2lkGAYgASgJQgrS8xgGCgR1dWlkSAGIAQFCDgoMX2luc3RhbmNlX2lkQgkKB19ib3RfaWQiUgoLUmVnaXN0cnlUYWcSJwoEa2luZBgBIAEoDjIZLnNvdWxmaXJlLnYxLlJlZ2lzdHJ5S2luZBIKCgJpZBgCIAEoCRIOCgZ2YWx1ZXMYAyADKAkicgoYTGlzdFJlZ2lzdHJ5VGFnc1Jlc3BvbnNlEiYKBHRhZ3MYASADKAsyGC5zb3VsZmlyZS52MS5SZWdpc3RyeVRhZxIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkSFQoNcmVnaXN0cnlfaGFzaBgDIAEoCSqTAwoMUmVnaXN0cnlLaW5kEh0KGVJFR0lTVFJZX0tJTkRfVU5TUEVDSUZJRUQQABIXChNSRUdJU1RSWV9LSU5EX0JMT0NLEAESFgoSUkVHSVNUUllfS0lORF9JVEVNEAISHQoZUkVHSVNUUllfS0lORF9FTlRJVFlfVFlQRRADEhcKE1JFR0lTVFJZX0tJTkRfQklPTUUQBBIbChdSRUdJU1RSWV9LSU5EX0RJTUVOU0lPThAFEhgKFFJFR0lTVFJZX0tJTkRfUkVDSVBFEAYSHQoZUkVHSVNUUllfS0lORF9FTkNIQU5UTUVOVBAHEhgKFFJFR0lTVFJZX0tJTkRfRUZGRUNUEAgSGwoXUkVHSVNUUllfS0lORF9BVFRSSUJVVEUQCRIcChhSRUdJU1RSWV9LSU5EX0dBTUVfRVZFTlQQChIXChNSRUdJU1RSWV9LSU5EX1NPVU5EEAsSGgoWUkVHSVNUUllfS0lORF9QQVJUSUNMRRAMEhsKF1JFR0lTVFJZX0tJTkRfQ09OVEFJTkVSEA0y5AUKD1JlZ2lzdHJ5U2VydmljZRKzAQoTR2V0UmVnaXN0cnlJZGVudGl0eRInLnNvdWxmaXJlLnYxLkdldFJlZ2lzdHJ5SWRlbnRpdHlSZXF1ZXN0Giguc291bGZpcmUudjEuR2V0UmVnaXN0cnlJZGVudGl0eVJlc3BvbnNlIknK8xgxChVHZXQgcmVnaXN0cnkgaWRlbnRpdHkaEFJFQURfQ0xJRU5UX0RBVEEiBnNlcnZlcoLT5JMCDhIML3YxL3JlZ2lzdHJ5ErsBChNMaXN0UmVnaXN0cnlFbnRyaWVzEicuc291bGZpcmUudjEuTGlzdFJlZ2lzdHJ5RW50cmllc1JlcXVlc3QaKC5zb3VsZmlyZS52MS5MaXN0UmVnaXN0cnlFbnRyaWVzUmVzcG9uc2UiUcrzGDEKFUxpc3QgcmVnaXN0cnkgZW50cmllcxoQUkVBRF9DTElFTlRfREFUQSIGc2VydmVygtPkkwIWEhQvdjEvcmVnaXN0cnkvZW50cmllcxKtAQoQR2V0UmVnaXN0cnlFbnRyeRIkLnNvdWxmaXJlLnYxLkdldFJlZ2lzdHJ5RW50cnlSZXF1ZXN0GiUuc291bGZpcmUudjEuR2V0UmVnaXN0cnlFbnRyeVJlc3BvbnNlIkzK8xguChJHZXQgcmVnaXN0cnkgZW50cnkaEFJFQURfQ0xJRU5UX0RBVEEiBnNlcnZlcoLT5JMCFBISL3YxL3JlZ2lzdHJ5L2VudHJ5EqwBChBMaXN0UmVnaXN0cnlUYWdzEiQuc291bGZpcmUudjEuTGlzdFJlZ2lzdHJ5VGFnc1JlcXVlc3QaJS5zb3VsZmlyZS52MS5MaXN0UmVnaXN0cnlUYWdzUmVzcG9uc2UiS8rzGC4KEkxpc3QgcmVnaXN0cnkgdGFncxoQUkVBRF9DTElFTlRfREFUQSIGc2VydmVygtPkkwITEhEvdjEvcmVnaXN0cnkvdGFnc0IhCh1jb20uc291bGZpcmVtYy5ncnBjLmdlbmVyYXRlZFABYgZwcm90bzM", [file_google_api_annotations, file_google_protobuf_struct, file_soulfire_api_docs]);

/**
 * @generated from message soulfire.v1.RegistryIdentity
 */
export type RegistryIdentity = Message<"soulfire.v1.RegistryIdentity"> & {
  /**
   * @generated from field: string soulfire_version = 1;
   */
  soulfireVersion: string;

  /**
   * @generated from field: string minecraft_version = 2;
   */
  minecraftVersion: string;

  /**
   * @generated from field: int32 protocol_version = 3;
   */
  protocolVersion: number;

  /**
   * @generated from field: string registry_hash = 4;
   */
  registryHash: string;
};

/**
 * Describes the message soulfire.v1.RegistryIdentity.
 * Use `create(RegistryIdentitySchema)` to create a new message.
 */
export const RegistryIdentitySchema: GenMessage<RegistryIdentity> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 0);

/**
 * @generated from message soulfire.v1.MinecraftRegistryEntry
 */
export type MinecraftRegistryEntry = Message<"soulfire.v1.MinecraftRegistryEntry"> & {
  /**
   * @generated from field: soulfire.v1.RegistryKind kind = 1;
   */
  kind: RegistryKind;

  /**
   * @generated from field: string id = 2;
   */
  id: string;

  /**
   * @generated from field: optional int32 numeric_id = 3;
   */
  numericId?: number | undefined;

  /**
   * @generated from field: string display_name = 4;
   */
  displayName: string;

  /**
   * @generated from field: google.protobuf.Struct properties = 5;
   */
  properties?: JsonObject | undefined;

  /**
   * @generated from field: repeated string tags = 6;
   */
  tags: string[];
};

/**
 * Describes the message soulfire.v1.MinecraftRegistryEntry.
 * Use `create(MinecraftRegistryEntrySchema)` to create a new message.
 */
export const MinecraftRegistryEntrySchema: GenMessage<MinecraftRegistryEntry> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 1);

/**
 * @generated from message soulfire.v1.GetRegistryIdentityRequest
 */
export type GetRegistryIdentityRequest = Message<"soulfire.v1.GetRegistryIdentityRequest"> & {
  /**
   * @generated from field: optional string instance_id = 1;
   */
  instanceId?: string | undefined;

  /**
   * @generated from field: optional string bot_id = 2;
   */
  botId?: string | undefined;
};

/**
 * Describes the message soulfire.v1.GetRegistryIdentityRequest.
 * Use `create(GetRegistryIdentityRequestSchema)` to create a new message.
 */
export const GetRegistryIdentityRequestSchema: GenMessage<GetRegistryIdentityRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 2);

/**
 * @generated from message soulfire.v1.GetRegistryIdentityResponse
 */
export type GetRegistryIdentityResponse = Message<"soulfire.v1.GetRegistryIdentityResponse"> & {
  /**
   * @generated from field: soulfire.v1.RegistryIdentity identity = 1;
   */
  identity?: RegistryIdentity | undefined;

  /**
   * @generated from field: repeated soulfire.v1.RegistryKind supported_kinds = 2;
   */
  supportedKinds: RegistryKind[];

  /**
   * @generated from field: repeated string protocol_features = 3;
   */
  protocolFeatures: string[];
};

/**
 * Describes the message soulfire.v1.GetRegistryIdentityResponse.
 * Use `create(GetRegistryIdentityResponseSchema)` to create a new message.
 */
export const GetRegistryIdentityResponseSchema: GenMessage<GetRegistryIdentityResponse> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 3);

/**
 * @generated from message soulfire.v1.ListRegistryEntriesRequest
 */
export type ListRegistryEntriesRequest = Message<"soulfire.v1.ListRegistryEntriesRequest"> & {
  /**
   * @generated from field: soulfire.v1.RegistryKind kind = 1;
   */
  kind: RegistryKind;

  /**
   * @generated from field: string id_prefix = 2;
   */
  idPrefix: string;

  /**
   * @generated from field: repeated string tags = 3;
   */
  tags: string[];

  /**
   * @generated from field: uint32 page_size = 4;
   */
  pageSize: number;

  /**
   * @generated from field: string page_token = 5;
   */
  pageToken: string;

  /**
   * @generated from field: optional string instance_id = 6;
   */
  instanceId?: string | undefined;

  /**
   * @generated from field: optional string bot_id = 7;
   */
  botId?: string | undefined;
};

/**
 * Describes the message soulfire.v1.ListRegistryEntriesRequest.
 * Use `create(ListRegistryEntriesRequestSchema)` to create a new message.
 */
export const ListRegistryEntriesRequestSchema: GenMessage<ListRegistryEntriesRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 4);

/**
 * @generated from message soulfire.v1.ListRegistryEntriesResponse
 */
export type ListRegistryEntriesResponse = Message<"soulfire.v1.ListRegistryEntriesResponse"> & {
  /**
   * @generated from field: repeated soulfire.v1.MinecraftRegistryEntry entries = 1;
   */
  entries: MinecraftRegistryEntry[];

  /**
   * @generated from field: string next_page_token = 2;
   */
  nextPageToken: string;

  /**
   * @generated from field: string registry_hash = 3;
   */
  registryHash: string;
};

/**
 * Describes the message soulfire.v1.ListRegistryEntriesResponse.
 * Use `create(ListRegistryEntriesResponseSchema)` to create a new message.
 */
export const ListRegistryEntriesResponseSchema: GenMessage<ListRegistryEntriesResponse> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 5);

/**
 * @generated from message soulfire.v1.GetRegistryEntryRequest
 */
export type GetRegistryEntryRequest = Message<"soulfire.v1.GetRegistryEntryRequest"> & {
  /**
   * @generated from field: soulfire.v1.RegistryKind kind = 1;
   */
  kind: RegistryKind;

  /**
   * @generated from field: string id = 2;
   */
  id: string;

  /**
   * @generated from field: optional string instance_id = 3;
   */
  instanceId?: string | undefined;

  /**
   * @generated from field: optional string bot_id = 4;
   */
  botId?: string | undefined;
};

/**
 * Describes the message soulfire.v1.GetRegistryEntryRequest.
 * Use `create(GetRegistryEntryRequestSchema)` to create a new message.
 */
export const GetRegistryEntryRequestSchema: GenMessage<GetRegistryEntryRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 6);

/**
 * @generated from message soulfire.v1.GetRegistryEntryResponse
 */
export type GetRegistryEntryResponse = Message<"soulfire.v1.GetRegistryEntryResponse"> & {
  /**
   * @generated from field: soulfire.v1.MinecraftRegistryEntry entry = 1;
   */
  entry?: MinecraftRegistryEntry | undefined;

  /**
   * @generated from field: string registry_hash = 2;
   */
  registryHash: string;
};

/**
 * Describes the message soulfire.v1.GetRegistryEntryResponse.
 * Use `create(GetRegistryEntryResponseSchema)` to create a new message.
 */
export const GetRegistryEntryResponseSchema: GenMessage<GetRegistryEntryResponse> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 7);

/**
 * @generated from message soulfire.v1.ListRegistryTagsRequest
 */
export type ListRegistryTagsRequest = Message<"soulfire.v1.ListRegistryTagsRequest"> & {
  /**
   * @generated from field: soulfire.v1.RegistryKind kind = 1;
   */
  kind: RegistryKind;

  /**
   * @generated from field: string prefix = 2;
   */
  prefix: string;

  /**
   * @generated from field: uint32 page_size = 3;
   */
  pageSize: number;

  /**
   * @generated from field: string page_token = 4;
   */
  pageToken: string;

  /**
   * @generated from field: optional string instance_id = 5;
   */
  instanceId?: string | undefined;

  /**
   * @generated from field: optional string bot_id = 6;
   */
  botId?: string | undefined;
};

/**
 * Describes the message soulfire.v1.ListRegistryTagsRequest.
 * Use `create(ListRegistryTagsRequestSchema)` to create a new message.
 */
export const ListRegistryTagsRequestSchema: GenMessage<ListRegistryTagsRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 8);

/**
 * @generated from message soulfire.v1.RegistryTag
 */
export type RegistryTag = Message<"soulfire.v1.RegistryTag"> & {
  /**
   * @generated from field: soulfire.v1.RegistryKind kind = 1;
   */
  kind: RegistryKind;

  /**
   * @generated from field: string id = 2;
   */
  id: string;

  /**
   * @generated from field: repeated string values = 3;
   */
  values: string[];
};

/**
 * Describes the message soulfire.v1.RegistryTag.
 * Use `create(RegistryTagSchema)` to create a new message.
 */
export const RegistryTagSchema: GenMessage<RegistryTag> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 9);

/**
 * @generated from message soulfire.v1.ListRegistryTagsResponse
 */
export type ListRegistryTagsResponse = Message<"soulfire.v1.ListRegistryTagsResponse"> & {
  /**
   * @generated from field: repeated soulfire.v1.RegistryTag tags = 1;
   */
  tags: RegistryTag[];

  /**
   * @generated from field: string next_page_token = 2;
   */
  nextPageToken: string;

  /**
   * @generated from field: string registry_hash = 3;
   */
  registryHash: string;
};

/**
 * Describes the message soulfire.v1.ListRegistryTagsResponse.
 * Use `create(ListRegistryTagsResponseSchema)` to create a new message.
 */
export const ListRegistryTagsResponseSchema: GenMessage<ListRegistryTagsResponse> = /*@__PURE__*/
  messageDesc(file_soulfire_registry, 10);

/**
 * @generated from enum soulfire.v1.RegistryKind
 */
export enum RegistryKind {
  /**
   * @generated from enum value: REGISTRY_KIND_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: REGISTRY_KIND_BLOCK = 1;
   */
  BLOCK = 1,

  /**
   * @generated from enum value: REGISTRY_KIND_ITEM = 2;
   */
  ITEM = 2,

  /**
   * @generated from enum value: REGISTRY_KIND_ENTITY_TYPE = 3;
   */
  ENTITY_TYPE = 3,

  /**
   * @generated from enum value: REGISTRY_KIND_BIOME = 4;
   */
  BIOME = 4,

  /**
   * @generated from enum value: REGISTRY_KIND_DIMENSION = 5;
   */
  DIMENSION = 5,

  /**
   * @generated from enum value: REGISTRY_KIND_RECIPE = 6;
   */
  RECIPE = 6,

  /**
   * @generated from enum value: REGISTRY_KIND_ENCHANTMENT = 7;
   */
  ENCHANTMENT = 7,

  /**
   * @generated from enum value: REGISTRY_KIND_EFFECT = 8;
   */
  EFFECT = 8,

  /**
   * @generated from enum value: REGISTRY_KIND_ATTRIBUTE = 9;
   */
  ATTRIBUTE = 9,

  /**
   * @generated from enum value: REGISTRY_KIND_GAME_EVENT = 10;
   */
  GAME_EVENT = 10,

  /**
   * @generated from enum value: REGISTRY_KIND_SOUND = 11;
   */
  SOUND = 11,

  /**
   * @generated from enum value: REGISTRY_KIND_PARTICLE = 12;
   */
  PARTICLE = 12,

  /**
   * @generated from enum value: REGISTRY_KIND_CONTAINER = 13;
   */
  CONTAINER = 13,
}

/**
 * Describes the enum soulfire.v1.RegistryKind.
 */
export const RegistryKindSchema: GenEnum<RegistryKind> = /*@__PURE__*/
  enumDesc(file_soulfire_registry, 0);

/**
 * @generated from service soulfire.v1.RegistryService
 */
export const RegistryService: GenService<{
  /**
   * @generated from rpc soulfire.v1.RegistryService.GetRegistryIdentity
   */
  getRegistryIdentity: {
    methodKind: "unary";
    input: typeof GetRegistryIdentityRequestSchema;
    output: typeof GetRegistryIdentityResponseSchema;
  },
  /**
   * @generated from rpc soulfire.v1.RegistryService.ListRegistryEntries
   */
  listRegistryEntries: {
    methodKind: "unary";
    input: typeof ListRegistryEntriesRequestSchema;
    output: typeof ListRegistryEntriesResponseSchema;
  },
  /**
   * @generated from rpc soulfire.v1.RegistryService.GetRegistryEntry
   */
  getRegistryEntry: {
    methodKind: "unary";
    input: typeof GetRegistryEntryRequestSchema;
    output: typeof GetRegistryEntryResponseSchema;
  },
  /**
   * @generated from rpc soulfire.v1.RegistryService.ListRegistryTags
   */
  listRegistryTags: {
    methodKind: "unary";
    input: typeof ListRegistryTagsRequestSchema;
    output: typeof ListRegistryTagsResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_soulfire_registry, 0);
