# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: soulfire/world.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'soulfire/world.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from soulfire import api_docs_pb2 as soulfire_dot_api__docs__pb2
from soulfire import bot_live_pb2 as soulfire_dot_bot__live__pb2
from soulfire import common_pb2 as soulfire_dot_common__pb2
from soulfire import domain_pb2 as soulfire_dot_domain__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14soulfire/world.proto\x12\x0bsoulfire.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x17soulfire/api_docs.proto\x1a\x17soulfire/bot_live.proto\x1a\x15soulfire/common.proto\x1a\x15soulfire/domain.proto\"`\n\x08IntRange\x12\x1d\n\x07minimum\x18\x01 \x01(\x05H\x00R\x07minimum\x88\x01\x01\x12\x1d\n\x07maximum\x18\x02 \x01(\x05H\x01R\x07maximum\x88\x01\x01\x42\n\n\x08_minimumB\n\n\x08_maximum\"b\n\nFloatRange\x12\x1d\n\x07minimum\x18\x01 \x01(\x02H\x00R\x07minimum\x88\x01\x01\x12\x1d\n\x07maximum\x18\x02 \x01(\x02H\x01R\x07maximum\x88\x01\x01\x42\n\n\x08_minimumB\n\n\x08_maximum\"\xd2\x05\n\rBlockSelector\x12\x1b\n\tblock_ids\x18\x01 \x03(\tR\x08\x62lockIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags\x12J\n\nproperties\x18\x03 \x03(\x0b\x32*.soulfire.v1.BlockSelector.PropertiesEntryR\nproperties\x12\x19\n\x05solid\x18\x04 \x01(\x08H\x00R\x05solid\x88\x01\x01\x12%\n\x0breplaceable\x18\x05 \x01(\x08H\x01R\x0breplaceable\x88\x01\x01\x12%\n\x0binteractive\x18\x06 \x01(\x08H\x02R\x0binteractive\x88\x01\x01\x12\x1f\n\x08\x64iggable\x18\x07 \x01(\x08H\x03R\x08\x64iggable\x88\x01\x01\x12.\n\x13\x65\x66\x66\x65\x63tive_tool_tags\x18\x08 \x03(\tR\x11\x65\x66\x66\x65\x63tiveToolTags\x12\x1b\n\tbiome_ids\x18\t \x03(\tR\x08\x62iomeIds\x12\x37\n\tsky_light\x18\n \x01(\x0b\x32\x15.soulfire.v1.IntRangeH\x04R\x08skyLight\x88\x01\x01\x12;\n\x0b\x62lock_light\x18\x0b \x01(\x0b\x32\x15.soulfire.v1.IntRangeH\x05R\nblockLight\x88\x01\x01\x12\x30\n\x14include_block_entity\x18\x0c \x01(\x08R\x12includeBlockEntity\x12\x31\n\x15require_line_of_sight\x18\r \x01(\x08R\x12requireLineOfSight\x1a=\n\x0fPropertiesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x08\n\x06_solidB\x0e\n\x0c_replaceableB\x0e\n\x0c_interactiveB\x0b\n\t_diggableB\x0c\n\n_sky_lightB\x0e\n\x0c_block_light\"\xdc\x04\n\x0e\x45ntitySelector\x12!\n\x0c\x65ntity_types\x18\x01 \x03(\tR\x0b\x65ntityTypes\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags\x12;\n\ncategories\x18\x03 \x03(\x0e\x32\x1b.soulfire.v1.EntityCategoryR\ncategories\x12\x17\n\x04uuid\x18\x04 \x01(\tH\x00R\x04uuid\x88\x01\x01\x12\"\n\nnetwork_id\x18\x05 \x01(\x05H\x01R\tnetworkId\x88\x01\x01\x12$\n\x0bplayer_name\x18\x06 \x01(\tH\x02R\nplayerName\x88\x01\x01\x12\x19\n\x05\x61live\x18\x07 \x01(\x08H\x03R\x05\x61live\x88\x01\x01\x12\x34\n\x06health\x18\x08 \x01(\x0b\x32\x17.soulfire.v1.FloatRangeH\x04R\x06health\x88\x01\x01\x12$\n\x0b\x63ustom_name\x18\t \x01(\tH\x05R\ncustomName\x88\x01\x01\x12*\n\x11\x65quipped_item_ids\x18\n \x03(\tR\x0f\x65quippedItemIds\x12\x1d\n\neffect_ids\x18\x0b \x03(\tR\teffectIds\x12\"\n\nowner_uuid\x18\x0c \x01(\tH\x06R\townerUuid\x88\x01\x01\x12\x31\n\x15require_line_of_sight\x18\r \x01(\x08R\x12requireLineOfSightB\x07\n\x05_uuidB\r\n\x0b_network_idB\x0e\n\x0c_player_nameB\x08\n\x06_aliveB\t\n\x07_healthB\x0e\n\x0c_custom_nameB\r\n\x0b_owner_uuid\"x\n\x0bQueryRegion\x12\x33\n\x06sphere\x18\x01 \x01(\x0b\x32\x19.soulfire.v1.SphereRegionH\x00R\x06sphere\x12*\n\x03\x62ox\x18\x02 \x01(\x0b\x32\x16.soulfire.v1.BoxRegionH\x00R\x03\x62oxB\x08\n\x06region\"Z\n\x0cSphereRegion\x12\x32\n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\x06\x63\x65nter\x12\x16\n\x06radius\x18\x02 \x01(\x02R\x06radius\"w\n\tBoxRegion\x12\x34\n\x07minimum\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x07minimum\x12\x34\n\x07maximum\x18\x02 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x07maximum\"p\n\x18GetPlayerSnapshotRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\"P\n\x19GetPlayerSnapshotResponse\x12\x33\n\x06player\x18\x01 \x01(\x0b\x32\x1b.soulfire.v1.PlayerSnapshotR\x06player\"\xfd\x01\n\x14GetWorldBlockRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12\x36\n\x08position\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x08position\x12\x30\n\x14include_block_entity\x18\x04 \x01(\x08R\x12includeBlockEntity\x12%\n\x0einclude_shapes\x18\x05 \x01(\x08R\rincludeShapes\"I\n\x15GetWorldBlockResponse\x12\x30\n\x05\x62lock\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockSnapshotR\x05\x62lock\"\xbc\x02\n\x12QueryBlocksRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12\x30\n\x06region\x18\x03 \x01(\x0b\x32\x18.soulfire.v1.QueryRegionR\x06region\x12\x36\n\x08selector\x18\x04 \x01(\x0b\x32\x1a.soulfire.v1.BlockSelectorR\x08selector\x12*\n\x04sort\x18\x05 \x01(\x0e\x32\x16.soulfire.v1.QuerySortR\x04sort\x12\x1b\n\tpage_size\x18\x06 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x07 \x01(\tR\tpageToken\"\x98\x01\n\x13QueryBlocksResponse\x12\x32\n\x06\x62locks\x18\x01 \x03(\x0b\x32\x1a.soulfire.v1.BlockSnapshotR\x06\x62locks\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12%\n\x0eworld_revision\x18\x03 \x01(\x04R\rworldRevision\"\xa3\x01\n\x15GetWorldEntityRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12\x34\n\x06\x65ntity\x18\x03 \x01(\x0b\x32\x1c.soulfire.v1.EntityReferenceR\x06\x65ntity\"M\n\x16GetWorldEntityResponse\x12\x33\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\x1b.soulfire.v1.EntitySnapshotR\x06\x65ntity\"\xe9\x02\n\x14QueryEntitiesRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12\x37\n\x06origin\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionH\x00R\x06origin\x88\x01\x01\x12\x16\n\x06radius\x18\x04 \x01(\x02R\x06radius\x12\x37\n\x08selector\x18\x05 \x01(\x0b\x32\x1b.soulfire.v1.EntitySelectorR\x08selector\x12*\n\x04sort\x18\x06 \x01(\x0e\x32\x16.soulfire.v1.QuerySortR\x04sort\x12\x1b\n\tpage_size\x18\x07 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x08 \x01(\tR\tpageTokenB\t\n\x07_origin\"\x9f\x01\n\x15QueryEntitiesResponse\x12\x37\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x1b.soulfire.v1.EntitySnapshotR\x08\x65ntities\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12%\n\x0eworld_revision\x18\x03 \x01(\x04R\rworldRevision\"\xc8\x02\n\x0eRaycastRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12\x32\n\x06origin\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\x06origin\x12/\n\tdirection\x18\x04 \x01(\x0b\x32\x11.soulfire.v1.Vec3R\tdirection\x12)\n\x10maximum_distance\x18\x05 \x01(\x02R\x0fmaximumDistance\x12%\n\x0einclude_fluids\x18\x06 \x01(\x08R\rincludeFluids\x12)\n\x10include_entities\x18\x07 \x01(\x08R\x0fincludeEntities\"\xd3\x02\n\x0fRaycastResponse\x12\x35\n\x05\x62lock\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockSnapshotH\x00R\x05\x62lock\x88\x01\x01\x12\x38\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x1b.soulfire.v1.EntitySnapshotH\x01R\x06\x65ntity\x88\x01\x01\x12\x42\n\x0chit_position\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionH\x02R\x0bhitPosition\x88\x01\x01\x12:\n\nblock_face\x18\x04 \x01(\x0e\x32\x16.soulfire.v1.BlockFaceH\x03R\tblockFace\x88\x01\x01\x12\x1a\n\x08\x64istance\x18\x05 \x01(\x02R\x08\x64istanceB\x08\n\x06_blockB\t\n\x07_entityB\x0f\n\r_hit_positionB\r\n\x0b_block_face\"\xa7\x01\n\x12\x43\x61nSeeBlockRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12;\n\x08position\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionB\x03\xe0\x41\x02R\x08position\"\x8c\x01\n\x13\x43\x61nSeeBlockResponse\x12\x1d\n\x07visible\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02R\x07visible\x12\x1f\n\x08\x64istance\x18\x02 \x01(\x02\x42\x03\xe0\x41\x02R\x08\x64istance\x12\x35\n\x05\x62lock\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.BlockSnapshotB\x03\xe0\x41\x02R\x05\x62lock\"\xab\x01\n\x16\x45stimateDigTimeRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12;\n\x08position\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionB\x03\xe0\x41\x02R\x08position\"\xbc\x02\n\x17\x45stimateDigTimeResponse\x12\x1f\n\x08\x64iggable\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02R\x08\x64iggable\x12\x1d\n\x07instant\x18\x02 \x01(\x08\x42\x03\xe0\x41\x02R\x07instant\x12\x19\n\x05ticks\x18\x03 \x01(\rB\x03\xe0\x41\x02R\x05ticks\x12$\n\x0b\x64uration_ms\x18\x04 \x01(\x04\x42\x03\xe0\x41\x02R\ndurationMs\x12/\n\x11progress_per_tick\x18\x05 \x01(\x02\x42\x03\xe0\x41\x02R\x0fprogressPerTick\x12\x38\n\x16\x63orrect_tool_for_drops\x18\x06 \x01(\x08\x42\x03\xe0\x41\x02R\x13\x63orrectToolForDrops\x12\x35\n\x05\x62lock\x18\x07 \x01(\x0b\x32\x1a.soulfire.v1.BlockSnapshotB\x03\xe0\x41\x02R\x05\x62lock\"\x85\x02\n\x1e\x45stimateExplosionDamageRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12\x39\n\x06target\x18\x03 \x01(\x0b\x32\x1c.soulfire.v1.EntityReferenceB\x03\xe0\x41\x02R\x06target\x12\x37\n\x06\x63\x65nter\x18\x04 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionB\x03\xe0\x41\x02R\x06\x63\x65nter\x12\x19\n\x05power\x18\x05 \x01(\x02\x42\x03\xe0\x41\x02R\x05power\"\xb4\x05\n\x1f\x45stimateExplosionDamageResponse\x12\x1f\n\x08\x64istance\x18\x01 \x01(\x02\x42\x03\xe0\x41\x02R\x08\x64istance\x12(\n\rdamage_radius\x18\x02 \x01(\x02\x42\x03\xe0\x41\x02R\x0c\x64\x61mageRadius\x12\x1f\n\x08\x65xposure\x18\x03 \x01(\x02\x42\x03\xe0\x41\x02R\x08\x65xposure\x12\"\n\nraw_damage\x18\x04 \x01(\x02\x42\x03\xe0\x41\x02R\trawDamage\x12\x31\n\x12\x64\x61mage_after_armor\x18\x05 \x01(\x02\x42\x03\xe0\x41\x02R\x10\x64\x61mageAfterArmor\x12;\n\x17\x64\x61mage_after_resistance\x18\x06 \x01(\x02\x42\x03\xe0\x41\x02R\x15\x64\x61mageAfterResistance\x12?\n\x19\x64\x61mage_after_enchantments\x18\x07 \x01(\x02\x42\x03\xe0\x41\x02R\x17\x64\x61mageAfterEnchantments\x12,\n\x0f\x61\x62sorbed_damage\x18\x08 \x01(\x02\x42\x03\xe0\x41\x02R\x0e\x61\x62sorbedDamage\x12;\n\x17\x65stimated_health_damage\x18\t \x01(\x02\x42\x03\xe0\x41\x02R\x15\x65stimatedHealthDamage\x12\'\n\x0cinvulnerable\x18\n \x01(\x08\x42\x03\xe0\x41\x02R\x0cinvulnerable\x12&\n\x0c\x61rmor_points\x18\x0b \x01(\rB\x03\xe0\x41\x02R\x0b\x61rmorPoints\x12,\n\x0f\x61rmor_toughness\x18\x0c \x01(\x02\x42\x03\xe0\x41\x02R\x0e\x61rmorToughness\x12.\n\x10resistance_level\x18\r \x01(\rB\x03\xe0\x41\x02R\x0fresistanceLevel\x12\x36\n\x14\x65xplosion_protection\x18\x0e \x01(\rB\x03\xe0\x41\x02R\x13\x65xplosionProtection*l\n\tQuerySort\x12\x1a\n\x16QUERY_SORT_UNSPECIFIED\x10\x00\x12\x16\n\x12QUERY_SORT_NEAREST\x10\x01\x12\x17\n\x13QUERY_SORT_FARTHEST\x10\x02\x12\x12\n\x0eQUERY_SORT_XYZ\x10\x03\x32\xb4\x12\n\x0cWorldService\x12\xd8\x01\n\x11GetPlayerSnapshot\x12%.soulfire.v1.GetPlayerSnapshotRequest\x1a&.soulfire.v1.GetPlayerSnapshotResponse\"t\xca\xf3\x18\x32\n\x13Get player snapshot\x1a\rREAD_BOT_INFO\"\x0cinstance.bot\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/instances/{instance_id}/bots/{bot_id}/world/player\x12\xc7\x01\n\rGetWorldBlock\x12!.soulfire.v1.GetWorldBlockRequest\x1a\".soulfire.v1.GetWorldBlockResponse\"o\xca\xf3\x18.\n\x0fGet world block\x1a\rREAD_BOT_INFO\"\x0cinstance.bot\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/instances/{instance_id}/bots/{bot_id}/world/block\x12\xc8\x01\n\x0bQueryBlocks\x12\x1f.soulfire.v1.QueryBlocksRequest\x1a .soulfire.v1.QueryBlocksResponse\"v\xca\xf3\x18+\n\x0cQuery blocks\x1a\rREAD_BOT_INFO\"\x0cinstance.bot\x82\xd3\xe4\x93\x02\x41\"</v1/instances/{instance_id}/bots/{bot_id}/world/blocks:query:\x01*\x12\xcc\x01\n\x0eGetWorldEntity\x12\".soulfire.v1.GetWorldEntityRequest\x1a#.soulfire.v1.GetWorldEntityResponse\"q\xca\xf3\x18/\n\x10Get world entity\x1a\rREAD_BOT_INFO\"\x0cinstance.bot\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/instances/{instance_id}/bots/{bot_id}/world/entity\x12\xd2\x01\n\rQueryEntities\x12!.soulfire.v1.QueryEntitiesRequest\x1a\".soulfire.v1.QueryEntitiesResponse\"z\xca\xf3\x18-\n\x0eQuery entities\x1a\rREAD_BOT_INFO\"\x0cinstance.bot\x82\xd3\xe4\x93\x02\x43\">/v1/instances/{instance_id}/bots/{bot_id}/world/entities:query:\x01*\x12\xb8\x01\n\x07Raycast\x12\x1b.soulfire.v1.RaycastRequest\x1a\x1c.soulfire.v1.RaycastResponse\"r\xca\xf3\x18,\n\rRaycast world\x1a\rREAD_BOT_INFO\"\x0cinstance.bot\x82\xd3\xe4\x93\x02<\"7/v1/instances/{instance_id}/bots/{bot_id}/world:raycast:\x01*\x12\xaf\x02\n\x0b\x43\x61nSeeBlock\x12\x1f.soulfire.v1.CanSeeBlockRequest\x1a .soulfire.v1.CanSeeBlockResponse\"\xdc\x01\xca\xf3\x18\x90\x01\n\x16\x43heck block visibility\x1a\rREAD_BOT_INFO\"\x0cinstance.bot2YRaycasts from the bot player\'s current eye position to the center of the requested block.\x82\xd3\xe4\x93\x02\x41\"</v1/instances/{instance_id}/bots/{bot_id}/world/block:canSee:\x01*\x12\xd0\x02\n\x0f\x45stimateDigTime\x12#.soulfire.v1.EstimateDigTimeRequest\x1a$.soulfire.v1.EstimateDigTimeResponse\"\xf1\x01\xca\xf3\x18\x9c\x01\n\x17\x45stimate block dig time\x1a\rREAD_BOT_INFO\"\x0cinstance.bot2dUses the player\'s current held item, effects, attributes, environment, and the observed block state.\x82\xd3\xe4\x93\x02J\"E/v1/instances/{instance_id}/bots/{bot_id}/world/block:estimateDigTime:\x01*\x12\xcf\x03\n\x17\x45stimateExplosionDamage\x12+.soulfire.v1.EstimateExplosionDamageRequest\x1a,.soulfire.v1.EstimateExplosionDamageResponse\"\xd8\x02\xca\xf3\x18\xff\x01\n\x19\x45stimate explosion damage\x1a\rREAD_BOT_INFO\"\x0cinstance.bot*UTarget entity and explosion center must be observable in the bot\'s current dimension.2nSamples block exposure and applies the target\'s observed armor, resistance, enchantment, and absorption state.\x82\xd3\xe4\x93\x02N\"I/v1/instances/{instance_id}/bots/{bot_id}/world/explosion-damage:estimate:\x01*B!\n\x1d\x63om.soulfiremc.grpc.generatedP\x01\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'soulfire.world_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\035com.soulfiremc.grpc.generatedP\001'
  _globals['_BLOCKSELECTOR_PROPERTIESENTRY']._loaded_options = None
  _globals['_BLOCKSELECTOR_PROPERTIESENTRY']._serialized_options = b'8\001'
  _globals['_GETPLAYERSNAPSHOTREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_GETPLAYERSNAPSHOTREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_GETPLAYERSNAPSHOTREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_GETPLAYERSNAPSHOTREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_GETWORLDBLOCKREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_GETWORLDBLOCKREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_GETWORLDBLOCKREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_GETWORLDBLOCKREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_QUERYBLOCKSREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_QUERYBLOCKSREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_QUERYBLOCKSREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_QUERYBLOCKSREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_GETWORLDENTITYREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_GETWORLDENTITYREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_GETWORLDENTITYREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_GETWORLDENTITYREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_QUERYENTITIESREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_QUERYENTITIESREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_QUERYENTITIESREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_QUERYENTITIESREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_RAYCASTREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_RAYCASTREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_RAYCASTREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_RAYCASTREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_CANSEEBLOCKREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_CANSEEBLOCKREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_CANSEEBLOCKREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_CANSEEBLOCKREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_CANSEEBLOCKREQUEST'].fields_by_name['position']._loaded_options = None
  _globals['_CANSEEBLOCKREQUEST'].fields_by_name['position']._serialized_options = b'\340A\002'
  _globals['_CANSEEBLOCKRESPONSE'].fields_by_name['visible']._loaded_options = None
  _globals['_CANSEEBLOCKRESPONSE'].fields_by_name['visible']._serialized_options = b'\340A\002'
  _globals['_CANSEEBLOCKRESPONSE'].fields_by_name['distance']._loaded_options = None
  _globals['_CANSEEBLOCKRESPONSE'].fields_by_name['distance']._serialized_options = b'\340A\002'
  _globals['_CANSEEBLOCKRESPONSE'].fields_by_name['block']._loaded_options = None
  _globals['_CANSEEBLOCKRESPONSE'].fields_by_name['block']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEDIGTIMEREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_ESTIMATEDIGTIMEREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_ESTIMATEDIGTIMEREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_ESTIMATEDIGTIMEREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_ESTIMATEDIGTIMEREQUEST'].fields_by_name['position']._loaded_options = None
  _globals['_ESTIMATEDIGTIMEREQUEST'].fields_by_name['position']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['diggable']._loaded_options = None
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['diggable']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['instant']._loaded_options = None
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['instant']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['ticks']._loaded_options = None
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['ticks']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['duration_ms']._loaded_options = None
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['duration_ms']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['progress_per_tick']._loaded_options = None
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['progress_per_tick']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['correct_tool_for_drops']._loaded_options = None
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['correct_tool_for_drops']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['block']._loaded_options = None
  _globals['_ESTIMATEDIGTIMERESPONSE'].fields_by_name['block']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['target']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['target']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['center']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['center']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['power']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST'].fields_by_name['power']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['distance']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['distance']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['damage_radius']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['damage_radius']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['exposure']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['exposure']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['raw_damage']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['raw_damage']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['damage_after_armor']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['damage_after_armor']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['damage_after_resistance']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['damage_after_resistance']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['damage_after_enchantments']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['damage_after_enchantments']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['absorbed_damage']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['absorbed_damage']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['estimated_health_damage']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['estimated_health_damage']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['invulnerable']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['invulnerable']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['armor_points']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['armor_points']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['armor_toughness']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['armor_toughness']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['resistance_level']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['resistance_level']._serialized_options = b'\340A\002'
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['explosion_protection']._loaded_options = None
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE'].fields_by_name['explosion_protection']._serialized_options = b'\340A\002'
  _globals['_WORLDSERVICE'].methods_by_name['GetPlayerSnapshot']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['GetPlayerSnapshot']._serialized_options = b'\312\363\0302\n\023Get player snapshot\032\rREAD_BOT_INFO\"\014instance.bot\202\323\344\223\0028\0226/v1/instances/{instance_id}/bots/{bot_id}/world/player'
  _globals['_WORLDSERVICE'].methods_by_name['GetWorldBlock']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['GetWorldBlock']._serialized_options = b'\312\363\030.\n\017Get world block\032\rREAD_BOT_INFO\"\014instance.bot\202\323\344\223\0027\0225/v1/instances/{instance_id}/bots/{bot_id}/world/block'
  _globals['_WORLDSERVICE'].methods_by_name['QueryBlocks']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['QueryBlocks']._serialized_options = b'\312\363\030+\n\014Query blocks\032\rREAD_BOT_INFO\"\014instance.bot\202\323\344\223\002A\"</v1/instances/{instance_id}/bots/{bot_id}/world/blocks:query:\001*'
  _globals['_WORLDSERVICE'].methods_by_name['GetWorldEntity']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['GetWorldEntity']._serialized_options = b'\312\363\030/\n\020Get world entity\032\rREAD_BOT_INFO\"\014instance.bot\202\323\344\223\0028\0226/v1/instances/{instance_id}/bots/{bot_id}/world/entity'
  _globals['_WORLDSERVICE'].methods_by_name['QueryEntities']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['QueryEntities']._serialized_options = b'\312\363\030-\n\016Query entities\032\rREAD_BOT_INFO\"\014instance.bot\202\323\344\223\002C\">/v1/instances/{instance_id}/bots/{bot_id}/world/entities:query:\001*'
  _globals['_WORLDSERVICE'].methods_by_name['Raycast']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['Raycast']._serialized_options = b'\312\363\030,\n\rRaycast world\032\rREAD_BOT_INFO\"\014instance.bot\202\323\344\223\002<\"7/v1/instances/{instance_id}/bots/{bot_id}/world:raycast:\001*'
  _globals['_WORLDSERVICE'].methods_by_name['CanSeeBlock']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['CanSeeBlock']._serialized_options = b'\312\363\030\220\001\n\026Check block visibility\032\rREAD_BOT_INFO\"\014instance.bot2YRaycasts from the bot player\'s current eye position to the center of the requested block.\202\323\344\223\002A\"</v1/instances/{instance_id}/bots/{bot_id}/world/block:canSee:\001*'
  _globals['_WORLDSERVICE'].methods_by_name['EstimateDigTime']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['EstimateDigTime']._serialized_options = b'\312\363\030\234\001\n\027Estimate block dig time\032\rREAD_BOT_INFO\"\014instance.bot2dUses the player\'s current held item, effects, attributes, environment, and the observed block state.\202\323\344\223\002J\"E/v1/instances/{instance_id}/bots/{bot_id}/world/block:estimateDigTime:\001*'
  _globals['_WORLDSERVICE'].methods_by_name['EstimateExplosionDamage']._loaded_options = None
  _globals['_WORLDSERVICE'].methods_by_name['EstimateExplosionDamage']._serialized_options = b'\312\363\030\377\001\n\031Estimate explosion damage\032\rREAD_BOT_INFO\"\014instance.bot*UTarget entity and explosion center must be observable in the bot\'s current dimension.2nSamples block exposure and applies the target\'s observed armor, resistance, enchantment, and absorption state.\202\323\344\223\002N\"I/v1/instances/{instance_id}/bots/{bot_id}/world/explosion-damage:estimate:\001*'
  _globals['_QUERYSORT']._serialized_start=6271
  _globals['_QUERYSORT']._serialized_end=6379
  _globals['_INTRANGE']._serialized_start=196
  _globals['_INTRANGE']._serialized_end=292
  _globals['_FLOATRANGE']._serialized_start=294
  _globals['_FLOATRANGE']._serialized_end=392
  _globals['_BLOCKSELECTOR']._serialized_start=395
  _globals['_BLOCKSELECTOR']._serialized_end=1117
  _globals['_BLOCKSELECTOR_PROPERTIESENTRY']._serialized_start=971
  _globals['_BLOCKSELECTOR_PROPERTIESENTRY']._serialized_end=1032
  _globals['_ENTITYSELECTOR']._serialized_start=1120
  _globals['_ENTITYSELECTOR']._serialized_end=1724
  _globals['_QUERYREGION']._serialized_start=1726
  _globals['_QUERYREGION']._serialized_end=1846
  _globals['_SPHEREREGION']._serialized_start=1848
  _globals['_SPHEREREGION']._serialized_end=1938
  _globals['_BOXREGION']._serialized_start=1940
  _globals['_BOXREGION']._serialized_end=2059
  _globals['_GETPLAYERSNAPSHOTREQUEST']._serialized_start=2061
  _globals['_GETPLAYERSNAPSHOTREQUEST']._serialized_end=2173
  _globals['_GETPLAYERSNAPSHOTRESPONSE']._serialized_start=2175
  _globals['_GETPLAYERSNAPSHOTRESPONSE']._serialized_end=2255
  _globals['_GETWORLDBLOCKREQUEST']._serialized_start=2258
  _globals['_GETWORLDBLOCKREQUEST']._serialized_end=2511
  _globals['_GETWORLDBLOCKRESPONSE']._serialized_start=2513
  _globals['_GETWORLDBLOCKRESPONSE']._serialized_end=2586
  _globals['_QUERYBLOCKSREQUEST']._serialized_start=2589
  _globals['_QUERYBLOCKSREQUEST']._serialized_end=2905
  _globals['_QUERYBLOCKSRESPONSE']._serialized_start=2908
  _globals['_QUERYBLOCKSRESPONSE']._serialized_end=3060
  _globals['_GETWORLDENTITYREQUEST']._serialized_start=3063
  _globals['_GETWORLDENTITYREQUEST']._serialized_end=3226
  _globals['_GETWORLDENTITYRESPONSE']._serialized_start=3228
  _globals['_GETWORLDENTITYRESPONSE']._serialized_end=3305
  _globals['_QUERYENTITIESREQUEST']._serialized_start=3308
  _globals['_QUERYENTITIESREQUEST']._serialized_end=3669
  _globals['_QUERYENTITIESRESPONSE']._serialized_start=3672
  _globals['_QUERYENTITIESRESPONSE']._serialized_end=3831
  _globals['_RAYCASTREQUEST']._serialized_start=3834
  _globals['_RAYCASTREQUEST']._serialized_end=4162
  _globals['_RAYCASTRESPONSE']._serialized_start=4165
  _globals['_RAYCASTRESPONSE']._serialized_end=4504
  _globals['_CANSEEBLOCKREQUEST']._serialized_start=4507
  _globals['_CANSEEBLOCKREQUEST']._serialized_end=4674
  _globals['_CANSEEBLOCKRESPONSE']._serialized_start=4677
  _globals['_CANSEEBLOCKRESPONSE']._serialized_end=4817
  _globals['_ESTIMATEDIGTIMEREQUEST']._serialized_start=4820
  _globals['_ESTIMATEDIGTIMEREQUEST']._serialized_end=4991
  _globals['_ESTIMATEDIGTIMERESPONSE']._serialized_start=4994
  _globals['_ESTIMATEDIGTIMERESPONSE']._serialized_end=5310
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST']._serialized_start=5313
  _globals['_ESTIMATEEXPLOSIONDAMAGEREQUEST']._serialized_end=5574
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE']._serialized_start=5577
  _globals['_ESTIMATEEXPLOSIONDAMAGERESPONSE']._serialized_end=6269
  _globals['_WORLDSERVICE']._serialized_start=6382
  _globals['_WORLDSERVICE']._serialized_end=8738
# @@protoc_insertion_point(module_scope)
