### ClientboundStartConfigurationPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to signal the start of the configuration phase after handshake. ```APIDOC ## POST /play/toClient/packet_start_configuration (0x6f) ### Description This packet indicates that the client should transition to the configuration state, typically following a successful handshake. ### Method POST ### Endpoint /play/toClient/packet_start_configuration ### Parameters #### Request Body (This packet has no fields.) ``` -------------------------------- ### Chunk Batch Start Packet Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Information about the chunk batch start packet (0x0c). ```APIDOC ## Chunk Batch Start Packet (0x0c) ### Description Represents the `ClientboundChunkBatchStartPacket` which indicates the start of a chunk batch. ### Method N/A ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example ```json {} ``` ### Response #### Success Response (200) N/A #### Response Example N/A ``` -------------------------------- ### ClientboundSetBorderWarningDelayPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to set the delay before the world border warning effect starts. ```APIDOC ## POST /play/toClient/packet_world_border_warning_delay (0x54) ### Description Sent to set the delay before the world border warning effect starts. ### Method POST ### Endpoint /play/toClient/packet_world_border_warning_delay ### Parameters #### Request Body - **warningTime** (varint) - The time in seconds before the warning effect starts. ### Request Example { "warningTime": 15 } ### Response #### Success Response (200) (No specific response body defined for this packet) #### Response Example (No example response body available) ``` -------------------------------- ### POST /login/toServer/packet_login_start Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Initiates the login process by sending the player's username and UUID to the server. ```APIDOC ## POST /login/toServer/packet_login_start ### Description This packet is sent by the client to start the login sequence. It contains the player's username and their unique identifier. ### Method POST ### Endpoint /login/toServer/packet_login_start ### Parameters #### Request Body - **username** (string) - Required - The player's username. - **playerUUID** (UUID) - Required - The player's unique identifier. ### Request Example ```json { "username": "ExamplePlayer", "playerUUID": "00000000-0000-0000-0000-000000000000" } ``` ### Response #### Success Response (200) This endpoint typically does not return a JSON body on success, but rather transitions the connection state. #### Response Example (No specific JSON response for success) ``` -------------------------------- ### ClientboundSetExperiencePacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to update the player's experience points and level. ```APIDOC ## POST /play/toClient/packet_experience (0x60) ### Description Sent to update the player's experience points and level. ### Method POST ### Endpoint /play/toClient/packet_experience ### Parameters #### Request Body - **experienceBar** (f32) - The current experience bar fill (0.0 to 1.0). - **level** (varint) - The player's current level. - **totalExperience** (varint) - The player's total experience points. ### Request Example { "experienceBar": 0.75, "level": 10, "totalExperience": 1250 } ### Response #### Success Response (200) (No specific response body defined for this packet) #### Response Example (No example response body available) ``` -------------------------------- ### packet tab complete (0x0f) Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Defines the structure of the packet sent to the client when tab completion is requested. Includes fields for transaction ID, start position, length, and matches. ```APIDOC ## packet_tab_complete (0x0f) ### Description This packet is sent to the client when tab completion is requested. ### Method N/A ### Endpoint play / toClient / packet_tab_complete ### Parameters N/A #### Request Body N/A ### Response #### Success Response (200) - **transactionId** (varint) - Transaction ID for the completion. - **start** (varint) - Start position of the completed text. - **length** (varint) - Length of the completed text. - **matches length** (varint) - Number of matches. - **matches array** (array) - Array of matches, each containing a string and optional tooltip. - **match** (string) - The suggested completion. - **tooltip optional** (anonymousNbt) - Optional tooltip for the suggestion. #### Response Example ```json { "transactionId": 123, "start": 0, "length": 5, "matches length": 1, "matches array": [ { "match": "/give", "tooltip optional": {} } ] } ``` ``` -------------------------------- ### ClientboundRecipeBookSettingsPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index This packet updates the settings for the player's recipe book. ```APIDOC ## POST /play/toClient/packet_recipe_book_settings (0x45) ### Description This packet updates the settings for the player's recipe book. ### Method POST ### Endpoint /play/toClient/packet_recipe_book_settings ### Parameters #### Request Body - **craftingGuiOpen** (bool) - Whether the crafting GUI is open. - **craftingFilteringCraftable** (bool) - Whether crafting is filtered by craftable. - **smeltingGuiOpen** (bool) - Whether the smelting GUI is open. - **smeltingFilteringCraftable** (bool) - Whether smelting is filtered by craftable. - **blastGuiOpen** (bool) - Whether the blast furnace GUI is open. - **blastFilteringCraftable** (bool) - Whether blast furnace is filtered by craftable. - **smokerGuiOpen** (bool) - Whether the smoker GUI is open. - **smokerFilteringCraftable** (bool) - Whether smoker is filtered by craftable. ### Request Example ```json { "craftingGuiOpen": true, "craftingFilteringCraftable": false, "smeltingGuiOpen": false, "smeltingFilteringCraftable": false, "blastGuiOpen": false, "blastFilteringCraftable": false, "smokerGuiOpen": false, "smokerFilteringCraftable": false } ``` ### Response #### Success Response (200) This packet does not have a response body. #### Response Example ```json {} ``` ``` -------------------------------- ### ClientboundSetPlayerTeamPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to manage player teams, including creation, removal, and updates. ```APIDOC ## POST /play/toClient/packet_teams (0x66) ### Description This packet is used to manage player teams, allowing for the creation, modification, and deletion of teams, as well as updating player associations. ### Method POST ### Endpoint /play/toClient/packet_teams ### Parameters #### Request Body - **team** (string) - The name of the team. - **mode** (i8) - The mode of the packet (0: create, 1: remove, 2: update, 3: add players, 4: remove players). - **name** (anonymousNbt) - Display name for the team (used when mode is 0 or 2). - **friendlyFire** (i8) - Whether friendly fire is enabled for the team (used when mode is 0 or 2). - **nameTagVisibility** (varint) - Visibility of name tags for the team (used when mode is 0 or 2). - **collisionRule** (varint) - Collision rule for the team (used when mode is 0 or 2). - **formatting** (varint) - Formatting applied to the team name (used when mode is 0 or 2). - **prefix** (anonymousNbt) - Prefix to display before player names in the team (used when mode is 0 or 2). - **suffix** (anonymousNbt) - Suffix to display after player names in the team (used when mode is 0 or 2). - **players** (varint) - Number of players in the array (used when mode is 3 or 4). - **players** (string) - Array of player names (used when mode is 0, 3, or 4). - **players** (varint) - Number of players in the array (used when mode is 3 or 4). - **players** (string) - Array of player names (used when mode is 3 or 4). - **players** (varint) - Number of players in the array (used when mode is 4). - **players** (string) - Array of player names (used when mode is 4). ``` -------------------------------- ### Packet Login Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Handles the initial login process from the server to the client. ```APIDOC ## POST /play/toClient/packet_login ### Description This packet is sent by the server to the client after a successful connection and handshake, containing essential information for the client to initialize the game world and player state. ### Method POST ### Endpoint /play/toClient/packet_login ### Parameters #### Query Parameters - **packet_id** (i32) - Required - The ID of the packet, which is 0x2b for login. #### Request Body - **entityId** (i32) - The unique entity ID assigned to the player on the server. - **isHardcore** (bool) - Indicates if the world is in hardcore mode. - **worldNames length** (varint) - The number of world names included. - **worldNames array** (string) - An array of strings representing world names or dimension identifiers. - **maxPlayers** (varint) - The maximum number of players allowed on the server. - **viewDistance** (varint) - The client's render distance. - **simulationDistance** (varint) - The distance at which entities and game logic are simulated. - **reducedDebugInfo** (bool) - Whether debug information should be reduced on the client. - **enableRespawnScreen** (bool) - Whether the respawn screen should be enabled. - **doLimitedCrafting** (bool) - Whether limited crafting is enabled. - **worldState** (SpawnInfo) - Information about the world's spawn point and configuration. - **enforcesSecureChat** (bool) - Indicates if secure chat is enforced. ### Request Example ```json { "entityId": 1, "isHardcore": false, "worldNames length": 1, "worldNames array": ["minecraft:overworld"], "maxPlayers": 20, "viewDistance": 16, "simulationDistance": 12, "reducedDebugInfo": false, "enableRespawnScreen": true, "doLimitedCrafting": false, "worldState": {"...": "..."}, "enforcesSecureChat": true } ``` ### Response #### Success Response (200) No specific response body is defined for this packet. #### Response Example ```json {} ``` ``` -------------------------------- ### ClientboundServerLinksPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent by the server to provide a list of links to the client. ```APIDOC ## ClientboundServerLinksPacket ### Description This packet contains a list of links that the Notchian client will display in the menu available from the pause menu. Link labels can be built-in or custom (i.e., any text). ### Method Not Applicable (Protocol Message) ### Endpoint Not Applicable (Protocol Message) ### Parameters #### Request Body - **links length** (varint) - Required - The number of links in the `links array`. - **links array** (array) - Required - An array of link objects. - **hasKnownType** (bool) - Required - Indicates if the link uses a predefined known type. - **knownType** (ServerLinkType) - Required if `hasKnownType` is true - The predefined type of the link (e.g., bug report, community). - **unknownType** (anonymousNbt) - Required if `hasKnownType` is false - Custom data for an unknown link type. - **link** (string) - Required - The URL of the link. ### Request Example ```json { "links length": 3, "links array": [ { "hasKnownType": true, "knownType": 0, // bug report "link": "http://bugs.example.com" }, { "hasKnownType": true, "knownType": 5, // community "link": "http://community.example.com" }, { "hasKnownType": false, "unknownType": {"text": "Custom Link Name"}, "link": "http://custom.example.com" } ] } ``` ### Response #### Success Response (N/A) This is a clientbound packet, no direct server response is defined for this message itself. #### Response Example N/A ``` -------------------------------- ### ClientboundSetTitleTextPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to display title text on the client's screen. ```APIDOC ## POST /play/toClient/packet_set_title_text (0x6b) ### Description This packet displays main title text on the player's screen, often used for game events or announcements. ### Method POST ### Endpoint /play/toClient/packet_set_title_text ### Parameters #### Request Body - **text** (anonymousNbt) - The title text to display. ``` -------------------------------- ### ClientboundSetBorderLerpSizePacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to smoothly transition the world border's size. ```APIDOC ## POST /play/toClient/packet_world_border_lerp_size (0x52) ### Description Sent to smoothly transition the world border's size. ### Method POST ### Endpoint /play/toClient/packet_world_border_lerp_size ### Parameters #### Request Body - **oldDiameter** (f64) - The current diameter of the world border. - **newDiameter** (f64) - The target diameter of the world border. - **speed** (varint) - The speed at which to transition to the new diameter. ### Request Example { "oldDiameter": 60000000.0, "newDiameter": 60000000.0, "speed": 0 } ### Response #### Success Response (200) (No specific response body defined for this packet) #### Response Example (No example response body available) ``` -------------------------------- ### ClientboundRecipeBookAddPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index This packet adds recipes to the player's recipe book. ```APIDOC ## POST /play/toClient/packet_recipe_book_add (0x43) ### Description This packet adds recipes to the player's recipe book. ### Method POST ### Endpoint /play/toClient/packet_recipe_book_add ### Parameters #### Request Body - **entries length** (varint) - The number of recipe entries. - **entries array** (array) - An array of recipe display entries. - **displayId** (varint) - The ID of the recipe display. - **display** (RecipeDisplay) - The recipe display details. - **group** (optvarint) - Optional: The recipe group identifier. - **category** (varint enum) - The category of the recipe (e.g., crafting, furnace). - **craftingRequirements length** (varint) - The number of crafting requirement entries. - **craftingRequirements array** (IDSet) - An array of crafting requirement IDs. - **replace** (bool) - Whether to replace existing entries. ### Request Example ```json { "entries length": 1, "entries array": [ { "displayId": 123, "display": {}, "category": 1 } ], "craftingRequirements length": 0, "craftingRequirements array": [], "replace": false } ``` ### Response #### Success Response (200) This packet does not have a response body. #### Response Example ```json {} ``` ``` -------------------------------- ### ClientboundSetEquipmentPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to update an entity's equipment. ```APIDOC ## POST /play/toClient/packet_entity_equipment (0x5f) ### Description Sent to update an entity's equipment. ### Method POST ### Endpoint /play/toClient/packet_entity_equipment ### Parameters #### Request Body - **entityId** (varint) - The ID of the entity whose equipment is being updated. ### Request Example { "entityId": 123 } ### Response #### Success Response (200) (No specific response body defined for this packet) #### Response Example (No example response body available) ``` -------------------------------- ### POST /play/toServer/packet_tab_complete Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Requests tab completion suggestions for commands. ```APIDOC ## POST /play/toServer/packet_tab_complete ### Description Requests tab completion suggestions for commands. ### Method POST ### Endpoint /play/toServer/packet_tab_complete ### Parameters #### Request Body - **transactionId** (varint) - Description: The ID of the tab completion request. - **text** (string) - Description: The text entered by the player for command completion. ### Request Example ```json { "transactionId": 0, "text": "/gamemode " } ``` ### Response #### Success Response (200) - **None** - Description: No specific response body is defined for success. #### Response Example ```json null ``` ``` -------------------------------- ### POST /play/toClient/SpawnInfo Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sends world state information for spawn and respawn packets to the client. ```APIDOC ## POST /play/toClient/SpawnInfo ### Description Sends world state information for spawn and respawn packets to the client. ### Method POST ### Endpoint /play/toClient/SpawnInfo ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **dimension** (varint) - Description - **name** (string) - Description - **hashedSeed** (i64) - Description - **gamemode** (i8 enum) - 0: survival, 1: creative, 2: adventure, 3: spectator - **previousGamemode** (u8) - Description - **isDebug** (bool) - Description - **isFlat** (bool) - Description - **death** (optional) - **dimensionName** (string) - Description - **location** (position) - Description - **portalCooldown** (varint) - Description - **seaLevel** (varint) - Description ### Request Example ```json { "dimension": 0, "name": "minecraft:overworld", "hashedSeed": 1234567890123456789, "gamemode": 0, "previousGamemode": 0, "isDebug": false, "isFlat": false, "death": { "dimensionName": "minecraft:the_nether", "location": { "x": 0, "y": 64, "z": 0 } }, "portalCooldown": 0, "seaLevel": 63 } ``` ### Response #### Success Response (200) N/A #### Response Example N/A ``` -------------------------------- ### ClientboundSetBorderSizePacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to immediately set the world border's size. ```APIDOC ## POST /play/toClient/packet_world_border_size (0x53) ### Description Sent to immediately set the world border's size. ### Method POST ### Endpoint /play/toClient/packet_world_border_size ### Parameters #### Request Body - **diameter** (f64) - The new diameter of the world border. ### Request Example { "diameter": 60000000.0 } ### Response #### Success Response (200) (No specific response body defined for this packet) #### Response Example (No example response body available) ``` -------------------------------- ### ClientboundSetPlayerInventoryPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to update the player's inventory. ```APIDOC ## POST /play/toClient/packet_set_player_inventory (0x65) ### Description This packet updates the player's inventory slots and their contents. ### Method POST ### Endpoint /play/toClient/packet_set_player_inventory ### Parameters #### Request Body - **slotId** (varint) - The ID of the inventory slot to update. - **contents** (Slot) - The item stack to place in the slot. ``` -------------------------------- ### ClientboundSelectAdvancementsTabPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to open the advancements screen to a specific tab. ```APIDOC ## POST /play/toClient/packet_select_advancement_tab (0x4e) ### Description Sent to open the advancements screen to a specific tab. ### Method POST ### Endpoint /play/toClient/packet_select_advancement_tab ### Parameters #### Request Body - **id** (string) - Optional - The identifier of the advancement tab to display. ### Request Example { "id": "minecraft:recipes/building_blocks" } ### Response #### Success Response (200) (No specific response body defined for this packet) #### Response Example (No example response body available) ``` -------------------------------- ### Game Profile Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Structure for player game profile, including name, properties, and signature. ```APIDOC ## Game Profile ### Description Represents a player's game profile information. ### Fields - **name** (string) - The player's username. - **properties length** (varint) - The number of properties. - **properties array** - An array of properties: - **name** (string) - The name of the property. - **value** (string) - The value of the property. - **signature optional** (string) - An optional signature for the property. ``` -------------------------------- ### ClientboundSetSubtitleTextPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to display subtitle text on the client's screen. ```APIDOC ## POST /play/toClient/packet_set_title_subtitle (0x69) ### Description This packet displays subtitle text, typically used for game events or notifications, on the player's screen. ### Method POST ### Endpoint /play/toClient/packet_set_title_subtitle ### Parameters #### Request Body - **text** (anonymousNbt) - The subtitle text to display. ``` -------------------------------- ### Packet Open Horse Window Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Opens a trading interface for a horse. ```APIDOC ## POST /play/toClient/packet_open_horse_window ### Description This packet instructs the client to open a horse inventory or trading window, typically used when interacting with a tamed horse. ### Method POST ### Endpoint /play/toClient/packet_open_horse_window ### Parameters #### Query Parameters - **packet_id** (i32) - Required - The ID of the packet, which is 0x23 for opening a horse window. #### Request Body - **windowId** (ContainerID) - The unique identifier for this inventory window. - **nbSlots** (varint) - The number of slots available in the horse's inventory. - **entityId** (i32) - The unique entity ID of the horse. ### Request Example ```json { "windowId": 5, "nbSlots": 15, "entityId": 123 } ``` ### Response #### Success Response (200) No specific response body is defined for this packet. #### Response Example ```json {} ``` ``` -------------------------------- ### Serverbound Debug Sample Subscription Packet Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Represents a packet for subscribing to debug samples. ```APIDOC ## POST /play/toServer/packet_debug_sample_subscription ### Description Subscribes the client to receive specific types of debug information from the server. ### Method POST ### Endpoint /play/toServer/packet_debug_sample_subscription ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **type** (varint) - Required - The type of debug sample to subscribe to. ### Request Example ```json { "type": 1 } ``` ### Response #### Success Response (200) Indicates the debug sample subscription request was processed. #### Response Example ```json { "description": "Debug sample subscription processed" } ``` ``` -------------------------------- ### ClientboundServerLinksPacket Structure Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Defines the structure for the ClientboundServerLinksPacket, which the Notchian client displays in the pause menu. It contains a list of links, each with a boolean indicating if it has a known type, the known type itself (ServerLinkType) or an unknown type (anonymousNbt), and the link URL. ```plaintext MC: ClientboundServerLinksPacket Field Name| Field Type| Notes ---|---|--- links length| varint| links array| | hasKnownType | bool| ---|--- **knownType** _if hasKnownType_| | is true | ServerLinkType| ---|--- **unknownType** _if hasKnownType_| | is false | anonymousNbt| ---|--- link | string| ``` -------------------------------- ### POST /login/toServer/packet_encryption_begin Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Used to begin the encryption handshake between the client and server. ```APIDOC ## POST /login/toServer/packet_encryption_begin ### Description This packet is part of the encryption handshake. It is sent by the client to initiate encrypted communication with the server. ### Method POST ### Endpoint /login/toServer/packet_encryption_begin ### Parameters #### Request Body (This packet's request body fields are not detailed in the provided text. It typically contains public key information for encryption.) ### Request Example ```json { "publicKey": "...", "sharedSecret": "..." } ``` ### Response #### Success Response (200) This packet is part of the handshake and does not typically return a JSON response on success. ``` -------------------------------- ### Clientbound Finish Configuration Packet Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index This packet signals the end of the configuration phase for the client. ```APIDOC ## POST /minecraft/protocol/pc/1.21.5/packet/finish_configuration ### Description Handles the ClientboundFinishConfigurationPacket, indicating the completion of the configuration phase. ### Method POST ### Endpoint /minecraft/protocol/pc/1.21.5/packet/finish_configuration ### Parameters #### Request Body (No specific fields defined for this packet) ### Request Example ```json {} ``` ### Response #### Success Response (200) - **status** (string) - Indicates success. #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### SpawnInfo Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index World state information for spawn and respawn packets. ```APIDOC ## SpawnInfo ### Description World state information for spawn and respawn packets. ### Method N/A ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **dimension** (varint) - Description - **name** (string) - Description - **hashedSeed** (i64) - Description - **gamemode** (i8 enum) - 0: survival, 1: creative, 2: adventure, 3: spectator - **previousGamemode** (u8) - Description - **isDebug** (bool) - Description - **isFlat** (bool) - Description - **death** (optional) - **dimensionName** (string) - Description - **location** (position) - Description - **portalCooldown** (varint) - Description - **seaLevel** (varint) - Description ### Request Example ```json { "dimension": 0, "name": "minecraft:overworld", "hashedSeed": 1234567890123456789, "gamemode": 0, "previousGamemode": 0, "isDebug": false, "isFlat": false, "death": { "dimensionName": "minecraft:the_nether", "location": { "x": 0, "y": 64, "z": 0 } }, "portalCooldown": 0, "seaLevel": 63 } ``` ### Response #### Success Response (200) N/A #### Response Example N/A ``` -------------------------------- ### ClientboundTabListPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to update the player list's header and footer. ```APIDOC ## POST /play/toClient/packet_playerlist_header (0x73) ### Description This packet updates the header and footer text displayed above and below the player list in the client's UI. ### Method POST ### Endpoint /play/toClient/packet_playerlist_header ### Parameters #### Request Body - **header** (anonymousNbt) - The text to display in the header. - **footer** (anonymousNbt) - The text to display in the footer. ``` -------------------------------- ### ClientboundSetBorderCenterPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to update the world border's center. ```APIDOC ## POST /play/toClient/packet_world_border_center (0x51) ### Description Sent to update the world border's center. ### Method POST ### Endpoint /play/toClient/packet_world_border_center ### Parameters #### Request Body - **x** (f64) - The new X coordinate for the world border center. - **z** (f64) - The new Z coordinate for the world border center. ### Request Example { "x": 0.0, "z": 0.0 } ### Response #### Success Response (200) (No specific response body defined for this packet) #### Response Example (No example response body available) ``` -------------------------------- ### ServerboundSelectKnownPacks / ClientboundSelectKnownPacks Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Used to synchronize the list of known resource packs between the client and server. ```APIDOC ## ServerboundSelectKnownPacks / ClientboundSelectKnownPacks ### Description This packet is used to exchange information about resource packs that are known to both the client and the server. It allows for efficient synchronization and management of resource packs. ### Method Not Applicable (Protocol Message) ### Endpoint Not Applicable (Protocol Message) ### Parameters #### Request Body - **packs length** (varint) - Required - The number of packs in the `packs array`. - **packs array** (array) - Required - An array of pack objects, each containing details about a known pack. - **namespace** (string) - Required - The namespace of the resource pack. - **id** (string) - Required - The unique identifier of the resource pack. - **version** (string) - Required - The version of the resource pack. ### Request Example ```json { "packs length": 2, "packs array": [ { "namespace": "minecraft", "id": "vanilla", "version": "1.20.1" }, { "namespace": "my_mod", "id": "custom_textures", "version": "1.0.0" } ] } ``` ### Response #### Success Response (N/A) This packet can be either serverbound or clientbound, and no direct response is defined for it. #### Response Example N/A ``` -------------------------------- ### Data Components Overview Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index This section outlines the various data components and their associated fields and types within the Minecraft protocol. ```APIDOC ## Data Components Overview This document details the various data components and their associated fields and types within the Minecraft protocol. ### Item Components * **filteredTitle**: optional| string * **author**: string * **generation**: varint * **pages length**: varint * **pages array**: ItemWrittenBookPage * **resolved**: bool * **is trim**: boolean * **is debug stick state**: anonymousNbt * **is entity data**: anonymousNbt * **is bucket entity data**: anonymousNbt * **is block entity data**: anonymousNbt * **is instrument**: boolean * **hasHolder**: bool * **data**: (if hasHolder is false) string * **is provides trim material**: boolean * **hasHolder**: bool * **material**: (if hasHolder is false) string * **is ominous bottle amplifier**: varint * **is jukebox playable**: boolean * **hasHolder**: bool * **song**: (if hasHolder is false) string * **is provides banner patterns**: string * **is recipes**: anonymousNbt * **is lodestone tracker**: boolean * **globalPosition optional**: boolean * **dimension**: string (Specified if this lodestone points to a position; otherwise it spins randomly.) * **position**: position (The position the compass points to. Only present if Has Global Position is true.) * **tracked**: bool (Whether the component is removed when the associated lodestone is broken.) * **is firework explosion**: ItemFireworkExplosion * **is fireworks**: boolean * **flightDuration**: varint * **explosions length**: varint * **explosions array**: ItemFireworkExplosion * **is profile**: boolean * **name optional**: string (If the profile has a name, max 16 characters.) * **uuid optional**: UUID * **properties length**: varint * **properties array**: * **name**: string (Max 64 characters) * **value**: string * **signature optional**: string (Max 1024 characters) * **is note block sound**: string * **is banner patterns**: boolean * **layers length**: varint * **layers array**: BannerPatternLayer * **is base color**: varint * **is pot decorations**: boolean * **decorations length**: varint (The ID of the items in the item registry.) * **decorations array**: varint * **is container**: boolean * **contents length**: varint * **contents array**: Slot * **is block state**: boolean * **properties length**: varint * **properties array**: * **name**: string * **value**: string * **is bees**: boolean * **bees length**: varint * **bees array**: * **nbtData**: anonymousNbt (Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component.) * **ticksInHive**: varint * **minTicksInHive**: varint * **is lock**: anonymousNbt * **is container loot**: anonymousNbt * **is break sound**: ItemSoundHolder * **is villager/variant**: varint * **is wolf/variant**: varint * **is wolf/sound variant**: varint * **is wolf/collar**: varint * **is fox/variant**: varint * **is salmon/size**: varint * **is parrot/variant**: varint * **is tropical fish/pattern**: varint * **is tropical fish/base color**: varint * **is tropical fish/pattern color**: varint * **is mooshroom/variant**: varint * **is rabbit/variant**: varint * **is pig/variant**: varint * **is cow/variant**: varint * **is frog/variant**: varint * **is horse/variant**: varint * **is llama/variant**: varint * **is axolotl/variant**: varint * **is cat/variant**: varint * **is cat/collar**: varint * **is sheep/color**: varint * **is shulker/color**: varint ### Type Definitions #### ItemSoundEvent * **soundName**: string * **fixedRange optional**: f32 #### ItemFireworkExplosion * **shape**: varint enum (0: small ball, 1: large ball, 2: star, 3: creeper, 4: burst) * **colors length**: varint (The RGB components of the color, encoded as an integer.) * **colors array**: i32 * **fadeColors length**: varint (The RGB components of the color, encoded as an integer.) * **fadeColors array**: i32 * **hasTrail**: bool (Whether the firework has a trail.) * **hasTwinkle**: bool (Whether the firework has a twinkle effect.) #### ItemEffectDetail * **amplifier**: varint * **duration**: varint * **ambient**: bool * **showParticles**: bool * **showIcon**: bool * **hiddenEffect optional**: ItemEffectDetail #### ItemPotionEffect * **id**: varint * **details**: ItemEffectDetail #### ItemBlockProperty * **name**: string * **isExactMatch**: bool * **value**: * if isExactMatch is true: **exactValue**: string * if isExactMatch is false: **minValue**: string, **maxValue**: string #### DataComponentMatchers * **exactMatchers**: ExactComponentMatcher * **partialMatchers length**: varint * **partialMatchers array**: varint #### ItemBlockPredicate * **properties length**: varint ``` -------------------------------- ### ClientboundSetTitlesAnimationPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to configure the fade-in, stay, and fade-out times for title and subtitle animations. ```APIDOC ## POST /play/toClient/packet_set_title_time (0x6c) ### Description This packet controls the timing of title and subtitle animations, specifying how long they fade in, remain visible, and fade out. ### Method POST ### Endpoint /play/toClient/packet_set_title_time ### Parameters #### Request Body - **fadeIn** (i32) - The duration in ticks for the title/subtitle to fade in. - **stay** (i32) - The duration in ticks for the title/subtitle to remain fully visible. - **fadeOut** (i32) - The duration in ticks for the title/subtitle to fade out. ``` -------------------------------- ### packet debug sample (0x1a) Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Details the structure of the debug sample packet. It contains the sample data, the sample type. ```APIDOC ## packet_debug_sample (0x1a) ### Description This packet contains debug sample data. ### Method N/A ### Endpoint play / toClient / packet_debug_sample ### Parameters N/A #### Request Body N/A ### Response #### Success Response (200) - **sample length** (varint) - The length of the sample array - **sample array** (array) - Sample data (i64 array). - **type** (varint) - The type of the sample #### Response Example ```json { "sample length": 1, "sample array": [1], "type": 0 } ``` ``` -------------------------------- ### Chat Session Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Structure for chat session information, including UUID and public key details. ```APIDOC ## Chat Session ### Description Represents information about a player's chat session. ### Fields - **uuid** (UUID) - The unique identifier for the chat session. - **publicKey** - Public key information: - **expireTime** (i64) - The expiration time of the public key. ``` -------------------------------- ### Packet Structure Overview Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index This section provides a general overview of the packet structure within the Minecraft Data Protocol. ```APIDOC ## Packet Structure This protocol defines various packets used for communication between the client and server in Minecraft. Each packet has a unique identifier and a specific data structure that varies based on the packet's purpose. ``` -------------------------------- ### ServerboundTestInstanceBlockActionPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index This packet is used for testing instance block actions. ```APIDOC ## POST /play/toServer/packet_test_instance_block_action (0x3c) ### Description This packet is used for testing instance block actions. ### Method POST ### Endpoint /play/toServer/packet_test_instance_block_action ### Parameters #### Request Body - **pos** (position) - Required - The position of the block. - **action** (varint) - Required - The action to perform. - **data** (string) - Optional - Additional data for the action. - **size** (vec3i) - Required - The size of the block. - **rotation** (varint) - Required - The rotation of the block. - **ignoreEntities** (bool) - Required - Whether to ignore entities. - **status** (varint) - Required - The status of the action. - **errorMessage** (anonymousNbt) - Optional - An error message if the action fails. ``` -------------------------------- ### ServerboundClientInformationPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent by the client to the server to provide information about the client's settings. ```APIDOC ## ServerboundClientInformationPacket ### Description This packet is sent by the client to the server to convey client-specific information such as locale, view distance, chat settings, and skin part visibility. ### Method Not Applicable (Protocol Message) ### Endpoint Not Applicable (Protocol Message) ### Parameters #### Request Body - **locale** (string) - Required - The client's locale setting. - **viewDistance** (i8) - Required - The client's configured view distance. - **chatFlags** (varint) - Required - Flags related to chat settings. - **chatColors** (bool) - Required - Whether chat colors are enabled. - **skinParts** (u8) - Required - Bitmask representing enabled skin parts. - **mainHand** (varint) - Required - The client's main hand (0 for left, 1 for right). - **enableTextFiltering** (bool) - Required - Whether text filtering is enabled. - **enableServerListing** (bool) - Required - Whether server listing is enabled. - **particleStatus** (varint enum) - Required - The status of particle effects. 0: all, 1: decreased, 2: minimal. ### Request Example ```json { "locale": "en_US", "viewDistance": 10, "chatFlags": 0, "chatColors": true, "skinParts": 127, "mainHand": 1, "enableTextFiltering": false, "enableServerListing": true, "particleStatus": 0 } ``` ### Response #### Success Response (N/A) This is a clientbound packet, no direct server response is defined for this message itself. #### Response Example N/A ``` -------------------------------- ### ClientboundSetHealthPacket Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Sent to update the player's health, food, and saturation. ```APIDOC ## POST /play/toClient/packet_update_health (0x61) ### Description Sent to update the player's health, food, and saturation. ### Method POST ### Endpoint /play/toClient/packet_update_health ### Parameters #### Request Body - **health** (f32) - The player's current health. - **food** (varint) - The player's current hunger level. - **foodSaturation** (f32) - The player's current food saturation. ### Request Example { "health": 20.0, "food": 20, "foodSaturation": 5.0 } ### Response #### Success Response (200) (No specific response body defined for this packet) #### Response Example (No example response body available) ``` -------------------------------- ### Difficulty Packet Source: https://prismarinejs.github.io/minecraft-data/protocol/pc/1.21.5/index Information about the difficulty packet (0x0a). ```APIDOC ## Difficulty Packet (0x0a) ### Description Represents the `ClientboundChangeDifficultyPacket` which sets the game difficulty on the client. ### Method N/A ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **difficulty** (u8) - The game difficulty (0: peaceful, 1: easy, 2: normal, 3: hard). - **difficultyLocked** (bool) - Whether the difficulty is locked. ### Request Example ```json { "difficulty": 1, "difficultyLocked": false } ``` ### Response #### Success Response (200) N/A #### Response Example N/A ```