From 28270957a017eb44067d2d2ea560af2fec973876 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Thu, 18 Jul 2024 19:30:42 +0000 Subject: [PATCH 01/19] bump --- data/dataPaths.json | 8 +- data/pc/1.20.3/proto.yml | 2762 ++++++++++++++++++++++++++++++++++ data/pc/1.20.5/version.json | 6 + data/pc/common/features.json | 22 +- data/pc/common/versions.json | 5 +- data/pc/latest/proto.yml | 2 +- 6 files changed, 2797 insertions(+), 8 deletions(-) create mode 100644 data/pc/1.20.3/proto.yml create mode 100644 data/pc/1.20.5/version.json diff --git a/data/dataPaths.json b/data/dataPaths.json index aa22a2c23..76b028a5b 100644 --- a/data/dataPaths.json +++ b/data/dataPaths.json @@ -1367,7 +1367,7 @@ "tints": "pc/1.20.2", "mapIcons": "pc/1.20.2", "commands": "pc/1.20.3", - "proto": "pc/latest" + "proto": "pc/1.20.3" }, "1.20.4": { "attributes": "pc/1.17", @@ -1394,7 +1394,7 @@ "mapIcons": "pc/1.20.2", "commands": "pc/1.20.3", "sounds": "pc/1.20.4", - "proto": "pc/latest" + "proto": "pc/1.20.3" }, "1.20.5": { "attributes": "pc/1.17", @@ -1409,9 +1409,9 @@ "materials": "pc/1.20.5", "language": "pc/1.20.5", "entities": "pc/1.20.5", - "protocol": "pc/1.20.3", + "protocol": "pc/1.20.5", "windows": "pc/1.16.1", - "version": "pc/1.20.4", + "version": "pc/1.20.5", "foods": "pc/1.20.5", "particles": "pc/1.20.5", "blockLoot": "pc/1.20", diff --git a/data/pc/1.20.3/proto.yml b/data/pc/1.20.3/proto.yml new file mode 100644 index 000000000..1e6f922d6 --- /dev/null +++ b/data/pc/1.20.3/proto.yml @@ -0,0 +1,2762 @@ +!version: 1.20.3 +!StartDocs: true + +^types: + varint: native + varlong: native + optvarint: varint + pstring: native + buffer: native + u8: native + u16: native + u32: native + u64: native + i8: native + i16: native + i32: native + i64: native + bool: native + f32: native + f64: native + UUID: native + option: native + entityMetadataLoop: native + topBitSetTerminatedArray: native + bitfield: native + container: native + switch: native + void: native + array: native + restBuffer: native + anonymousNbt: native + anonOptionalNbt: native + string: [ + "pstring", + { + "countType": "varint" + } + ] + vec3f: + x: f32 + y: f32 + z: f32 + vec4f: + x: f32 + y: f32 + z: f32 + w: f32 + vec3f64: + x: f64 + y: f64 + z: f64 + slot: + present: bool + _: present ? + if false: void + if true: + itemId: varint + itemCount: i8 + nbtData: anonOptionalNbt + particle: + particleId: varint + data: [ + "particleData", + { + "compareTo": "particleId" + } + ] + particleData: $compareTo ? + if 2: + blockState: varint + if 3: + blockState: varint + if 14: + red: f32 + green: f32 + blue: f32 + scale: f32 + if 15: + fromRed: f32 + fromGreen: f32 + fromBlue: f32 + scale: f32 + toRed: f32 + toGreen: f32 + toBlue: f32 + if 27: + blockState: varint + if 33: + rotation: f32 + if 42: + item: slot + if 43: + positionType: string + entityId: positionType ? + if minecraft:entity: varint + default: void + entityEyeHeight: positionType ? + if minecraft:entity: varint + default: void + destination: positionType ? + if minecraft:block: position + if minecraft:entity: varint + ticks: varint + if 96: + delayInTicksBeforeShown: varint + default: void + ingredient: slot[]varint + position: [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ] + soundSource: varint => + 0: master + 1: music + 2: record + 3: weather + 4: block + 5: hostile + 6: neutral + 7: player + 8: ambient + 9: voice + packedChunkPos: + z: i32 + x: i32 + previousMessages: []varint + id: varint + signature: id ? + if 0: [ + "buffer", + { + "count": 256 + } + ] + default: void + entityMetadataItem: $compareTo ? + if byte: i8 + if int: varint + if long: varlong + if float: f32 + if string: string + if component: anonymousNbt + if optional_component: [ + "option", + "anonymousNbt" + ] + if item_stack: slot + if boolean: bool + if rotations: + pitch: f32 + yaw: f32 + roll: f32 + if block_pos: position + if optional_block_pos: [ + "option", + "position" + ] + if direction: varint + if optional_uuid: [ + "option", + "UUID" + ] + if block_state: varint + if optional_block_state: optvarint + if compound_tag: anonymousNbt + if particle: particle + if villager_data: + villagerType: varint + villagerProfession: varint + level: varint + if optional_unsigned_int: optvarint + if pose: varint + if cat_variant: varint + if frog_variant: varint + if optional_global_pos: [ + "option", + "string" + ] + if painting_variant: varint + if sniffer_state: varint + if vector3: vec3f + if quaternion: vec4f + entityMetadata: [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "byte", + "1": "int", + "2": "long", + "3": "float", + "4": "string", + "5": "component", + "6": "optional_component", + "7": "item_stack", + "8": "boolean", + "9": "rotations", + "10": "block_pos", + "11": "optional_block_pos", + "12": "direction", + "13": "optional_uuid", + "14": "block_state", + "15": "optional_block_state", + "16": "compound_tag", + "17": "particle", + "18": "villager_data", + "19": "optional_unsigned_int", + "20": "pose", + "21": "cat_variant", + "22": "frog_variant", + "23": "optional_global_pos", + "24": "painting_variant", + "25": "sniffer_state", + "26": "vector3", + "27": "quaternion" + } + } + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + minecraft_simple_recipe_format: + category: varint + minecraft_smelting_format: + group: string + category: varint + ingredient: ingredient + result: slot + experience: f32 + cookTime: varint + tags: []varint + tagName: string + entries: varint[]varint + chunkBlockEntity: + _: [ + "bitfield", + [ + { + "name": "x", + "size": 4, + "signed": false + }, + { + "name": "z", + "size": 4, + "signed": false + } + ] + ] + y: i16 + type: varint + nbtData: anonOptionalNbt + chat_session?: + uuid: UUID + publicKey: + expireTime: i64 + keyBytes: [ + "buffer", + { + "countType": "varint" + } + ] + keySignature: [ + "buffer", + { + "countType": "varint" + } + ] + game_profile: + name: string + properties: []varint + key: string + value: string + signature?: string + command_node: + flags: [ + "bitfield", + [ + { + "name": "unused", + "size": 3, + "signed": false + }, + { + "name": "has_custom_suggestions", + "size": 1, + "signed": false + }, + { + "name": "has_redirect_node", + "size": 1, + "signed": false + }, + { + "name": "has_command", + "size": 1, + "signed": false + }, + { + "name": "command_node_type", + "size": 2, + "signed": false + } + ] + ] + children: varint[]varint + redirectNode: flags/has_redirect_node ? + if 1: varint + default: void + extraNodeData: flags/command_node_type ? + if 0: void + if 1: + name: string + if 2: + name: string + parser: varint => + 0: brigadier:bool + 1: brigadier:float + 2: brigadier:double + 3: brigadier:integer + 4: brigadier:long + 5: brigadier:string + 6: minecraft:entity + 7: minecraft:game_profile + 8: minecraft:block_pos + 9: minecraft:column_pos + 10: minecraft:vec3 + 11: minecraft:vec2 + 12: minecraft:block_state + 13: minecraft:block_predicate + 14: minecraft:item_stack + 15: minecraft:item_predicate + 16: minecraft:color + 17: minecraft:component + 18: minecraft:style + 19: minecraft:message + 20: minecraft:nbt + 21: minecraft:nbt_tag + 22: minecraft:nbt_path + 23: minecraft:objective + 24: minecraft:objective_criteria + 25: minecraft:operation + 26: minecraft:particle + 27: minecraft:angle + 28: minecraft:rotation + 29: minecraft:scoreboard_slot + 30: minecraft:score_holder + 31: minecraft:swizzle + 32: minecraft:team + 33: minecraft:item_slot + 34: minecraft:resource_location + 35: minecraft:function + 36: minecraft:entity_anchor + 37: minecraft:int_range + 38: minecraft:float_range + 39: minecraft:dimension + 40: minecraft:gamemode + 41: minecraft:time + 42: minecraft:resource_or_tag + 43: minecraft:resource_or_tag_key + 44: minecraft:resource + 45: minecraft:resource_key + 46: minecraft:template_mirror + 47: minecraft:template_rotation + 48: minecraft:heightmap + 49: minecraft:uuid + properties: parser ? + if brigadier:bool: void + if brigadier:float: + flags: [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "max_present", + "size": 1, + "signed": false + }, + { + "name": "min_present", + "size": 1, + "signed": false + } + ] + ] + min: flags/min_present ? + if 1: f32 + default: void + max: flags/max_present ? + if 1: f32 + default: void + if brigadier:double: + flags: [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "max_present", + "size": 1, + "signed": false + }, + { + "name": "min_present", + "size": 1, + "signed": false + } + ] + ] + min: flags/min_present ? + if 1: f64 + default: void + max: flags/max_present ? + if 1: f64 + default: void + if brigadier:integer: + flags: [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "max_present", + "size": 1, + "signed": false + }, + { + "name": "min_present", + "size": 1, + "signed": false + } + ] + ] + min: flags/min_present ? + if 1: i32 + default: void + max: flags/max_present ? + if 1: i32 + default: void + if brigadier:long: + flags: [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "max_present", + "size": 1, + "signed": false + }, + { + "name": "min_present", + "size": 1, + "signed": false + } + ] + ] + min: flags/min_present ? + if 1: i64 + default: void + max: flags/max_present ? + if 1: i64 + default: void + if brigadier:string: varint => + 0: SINGLE_WORD + 1: QUOTABLE_PHRASE + 2: GREEDY_PHRASE + if minecraft:entity: [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "onlyAllowPlayers", + "size": 1, + "signed": false + }, + { + "name": "onlyAllowEntities", + "size": 1, + "signed": false + } + ] + ] + if minecraft:game_profile: void + if minecraft:block_pos: void + if minecraft:column_pos: void + if minecraft:vec3: void + if minecraft:vec2: void + if minecraft:block_state: void + if minecraft:block_predicate: void + if minecraft:item_stack: void + if minecraft:item_predicate: void + if minecraft:color: void + if minecraft:component: void + if minecraft:message: void + if minecraft:nbt: void + if minecraft:nbt_path: void + if minecraft:objective: void + if minecraft:objective_criteria: void + if minecraft:operation: void + if minecraft:particle: void + if minecraft:angle: void + if minecraft:rotation: void + if minecraft:scoreboard_slot: void + if minecraft:score_holder: [ + "bitfield", + [ + { + "name": "unused", + "size": 7, + "signed": false + }, + { + "name": "allowMultiple", + "size": 1, + "signed": false + } + ] + ] + if minecraft:swizzle: void + if minecraft:team: void + if minecraft:item_slot: void + if minecraft:resource_location: void + if minecraft:function: void + if minecraft:entity_anchor: void + if minecraft:int_range: void + if minecraft:float_range: void + if minecraft:dimension: void + if minecraft:gamemode: void + if minecraft:time: + min: i32 + if minecraft:resource_or_tag: + registry: string + if minecraft:resource_or_tag_key: + registry: string + if minecraft:resource: + registry: string + if minecraft:resource_key: + registry: string + if minecraft:template_mirror: void + if minecraft:template_rotation: void + if minecraft:heightmap: void + if minecraft:uuid: void + suggestionType: ../flags/has_custom_suggestions ? + if 1: string + default: void +^handshaking.toClient.types: + packet: + name: varint => + params: ["switch",{"compareTo":"name","fields":{}}] +^handshaking.toServer.types: + packet_set_protocol: + protocolVersion: varint + serverHost: string + serverPort: u16 + nextState: varint + packet_legacy_server_list_ping: + payload: u8 + packet: + name: varint => + 0x00: set_protocol + 0xfe: legacy_server_list_ping + params: name ? + if set_protocol: packet_set_protocol + if legacy_server_list_ping: packet_legacy_server_list_ping +^status.toClient.types: + # MC: ClientboundStatusResponsePacket + packet_server_info: + response: string + # MC: ClientboundPongResponsePacket + packet_ping: + time: i64 + packet: + name: varint => + 0x00: server_info + 0x01: ping + params: name ? + if server_info: packet_server_info + if ping: packet_ping +^status.toServer.types: + # MC: ServerboundStatusRequestPacket + packet_ping_start: + # Empty + # MC: ServerboundPingRequestPacket + packet_ping: + time: i64 + packet: + name: varint => + 0x00: ping_start + 0x01: ping + params: name ? + if ping_start: packet_ping_start + if ping: packet_ping +^login.toClient.types: + # MC: ClientboundLoginDisconnectPacket + packet_disconnect: + reason: string + # MC: ClientboundHelloPacket + packet_encryption_begin: + serverId: string + publicKey: [ + "buffer", + { + "countType": "varint" + } + ] + verifyToken: [ + "buffer", + { + "countType": "varint" + } + ] + # MC: ClientboundGameProfilePacket + packet_success: + uuid: UUID + username: string + properties: []varint + name: string + value: string + signature?: string + # MC: ClientboundLoginCompressionPacket + packet_compress: + threshold: varint + # MC: ClientboundCustomQueryPacket + packet_login_plugin_request: + messageId: varint + channel: string + data: restBuffer + packet: + name: varint => + - disconnect + - encryption_begin + - success + - compress + - login_plugin_request + params: name ? + if disconnect: packet_disconnect + if encryption_begin: packet_encryption_begin + if success: packet_success + if compress: packet_compress + if login_plugin_request: packet_login_plugin_request +^login.toServer.types: + # MC: ServerboundHelloPacket + packet_login_start: + username: string + playerUUID: UUID + # MC: ServerboundKeyPacket + packet_encryption_begin: + sharedSecret: [ + "buffer", + { + "countType": "varint" + } + ] + verifyToken: [ + "buffer", + { + "countType": "varint" + } + ] + # MC: ServerboundCustomQueryAnswerPacket + packet_login_plugin_response: + messageId: varint + data?: restBuffer + # MC: ServerboundLoginAcknowledgedPacket + packet_login_acknowledged: + # Empty + packet: + name: varint => + - login_start + - encryption_begin + - login_plugin_response + - login_acknowledged + params: name ? + if login_start: packet_login_start + if encryption_begin: packet_encryption_begin + if login_plugin_response: packet_login_plugin_response + if login_acknowledged: packet_login_acknowledged +^configuration.toClient.types: + # MC: ClientboundCustomPayloadPacket + packet_custom_payload: + channel: string + data: restBuffer + # MC: ClientboundDisconnectPacket + packet_disconnect: + reason: anonymousNbt + # MC: ClientboundFinishConfigurationPacket + packet_finish_configuration: + # Empty + # MC: ClientboundKeepAlivePacket + packet_keep_alive: + keepAliveId: i64 + # MC: ClientboundPingPacket + packet_ping: + id: i32 + # MC: ClientboundRegistryDataPacket + packet_registry_data: + codec: anonymousNbt + # MC: ClientboundResourcePackPopPacket + packet_remove_resource_pack: + uuid?: UUID + # MC: ClientboundResourcePackPushPacket + packet_add_resource_pack: + uuid: UUID + url: string + hash: string + forced: bool + promptMessage?: anonymousNbt + # MC: ClientboundUpdateEnabledFeaturesPacket + packet_feature_flags: + features: string[]varint + # MC: ClientboundUpdateTagsPacket + packet_tags: + tags: []varint + tagType: string + tags: tags + packet: + name: varint => + - custom_payload + - disconnect + - finish_configuration + - keep_alive + - ping + - registry_data + - remove_resource_pack + - add_resource_pack + - feature_flags + - tags + params: name ? + if custom_payload: packet_custom_payload + if disconnect: packet_disconnect + if finish_configuration: packet_finish_configuration + if keep_alive: packet_keep_alive + if ping: packet_ping + if registry_data: packet_registry_data + if remove_resource_pack: packet_remove_resource_pack + if add_resource_pack: packet_add_resource_pack + if feature_flags: packet_feature_flags + if tags: packet_tags +^configuration.toServer.types: + # MC: ServerboundClientInformationPacket + packet_settings: + locale: string + viewDistance: i8 + chatFlags: varint + chatColors: bool + skinParts: u8 + mainHand: varint + enableTextFiltering: bool + enableServerListing: bool + # MC: ServerboundCustomPayloadPacket + packet_custom_payload: + channel: string + data: restBuffer + # MC: ServerboundFinishConfigurationPacket + packet_finish_configuration: + # Empty + # MC: ServerboundKeepAlivePacket + packet_keep_alive: + keepAliveId: i64 + # MC: ServerboundPongPacket + packet_pong: + id: i32 + # MC: ServerboundResourcePackPacket + packet_resource_pack_receive: + uuid: UUID + result: varint + packet: + name: varint => + - settings + - custom_payload + - finish_configuration + - keep_alive + - pong + - resource_pack_receive + params: name ? + if settings: packet_settings + if custom_payload: packet_custom_payload + if finish_configuration: packet_finish_configuration + if keep_alive: packet_keep_alive + if pong: packet_pong + if resource_pack_receive: packet_resource_pack_receive +^play.toClient.types: + # MC: ClientboundAddEntityPacket + packet_spawn_entity: + entityId: varint + objectUUID: UUID + type: varint + x: f64 + y: f64 + z: f64 + pitch: i8 + yaw: i8 + headPitch: i8 + objectData: varint + velocityX: i16 + velocityY: i16 + velocityZ: i16 + # MC: ClientboundAddExperienceOrbPacket + packet_spawn_entity_experience_orb: + entityId: varint + x: f64 + y: f64 + z: f64 + count: i16 + # MC: ClientboundAnimatePacket + packet_animation: + entityId: varint + animation: u8 + # MC: ClientboundAwardStatsPacket + packet_statistics: + entries: []varint + categoryId: varint + statisticId: varint + value: varint + # MC: ClientboundUpdateAdvancementsPacket + packet_advancements: + reset: bool + advancementMapping: []varint + key: string + value: + parentId?: string + displayData?: + title: anonymousNbt + description: anonymousNbt + icon: slot + frameType: varint + flags: [ + "bitfield", + [ + { + "name": "_unused", + "size": 29, + "signed": false + }, + { + "name": "hidden", + "size": 1, + "signed": false + }, + { + "name": "show_toast", + "size": 1, + "signed": false + }, + { + "name": "has_background_texture", + "size": 1, + "signed": false + } + ] + ] + backgroundTexture: flags/has_background_texture ? + if 1: string + default: void + xCord: f32 + yCord: f32 + requirements: []varint + _: string[]varint + sendsTelemtryData: bool + identifiers: string[]varint + progressMapping: []varint + key: string + value: []varint + criterionIdentifier: string + criterionProgress?: i64 + # MC: ClientboundBlockDestructionPacket + packet_block_break_animation: + entityId: varint + location: position + destroyStage: i8 + # MC: ClientboundBlockEntityDataPacket + packet_tile_entity_data: + location: position + action: varint + nbtData: anonOptionalNbt + # MC: ClientboundBlockEventPacket + packet_block_action: + location: position + byte1: u8 + byte2: u8 + blockId: varint + # MC: ClientboundBlockUpdatePacket + packet_block_change: + location: position + type: varint + # MC: ClientboundBossEventPacket + packet_boss_bar: + entityUUID: UUID + action: varint + title: action ? + if 0: anonymousNbt + if 3: anonymousNbt + default: void + health: action ? + if 0: f32 + if 2: f32 + default: void + color: action ? + if 0: varint + if 4: varint + default: void + dividers: action ? + if 0: varint + if 4: varint + default: void + flags: action ? + if 0: u8 + if 5: u8 + default: void + # MC: ClientboundChangeDifficultyPacket + packet_difficulty: + difficulty: u8 + difficultyLocked: bool + # MC: ClientboundChunkBatchFinishedPacket + packet_chunk_batch_finished: + batchSize: varint + # MC: ClientboundChunkBatchStartPacket + packet_chunk_batch_start: + # Empty + # MC: ClientboundCommandSuggestionsPacket + packet_tab_complete: + transactionId: varint + start: varint + length: varint + matches: []varint + match: string + tooltip?: anonymousNbt + # MC: ClientboundCommandsPacket + packet_declare_commands: + nodes: command_node[]varint + rootIndex: varint + # MC: ClientboundPlayerLookAtPacket + packet_face_player: + feet_eyes: varint + x: f64 + y: f64 + z: f64 + isEntity: bool + entityId: isEntity ? + if true: varint + default: void + entity_feet_eyes: isEntity ? + if true: varint + default: void + # MC: ClientboundTagQueryPacket + packet_nbt_query_response: + transactionId: varint + nbt: anonOptionalNbt + # MC: ClientboundSectionBlocksUpdatePacket + packet_multi_block_change: + chunkCoordinates: [ + "bitfield", + [ + { + "name": "x", + "size": 22, + "signed": true + }, + { + "name": "z", + "size": 22, + "signed": true + }, + { + "name": "y", + "size": 20, + "signed": true + } + ] + ] + records: varint[]varint + # MC: ClientboundContainerClosePacket + packet_close_window: + windowId: u8 + # MC: ClientboundOpenScreenPacket + packet_open_window: + windowId: varint + inventoryType: varint + windowTitle: anonymousNbt + # MC: ClientboundContainerSetContentPacket + packet_window_items: + windowId: u8 + stateId: varint + items: slot[]varint + carriedItem: slot + # MC: ClientboundContainerSetDataPacket + packet_craft_progress_bar: + windowId: u8 + property: i16 + value: i16 + # MC: ClientboundContainerSetSlotPacket + packet_set_slot: + windowId: i8 + stateId: varint + slot: i16 + item: slot + # MC: ClientboundCooldownPacket + packet_set_cooldown: + itemID: varint + cooldownTicks: varint + # MC: ClientboundCustomChatCompletionsPacket + packet_chat_suggestions: + action: varint + entries: string[]varint + # MC: ClientboundCustomPayloadPacket + packet_custom_payload: + channel: string + data: restBuffer + # MC: ClientboundDeleteChatPacket + packet_hide_message: + id: varint + signature: id ? + if 0: [ + "buffer", + { + "count": 256 + } + ] + default: void + # MC: ClientboundDisconnectPacket + packet_kick_disconnect: + reason: anonymousNbt + # MC: ClientboundDisguisedChatPacket + packet_profileless_chat: + message: anonymousNbt + type: varint + name: anonymousNbt + target?: anonymousNbt + # MC: ClientboundEntityEventPacket + packet_entity_status: + entityId: i32 + entityStatus: i8 + # MC: ClientboundExplodePacket + packet_explosion: + x: f64 + y: f64 + z: f64 + radius: f32 + affectedBlockOffsets: []varint + x: i8 + y: i8 + z: i8 + playerMotionX: f32 + playerMotionY: f32 + playerMotionZ: f32 + block_interaction_type: varint + small_explosion_particle: particle + large_explosion_particle: particle + explosion_sound_name: string + sound_range?: f32 + # MC: ClientboundForgetLevelChunkPacket + packet_unload_chunk: + chunkZ: i32 + chunkX: i32 + # MC: ClientboundGameEventPacket + packet_game_state_change: + reason: u8 + gameMode: f32 + # MC: ClientboundHorseScreenOpenPacket + packet_open_horse_window: + windowId: u8 + nbSlots: varint + entityId: i32 + # MC: ClientboundKeepAlivePacket + packet_keep_alive: + keepAliveId: i64 + # MC: ClientboundLevelChunkWithLightPacket + packet_map_chunk: + x: i32 + z: i32 + heightmaps: anonymousNbt + chunkData: [ + "buffer", + { + "countType": "varint" + } + ] + blockEntities: chunkBlockEntity[]varint + skyLightMask: i64[]varint + blockLightMask: i64[]varint + emptySkyLightMask: i64[]varint + emptyBlockLightMask: i64[]varint + skyLight: []varint + _: u8[]varint + blockLight: []varint + _: u8[]varint + # MC: ClientboundLevelEventPacket + packet_world_event: + effectId: i32 + location: position + data: i32 + global: bool + # MC: ClientboundLevelParticlesPacket + packet_world_particles: + particleId: varint + longDistance: bool + x: f64 + y: f64 + z: f64 + offsetX: f32 + offsetY: f32 + offsetZ: f32 + particleData: f32 + particles: i32 + data: [ + "particleData", + { + "compareTo": "particleId" + } + ] + # MC: ClientboundLightUpdatePacket + packet_update_light: + chunkX: varint + chunkZ: varint + skyLightMask: i64[]varint + blockLightMask: i64[]varint + emptySkyLightMask: i64[]varint + emptyBlockLightMask: i64[]varint + skyLight: []varint + _: u8[]varint + blockLight: []varint + _: u8[]varint + # MC: ClientboundLoginPacket + packet_login: + entityId: i32 + isHardcore: bool + worldNames: string[]varint + maxPlayers: varint + viewDistance: varint + simulationDistance: varint + reducedDebugInfo: bool + enableRespawnScreen: bool + doLimitedCrafting: bool + worldType: string + worldName: string + hashedSeed: i64 + gameMode: u8 + previousGameMode: i8 + isDebug: bool + isFlat: bool + death?: + dimensionName: string + location: position + portalCooldown: varint + # MC: ClientboundMapItemDataPacket + packet_map: + itemDamage: varint + scale: i8 + locked: bool + icons?: []varint + type: varint + x: i8 + z: i8 + direction: u8 + displayName?: anonymousNbt + columns: u8 + rows: columns ? + if 0: void + default: u8 + x: columns ? + if 0: void + default: u8 + y: columns ? + if 0: void + default: u8 + data: columns ? + if 0: void + default: [ + "buffer", + { + "countType": "varint" + } + ] + # MC: ClientboundMerchantOffersPacket + packet_trade_list: + windowId: varint + trades: []varint + inputItem1: slot + outputItem: slot + inputItem2: slot + tradeDisabled: bool + nbTradeUses: i32 + maximumNbTradeUses: i32 + xp: i32 + specialPrice: i32 + priceMultiplier: f32 + demand: i32 + villagerLevel: varint + experience: varint + isRegularVillager: bool + canRestock: bool + # MC: ClientboundMoveEntityPacket.Pos + packet_rel_entity_move: + entityId: varint + dX: i16 + dY: i16 + dZ: i16 + onGround: bool + # MC: ClientboundMoveEntityPacket.PosRot + packet_entity_move_look: + entityId: varint + dX: i16 + dY: i16 + dZ: i16 + yaw: i8 + pitch: i8 + onGround: bool + # MC: ClientboundMoveEntityPacket.Rot + packet_entity_look: + entityId: varint + yaw: i8 + pitch: i8 + onGround: bool + # MC: ClientboundMoveVehiclePacket + packet_vehicle_move: + x: f64 + y: f64 + z: f64 + yaw: f32 + pitch: f32 + # MC: ClientboundOpenBookPacket + packet_open_book: + hand: varint + # MC: ClientboundOpenSignEditorPacket + packet_open_sign_entity: + location: position + isFrontText: bool + # MC: ClientboundPlaceGhostRecipePacket + packet_craft_recipe_response: + windowId: i8 + recipe: string + # MC: ClientboundPlayerAbilitiesPacket + packet_abilities: + flags: i8 + flyingSpeed: f32 + walkingSpeed: f32 + # MC: ClientboundPlayerChatPacket + packet_player_chat: + senderUuid: UUID + index: varint + signature?: [ + "buffer", + { + "count": 256 + } + ] + plainMessage: string + timestamp: i64 + salt: i64 + previousMessages: previousMessages + unsignedChatContent?: anonymousNbt + filterType: varint + filterTypeMask: filterType ? + if 2: i64[]varint + default: void + type: varint + networkName: anonymousNbt + networkTargetName?: anonymousNbt + # MC: ClientboundPlayerCombatEndPacket + packet_end_combat_event: + duration: varint + # MC: ClientboundPlayerCombatEnterPacket + packet_enter_combat_event: + # Empty + # MC: ClientboundPlayerCombatKillPacket + packet_death_combat_event: + playerId: varint + message: anonymousNbt + # MC: ClientboundPlayerInfoRemovePacket + packet_player_remove: + players: UUID[]varint + # MC: ClientboundPlayerInfoUpdatePacket + packet_player_info: + action: i8 + data: []varint + uuid: UUID + player: ../action ? + if 1: game_profile + if 3: game_profile + if 5: game_profile + if 7: game_profile + if 9: game_profile + if 11: game_profile + if 13: game_profile + if 15: game_profile + if 17: game_profile + if 19: game_profile + if 21: game_profile + if 23: game_profile + if 25: game_profile + if 27: game_profile + if 29: game_profile + if 31: game_profile + if 33: game_profile + if 35: game_profile + if 37: game_profile + if 39: game_profile + if 41: game_profile + if 43: game_profile + if 45: game_profile + if 47: game_profile + if 49: game_profile + if 51: game_profile + if 53: game_profile + if 55: game_profile + if 57: game_profile + if 59: game_profile + if 61: game_profile + if 63: game_profile + default: void + chatSession: ../action ? + if 2: chat_session + if 3: chat_session + if 6: chat_session + if 7: chat_session + if 10: chat_session + if 11: chat_session + if 14: chat_session + if 15: chat_session + if 18: chat_session + if 19: chat_session + if 22: chat_session + if 23: chat_session + if 26: chat_session + if 27: chat_session + if 30: chat_session + if 31: chat_session + if 34: chat_session + if 35: chat_session + if 38: chat_session + if 39: chat_session + if 42: chat_session + if 43: chat_session + if 46: chat_session + if 47: chat_session + if 50: chat_session + if 51: chat_session + if 54: chat_session + if 55: chat_session + if 58: chat_session + if 59: chat_session + if 62: chat_session + if 63: chat_session + default: void + gamemode: ../action ? + if 4: varint + if 5: varint + if 6: varint + if 7: varint + if 12: varint + if 13: varint + if 14: varint + if 15: varint + if 20: varint + if 21: varint + if 22: varint + if 23: varint + if 28: varint + if 29: varint + if 30: varint + if 31: varint + if 36: varint + if 37: varint + if 38: varint + if 39: varint + if 44: varint + if 45: varint + if 46: varint + if 47: varint + if 52: varint + if 53: varint + if 54: varint + if 55: varint + if 60: varint + if 61: varint + if 62: varint + if 63: varint + default: void + listed: ../action ? + if 8: bool + if 9: bool + if 10: bool + if 11: bool + if 12: bool + if 13: bool + if 14: bool + if 15: bool + if 24: bool + if 25: bool + if 26: bool + if 27: bool + if 28: bool + if 29: bool + if 30: bool + if 31: bool + if 40: bool + if 41: bool + if 42: bool + if 43: bool + if 44: bool + if 45: bool + if 46: bool + if 47: bool + if 56: bool + if 57: bool + if 58: bool + if 59: bool + if 60: bool + if 61: bool + if 62: bool + if 63: bool + default: void + latency: ../action ? + if 16: varint + if 17: varint + if 18: varint + if 19: varint + if 20: varint + if 21: varint + if 22: varint + if 23: varint + if 24: varint + if 25: varint + if 26: varint + if 27: varint + if 28: varint + if 29: varint + if 30: varint + if 31: varint + if 48: varint + if 49: varint + if 50: varint + if 51: varint + if 52: varint + if 53: varint + if 54: varint + if 55: varint + if 56: varint + if 57: varint + if 58: varint + if 59: varint + if 60: varint + if 61: varint + if 62: varint + if 63: varint + default: void + displayName: ../action ? + if 32: [ + "option", + "anonymousNbt" + ] + if 33: [ + "option", + "anonymousNbt" + ] + if 34: [ + "option", + "anonymousNbt" + ] + if 35: [ + "option", + "anonymousNbt" + ] + if 36: [ + "option", + "anonymousNbt" + ] + if 37: [ + "option", + "anonymousNbt" + ] + if 38: [ + "option", + "anonymousNbt" + ] + if 39: [ + "option", + "anonymousNbt" + ] + if 40: [ + "option", + "anonymousNbt" + ] + if 41: [ + "option", + "anonymousNbt" + ] + if 42: [ + "option", + "anonymousNbt" + ] + if 43: [ + "option", + "anonymousNbt" + ] + if 44: [ + "option", + "anonymousNbt" + ] + if 45: [ + "option", + "anonymousNbt" + ] + if 46: [ + "option", + "anonymousNbt" + ] + if 47: [ + "option", + "anonymousNbt" + ] + if 48: [ + "option", + "anonymousNbt" + ] + if 49: [ + "option", + "anonymousNbt" + ] + if 50: [ + "option", + "anonymousNbt" + ] + if 51: [ + "option", + "anonymousNbt" + ] + if 52: [ + "option", + "anonymousNbt" + ] + if 53: [ + "option", + "anonymousNbt" + ] + if 54: [ + "option", + "anonymousNbt" + ] + if 55: [ + "option", + "anonymousNbt" + ] + if 56: [ + "option", + "anonymousNbt" + ] + if 57: [ + "option", + "anonymousNbt" + ] + if 58: [ + "option", + "anonymousNbt" + ] + if 59: [ + "option", + "anonymousNbt" + ] + if 60: [ + "option", + "anonymousNbt" + ] + if 61: [ + "option", + "anonymousNbt" + ] + if 62: [ + "option", + "anonymousNbt" + ] + if 63: [ + "option", + "anonymousNbt" + ] + default: void + # MC: ClientboundPlayerPositionPacket + packet_position: + x: f64 + y: f64 + z: f64 + yaw: f32 + pitch: f32 + flags: i8 + teleportId: varint + # MC: ClientboundRecipePacket + packet_unlock_recipes: + action: varint + craftingBookOpen: bool + filteringCraftable: bool + smeltingBookOpen: bool + filteringSmeltable: bool + blastFurnaceOpen: bool + filteringBlastFurnace: bool + smokerBookOpen: bool + filteringSmoker: bool + recipes1: string[]varint + recipes2: action ? + if 0: string[]varint + default: void + # MC: ClientboundRemoveEntitiesPacket + packet_entity_destroy: + entityIds: varint[]varint + # MC: ClientboundRemoveMobEffectPacket + packet_remove_entity_effect: + entityId: varint + effectId: varint + # MC: ClientboundResetScorePacket + packet_reset_score: + entity_name: string + objective_name?: string + # MC: ClientboundResourcePackPopPacket + packet_remove_resource_pack: + uuid?: UUID + # MC: ClientboundResourcePackPushPacket + packet_add_resource_pack: + uuid: UUID + url: string + hash: string + forced: bool + promptMessage?: anonymousNbt + # MC: ClientboundRespawnPacket + packet_respawn: + dimension: string + worldName: string + hashedSeed: i64 + gamemode: i8 + previousGamemode: u8 + isDebug: bool + isFlat: bool + death?: + dimensionName: string + location: position + portalCooldown: varint + copyMetadata: bool + # MC: ClientboundRotateHeadPacket + packet_entity_head_rotation: + entityId: varint + headYaw: i8 + # MC: ClientboundSetCameraPacket + packet_camera: + cameraId: varint + # MC: ClientboundSetCarriedItemPacket + packet_held_item_slot: + slot: i8 + # MC: ClientboundSetChunkCacheCenterPacket + packet_update_view_position: + chunkX: varint + chunkZ: varint + # MC: ClientboundSetChunkCacheRadiusPacket + packet_update_view_distance: + viewDistance: varint + # MC: ClientboundSetDisplayObjectivePacket + packet_scoreboard_display_objective: + position: varint + name: string + # MC: ClientboundSetEntityDataPacket + packet_entity_metadata: + entityId: varint + metadata: entityMetadata + # MC: ClientboundSetEntityLinkPacket + packet_attach_entity: + entityId: i32 + vehicleId: i32 + # MC: ClientboundSetEntityMotionPacket + packet_entity_velocity: + entityId: varint + velocityX: i16 + velocityY: i16 + velocityZ: i16 + # MC: ClientboundSetEquipmentPacket + packet_entity_equipment: + entityId: varint + equipments: [ + "topBitSetTerminatedArray", + { + "type": [ + "container", + [ + { + "name": "slot", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ] + } + ] + # MC: ClientboundSetExperiencePacket + packet_experience: + experienceBar: f32 + level: varint + totalExperience: varint + # MC: ClientboundSetHealthPacket + packet_update_health: + health: f32 + food: varint + foodSaturation: f32 + # MC: ClientboundSetObjectivePacket + packet_scoreboard_objective: + name: string + action: i8 + displayText: action ? + if 0: anonymousNbt + if 2: anonymousNbt + default: void + type: action ? + if 0: varint + if 2: varint + default: void + number_format: action ? + if 0: [ + "option", + "varint" + ] + if 2: [ + "option", + "varint" + ] + default: void + styling: action ? + if 0: number_format ? + if 1: anonymousNbt + if 2: anonymousNbt + default: void + if 2: number_format ? + if 1: anonymousNbt + if 2: anonymousNbt + default: void + default: void + # MC: ClientboundSetPassengersPacket + packet_set_passengers: + entityId: varint + passengers: varint[]varint + # MC: ClientboundSetPlayerTeamPacket + packet_teams: + team: string + mode: i8 + name: mode ? + if 0: anonymousNbt + if 2: anonymousNbt + default: void + friendlyFire: mode ? + if 0: i8 + if 2: i8 + default: void + nameTagVisibility: mode ? + if 0: string + if 2: string + default: void + collisionRule: mode ? + if 0: string + if 2: string + default: void + formatting: mode ? + if 0: varint + if 2: varint + default: void + prefix: mode ? + if 0: anonymousNbt + if 2: anonymousNbt + default: void + suffix: mode ? + if 0: anonymousNbt + if 2: anonymousNbt + default: void + players: mode ? + if 0: string[]varint + if 3: string[]varint + if 4: string[]varint + default: void + # MC: ClientboundSetScorePacket + packet_scoreboard_score: + itemName: string + scoreName: string + value: varint + display_name?: anonymousNbt + number_format?: varint + styling: number_format ? + if 1: anonymousNbt + if 2: anonymousNbt + default: void + # MC: ClientboundSetDefaultSpawnPositionPacket + packet_spawn_position: + location: position + angle: f32 + # MC: ClientboundSetTimePacket + packet_update_time: + age: i64 + time: i64 + # MC: ClientboundSoundEntityPacket + packet_entity_sound_effect: + soundId: varint + soundEvent: soundId ? + if 0: + resource: string + range?: f32 + default: void + soundCategory: soundSource + entityId: varint + volume: f32 + pitch: f32 + seed: i64 + # MC: ClientboundStopSoundPacket + packet_stop_sound: + flags: i8 + source: flags ? + if 1: varint + if 3: varint + default: void + sound: flags ? + if 2: string + if 3: string + default: void + # MC: ClientboundSoundPacket + packet_sound_effect: + soundId: varint + soundEvent: soundId ? + if 0: + resource: string + range?: f32 + default: void + soundCategory: soundSource + x: i32 + y: i32 + z: i32 + volume: f32 + pitch: f32 + seed: i64 + # MC: ClientboundSystemChatPacket + packet_system_chat: + content: anonymousNbt + isActionBar: bool + # MC: ClientboundTabListPacket + packet_playerlist_header: + header: anonymousNbt + footer: anonymousNbt + # MC: ClientboundTakeItemEntityPacket + packet_collect: + collectedEntityId: varint + collectorEntityId: varint + pickupItemCount: varint + # MC: ClientboundTeleportEntityPacket + packet_entity_teleport: + entityId: varint + x: f64 + y: f64 + z: f64 + yaw: i8 + pitch: i8 + onGround: bool + # MC: ClientboundUpdateAttributesPacket + packet_entity_update_attributes: + entityId: varint + properties: []varint + key: string + value: f64 + modifiers: []varint + uuid: UUID + amount: f64 + operation: i8 + # MC: ClientboundUpdateMobEffectPacket + packet_entity_effect: + entityId: varint + effectId: varint + amplifier: i8 + duration: varint + hideParticles: i8 + factorCodec?: anonymousNbt + # MC: ClientboundSelectAdvancementsTabPacket + packet_select_advancement_tab: + id?: string + # MC: ClientboundServerDataPacket + packet_server_data: + motd: anonymousNbt + iconBytes?: [ + "buffer", + { + "countType": "varint" + } + ] + enforcesSecureChat: bool + # MC: ClientboundUpdateRecipesPacket + packet_declare_recipes: + recipes: []varint + type: string + recipeId: string + data: type ? + if minecraft:crafting_shapeless: + group: string + category: varint + ingredients: ingredient[]varint + result: slot + if minecraft:crafting_shaped: + group: string + category: varint + width: varint + height: varint + ingredients: []$width + _: ingredient[]$height + result: slot + showNotification: bool + if minecraft:crafting_special_armordye: minecraft_simple_recipe_format + if minecraft:crafting_special_bookcloning: minecraft_simple_recipe_format + if minecraft:crafting_special_mapcloning: minecraft_simple_recipe_format + if minecraft:crafting_special_mapextending: minecraft_simple_recipe_format + if minecraft:crafting_special_firework_rocket: minecraft_simple_recipe_format + if minecraft:crafting_special_firework_star: minecraft_simple_recipe_format + if minecraft:crafting_special_firework_star_fade: minecraft_simple_recipe_format + if minecraft:crafting_special_repairitem: minecraft_simple_recipe_format + if minecraft:crafting_special_tippedarrow: minecraft_simple_recipe_format + if minecraft:crafting_special_bannerduplicate: minecraft_simple_recipe_format + if minecraft:crafting_special_banneraddpattern: minecraft_simple_recipe_format + if minecraft:crafting_special_shielddecoration: minecraft_simple_recipe_format + if minecraft:crafting_special_shulkerboxcoloring: minecraft_simple_recipe_format + if minecraft:crafting_special_suspiciousstew: minecraft_simple_recipe_format + if minecraft:smelting: minecraft_smelting_format + if minecraft:blasting: minecraft_smelting_format + if minecraft:smoking: minecraft_smelting_format + if minecraft:campfire_cooking: minecraft_smelting_format + if minecraft:stonecutting: + group: string + ingredient: ingredient + result: slot + if minecraft:smithing_transform: + template: ingredient + base: ingredient + addition: ingredient + result: slot + if minecraft:smithing_trim: + template: ingredient + base: ingredient + addition: ingredient + if minecraft:crafting_decorated_pot: minecraft_simple_recipe_format + # MC: ClientboundUpdateTagsPacket + packet_tags: + tags: []varint + tagType: string + tags: tags + # MC: ClientboundBlockChangedAckPacket + packet_acknowledge_player_digging: + sequenceId: varint + # MC: ClientboundClearTitlesPacket + packet_clear_titles: + reset: bool + # MC: ClientboundInitializeBorderPacket + packet_initialize_world_border: + x: f64 + z: f64 + oldDiameter: f64 + newDiameter: f64 + speed: varint + portalTeleportBoundary: varint + warningBlocks: varint + warningTime: varint + # MC: ClientboundSetActionBarTextPacket + packet_action_bar: + text: anonymousNbt + # MC: ClientboundSetBorderCenterPacket + packet_world_border_center: + x: f64 + z: f64 + # MC: ClientboundSetBorderLerpSizePacket + packet_world_border_lerp_size: + oldDiameter: f64 + newDiameter: f64 + speed: varint + # MC: ClientboundSetBorderSizePacket + packet_world_border_size: + diameter: f64 + # MC: ClientboundSetBorderWarningDelayPacket + packet_world_border_warning_delay: + warningTime: varint + # MC: ClientboundSetBorderWarningDistancePacket + packet_world_border_warning_reach: + warningBlocks: varint + # MC: ClientboundPingPacket + packet_ping: + id: i32 + # MC: ClientboundPongResponsePacket + packet_ping_response: + id: i64 + # MC: ClientboundSetSubtitleTextPacket + packet_set_title_subtitle: + text: anonymousNbt + # MC: ClientboundSetTitleTextPacket + packet_set_title_text: + text: anonymousNbt + # MC: ClientboundSetTitlesAnimationPacket + packet_set_title_time: + fadeIn: i32 + stay: i32 + fadeOut: i32 + # MC: ClientboundSetSimulationDistancePacket + packet_simulation_distance: + distance: varint + # MC: ClientboundChunksBiomesPacket + packet_chunk_biomes: + biomes: []varint + position: packedChunkPos + data: [ + "buffer", + { + "countType": "varint" + } + ] + # MC: ClientboundDamageEventPacket + packet_damage_event: + entityId: varint + sourceTypeId: varint + sourceCauseId: varint + sourceDirectId: varint + sourcePosition?: vec3f64 + # MC: ClientboundHurtAnimationPacket + packet_hurt_animation: + entityId: varint + yaw: f32 + # MC: ClientboundStartConfigurationPacket + packet_start_configuration: + # Empty + # MC: ClientboundTickingStatePacket + packet_set_ticking_state: + tick_rate: f32 + is_frozen: bool + # MC: ClientboundTickingStepPacket + packet_step_tick: + tick_steps: varint + packet: + name: varint => + - bundle_delimiter + - spawn_entity + - spawn_entity_experience_orb + - animation + - statistics + - acknowledge_player_digging + - block_break_animation + - tile_entity_data + - block_action + - block_change + - boss_bar + - difficulty + - chunk_batch_finished + - chunk_batch_start + - chunk_biomes + - clear_titles + - tab_complete + - declare_commands + - close_window + - window_items + - craft_progress_bar + - set_slot + - set_cooldown + - chat_suggestions + - custom_payload + - damage_event + - hide_message + - kick_disconnect + - profileless_chat + - entity_status + - explosion + - unload_chunk + - game_state_change + - open_horse_window + - hurt_animation + - initialize_world_border + - keep_alive + - map_chunk + - world_event + - world_particles + - update_light + - login + - map + - trade_list + - rel_entity_move + - entity_move_look + - entity_look + - vehicle_move + - open_book + - open_window + - open_sign_entity + - ping + - ping_response + - craft_recipe_response + - abilities + - player_chat + - end_combat_event + - enter_combat_event + - death_combat_event + - player_remove + - player_info + - face_player + - position + - unlock_recipes + - entity_destroy + - remove_entity_effect + - reset_score + - remove_resource_pack + - add_resource_pack + - respawn + - entity_head_rotation + - multi_block_change + - select_advancement_tab + - server_data + - action_bar + - world_border_center + - world_border_lerp_size + - world_border_size + - world_border_warning_delay + - world_border_warning_reach + - camera + - held_item_slot + - update_view_position + - update_view_distance + - spawn_position + - scoreboard_display_objective + - entity_metadata + - attach_entity + - entity_velocity + - entity_equipment + - experience + - update_health + - scoreboard_objective + - set_passengers + - teams + - scoreboard_score + - simulation_distance + - set_title_subtitle + - update_time + - set_title_text + - set_title_time + - entity_sound_effect + - sound_effect + - start_configuration + - stop_sound + - system_chat + - playerlist_header + - nbt_query_response + - collect + - entity_teleport + - set_ticking_state + - step_tick + - advancements + - entity_update_attributes + - entity_effect + - declare_recipes + - tags + params: name ? + if bundle_delimiter: void + if spawn_entity: packet_spawn_entity + if spawn_entity_experience_orb: packet_spawn_entity_experience_orb + if animation: packet_animation + if statistics: packet_statistics + if acknowledge_player_digging: packet_acknowledge_player_digging + if block_break_animation: packet_block_break_animation + if tile_entity_data: packet_tile_entity_data + if block_action: packet_block_action + if block_change: packet_block_change + if boss_bar: packet_boss_bar + if difficulty: packet_difficulty + if chunk_batch_finished: packet_chunk_batch_finished + if chunk_batch_start: packet_chunk_batch_start + if chunk_biomes: packet_chunk_biomes + if clear_titles: packet_clear_titles + if tab_complete: packet_tab_complete + if declare_commands: packet_declare_commands + if close_window: packet_close_window + if window_items: packet_window_items + if craft_progress_bar: packet_craft_progress_bar + if set_slot: packet_set_slot + if set_cooldown: packet_set_cooldown + if chat_suggestions: packet_chat_suggestions + if custom_payload: packet_custom_payload + if damage_event: packet_damage_event + if hide_message: packet_hide_message + if kick_disconnect: packet_kick_disconnect + if profileless_chat: packet_profileless_chat + if entity_status: packet_entity_status + if explosion: packet_explosion + if unload_chunk: packet_unload_chunk + if game_state_change: packet_game_state_change + if open_horse_window: packet_open_horse_window + if hurt_animation: packet_hurt_animation + if initialize_world_border: packet_initialize_world_border + if keep_alive: packet_keep_alive + if map_chunk: packet_map_chunk + if world_event: packet_world_event + if world_particles: packet_world_particles + if update_light: packet_update_light + if login: packet_login + if map: packet_map + if trade_list: packet_trade_list + if rel_entity_move: packet_rel_entity_move + if entity_move_look: packet_entity_move_look + if entity_look: packet_entity_look + if vehicle_move: packet_vehicle_move + if open_book: packet_open_book + if open_window: packet_open_window + if open_sign_entity: packet_open_sign_entity + if ping: packet_ping + if ping_response: packet_ping_response + if craft_recipe_response: packet_craft_recipe_response + if abilities: packet_abilities + if player_chat: packet_player_chat + if end_combat_event: packet_end_combat_event + if enter_combat_event: packet_enter_combat_event + if death_combat_event: packet_death_combat_event + if player_remove: packet_player_remove + if player_info: packet_player_info + if face_player: packet_face_player + if position: packet_position + if unlock_recipes: packet_unlock_recipes + if entity_destroy: packet_entity_destroy + if remove_entity_effect: packet_remove_entity_effect + if reset_score: packet_reset_score + if remove_resource_pack: packet_remove_resource_pack + if add_resource_pack: packet_add_resource_pack + if respawn: packet_respawn + if entity_head_rotation: packet_entity_head_rotation + if multi_block_change: packet_multi_block_change + if select_advancement_tab: packet_select_advancement_tab + if server_data: packet_server_data + if action_bar: packet_action_bar + if world_border_center: packet_world_border_center + if world_border_lerp_size: packet_world_border_lerp_size + if world_border_size: packet_world_border_size + if world_border_warning_delay: packet_world_border_warning_delay + if world_border_warning_reach: packet_world_border_warning_reach + if camera: packet_camera + if held_item_slot: packet_held_item_slot + if update_view_position: packet_update_view_position + if update_view_distance: packet_update_view_distance + if spawn_position: packet_spawn_position + if scoreboard_display_objective: packet_scoreboard_display_objective + if entity_metadata: packet_entity_metadata + if attach_entity: packet_attach_entity + if entity_velocity: packet_entity_velocity + if entity_equipment: packet_entity_equipment + if experience: packet_experience + if update_health: packet_update_health + if scoreboard_objective: packet_scoreboard_objective + if set_passengers: packet_set_passengers + if teams: packet_teams + if scoreboard_score: packet_scoreboard_score + if simulation_distance: packet_simulation_distance + if set_title_subtitle: packet_set_title_subtitle + if update_time: packet_update_time + if set_title_text: packet_set_title_text + if set_title_time: packet_set_title_time + if entity_sound_effect: packet_entity_sound_effect + if sound_effect: packet_sound_effect + if start_configuration: packet_start_configuration + if stop_sound: packet_stop_sound + if system_chat: packet_system_chat + if playerlist_header: packet_playerlist_header + if nbt_query_response: packet_nbt_query_response + if collect: packet_collect + if entity_teleport: packet_entity_teleport + if advancements: packet_advancements + if entity_update_attributes: packet_entity_update_attributes + if entity_effect: packet_entity_effect + if declare_recipes: packet_declare_recipes + if tags: packet_tags + if set_ticking_state: packet_set_ticking_state + if step_tick: packet_step_tick +^play.toServer.types: + # MC: ServerboundAcceptTeleportationPacket + packet_teleport_confirm: + teleportId: varint + # MC: ServerboundBlockEntityTagQuery + packet_query_block_nbt: + transactionId: varint + location: position + # MC: ServerboundChatCommandPacket + packet_chat_command: + command: string + timestamp: i64 + salt: i64 + argumentSignatures: []varint + argumentName: string + signature: [ + "buffer", + { + "count": 256 + } + ] + messageCount: varint + acknowledged: [ + "buffer", + { + "count": 3 + } + ] + # MC: ServerboundChatPacket + packet_chat_message: + message: string + timestamp: i64 + salt: i64 + signature?: [ + "buffer", + { + "count": 256 + } + ] + offset: varint + acknowledged: [ + "buffer", + { + "count": 3 + } + ] + # MC: ServerboundChangeDifficultyPacket + packet_set_difficulty: + newDifficulty: u8 + # MC: ServerboundChatAckPacket + packet_message_acknowledgement: + count: varint + # MC: ServerboundEditBookPacket + packet_edit_book: + hand: varint + pages: string[]varint + title?: string + # MC: ServerboundEntityTagQuery + packet_query_entity_nbt: + transactionId: varint + entityId: varint + # MC: ServerboundPickItemPacket + packet_pick_item: + slot: varint + # MC: ServerboundRenameItemPacket + packet_name_item: + name: string + # MC: ServerboundSelectTradePacket + packet_select_trade: + slot: varint + # MC: ServerboundSetBeaconPacket + packet_set_beacon_effect: + primary_effect?: varint + secondary_effect?: varint + # MC: ServerboundSetCommandBlockPacket + packet_update_command_block: + location: position + command: string + mode: varint + flags: u8 + # MC: ServerboundSetCommandMinecartPacket + packet_update_command_block_minecart: + entityId: varint + command: string + track_output: bool + # MC: ServerboundSetStructureBlockPacket + packet_update_structure_block: + location: position + action: varint + mode: varint + name: string + offset_x: i8 + offset_y: i8 + offset_z: i8 + size_x: i8 + size_y: i8 + size_z: i8 + mirror: varint + rotation: varint + metadata: string + integrity: f32 + seed: varint + flags: u8 + # MC: ServerboundCommandSuggestionPacket + packet_tab_complete: + transactionId: varint + text: string + # MC: ServerboundClientCommandPacket + packet_client_command: + actionId: varint + # MC: ServerboundClientInformationPacket + packet_settings: + locale: string + viewDistance: i8 + chatFlags: varint + chatColors: bool + skinParts: u8 + mainHand: varint + enableTextFiltering: bool + enableServerListing: bool + # MC: ServerboundContainerButtonClickPacket + packet_enchant_item: + windowId: i8 + enchantment: i8 + # MC: ServerboundContainerClickPacket + packet_window_click: + windowId: u8 + stateId: varint + slot: i16 + mouseButton: i8 + mode: varint + changedSlots: []varint + location: i16 + item: slot + cursorItem: slot + # MC: ServerboundContainerClosePacket + packet_close_window: + windowId: u8 + # MC: ServerboundCustomPayloadPacket + packet_custom_payload: + channel: string + data: restBuffer + # MC: ServerboundInteractPacket + packet_use_entity: + target: varint + mouse: varint + x: mouse ? + if 2: f32 + default: void + y: mouse ? + if 2: f32 + default: void + z: mouse ? + if 2: f32 + default: void + hand: mouse ? + if 0: varint + if 2: varint + default: void + sneaking: bool + # MC: ServerboundJigsawGeneratePacket + packet_generate_structure: + location: position + levels: varint + keepJigsaws: bool + # MC: ServerboundKeepAlivePacket + packet_keep_alive: + keepAliveId: i64 + # MC: ServerboundLockDifficultyPacket + packet_lock_difficulty: + locked: bool + # MC: ServerboundMovePlayerPacket.Pos + packet_position: + x: f64 + y: f64 + z: f64 + onGround: bool + # MC: ServerboundMovePlayerPacket.PosRot + packet_position_look: + x: f64 + y: f64 + z: f64 + yaw: f32 + pitch: f32 + onGround: bool + # MC: ServerboundMovePlayerPacket.Rot + packet_look: + yaw: f32 + pitch: f32 + onGround: bool + # MC: ServerboundMovePlayerPacket.StatusOnly + packet_flying: + onGround: bool + # MC: ServerboundMoveVehiclePacket + packet_vehicle_move: + x: f64 + y: f64 + z: f64 + yaw: f32 + pitch: f32 + # MC: ServerboundPaddleBoatPacket + packet_steer_boat: + leftPaddle: bool + rightPaddle: bool + # MC: ServerboundPlaceRecipePacket + packet_craft_recipe_request: + windowId: i8 + recipe: string + makeAll: bool + # MC: ServerboundPlayerAbilitiesPacket + packet_abilities: + flags: i8 + # MC: ServerboundPlayerActionPacket + packet_block_dig: + status: varint + location: position + face: i8 + sequence: varint + # MC: ServerboundPlayerCommandPacket + packet_entity_action: + entityId: varint + actionId: varint + jumpBoost: varint + # MC: ServerboundPlayerInputPacket + packet_steer_vehicle: + sideways: f32 + forward: f32 + jump: u8 + # MC: ServerboundRecipeBookSeenRecipePacket + packet_displayed_recipe: + recipeId: string + # MC: ServerboundRecipeBookChangeSettingsPacket + packet_recipe_book: + bookId: varint + bookOpen: bool + filterActive: bool + # MC: ServerboundResourcePackPacket + packet_resource_pack_receive: + uuid: UUID + result: varint + # MC: ServerboundSetCarriedItemPacket + packet_held_item_slot: + slotId: i16 + # MC: ServerboundSetCreativeModeSlotPacket + packet_set_creative_slot: + slot: i16 + item: slot + # MC: ServerboundSetJigsawBlockPacket + packet_update_jigsaw_block: + location: position + name: string + target: string + pool: string + finalState: string + jointType: string + selection_priority: varint + placement_priority: varint + # MC: ServerboundSignUpdatePacket + packet_update_sign: + location: position + isFrontText: bool + text1: string + text2: string + text3: string + text4: string + # MC: ServerboundSwingPacket + packet_arm_animation: + hand: varint + # MC: ServerboundTeleportToEntityPacket + packet_spectate: + target: UUID + # MC: ServerboundUseItemOnPacket + packet_block_place: + hand: varint + location: position + direction: varint + cursorX: f32 + cursorY: f32 + cursorZ: f32 + insideBlock: bool + sequence: varint + # MC: ServerboundUseItemPacket + packet_use_item: + hand: varint + sequence: varint + # MC: ServerboundSeenAdvancementsPacket + packet_advancement_tab: + action: varint + tabId: action ? + if 0: string + if 1: void + # MC: ServerboundPongPacket + packet_pong: + id: i32 + # MC: ServerboundChatSessionUpdatePacket + packet_chat_session_update: + sessionUUID: UUID + expireTime: i64 + publicKey: [ + "buffer", + { + "countType": "varint" + } + ] + signature: [ + "buffer", + { + "countType": "varint" + } + ] + # MC: ServerboundChunkBatchReceivedPacket + packet_chunk_batch_received: + chunksPerTick: f32 + # MC: ServerboundConfigurationAcknowledgedPacket + packet_configuration_acknowledged: + # Empty + # MC: ServerboundPingRequestPacket + packet_ping_request: + id: i64 + # MC: ServerboundContainerSlotStateChangedPacket + packet_set_slot_state: + slot_id: varint + window_id: varint + state: bool + packet: + name: varint => + - teleport_confirm + - query_block_nbt + - set_difficulty + - message_acknowledgement + - chat_command + - chat_message + - chat_session_update + - chunk_batch_received + - client_command + - settings + - tab_complete + - configuration_acknowledged + - enchant_item + - window_click + - close_window + - set_slot_state + - custom_payload + - edit_book + - query_entity_nbt + - use_entity + - generate_structure + - keep_alive + - lock_difficulty + - position + - position_look + - look + - flying + - vehicle_move + - steer_boat + - pick_item + - ping_request + - craft_recipe_request + - abilities + - block_dig + - entity_action + - steer_vehicle + - pong + - recipe_book + - displayed_recipe + - name_item + - resource_pack_receive + - advancement_tab + - select_trade + - set_beacon_effect + - held_item_slot + - update_command_block + - update_command_block_minecart + - set_creative_slot + - update_jigsaw_block + - update_structure_block + - update_sign + - arm_animation + - spectate + - block_place + - use_item + params: name ? + if teleport_confirm: packet_teleport_confirm + if query_block_nbt: packet_query_block_nbt + if set_difficulty: packet_set_difficulty + if message_acknowledgement: packet_message_acknowledgement + if chat_command: packet_chat_command + if chat_message: packet_chat_message + if client_command: packet_client_command + if settings: packet_settings + if tab_complete: packet_tab_complete + if enchant_item: packet_enchant_item + if window_click: packet_window_click + if close_window: packet_close_window + if custom_payload: packet_custom_payload + if edit_book: packet_edit_book + if query_entity_nbt: packet_query_entity_nbt + if use_entity: packet_use_entity + if generate_structure: packet_generate_structure + if keep_alive: packet_keep_alive + if lock_difficulty: packet_lock_difficulty + if position: packet_position + if position_look: packet_position_look + if look: packet_look + if flying: packet_flying + if vehicle_move: packet_vehicle_move + if steer_boat: packet_steer_boat + if pick_item: packet_pick_item + if craft_recipe_request: packet_craft_recipe_request + if abilities: packet_abilities + if block_dig: packet_block_dig + if entity_action: packet_entity_action + if steer_vehicle: packet_steer_vehicle + if pong: packet_pong + if chat_session_update: packet_chat_session_update + if recipe_book: packet_recipe_book + if displayed_recipe: packet_displayed_recipe + if name_item: packet_name_item + if resource_pack_receive: packet_resource_pack_receive + if advancement_tab: packet_advancement_tab + if select_trade: packet_select_trade + if set_beacon_effect: packet_set_beacon_effect + if held_item_slot: packet_held_item_slot + if update_command_block: packet_update_command_block + if update_command_block_minecart: packet_update_command_block_minecart + if set_creative_slot: packet_set_creative_slot + if update_jigsaw_block: packet_update_jigsaw_block + if update_structure_block: packet_update_structure_block + if update_sign: packet_update_sign + if arm_animation: packet_arm_animation + if spectate: packet_spectate + if block_place: packet_block_place + if use_item: packet_use_item + if chunk_batch_received: packet_chunk_batch_received + if configuration_acknowledged: packet_configuration_acknowledged + if ping_request: packet_ping_request + if set_slot_state: packet_set_slot_state diff --git a/data/pc/1.20.5/version.json b/data/pc/1.20.5/version.json new file mode 100644 index 000000000..7c9b60c95 --- /dev/null +++ b/data/pc/1.20.5/version.json @@ -0,0 +1,6 @@ +{ + "version": 766, + "minecraftVersion": "1.20.5", + "majorVersion": "1.20", + "releaseType": "release" +} \ No newline at end of file diff --git a/data/pc/common/features.json b/data/pc/common/features.json index 2b832891b..0d6770a1e 100644 --- a/data/pc/common/features.json +++ b/data/pc/common/features.json @@ -800,5 +800,25 @@ "name": "chatPacketsUseNbtComponents", "description": "Chat message packets use NBT to serialize chat components instead of JSON", "versions": ["1.20.3", "latest"] + }, + { + "name": "seperateSignedChatCommandPacket", + "description": "Signed chat commands use new `packet_chat_command_signed` packet", + "versions": ["1.20.5", "latest"] + }, + { + "name": "spawnRespawnWorldDataField", + "description": "Spawn and respawn packet now use shared worldState type for their data, and dimensions are now integers", + "versions": ["1.20.5", "latest"] + }, + { + "name": "updatedParticlesPacket", + "description": "Particle packet structure contains uses strings instead of integers in protocol", + "versions": ["1.20.5", "latest"] + }, + { + "name": "segmentedRegistryCodecData", + "description": "Codec data is now split into multiple NBTs by ID instead of one", + "versions": ["1.20.5", "latest"] } -] +] \ No newline at end of file diff --git a/data/pc/common/versions.json b/data/pc/common/versions.json index 66198275a..153a1839a 100644 --- a/data/pc/common/versions.json +++ b/data/pc/common/versions.json @@ -56,5 +56,6 @@ "1.20.1", "1.20.2", "1.20.3", - "1.20.4" -] + "1.20.4", + "1.20.5" +] \ No newline at end of file diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index 1e6f922d6..d093bba3d 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -1,4 +1,4 @@ -!version: 1.20.3 +!version: 1.20.5 !StartDocs: true ^types: From 69a90a91de15a972875f449d395c860a2d7b7b49 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Thu, 18 Jul 2024 19:33:54 +0000 Subject: [PATCH 02/19] add protocol and login packet --- data/dataPaths.json | 2 +- data/pc/1.20.5/loginPacket.json | 8264 +++++++++++++++++++++++++++++++ data/pc/1.20.5/protocol.json | 7522 ++++++++++++++++++++++++++++ data/pc/latest/proto.yml | 1207 +++-- 4 files changed, 16453 insertions(+), 542 deletions(-) create mode 100644 data/pc/1.20.5/loginPacket.json create mode 100644 data/pc/1.20.5/protocol.json diff --git a/data/dataPaths.json b/data/dataPaths.json index 76b028a5b..b7c465173 100644 --- a/data/dataPaths.json +++ b/data/dataPaths.json @@ -1416,7 +1416,7 @@ "particles": "pc/1.20.5", "blockLoot": "pc/1.20", "entityLoot": "pc/1.20", - "loginPacket": "pc/1.20.2", + "loginPacket": "pc/1.20.5", "tints": "pc/1.20.5", "mapIcons": "pc/1.20.2", "commands": "pc/1.20.3", diff --git a/data/pc/1.20.5/loginPacket.json b/data/pc/1.20.5/loginPacket.json new file mode 100644 index 000000000..d4697f928 --- /dev/null +++ b/data/pc/1.20.5/loginPacket.json @@ -0,0 +1,8264 @@ +{ + "entityId": 28, + "isHardcore": false, + "worldNames": [ + "minecraft:overworld", + "minecraft:the_end", + "minecraft:the_nether" + ], + "maxPlayers": 120, + "viewDistance": 10, + "simulationDistance": 10, + "reducedDebugInfo": false, + "enableRespawnScreen": true, + "doLimitedCrafting": false, + "worldState": { + "dimension": 0, + "name": "minecraft:overworld", + "hashedSeed": [ + 572061085, + 1191958278 + ], + "gamemode": "survival", + "previousGamemode": 255, + "isDebug": false, + "isFlat": false, + "portalCooldown": 0 + }, + "enforcesSecureChat": false, + "dimensionCodec": { + "minecraft:worldgen/biome": { + "id": "minecraft:worldgen/biome", + "entries": [ + { + "key": "minecraft:badlands", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.badlands" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:bamboo_jungle", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.bamboo_jungle" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + } + } + } + }, + { + "key": "minecraft:basalt_deltas", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.basalt_deltas" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.basalt_deltas.loop" + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.basalt_deltas.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "particle": { + "type": "compound", + "value": { + "probability": { + "type": "float", + "value": 0.1180933341383934 + }, + "options": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:white_ash" + } + } + } + } + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 6840176 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.basalt_deltas.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:beach", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 7907327 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "key": "minecraft:birch_forest", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.forest" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8037887 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.6000000238418579 + }, + "downfall": { + "type": "float", + "value": 0.6000000238418579 + } + } + } + }, + { + "key": "minecraft:cherry_grove", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.cherry_grove" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + }, + "grass_color": { + "type": "int", + "value": 11983713 + }, + "foliage_color": { + "type": "int", + "value": 11983713 + }, + "water_fog_color": { + "type": "int", + "value": 6141935 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 6141935 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:cold_ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:crimson_forest", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.crimson_forest" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.crimson_forest.loop" + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.crimson_forest.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "particle": { + "type": "compound", + "value": { + "probability": { + "type": "float", + "value": 0.02500000037252903 + }, + "options": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:crimson_spore" + } + } + } + } + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 3343107 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.crimson_forest.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:dark_forest", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "grass_color_modifier": { + "type": "string", + "value": "dark_forest" + }, + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.forest" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7972607 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:deep_cold_ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:deep_dark", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.deep_dark" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "key": "minecraft:deep_frozen_ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 3750089 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "temperature_modifier": { + "type": "string", + "value": "frozen" + } + } + } + }, + { + "key": "minecraft:deep_lukewarm_ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 267827 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4566514 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:deep_ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:desert", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.desert" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:dripstone_caves", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.dripstone_caves" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "key": "minecraft:end_barrens", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 0 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:end_highlands", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 0 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:end_midlands", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 0 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:eroded_badlands", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.badlands" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:flower_forest", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.flower_forest" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7972607 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:forest", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.forest" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7972607 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:frozen_ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8364543 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 3750089 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "temperature_modifier": { + "type": "string", + "value": "frozen" + } + } + } + }, + { + "key": "minecraft:frozen_peaks", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.frozen_peaks" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8756735 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": -0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + } + } + } + }, + { + "key": "minecraft:frozen_river", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8364543 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 3750089 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:grove", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.grove" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8495359 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": -0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:ice_spikes", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8364543 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:jagged_peaks", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.jagged_peaks" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8756735 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": -0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + } + } + } + }, + { + "key": "minecraft:jungle", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.jungle" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + } + } + } + }, + { + "key": "minecraft:lukewarm_ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 267827 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4566514 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:lush_caves", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.lush_caves" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:mangrove_swamp", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "grass_color_modifier": { + "type": "string", + "value": "swamp" + }, + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.swamp" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + }, + "foliage_color": { + "type": "int", + "value": 9285927 + }, + "water_fog_color": { + "type": "int", + "value": 5077600 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 3832426 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + } + } + } + }, + { + "key": "minecraft:meadow", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.meadow" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 937679 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:mushroom_fields", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 7842047 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.8999999761581421 + }, + "downfall": { + "type": "float", + "value": 1 + } + } + } + }, + { + "key": "minecraft:nether_wastes", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.nether_wastes" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.nether_wastes.loop" + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.nether_wastes.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 3344392 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.nether_wastes.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:old_growth_birch_forest", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.forest" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8037887 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.6000000238418579 + }, + "downfall": { + "type": "float", + "value": 0.6000000238418579 + } + } + } + }, + { + "key": "minecraft:old_growth_pine_taiga", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.old_growth_taiga" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8168447 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.30000001192092896 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:old_growth_spruce_taiga", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.old_growth_taiga" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233983 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.25 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:plains", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 7907327 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "key": "minecraft:river", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:savanna", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 7254527 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:savanna_plateau", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 7254527 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:small_end_islands", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 0 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:snowy_beach", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8364543 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.05000000074505806 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "key": "minecraft:snowy_plains", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8364543 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:snowy_slopes", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.snowy_slopes" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8560639 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": -0.30000001192092896 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + } + } + } + }, + { + "key": "minecraft:snowy_taiga", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8625919 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": -0.5 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "key": "minecraft:soul_sand_valley", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.soul_sand_valley" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.soul_sand_valley.loop" + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.soul_sand_valley.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "particle": { + "type": "compound", + "value": { + "probability": { + "type": "float", + "value": 0.0062500000931322575 + }, + "options": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:ash" + } + } + } + } + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 1787717 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.soul_sand_valley.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:sparse_jungle", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.sparse_jungle" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:stony_peaks", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.stony_peaks" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7776511 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 1 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "key": "minecraft:stony_shore", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8233727 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "key": "minecraft:sunflower_plains", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 7907327 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "key": "minecraft:swamp", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "grass_color_modifier": { + "type": "string", + "value": "swamp" + }, + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.swamp" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + }, + "foliage_color": { + "type": "int", + "value": 6975545 + }, + "water_fog_color": { + "type": "int", + "value": 2302743 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 6388580 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + } + } + } + }, + { + "key": "minecraft:taiga", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8233983 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.25 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "key": "minecraft:the_end", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 0 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:the_void", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:warm_ocean", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8103167 + }, + "water_fog_color": { + "type": "int", + "value": 270131 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4445678 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "key": "minecraft:warped_forest", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.warped_forest" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.warped_forest.loop" + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.warped_forest.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "particle": { + "type": "compound", + "value": { + "probability": { + "type": "float", + "value": 0.014279999770224094 + }, + "options": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:warped_spore" + } + } + } + } + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 1705242 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.warped_forest.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:windswept_forest", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8233727 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "key": "minecraft:windswept_gravelly_hills", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8233727 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "key": "minecraft:windswept_hills", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 8233727 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 1 + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "key": "minecraft:windswept_savanna", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "sky_color": { + "type": "int", + "value": 7254527 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + }, + { + "key": "minecraft:wooded_badlands", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "compound", + "value": { + "music": { + "type": "compound", + "value": { + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.overworld.badlands" + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "mood_sound": { + "type": "compound", + "value": { + "tick_delay": { + "type": "int", + "value": 6000 + }, + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + } + } + } + } + }, + "has_precipitation": { + "type": "byte", + "value": 0 + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + } + } + } + } + ] + }, + "minecraft:chat_type": { + "id": "minecraft:chat_type", + "entries": [ + { + "key": "minecraft:chat", + "value": { + "type": "compound", + "value": { + "chat": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.text" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + }, + "narration": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.text.narrate" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + } + } + } + }, + { + "key": "minecraft:emote_command", + "value": { + "type": "compound", + "value": { + "chat": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.emote" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + }, + "narration": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.emote" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + } + } + } + }, + { + "key": "minecraft:msg_command_incoming", + "value": { + "type": "compound", + "value": { + "chat": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "commands.message.display.incoming" + }, + "style": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "gray" + }, + "italic": { + "type": "byte", + "value": 1 + } + } + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + }, + "narration": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.text.narrate" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + } + } + } + }, + { + "key": "minecraft:msg_command_outgoing", + "value": { + "type": "compound", + "value": { + "chat": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "commands.message.display.outgoing" + }, + "style": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "gray" + }, + "italic": { + "type": "byte", + "value": 1 + } + } + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "target", + "content" + ] + } + } + } + }, + "narration": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.text.narrate" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + } + } + } + }, + { + "key": "minecraft:say_command", + "value": { + "type": "compound", + "value": { + "chat": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.announcement" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + }, + "narration": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.text.narrate" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + } + } + } + }, + { + "key": "minecraft:team_msg_command_incoming", + "value": { + "type": "compound", + "value": { + "chat": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.team.text" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "target", + "sender", + "content" + ] + } + } + } + }, + "narration": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.text.narrate" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + } + } + } + }, + { + "key": "minecraft:team_msg_command_outgoing", + "value": { + "type": "compound", + "value": { + "chat": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.team.sent" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "target", + "sender", + "content" + ] + } + } + } + }, + "narration": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "chat.type.text.narrate" + }, + "parameters": { + "type": "list", + "value": { + "type": "string", + "value": [ + "sender", + "content" + ] + } + } + } + } + } + } + } + ] + }, + "minecraft:trim_pattern": { + "id": "minecraft:trim_pattern", + "entries": [ + { + "key": "minecraft:coast", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:coast_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.coast" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:coast" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:dune", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:dune_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.dune" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:dune" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:eye", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:eye_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.eye" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:eye" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:host", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:host_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.host" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:host" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:raiser", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:raiser_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.raiser" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:raiser" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:rib", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:rib_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.rib" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:rib" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:sentry", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:sentry_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.sentry" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:sentry" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:shaper", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:shaper_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.shaper" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:shaper" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:silence", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:silence_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.silence" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:silence" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:snout", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:snout_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.snout" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:snout" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:spire", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:spire_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.spire" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:spire" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:tide", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:tide_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.tide" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:tide" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:vex", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:vex_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.vex" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:vex" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:ward", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:ward_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.ward" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:ward" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:wayfinder", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:wayfinder_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.wayfinder" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:wayfinder" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "key": "minecraft:wild", + "value": { + "type": "compound", + "value": { + "template_item": { + "type": "string", + "value": "minecraft:wild_armor_trim_smithing_template" + }, + "description": { + "type": "compound", + "value": { + "translate": { + "type": "string", + "value": "trim_pattern.minecraft.wild" + } + } + }, + "asset_id": { + "type": "string", + "value": "minecraft:wild" + }, + "decal": { + "type": "byte", + "value": 0 + } + } + } + } + ] + }, + "minecraft:trim_material": { + "id": "minecraft:trim_material", + "entries": [ + { + "key": "minecraft:amethyst", + "value": { + "type": "compound", + "value": { + "ingredient": { + "type": "string", + "value": "minecraft:amethyst_shard" + }, + "asset_name": { + "type": "string", + "value": "amethyst" + }, + "item_model_index": { + "type": "float", + "value": 1 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#9A5CC6" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.amethyst" + } + } + } + } + } + }, + { + "key": "minecraft:copper", + "value": { + "type": "compound", + "value": { + "ingredient": { + "type": "string", + "value": "minecraft:copper_ingot" + }, + "asset_name": { + "type": "string", + "value": "copper" + }, + "item_model_index": { + "type": "float", + "value": 0.5 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#B4684D" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.copper" + } + } + } + } + } + }, + { + "key": "minecraft:diamond", + "value": { + "type": "compound", + "value": { + "override_armor_materials": { + "type": "compound", + "value": { + "minecraft:diamond": { + "type": "string", + "value": "diamond_darker" + } + } + }, + "ingredient": { + "type": "string", + "value": "minecraft:diamond" + }, + "asset_name": { + "type": "string", + "value": "diamond" + }, + "item_model_index": { + "type": "float", + "value": 0.800000011920929 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#6EECD2" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.diamond" + } + } + } + } + } + }, + { + "key": "minecraft:emerald", + "value": { + "type": "compound", + "value": { + "ingredient": { + "type": "string", + "value": "minecraft:emerald" + }, + "asset_name": { + "type": "string", + "value": "emerald" + }, + "item_model_index": { + "type": "float", + "value": 0.699999988079071 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#11A036" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.emerald" + } + } + } + } + } + }, + { + "key": "minecraft:gold", + "value": { + "type": "compound", + "value": { + "override_armor_materials": { + "type": "compound", + "value": { + "minecraft:gold": { + "type": "string", + "value": "gold_darker" + } + } + }, + "ingredient": { + "type": "string", + "value": "minecraft:gold_ingot" + }, + "asset_name": { + "type": "string", + "value": "gold" + }, + "item_model_index": { + "type": "float", + "value": 0.6000000238418579 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#DEB12D" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.gold" + } + } + } + } + } + }, + { + "key": "minecraft:iron", + "value": { + "type": "compound", + "value": { + "override_armor_materials": { + "type": "compound", + "value": { + "minecraft:iron": { + "type": "string", + "value": "iron_darker" + } + } + }, + "ingredient": { + "type": "string", + "value": "minecraft:iron_ingot" + }, + "asset_name": { + "type": "string", + "value": "iron" + }, + "item_model_index": { + "type": "float", + "value": 0.20000000298023224 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#ECECEC" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.iron" + } + } + } + } + } + }, + { + "key": "minecraft:lapis", + "value": { + "type": "compound", + "value": { + "ingredient": { + "type": "string", + "value": "minecraft:lapis_lazuli" + }, + "asset_name": { + "type": "string", + "value": "lapis" + }, + "item_model_index": { + "type": "float", + "value": 0.8999999761581421 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#416E97" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.lapis" + } + } + } + } + } + }, + { + "key": "minecraft:netherite", + "value": { + "type": "compound", + "value": { + "override_armor_materials": { + "type": "compound", + "value": { + "minecraft:netherite": { + "type": "string", + "value": "netherite_darker" + } + } + }, + "ingredient": { + "type": "string", + "value": "minecraft:netherite_ingot" + }, + "asset_name": { + "type": "string", + "value": "netherite" + }, + "item_model_index": { + "type": "float", + "value": 0.30000001192092896 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#625859" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.netherite" + } + } + } + } + } + }, + { + "key": "minecraft:quartz", + "value": { + "type": "compound", + "value": { + "ingredient": { + "type": "string", + "value": "minecraft:quartz" + }, + "asset_name": { + "type": "string", + "value": "quartz" + }, + "item_model_index": { + "type": "float", + "value": 0.10000000149011612 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#E3D4C4" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.quartz" + } + } + } + } + } + }, + { + "key": "minecraft:redstone", + "value": { + "type": "compound", + "value": { + "ingredient": { + "type": "string", + "value": "minecraft:redstone" + }, + "asset_name": { + "type": "string", + "value": "redstone" + }, + "item_model_index": { + "type": "float", + "value": 0.4000000059604645 + }, + "description": { + "type": "compound", + "value": { + "color": { + "type": "string", + "value": "#971607" + }, + "translate": { + "type": "string", + "value": "trim_material.minecraft.redstone" + } + } + } + } + } + } + ] + }, + "minecraft:wolf_variant": { + "id": "minecraft:wolf_variant", + "entries": [ + { + "key": "minecraft:ashen", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_ashen" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_ashen_angry" + }, + "biomes": { + "type": "string", + "value": "minecraft:snowy_taiga" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_ashen_tame" + } + } + } + }, + { + "key": "minecraft:black", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_black" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_black_angry" + }, + "biomes": { + "type": "string", + "value": "minecraft:old_growth_pine_taiga" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_black_tame" + } + } + } + }, + { + "key": "minecraft:chestnut", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_chestnut" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_chestnut_angry" + }, + "biomes": { + "type": "string", + "value": "minecraft:old_growth_spruce_taiga" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_chestnut_tame" + } + } + } + }, + { + "key": "minecraft:pale", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_angry" + }, + "biomes": { + "type": "string", + "value": "minecraft:taiga" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_tame" + } + } + } + }, + { + "key": "minecraft:rusty", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_rusty" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_rusty_angry" + }, + "biomes": { + "type": "string", + "value": "#minecraft:is_jungle" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_rusty_tame" + } + } + } + }, + { + "key": "minecraft:snowy", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_snowy" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_snowy_angry" + }, + "biomes": { + "type": "string", + "value": "minecraft:grove" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_snowy_tame" + } + } + } + }, + { + "key": "minecraft:spotted", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_spotted" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_spotted_angry" + }, + "biomes": { + "type": "string", + "value": "#minecraft:is_savanna" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_spotted_tame" + } + } + } + }, + { + "key": "minecraft:striped", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_striped" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_striped_angry" + }, + "biomes": { + "type": "string", + "value": "#minecraft:is_badlands" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_striped_tame" + } + } + } + }, + { + "key": "minecraft:woods", + "value": { + "type": "compound", + "value": { + "wild_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_woods" + }, + "angry_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_woods_angry" + }, + "biomes": { + "type": "string", + "value": "minecraft:forest" + }, + "tame_texture": { + "type": "string", + "value": "minecraft:entity/wolf/wolf_woods_tame" + } + } + } + } + ] + }, + "minecraft:dimension_type": { + "id": "minecraft:dimension_type", + "entries": [ + { + "key": "minecraft:overworld", + "value": { + "type": "compound", + "value": { + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "natural": { + "type": "byte", + "value": 1 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "monster_spawn_block_light_limit": { + "type": "int", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "#minecraft:infiniburn_overworld" + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 1 + }, + "bed_works": { + "type": "byte", + "value": 1 + }, + "effects": { + "type": "string", + "value": "minecraft:overworld" + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "logical_height": { + "type": "int", + "value": 384 + }, + "coordinate_scale": { + "type": "double", + "value": 1 + }, + "monster_spawn_light_level": { + "type": "compound", + "value": { + "min_inclusive": { + "type": "int", + "value": 0 + }, + "max_inclusive": { + "type": "int", + "value": 7 + }, + "type": { + "type": "string", + "value": "minecraft:uniform" + } + } + }, + "min_y": { + "type": "int", + "value": -64 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "has_ceiling": { + "type": "byte", + "value": 0 + }, + "height": { + "type": "int", + "value": 384 + } + } + } + }, + { + "key": "minecraft:overworld_caves", + "value": { + "type": "compound", + "value": { + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "natural": { + "type": "byte", + "value": 1 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "monster_spawn_block_light_limit": { + "type": "int", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "#minecraft:infiniburn_overworld" + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 1 + }, + "bed_works": { + "type": "byte", + "value": 1 + }, + "effects": { + "type": "string", + "value": "minecraft:overworld" + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "logical_height": { + "type": "int", + "value": 384 + }, + "coordinate_scale": { + "type": "double", + "value": 1 + }, + "monster_spawn_light_level": { + "type": "compound", + "value": { + "min_inclusive": { + "type": "int", + "value": 0 + }, + "max_inclusive": { + "type": "int", + "value": 7 + }, + "type": { + "type": "string", + "value": "minecraft:uniform" + } + } + }, + "min_y": { + "type": "int", + "value": -64 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "has_ceiling": { + "type": "byte", + "value": 1 + }, + "height": { + "type": "int", + "value": 384 + } + } + } + }, + { + "key": "minecraft:the_end", + "value": { + "type": "compound", + "value": { + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "natural": { + "type": "byte", + "value": 0 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "monster_spawn_block_light_limit": { + "type": "int", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "#minecraft:infiniburn_end" + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 0 + }, + "bed_works": { + "type": "byte", + "value": 0 + }, + "effects": { + "type": "string", + "value": "minecraft:the_end" + }, + "fixed_time": { + "type": "long", + "value": [ + 0, + 6000 + ] + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "logical_height": { + "type": "int", + "value": 256 + }, + "coordinate_scale": { + "type": "double", + "value": 1 + }, + "monster_spawn_light_level": { + "type": "compound", + "value": { + "min_inclusive": { + "type": "int", + "value": 0 + }, + "max_inclusive": { + "type": "int", + "value": 7 + }, + "type": { + "type": "string", + "value": "minecraft:uniform" + } + } + }, + "min_y": { + "type": "int", + "value": 0 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "has_ceiling": { + "type": "byte", + "value": 0 + }, + "height": { + "type": "int", + "value": 256 + } + } + } + }, + { + "key": "minecraft:the_nether", + "value": { + "type": "compound", + "value": { + "piglin_safe": { + "type": "byte", + "value": 1 + }, + "natural": { + "type": "byte", + "value": 0 + }, + "ambient_light": { + "type": "float", + "value": 0.10000000149011612 + }, + "monster_spawn_block_light_limit": { + "type": "int", + "value": 15 + }, + "infiniburn": { + "type": "string", + "value": "#minecraft:infiniburn_nether" + }, + "respawn_anchor_works": { + "type": "byte", + "value": 1 + }, + "has_skylight": { + "type": "byte", + "value": 0 + }, + "bed_works": { + "type": "byte", + "value": 0 + }, + "effects": { + "type": "string", + "value": "minecraft:the_nether" + }, + "fixed_time": { + "type": "long", + "value": [ + 0, + 18000 + ] + }, + "has_raids": { + "type": "byte", + "value": 0 + }, + "logical_height": { + "type": "int", + "value": 128 + }, + "coordinate_scale": { + "type": "double", + "value": 8 + }, + "monster_spawn_light_level": { + "type": "int", + "value": 7 + }, + "min_y": { + "type": "int", + "value": 0 + }, + "ultrawarm": { + "type": "byte", + "value": 1 + }, + "has_ceiling": { + "type": "byte", + "value": 1 + }, + "height": { + "type": "int", + "value": 256 + } + } + } + } + ] + }, + "minecraft:damage_type": { + "id": "minecraft:damage_type", + "entries": [ + { + "key": "minecraft:arrow", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "arrow" + } + } + } + }, + { + "key": "minecraft:bad_respawn_point", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "always" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "badRespawnPoint" + }, + "death_message_type": { + "type": "string", + "value": "intentional_game_design" + } + } + } + }, + { + "key": "minecraft:cactus", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "cactus" + } + } + } + }, + { + "key": "minecraft:cramming", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "cramming" + } + } + } + }, + { + "key": "minecraft:dragon_breath", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "dragonBreath" + } + } + } + }, + { + "key": "minecraft:drown", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "drowning" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "drown" + } + } + } + }, + { + "key": "minecraft:dry_out", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "dryout" + } + } + } + }, + { + "key": "minecraft:explosion", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "always" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "explosion" + } + } + } + }, + { + "key": "minecraft:fall", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "fall" + }, + "death_message_type": { + "type": "string", + "value": "fall_variants" + } + } + } + }, + { + "key": "minecraft:falling_anvil", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "anvil" + } + } + } + }, + { + "key": "minecraft:falling_block", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "fallingBlock" + } + } + } + }, + { + "key": "minecraft:falling_stalactite", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "fallingStalactite" + } + } + } + }, + { + "key": "minecraft:fireball", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "burning" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "fireball" + } + } + } + }, + { + "key": "minecraft:fireworks", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "fireworks" + } + } + } + }, + { + "key": "minecraft:fly_into_wall", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "flyIntoWall" + } + } + } + }, + { + "key": "minecraft:freeze", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "freezing" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "freeze" + } + } + } + }, + { + "key": "minecraft:generic", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "generic" + } + } + } + }, + { + "key": "minecraft:generic_kill", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "genericKill" + } + } + } + }, + { + "key": "minecraft:hot_floor", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "burning" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "hotFloor" + } + } + } + }, + { + "key": "minecraft:in_fire", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "burning" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "inFire" + } + } + } + }, + { + "key": "minecraft:in_wall", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "inWall" + } + } + } + }, + { + "key": "minecraft:indirect_magic", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "indirectMagic" + } + } + } + }, + { + "key": "minecraft:lava", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "burning" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "lava" + } + } + } + }, + { + "key": "minecraft:lightning_bolt", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "lightningBolt" + } + } + } + }, + { + "key": "minecraft:magic", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "magic" + } + } + } + }, + { + "key": "minecraft:mob_attack", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "mob" + } + } + } + }, + { + "key": "minecraft:mob_attack_no_aggro", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "mob" + } + } + } + }, + { + "key": "minecraft:mob_projectile", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "mob" + } + } + } + }, + { + "key": "minecraft:on_fire", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "burning" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "onFire" + } + } + } + }, + { + "key": "minecraft:out_of_world", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "outOfWorld" + } + } + } + }, + { + "key": "minecraft:outside_border", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "outsideBorder" + } + } + } + }, + { + "key": "minecraft:player_attack", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "player" + } + } + } + }, + { + "key": "minecraft:player_explosion", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "always" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "explosion.player" + } + } + } + }, + { + "key": "minecraft:sonic_boom", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "always" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "sonic_boom" + } + } + } + }, + { + "key": "minecraft:spit", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "mob" + } + } + } + }, + { + "key": "minecraft:stalagmite", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "stalagmite" + } + } + } + }, + { + "key": "minecraft:starve", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "starve" + } + } + } + }, + { + "key": "minecraft:sting", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "sting" + } + } + } + }, + { + "key": "minecraft:sweet_berry_bush", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "poking" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "sweetBerryBush" + } + } + } + }, + { + "key": "minecraft:thorns", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "thorns" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "thorns" + } + } + } + }, + { + "key": "minecraft:thrown", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "thrown" + } + } + } + }, + { + "key": "minecraft:trident", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "trident" + } + } + } + }, + { + "key": "minecraft:unattributed_fireball", + "value": { + "type": "compound", + "value": { + "effects": { + "type": "string", + "value": "burning" + }, + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "onFire" + } + } + } + }, + { + "key": "minecraft:wither", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0 + }, + "message_id": { + "type": "string", + "value": "wither" + } + } + } + }, + { + "key": "minecraft:wither_skull", + "value": { + "type": "compound", + "value": { + "scaling": { + "type": "string", + "value": "when_caused_by_living_non_player" + }, + "exhaustion": { + "type": "float", + "value": 0.10000000149011612 + }, + "message_id": { + "type": "string", + "value": "witherSkull" + } + } + } + } + ] + }, + "minecraft:banner_pattern": { + "id": "minecraft:banner_pattern", + "entries": [ + { + "key": "minecraft:base", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.base" + }, + "asset_id": { + "type": "string", + "value": "minecraft:base" + } + } + } + }, + { + "key": "minecraft:border", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.border" + }, + "asset_id": { + "type": "string", + "value": "minecraft:border" + } + } + } + }, + { + "key": "minecraft:bricks", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.bricks" + }, + "asset_id": { + "type": "string", + "value": "minecraft:bricks" + } + } + } + }, + { + "key": "minecraft:circle", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.circle" + }, + "asset_id": { + "type": "string", + "value": "minecraft:circle" + } + } + } + }, + { + "key": "minecraft:creeper", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.creeper" + }, + "asset_id": { + "type": "string", + "value": "minecraft:creeper" + } + } + } + }, + { + "key": "minecraft:cross", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.cross" + }, + "asset_id": { + "type": "string", + "value": "minecraft:cross" + } + } + } + }, + { + "key": "minecraft:curly_border", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.curly_border" + }, + "asset_id": { + "type": "string", + "value": "minecraft:curly_border" + } + } + } + }, + { + "key": "minecraft:diagonal_left", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.diagonal_left" + }, + "asset_id": { + "type": "string", + "value": "minecraft:diagonal_left" + } + } + } + }, + { + "key": "minecraft:diagonal_right", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.diagonal_right" + }, + "asset_id": { + "type": "string", + "value": "minecraft:diagonal_right" + } + } + } + }, + { + "key": "minecraft:diagonal_up_left", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.diagonal_up_left" + }, + "asset_id": { + "type": "string", + "value": "minecraft:diagonal_up_left" + } + } + } + }, + { + "key": "minecraft:diagonal_up_right", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.diagonal_up_right" + }, + "asset_id": { + "type": "string", + "value": "minecraft:diagonal_up_right" + } + } + } + }, + { + "key": "minecraft:flower", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.flower" + }, + "asset_id": { + "type": "string", + "value": "minecraft:flower" + } + } + } + }, + { + "key": "minecraft:globe", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.globe" + }, + "asset_id": { + "type": "string", + "value": "minecraft:globe" + } + } + } + }, + { + "key": "minecraft:gradient", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.gradient" + }, + "asset_id": { + "type": "string", + "value": "minecraft:gradient" + } + } + } + }, + { + "key": "minecraft:gradient_up", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.gradient_up" + }, + "asset_id": { + "type": "string", + "value": "minecraft:gradient_up" + } + } + } + }, + { + "key": "minecraft:half_horizontal", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.half_horizontal" + }, + "asset_id": { + "type": "string", + "value": "minecraft:half_horizontal" + } + } + } + }, + { + "key": "minecraft:half_horizontal_bottom", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.half_horizontal_bottom" + }, + "asset_id": { + "type": "string", + "value": "minecraft:half_horizontal_bottom" + } + } + } + }, + { + "key": "minecraft:half_vertical", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.half_vertical" + }, + "asset_id": { + "type": "string", + "value": "minecraft:half_vertical" + } + } + } + }, + { + "key": "minecraft:half_vertical_right", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.half_vertical_right" + }, + "asset_id": { + "type": "string", + "value": "minecraft:half_vertical_right" + } + } + } + }, + { + "key": "minecraft:mojang", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.mojang" + }, + "asset_id": { + "type": "string", + "value": "minecraft:mojang" + } + } + } + }, + { + "key": "minecraft:piglin", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.piglin" + }, + "asset_id": { + "type": "string", + "value": "minecraft:piglin" + } + } + } + }, + { + "key": "minecraft:rhombus", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.rhombus" + }, + "asset_id": { + "type": "string", + "value": "minecraft:rhombus" + } + } + } + }, + { + "key": "minecraft:skull", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.skull" + }, + "asset_id": { + "type": "string", + "value": "minecraft:skull" + } + } + } + }, + { + "key": "minecraft:small_stripes", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.small_stripes" + }, + "asset_id": { + "type": "string", + "value": "minecraft:small_stripes" + } + } + } + }, + { + "key": "minecraft:square_bottom_left", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.square_bottom_left" + }, + "asset_id": { + "type": "string", + "value": "minecraft:square_bottom_left" + } + } + } + }, + { + "key": "minecraft:square_bottom_right", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.square_bottom_right" + }, + "asset_id": { + "type": "string", + "value": "minecraft:square_bottom_right" + } + } + } + }, + { + "key": "minecraft:square_top_left", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.square_top_left" + }, + "asset_id": { + "type": "string", + "value": "minecraft:square_top_left" + } + } + } + }, + { + "key": "minecraft:square_top_right", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.square_top_right" + }, + "asset_id": { + "type": "string", + "value": "minecraft:square_top_right" + } + } + } + }, + { + "key": "minecraft:straight_cross", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.straight_cross" + }, + "asset_id": { + "type": "string", + "value": "minecraft:straight_cross" + } + } + } + }, + { + "key": "minecraft:stripe_bottom", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.stripe_bottom" + }, + "asset_id": { + "type": "string", + "value": "minecraft:stripe_bottom" + } + } + } + }, + { + "key": "minecraft:stripe_center", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.stripe_center" + }, + "asset_id": { + "type": "string", + "value": "minecraft:stripe_center" + } + } + } + }, + { + "key": "minecraft:stripe_downleft", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.stripe_downleft" + }, + "asset_id": { + "type": "string", + "value": "minecraft:stripe_downleft" + } + } + } + }, + { + "key": "minecraft:stripe_downright", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.stripe_downright" + }, + "asset_id": { + "type": "string", + "value": "minecraft:stripe_downright" + } + } + } + }, + { + "key": "minecraft:stripe_left", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.stripe_left" + }, + "asset_id": { + "type": "string", + "value": "minecraft:stripe_left" + } + } + } + }, + { + "key": "minecraft:stripe_middle", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.stripe_middle" + }, + "asset_id": { + "type": "string", + "value": "minecraft:stripe_middle" + } + } + } + }, + { + "key": "minecraft:stripe_right", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.stripe_right" + }, + "asset_id": { + "type": "string", + "value": "minecraft:stripe_right" + } + } + } + }, + { + "key": "minecraft:stripe_top", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.stripe_top" + }, + "asset_id": { + "type": "string", + "value": "minecraft:stripe_top" + } + } + } + }, + { + "key": "minecraft:triangle_bottom", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.triangle_bottom" + }, + "asset_id": { + "type": "string", + "value": "minecraft:triangle_bottom" + } + } + } + }, + { + "key": "minecraft:triangle_top", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.triangle_top" + }, + "asset_id": { + "type": "string", + "value": "minecraft:triangle_top" + } + } + } + }, + { + "key": "minecraft:triangles_bottom", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.triangles_bottom" + }, + "asset_id": { + "type": "string", + "value": "minecraft:triangles_bottom" + } + } + } + }, + { + "key": "minecraft:triangles_top", + "value": { + "type": "compound", + "value": { + "translation_key": { + "type": "string", + "value": "block.minecraft.banner.triangles_top" + }, + "asset_id": { + "type": "string", + "value": "minecraft:triangles_top" + } + } + } + } + ] + } + } + } \ No newline at end of file diff --git a/data/pc/1.20.5/protocol.json b/data/pc/1.20.5/protocol.json new file mode 100644 index 000000000..8df9ee2f5 --- /dev/null +++ b/data/pc/1.20.5/protocol.json @@ -0,0 +1,7522 @@ +{ + "types": { + "varint": "native", + "varlong": "native", + "optvarint": "varint", + "pstring": "native", + "buffer": "native", + "u8": "native", + "u16": "native", + "u32": "native", + "u64": "native", + "i8": "native", + "i16": "native", + "i32": "native", + "i64": "native", + "bool": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "topBitSetTerminatedArray": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "anonymousNbt": "native", + "anonOptionalNbt": "native", + "ByteArray": [ + "buffer", + { + "countType": "varint" + } + ], + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "vec3f": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + } + ] + ], + "vec4f": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "w", + "type": "f32" + } + ] + ], + "vec3f64": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "Slot": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "itemCount", + "fields": { + "0": "void" + }, + "default": [ + "container", + [ + { + "name": "itemId", + "type": "varint" + }, + { + "name": "nbtData", + "type": "anonOptionalNbt" + } + ] + ] + } + ] + } + ] + ], + "Particle": [ + "container", + [ + { + "name": "type", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "angry_villager", + "1": "block", + "2": "block_marker", + "3": "bubble", + "4": "cloud", + "5": "crit", + "6": "damage_indicator", + "7": "dragon_breath", + "8": "dripping_lava", + "9": "falling_lava", + "10": "landing_lava", + "11": "dripping_water", + "12": "falling_water", + "13": "dust", + "14": "dust_color_transition", + "15": "effect", + "16": "elder_guardian", + "17": "enchanted_hit", + "18": "enchant", + "19": "end_rod", + "20": "entity_effect", + "21": "explosion_emitter", + "22": "explosion", + "23": "gust", + "24": "small_gust", + "25": "gust_emitter_large", + "26": "gust_emitter_small", + "27": "sonic_boom", + "28": "falling_dust", + "29": "firework", + "30": "fishing", + "31": "flame", + "32": "infested", + "33": "cherry_leaves", + "34": "sculk_soul", + "35": "sculk_charge", + "36": "sculk_charge_pop", + "37": "soul_fire_flame", + "38": "soul", + "39": "flash", + "40": "happy_villager", + "41": "composter", + "42": "heart", + "43": "instant_effect", + "44": "item", + "45": "vibration", + "46": "item_slime", + "47": "item_cobweb", + "48": "item_snowball", + "49": "large_smoke", + "50": "lava", + "51": "mycelium", + "52": "note", + "53": "poof", + "54": "portal", + "55": "rain", + "56": "smoke", + "57": "white_smoke", + "58": "sneeze", + "59": "spit", + "60": "squid_ink", + "61": "sweep_attack", + "62": "totem_of_undying", + "63": "underwater", + "64": "splash", + "65": "witch", + "66": "bubble_pop", + "67": "current_down", + "68": "bubble_column_up", + "69": "nautilus", + "70": "dolphin", + "71": "campfire_cosy_smoke", + "72": "campfire_signal_smoke", + "73": "dripping_honey", + "74": "falling_honey", + "75": "landing_honey", + "76": "falling_nectar", + "77": "falling_spore_blossom", + "78": "ash", + "79": "crimson_spore", + "80": "warped_spore", + "81": "spore_blossom_air", + "82": "dripping_obsidian_tear", + "83": "falling_obsidian_tear", + "84": "landing_obsidian_tear", + "85": "reverse_portal", + "86": "white_ash", + "87": "small_flame", + "88": "snowflake", + "89": "dripping_dripstone_lava", + "90": "falling_dripstone_lava", + "91": "dripping_dripstone_water", + "92": "falling_dripstone_water", + "93": "glow_squid_ink", + "94": "glow", + "95": "wax_on", + "96": "wax_off", + "97": "electric_spark", + "98": "scrape", + "99": "shriek", + "100": "egg_crack", + "101": "dust_plume", + "102": "trial_spawner_detected_player", + "103": "trial_spawner_detected_player_ominous", + "104": "vault_connection", + "105": "dust_pillar", + "106": "ominous_spawning", + "107": "raid_omen", + "108": "trial_omen" + } + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "block": "varint", + "block_marker": "varint", + "falling_dust": "varint", + "dust_pillar": "varint", + "dust": [ + "container", + [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "dust_color_transition": [ + "container", + [ + { + "name": "fromRed", + "type": "f32" + }, + { + "name": "fromGreen", + "type": "f32" + }, + { + "name": "fromBlue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + }, + { + "name": "toRed", + "type": "f32" + }, + { + "name": "toGreen", + "type": "f32" + }, + { + "name": "toBlue", + "type": "f32" + } + ] + ], + "entity_effect": "i32", + "item": "Slot", + "sculk_charge": "f32", + "shriek": "varint", + "vibration": [ + "container", + [ + { + "name": "position", + "type": "string" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ] + } + } + ] + } + ] + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "Slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "soundSource": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "master", + "1": "music", + "2": "record", + "3": "weather", + "4": "block", + "5": "hostile", + "6": "neutral", + "7": "player", + "8": "ambient", + "9": "voice" + } + } + ], + "packedChunkPos": [ + "container", + [ + { + "name": "z", + "type": "i32" + }, + { + "name": "x", + "type": "i32" + } + ] + ], + "previousMessages": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "id", + "type": "varint" + }, + { + "name": "signature", + "type": [ + "switch", + { + "compareTo": "id", + "fields": { + "0": [ + "buffer", + { + "count": 256 + } + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ], + "entityMetadataEntry": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "byte", + "1": "int", + "2": "long", + "3": "float", + "4": "string", + "5": "component", + "6": "optional_component", + "7": "item_stack", + "8": "boolean", + "9": "rotations", + "10": "block_pos", + "11": "optional_block_pos", + "12": "direction", + "13": "optional_uuid", + "14": "block_state", + "15": "optional_block_state", + "16": "compound_tag", + "17": "particle", + "18": "particles", + "19": "villager_data", + "20": "optional_unsigned_int", + "21": "pose", + "22": "cat_variant", + "23": "wolf_variant", + "24": "frog_variant", + "25": "optional_global_pos", + "26": "painting_variant", + "27": "sniffer_state", + "28": "armadillo_state", + "29": "vector3", + "30": "quaternion" + } + } + ] + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "byte": "i8", + "int": "varint", + "long": "varlong", + "float": "f32", + "string": "string", + "component": "anonymousNbt", + "optional_component": [ + "option", + "anonymousNbt" + ], + "item_stack": "Slot", + "boolean": "bool", + "rotations": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "block_pos": "position", + "optional_block_pos": [ + "option", + "position" + ], + "direction": "varint", + "optional_uuid": [ + "option", + "UUID" + ], + "block_state": "varint", + "optional_block_state": "optvarint", + "compound_tag": "anonymousNbt", + "particle": "Particle", + "particles": [ + "array", + { + "countType": "varint", + "type": "Particle" + } + ], + "villager_data": [ + "container", + [ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "optional_unsigned_int": "optvarint", + "pose": "varint", + "cat_variant": "varint", + "wolf_variant": "varint", + "frog_variant": "varint", + "optional_global_pos": [ + "option", + "string" + ], + "painting_variant": "varint", + "sniffer_state": "varint", + "armadillo_state": "varint", + "vector3": "vec3f", + "quaternion": "vec4f" + } + } + ] + } + ] + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": "entityMetadataEntry" + } + ], + "minecraft_simple_recipe_format": [ + "container", + [ + { + "name": "category", + "type": "varint" + } + ] + ], + "minecraft_smelting_format": [ + "container", + [ + { + "name": "group", + "type": "string" + }, + { + "name": "category", + "type": "varint" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "Slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ] + ], + "tags": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ] + } + ], + "chunkBlockEntity": [ + "container", + [ + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "x", + "size": 4, + "signed": false + }, + { + "name": "z", + "size": 4, + "signed": false + } + ] + ] + }, + { + "name": "y", + "type": "i16" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "nbtData", + "type": "anonOptionalNbt" + } + ] + ], + "chat_session": [ + "option", + [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "publicKey", + "type": [ + "container", + [ + { + "name": "expireTime", + "type": "i64" + }, + { + "name": "keyBytes", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "keySignature", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ] + } + ] + ] + ], + "game_profile": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + } + ] + ], + "command_node": [ + "container", + [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { + "name": "unused", + "size": 3, + "signed": false + }, + { + "name": "has_custom_suggestions", + "size": 1, + "signed": false + }, + { + "name": "has_redirect_node", + "size": 1, + "signed": false + }, + { + "name": "has_command", + "size": 1, + "signed": false + }, + { + "name": "command_node_type", + "size": 2, + "signed": false + } + ] + ] + }, + { + "name": "children", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + }, + { + "name": "redirectNode", + "type": [ + "switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "extraNodeData", + "type": [ + "switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "2": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "brigadier:bool", + "1": "brigadier:float", + "2": "brigadier:double", + "3": "brigadier:integer", + "4": "brigadier:long", + "5": "brigadier:string", + "6": "minecraft:entity", + "7": "minecraft:game_profile", + "8": "minecraft:block_pos", + "9": "minecraft:column_pos", + "10": "minecraft:vec3", + "11": "minecraft:vec2", + "12": "minecraft:block_state", + "13": "minecraft:block_predicate", + "14": "minecraft:item_stack", + "15": "minecraft:item_predicate", + "16": "minecraft:color", + "17": "minecraft:component", + "18": "minecraft:style", + "19": "minecraft:message", + "20": "minecraft:nbt", + "21": "minecraft:nbt_tag", + "22": "minecraft:nbt_path", + "23": "minecraft:objective", + "24": "minecraft:objective_criteria", + "25": "minecraft:operation", + "26": "minecraft:particle", + "27": "minecraft:angle", + "28": "minecraft:rotation", + "29": "minecraft:scoreboard_slot", + "30": "minecraft:score_holder", + "31": "minecraft:swizzle", + "32": "minecraft:team", + "33": "minecraft:item_slot", + "34": "minecraft:resource_location", + "35": "minecraft:function", + "36": "minecraft:entity_anchor", + "37": "minecraft:int_range", + "38": "minecraft:float_range", + "39": "minecraft:dimension", + "40": "minecraft:gamemode", + "41": "minecraft:time", + "42": "minecraft:resource_or_tag", + "43": "minecraft:resource_or_tag_key", + "44": "minecraft:resource", + "45": "minecraft:resource_key", + "46": "minecraft:template_mirror", + "47": "minecraft:template_rotation", + "48": "minecraft:heightmap", + "49": "minecraft:uuid" + } + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:float": [ + "container", + [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "max_present", + "size": 1, + "signed": false + }, + { + "name": "min_present", + "size": 1, + "signed": false + } + ] + ] + }, + { + "name": "min", + "type": [ + "switch", + { + "compareTo": "flags/min_present", + "fields": { + "1": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "max", + "type": [ + "switch", + { + "compareTo": "flags/max_present", + "fields": { + "1": "f32" + }, + "default": "void" + } + ] + } + ] + ], + "brigadier:double": [ + "container", + [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "max_present", + "size": 1, + "signed": false + }, + { + "name": "min_present", + "size": 1, + "signed": false + } + ] + ] + }, + { + "name": "min", + "type": [ + "switch", + { + "compareTo": "flags/min_present", + "fields": { + "1": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "max", + "type": [ + "switch", + { + "compareTo": "flags/max_present", + "fields": { + "1": "f64" + }, + "default": "void" + } + ] + } + ] + ], + "brigadier:integer": [ + "container", + [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "max_present", + "size": 1, + "signed": false + }, + { + "name": "min_present", + "size": 1, + "signed": false + } + ] + ] + }, + { + "name": "min", + "type": [ + "switch", + { + "compareTo": "flags/min_present", + "fields": { + "1": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "max", + "type": [ + "switch", + { + "compareTo": "flags/max_present", + "fields": { + "1": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "brigadier:long": [ + "container", + [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "max_present", + "size": 1, + "signed": false + }, + { + "name": "min_present", + "size": 1, + "signed": false + } + ] + ] + }, + { + "name": "min", + "type": [ + "switch", + { + "compareTo": "flags/min_present", + "fields": { + "1": "i64" + }, + "default": "void" + } + ] + }, + { + "name": "max", + "type": [ + "switch", + { + "compareTo": "flags/max_present", + "fields": { + "1": "i64" + }, + "default": "void" + } + ] + } + ] + ], + "brigadier:string": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "SINGLE_WORD", + "1": "QUOTABLE_PHRASE", + "2": "GREEDY_PHRASE" + } + } + ], + "minecraft:entity": [ + "bitfield", + [ + { + "name": "unused", + "size": 6, + "signed": false + }, + { + "name": "onlyAllowPlayers", + "size": 1, + "signed": false + }, + { + "name": "onlyAllowEntities", + "size": 1, + "signed": false + } + ] + ], + "minecraft:game_profile": "void", + "minecraft:block_pos": "void", + "minecraft:column_pos": "void", + "minecraft:vec3": "void", + "minecraft:vec2": "void", + "minecraft:block_state": "void", + "minecraft:block_predicate": "void", + "minecraft:item_stack": "void", + "minecraft:item_predicate": "void", + "minecraft:color": "void", + "minecraft:component": "void", + "minecraft:message": "void", + "minecraft:nbt": "void", + "minecraft:nbt_path": "void", + "minecraft:objective": "void", + "minecraft:objective_criteria": "void", + "minecraft:operation": "void", + "minecraft:particle": "void", + "minecraft:angle": "void", + "minecraft:rotation": "void", + "minecraft:scoreboard_slot": "void", + "minecraft:score_holder": [ + "bitfield", + [ + { + "name": "unused", + "size": 7, + "signed": false + }, + { + "name": "allowMultiple", + "size": 1, + "signed": false + } + ] + ], + "minecraft:swizzle": "void", + "minecraft:team": "void", + "minecraft:item_slot": "void", + "minecraft:resource_location": "void", + "minecraft:function": "void", + "minecraft:entity_anchor": "void", + "minecraft:int_range": "void", + "minecraft:float_range": "void", + "minecraft:dimension": "void", + "minecraft:gamemode": "void", + "minecraft:time": [ + "container", + [ + { + "name": "min", + "type": "i32" + } + ] + ], + "minecraft:resource_or_tag": [ + "container", + [ + { + "name": "registry", + "type": "string" + } + ] + ], + "minecraft:resource_or_tag_key": [ + "container", + [ + { + "name": "registry", + "type": "string" + } + ] + ], + "minecraft:resource": [ + "container", + [ + { + "name": "registry", + "type": "string" + } + ] + ], + "minecraft:resource_key": [ + "container", + [ + { + "name": "registry", + "type": "string" + } + ] + ], + "minecraft:template_mirror": "void", + "minecraft:template_rotation": "void", + "minecraft:heightmap": "void", + "minecraft:uuid": "void" + } + } + ] + }, + { + "name": "suggestionType", + "type": [ + "switch", + { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + } + ] + ] + } + } + ] + } + ] + ], + "packet_common_cookie_request": [ + "container", + [ + { + "name": "cookie", + "type": "string" + } + ] + ], + "packet_common_store_cookie": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "ByteArray" + } + ] + ], + "packet_common_transfer": [ + "container", + [ + { + "name": "host", + "type": "string" + }, + { + "name": "port", + "type": "varint" + } + ] + ], + "packet_common_cookie_response": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "ByteArray" + } + ] + ], + "packet_common_select_known_packs": [ + "container", + [ + { + "name": "packs", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "namespace", + "type": "string" + }, + { + "name": "id", + "type": "string" + }, + { + "name": "version", + "type": "string" + } + ] + ] + } + ] + } + ] + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "shouldAuthenticate", + "type": "bool" + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "username", + "type": "string" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + { + "name": "strictErrorHandling", + "type": "bool" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request", + "0x05": "cookie_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request", + "cookie_request": "packet_common_cookie_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + }, + { + "name": "playerUUID", + "type": "UUID" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet_login_acknowledged": [ + "container", + [] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response", + "0x03": "login_acknowledged", + "0x04": "cookie_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response", + "login_acknowledged": "packet_login_acknowledged", + "cookie_response": "packet_common_cookie_response" + } + } + ] + } + ] + ] + } + } + }, + "configuration": { + "toClient": { + "types": { + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "anonymousNbt" + } + ] + ], + "packet_finish_configuration": [ + "container", + [] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "id", + "type": "i32" + } + ] + ], + "packet_reset_chat": [ + "container", + [] + ], + "packet_registry_data": [ + "container", + [ + { + "name": "id", + "type": "string" + }, + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "option", + "anonymousNbt" + ] + } + ] + ] + } + ] + } + ] + ], + "packet_remove_resource_pack": [ + "container", + [ + { + "name": "uuid", + "type": [ + "option", + "UUID" + ] + } + ] + ], + "packet_add_resource_pack": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + }, + { + "name": "forced", + "type": "bool" + }, + { + "name": "promptMessage", + "type": [ + "option", + "anonymousNbt" + ] + } + ] + ], + "packet_feature_flags": [ + "container", + [ + { + "name": "features", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_tags": [ + "container", + [ + { + "name": "tags", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "tagType", + "type": "string" + }, + { + "name": "tags", + "type": "tags" + } + ] + ] + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "cookie_request", + "0x01": "custom_payload", + "0x02": "disconnect", + "0x03": "finish_configuration", + "0x04": "keep_alive", + "0x05": "ping", + "0x06": "reset_chat", + "0x07": "registry_data", + "0x08": "remove_resource_pack", + "0x09": "add_resource_pack", + "0x0a": "store_cookie", + "0x0b": "transfer", + "0x0c": "feature_flags", + "0x0d": "tags", + "0x0e": "select_known_packs" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "cookie_request": "packet_common_cookie_request", + "custom_payload": "packet_custom_payload", + "disconnect": "packet_disconnect", + "finish_configuration": "packet_finish_configuration", + "keep_alive": "packet_keep_alive", + "ping": "packet_ping", + "reset_chat": "packet_reset_chat", + "registry_data": "packet_registry_data", + "remove_resource_pack": "packet_remove_resource_pack", + "add_resource_pack": "packet_add_resource_pack", + "store_cookie": "packet_common_store_cookie", + "transfer": "packet_common_transfer", + "feature_flags": "packet_feature_flags", + "tags": "packet_tags", + "select_known_packs": "packet_common_select_known_packs" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + }, + { + "name": "enableTextFiltering", + "type": "bool" + }, + { + "name": "enableServerListing", + "type": "bool" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_finish_configuration": [ + "container", + [] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_pong": [ + "container", + [ + { + "name": "id", + "type": "i32" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "settings", + "0x01": "cookie_response", + "0x02": "custom_payload", + "0x03": "finish_configuration", + "0x04": "keep_alive", + "0x05": "pong", + "0x06": "resource_pack_receive", + "0x07": "select_known_packs" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "settings": "packet_settings", + "cookie_response": "packet_common_cookie_response", + "custom_payload": "packet_custom_payload", + "finish_configuration": "packet_finish_configuration", + "keep_alive": "packet_keep_alive", + "pong": "packet_pong", + "resource_pack_receive": "packet_resource_pack_receive", + "select_known_packs": "packet_common_select_known_packs" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "SpawnInfo": [ + "container", + [ + { + "name": "dimension", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": [ + "mapper", + { + "type": "i8", + "mappings": { + "0": "survival", + "1": "creative", + "2": "adventure", + "3": "spectator" + } + } + ] + }, + { + "name": "previousGamemode", + "type": "u8" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + }, + { + "name": "death", + "type": [ + "option", + [ + "container", + [ + { + "name": "dimensionName", + "type": "string" + }, + { + "name": "location", + "type": "position" + } + ] + ] + ] + }, + { + "name": "portalCooldown", + "type": "varint" + } + ] + ], + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "objectData", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "sequenceId", + "type": "varint" + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "nbtData", + "type": "anonOptionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "anonymousNbt", + "3": "anonymousNbt" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_chunk_batch_finished": [ + "container", + [ + { + "name": "batchSize", + "type": "varint" + } + ] + ], + "packet_chunk_batch_start": [ + "container", + [] + ], + "packet_chunk_biomes": [ + "container", + [ + { + "name": "biomes", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "position", + "type": "packedChunkPos" + }, + { + "name": "data", + "type": "ByteArray" + } + ] + ] + } + ] + } + ] + ], + "packet_clear_titles": [ + "container", + [ + { + "name": "reset", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "anonymousNbt" + ] + } + ] + ] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": [ + "array", + { + "countType": "varint", + "type": "command_node" + } + ] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "stateId", + "type": "varint" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "varint", + "type": "Slot" + } + ] + }, + { + "name": "carriedItem", + "type": "Slot" + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "stateId", + "type": "varint" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "Slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_chat_suggestions": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_damage_event": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "sourceTypeId", + "type": "varint" + }, + { + "name": "sourceCauseId", + "type": "varint" + }, + { + "name": "sourceDirectId", + "type": "varint" + }, + { + "name": "sourcePosition", + "type": [ + "option", + "vec3f64" + ] + } + ] + ], + "packet_debug_sample": [ + "container", + [ + { + "name": "sample", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_hide_message": [ + "container", + [ + { + "name": "id", + "type": "varint" + }, + { + "name": "signature", + "type": [ + "switch", + { + "compareTo": "id", + "fields": { + "0": [ + "buffer", + { + "count": 256 + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "anonymousNbt" + } + ] + ], + "packet_profileless_chat": [ + "container", + [ + { + "name": "message", + "type": "anonymousNbt" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "name", + "type": "anonymousNbt" + }, + { + "name": "target", + "type": [ + "option", + "anonymousNbt" + ] + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + }, + { + "name": "block_interaction_type", + "type": "varint" + }, + { + "name": "small_explosion_particle", + "type": "Particle" + }, + { + "name": "large_explosion_particle", + "type": "Particle" + }, + { + "name": "explosion_sound_name", + "type": "string" + }, + { + "name": "sound_range", + "type": [ + "option", + "f32" + ] + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "chunkX", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_hurt_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "f32" + } + ] + ], + "packet_initialize_world_border": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "oldDiameter", + "type": "f64" + }, + { + "name": "newDiameter", + "type": "f64" + }, + { + "name": "speed", + "type": "varint" + }, + { + "name": "portalTeleportBoundary", + "type": "varint" + }, + { + "name": "warningBlocks", + "type": "varint" + }, + { + "name": "warningTime", + "type": "varint" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "heightmaps", + "type": "anonymousNbt" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array", + { + "countType": "varint", + "type": "chunkBlockEntity" + } + ] + }, + { + "name": "skyLightMask", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "blockLightMask", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "emptySkyLightMask", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "emptyBlockLightMask", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "skyLight", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "u8" + } + ] + } + ] + }, + { + "name": "blockLight", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "u8" + } + ] + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "velocityOffset", + "type": "f32" + }, + { + "name": "amount", + "type": "i32" + }, + { + "name": "particle", + "type": "Particle" + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "blockLightMask", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "emptySkyLightMask", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "emptyBlockLightMask", + "type": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + { + "name": "skyLight", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "u8" + } + ] + } + ] + }, + { + "name": "blockLight", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "u8" + } + ] + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "isHardcore", + "type": "bool" + }, + { + "name": "worldNames", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "maxPlayers", + "type": "varint" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "simulationDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + }, + { + "name": "doLimitedCrafting", + "type": "bool" + }, + { + "name": "worldState", + "type": "SpawnInfo" + }, + { + "name": "enforcesSecureChat", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "option", + [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": [ + "option", + "anonymousNbt" + ] + } + ] + ] + } + ] + ] + }, + { + "name": "columns", + "type": "u8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "u8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "u8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "u8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "inputItem1", + "type": "Slot" + }, + { + "name": "outputItem", + "type": "Slot" + }, + { + "name": "inputItem2", + "type": "Slot" + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ] + ] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "anonymousNbt" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "isFrontText", + "type": "bool" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "id", + "type": "i32" + } + ] + ], + "packet_ping_response": [ + "container", + [ + { + "name": "id", + "type": "i64" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_player_chat": [ + "container", + [ + { + "name": "senderUuid", + "type": "UUID" + }, + { + "name": "index", + "type": "varint" + }, + { + "name": "signature", + "type": [ + "option", + [ + "buffer", + { + "count": 256 + } + ] + ] + }, + { + "name": "plainMessage", + "type": "string" + }, + { + "name": "timestamp", + "type": "i64" + }, + { + "name": "salt", + "type": "i64" + }, + { + "name": "previousMessages", + "type": "previousMessages" + }, + { + "name": "unsignedChatContent", + "type": [ + "option", + "anonymousNbt" + ] + }, + { + "name": "filterType", + "type": "varint" + }, + { + "name": "filterTypeMask", + "type": [ + "switch", + { + "compareTo": "filterType", + "fields": { + "2": [ + "array", + { + "countType": "varint", + "type": "i64" + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "networkName", + "type": "anonymousNbt" + }, + { + "name": "networkTargetName", + "type": [ + "option", + "anonymousNbt" + ] + } + ] + ], + "packet_end_combat_event": [ + "container", + [ + { + "name": "duration", + "type": "varint" + } + ] + ], + "packet_enter_combat_event": [ + "container", + [] + ], + "packet_death_combat_event": [ + "container", + [ + { + "name": "playerId", + "type": "varint" + }, + { + "name": "message", + "type": "anonymousNbt" + } + ] + ], + "packet_player_remove": [ + "container", + [ + { + "name": "players", + "type": [ + "array", + { + "countType": "varint", + "type": "UUID" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "i8" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "player", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "1": "game_profile", + "3": "game_profile", + "5": "game_profile", + "7": "game_profile", + "9": "game_profile", + "11": "game_profile", + "13": "game_profile", + "15": "game_profile", + "17": "game_profile", + "19": "game_profile", + "21": "game_profile", + "23": "game_profile", + "25": "game_profile", + "27": "game_profile", + "29": "game_profile", + "31": "game_profile", + "33": "game_profile", + "35": "game_profile", + "37": "game_profile", + "39": "game_profile", + "41": "game_profile", + "43": "game_profile", + "45": "game_profile", + "47": "game_profile", + "49": "game_profile", + "51": "game_profile", + "53": "game_profile", + "55": "game_profile", + "57": "game_profile", + "59": "game_profile", + "61": "game_profile", + "63": "game_profile" + }, + "default": "void" + } + ] + }, + { + "name": "chatSession", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "2": "chat_session", + "3": "chat_session", + "6": "chat_session", + "7": "chat_session", + "10": "chat_session", + "11": "chat_session", + "14": "chat_session", + "15": "chat_session", + "18": "chat_session", + "19": "chat_session", + "22": "chat_session", + "23": "chat_session", + "26": "chat_session", + "27": "chat_session", + "30": "chat_session", + "31": "chat_session", + "34": "chat_session", + "35": "chat_session", + "38": "chat_session", + "39": "chat_session", + "42": "chat_session", + "43": "chat_session", + "46": "chat_session", + "47": "chat_session", + "50": "chat_session", + "51": "chat_session", + "54": "chat_session", + "55": "chat_session", + "58": "chat_session", + "59": "chat_session", + "62": "chat_session", + "63": "chat_session" + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "4": "varint", + "5": "varint", + "6": "varint", + "7": "varint", + "12": "varint", + "13": "varint", + "14": "varint", + "15": "varint", + "20": "varint", + "21": "varint", + "22": "varint", + "23": "varint", + "28": "varint", + "29": "varint", + "30": "varint", + "31": "varint", + "36": "varint", + "37": "varint", + "38": "varint", + "39": "varint", + "44": "varint", + "45": "varint", + "46": "varint", + "47": "varint", + "52": "varint", + "53": "varint", + "54": "varint", + "55": "varint", + "60": "varint", + "61": "varint", + "62": "varint", + "63": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "listed", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "8": "bool", + "9": "bool", + "10": "bool", + "11": "bool", + "12": "bool", + "13": "bool", + "14": "bool", + "15": "bool", + "24": "bool", + "25": "bool", + "26": "bool", + "27": "bool", + "28": "bool", + "29": "bool", + "30": "bool", + "31": "bool", + "40": "bool", + "41": "bool", + "42": "bool", + "43": "bool", + "44": "bool", + "45": "bool", + "46": "bool", + "47": "bool", + "56": "bool", + "57": "bool", + "58": "bool", + "59": "bool", + "60": "bool", + "61": "bool", + "62": "bool", + "63": "bool" + }, + "default": "void" + } + ] + }, + { + "name": "latency", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "16": "varint", + "17": "varint", + "18": "varint", + "19": "varint", + "20": "varint", + "21": "varint", + "22": "varint", + "23": "varint", + "24": "varint", + "25": "varint", + "26": "varint", + "27": "varint", + "28": "varint", + "29": "varint", + "30": "varint", + "31": "varint", + "48": "varint", + "49": "varint", + "50": "varint", + "51": "varint", + "52": "varint", + "53": "varint", + "54": "varint", + "55": "varint", + "56": "varint", + "57": "varint", + "58": "varint", + "59": "varint", + "60": "varint", + "61": "varint", + "62": "varint", + "63": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "32": [ + "option", + "anonymousNbt" + ], + "33": [ + "option", + "anonymousNbt" + ], + "34": [ + "option", + "anonymousNbt" + ], + "35": [ + "option", + "anonymousNbt" + ], + "36": [ + "option", + "anonymousNbt" + ], + "37": [ + "option", + "anonymousNbt" + ], + "38": [ + "option", + "anonymousNbt" + ], + "39": [ + "option", + "anonymousNbt" + ], + "40": [ + "option", + "anonymousNbt" + ], + "41": [ + "option", + "anonymousNbt" + ], + "42": [ + "option", + "anonymousNbt" + ], + "43": [ + "option", + "anonymousNbt" + ], + "44": [ + "option", + "anonymousNbt" + ], + "45": [ + "option", + "anonymousNbt" + ], + "46": [ + "option", + "anonymousNbt" + ], + "47": [ + "option", + "anonymousNbt" + ], + "48": [ + "option", + "anonymousNbt" + ], + "49": [ + "option", + "anonymousNbt" + ], + "50": [ + "option", + "anonymousNbt" + ], + "51": [ + "option", + "anonymousNbt" + ], + "52": [ + "option", + "anonymousNbt" + ], + "53": [ + "option", + "anonymousNbt" + ], + "54": [ + "option", + "anonymousNbt" + ], + "55": [ + "option", + "anonymousNbt" + ], + "56": [ + "option", + "anonymousNbt" + ], + "57": [ + "option", + "anonymousNbt" + ], + "58": [ + "option", + "anonymousNbt" + ], + "59": [ + "option", + "anonymousNbt" + ], + "60": [ + "option", + "anonymousNbt" + ], + "61": [ + "option", + "anonymousNbt" + ], + "62": [ + "option", + "anonymousNbt" + ], + "63": [ + "option", + "anonymousNbt" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name": "blastFurnaceOpen", + "type": "bool" + }, + { + "name": "filteringBlastFurnace", + "type": "bool" + }, + { + "name": "smokerBookOpen", + "type": "bool" + }, + { + "name": "filteringSmoker", + "type": "bool" + }, + { + "name": "recipes1", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "recipes2", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "varint" + } + ] + ], + "packet_reset_score": [ + "container", + [ + { + "name": "entity_name", + "type": "string" + }, + { + "name": "objective_name", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_remove_resource_pack": [ + "container", + [ + { + "name": "uuid", + "type": [ + "option", + "UUID" + ] + } + ] + ], + "packet_add_resource_pack": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + }, + { + "name": "forced", + "type": "bool" + }, + { + "name": "promptMessage", + "type": [ + "option", + "anonymousNbt" + ] + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "worldState", + "type": "SpawnInfo" + }, + { + "name": "copyMetadata", + "type": "bool" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkCoordinates", + "type": [ + "bitfield", + [ + { + "name": "x", + "size": 22, + "signed": true + }, + { + "name": "z", + "size": 22, + "signed": true + }, + { + "name": "y", + "size": 20, + "signed": true + } + ] + ] + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_server_data": [ + "container", + [ + { + "name": "motd", + "type": "anonymousNbt" + }, + { + "name": "iconBytes", + "type": [ + "option", + "ByteArray" + ] + } + ] + ], + "packet_action_bar": [ + "container", + [ + { + "name": "text", + "type": "anonymousNbt" + } + ] + ], + "packet_world_border_center": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_world_border_lerp_size": [ + "container", + [ + { + "name": "oldDiameter", + "type": "f64" + }, + { + "name": "newDiameter", + "type": "f64" + }, + { + "name": "speed", + "type": "varint" + } + ] + ], + "packet_world_border_size": [ + "container", + [ + { + "name": "diameter", + "type": "f64" + } + ] + ], + "packet_world_border_warning_delay": [ + "container", + [ + { + "name": "warningTime", + "type": "varint" + } + ] + ], + "packet_world_border_warning_reach": [ + "container", + [ + { + "name": "warningBlocks", + "type": "varint" + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "angle", + "type": "f32" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "varint" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "equipments", + "type": [ + "topBitSetTerminatedArray", + { + "type": [ + "container", + [ + { + "name": "slot", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ] + } + ] + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "anonymousNbt", + "2": "anonymousNbt" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "number_format", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "option", + "varint" + ], + "2": [ + "option", + "varint" + ] + }, + "default": "void" + } + ] + }, + { + "name": "styling", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "switch", + { + "compareTo": "number_format", + "fields": { + "1": "anonymousNbt", + "2": "anonymousNbt" + }, + "default": "void" + } + ], + "2": [ + "switch", + { + "compareTo": "number_format", + "fields": { + "1": "anonymousNbt", + "2": "anonymousNbt" + }, + "default": "void" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "anonymousNbt", + "2": "anonymousNbt" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "anonymousNbt", + "2": "anonymousNbt" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "anonymousNbt", + "2": "anonymousNbt" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": "varint" + }, + { + "name": "display_name", + "type": [ + "option", + "anonymousNbt" + ] + }, + { + "name": "number_format", + "type": [ + "option", + "varint" + ] + }, + { + "name": "styling", + "type": [ + "switch", + { + "compareTo": "number_format", + "fields": { + "1": "anonymousNbt", + "2": "anonymousNbt" + }, + "default": "void" + } + ] + } + ] + ], + "packet_simulation_distance": [ + "container", + [ + { + "name": "distance", + "type": "varint" + } + ] + ], + "packet_set_title_subtitle": [ + "container", + [ + { + "name": "text", + "type": "anonymousNbt" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_set_title_text": [ + "container", + [ + { + "name": "text", + "type": "anonymousNbt" + } + ] + ], + "packet_set_title_time": [ + "container", + [ + { + "name": "fadeIn", + "type": "i32" + }, + { + "name": "stay", + "type": "i32" + }, + { + "name": "fadeOut", + "type": "i32" + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundEvent", + "type": [ + "switch", + { + "compareTo": "soundId", + "fields": { + "0": [ + "container", + [ + { + "name": "resource", + "type": "string" + }, + { + "name": "range", + "type": [ + "option", + "f32" + ] + } + ] + ] + }, + "default": "void" + } + ] + }, + { + "name": "soundCategory", + "type": "soundSource" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "seed", + "type": "i64" + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundEvent", + "type": [ + "switch", + { + "compareTo": "soundId", + "fields": { + "0": [ + "container", + [ + { + "name": "resource", + "type": "string" + }, + { + "name": "range", + "type": [ + "option", + "f32" + ] + } + ] + ] + }, + "default": "void" + } + ] + }, + { + "name": "soundCategory", + "type": "soundSource" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "seed", + "type": "i64" + } + ] + ], + "packet_start_configuration": [ + "container", + [] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": [ + "switch", + { + "compareTo": "flags", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "sound", + "type": [ + "switch", + { + "compareTo": "flags", + "fields": { + "2": "string", + "3": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_system_chat": [ + "container", + [ + { + "name": "content", + "type": "anonymousNbt" + }, + { + "name": "isActionBar", + "type": "bool" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "anonymousNbt" + }, + { + "name": "footer", + "type": "anonymousNbt" + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "anonOptionalNbt" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_set_ticking_state": [ + "container", + [ + { + "name": "tick_rate", + "type": "f32" + }, + { + "name": "is_frozen", + "type": "bool" + } + ] + ], + "packet_step_tick": [ + "container", + [ + { + "name": "tick_steps", + "type": "varint" + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "anonymousNbt" + }, + { + "name": "description", + "type": "anonymousNbt" + }, + { + "name": "icon", + "type": "Slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { + "name": "unused", + "size": 29, + "signed": false + }, + { + "name": "hidden", + "size": 1, + "signed": false + }, + { + "name": "show_toast", + "size": 1, + "signed": false + }, + { + "name": "has_background_texture", + "size": 1, + "signed": false + } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + }, + { + "name": "sendsTelemtryData", + "type": "bool" + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "generic.armor", + "1": "generic.armor_toughness", + "2": "generic.attack_damage", + "3": "generic.attack_knockback", + "4": "generic.attack_speed", + "5": "player.block_break_speed", + "6": "player.block_interaction_range", + "7": "player.entity_interaction_range", + "8": "generic.fall_damage_multiplier", + "9": "generic.flying_speed", + "10": "generic.follow_range", + "11": "generic.gravity", + "12": "generic.jump_strength", + "13": "generic.knockback_resistance", + "14": "generic.luck", + "15": "generic.max_absorption", + "16": "generic.max_health", + "17": "generic.movement_speed", + "18": "generic.safe_fall_distance", + "19": "generic.scale", + "20": "zombie.spawn_reinforcements", + "21": "generic.step_height" + } + } + ] + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "varint" + }, + { + "name": "amplifier", + "type": "varint" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": [ + "container", + [ + { + "name": "group", + "type": "string" + }, + { + "name": "category", + "type": "varint" + }, + { + "name": "ingredients", + "type": [ + "array", + { + "countType": "varint", + "type": "ingredient" + } + ] + }, + { + "name": "result", + "type": "Slot" + } + ] + ], + "minecraft:crafting_shaped": [ + "container", + [ + { + "name": "group", + "type": "string" + }, + { + "name": "category", + "type": "varint" + }, + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "ingredients", + "type": [ + "array", + { + "count": "width", + "type": [ + "array", + { + "count": "height", + "type": "ingredient" + } + ] + } + ] + }, + { + "name": "result", + "type": "Slot" + }, + { + "name": "showNotification", + "type": "bool" + } + ] + ], + "minecraft:crafting_special_armordye": "minecraft_simple_recipe_format", + "minecraft:crafting_special_bookcloning": "minecraft_simple_recipe_format", + "minecraft:crafting_special_mapcloning": "minecraft_simple_recipe_format", + "minecraft:crafting_special_mapextending": "minecraft_simple_recipe_format", + "minecraft:crafting_special_firework_rocket": "minecraft_simple_recipe_format", + "minecraft:crafting_special_firework_star": "minecraft_simple_recipe_format", + "minecraft:crafting_special_firework_star_fade": "minecraft_simple_recipe_format", + "minecraft:crafting_special_repairitem": "minecraft_simple_recipe_format", + "minecraft:crafting_special_tippedarrow": "minecraft_simple_recipe_format", + "minecraft:crafting_special_bannerduplicate": "minecraft_simple_recipe_format", + "minecraft:crafting_special_banneraddpattern": "minecraft_simple_recipe_format", + "minecraft:crafting_special_shielddecoration": "minecraft_simple_recipe_format", + "minecraft:crafting_special_shulkerboxcoloring": "minecraft_simple_recipe_format", + "minecraft:crafting_special_suspiciousstew": "minecraft_simple_recipe_format", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": [ + "container", + [ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "Slot" + } + ] + ], + "minecraft:smithing_transform": [ + "container", + [ + { + "name": "template", + "type": "ingredient" + }, + { + "name": "base", + "type": "ingredient" + }, + { + "name": "addition", + "type": "ingredient" + }, + { + "name": "result", + "type": "Slot" + } + ] + ], + "minecraft:smithing_trim": [ + "container", + [ + { + "name": "template", + "type": "ingredient" + }, + { + "name": "base", + "type": "ingredient" + }, + { + "name": "addition", + "type": "ingredient" + } + ] + ], + "minecraft:crafting_decorated_pot": "minecraft_simple_recipe_format" + } + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_tags": [ + "container", + [ + { + "name": "tags", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "tagType", + "type": "string" + }, + { + "name": "tags", + "type": "tags" + } + ] + ] + } + ] + } + ] + ], + "packet_set_projectile_power": [ + "container", + [ + { + "name": "id", + "type": "varint" + }, + { + "name": "power", + "type": "vec3f64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "bundle_delimiter", + "0x01": "spawn_entity", + "0x02": "spawn_entity_experience_orb", + "0x03": "animation", + "0x04": "statistics", + "0x05": "acknowledge_player_digging", + "0x06": "block_break_animation", + "0x07": "tile_entity_data", + "0x08": "block_action", + "0x09": "block_change", + "0x0a": "boss_bar", + "0x0b": "difficulty", + "0x0c": "chunk_batch_finished", + "0x0d": "chunk_batch_start", + "0x0e": "chunk_biomes", + "0x0f": "clear_titles", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "close_window", + "0x13": "window_items", + "0x14": "craft_progress_bar", + "0x15": "set_slot", + "0x16": "cookie_request", + "0x17": "set_cooldown", + "0x18": "chat_suggestions", + "0x19": "custom_payload", + "0x1a": "damage_event", + "0x1b": "debug_sample", + "0x1c": "hide_message", + "0x1d": "kick_disconnect", + "0x1e": "profileless_chat", + "0x1f": "entity_status", + "0x20": "explosion", + "0x21": "unload_chunk", + "0x22": "game_state_change", + "0x23": "open_horse_window", + "0x24": "hurt_animation", + "0x25": "initialize_world_border", + "0x26": "keep_alive", + "0x27": "map_chunk", + "0x28": "world_event", + "0x29": "world_particles", + "0x2a": "update_light", + "0x2b": "login", + "0x2c": "map", + "0x2d": "trade_list", + "0x2e": "rel_entity_move", + "0x2f": "entity_move_look", + "0x30": "entity_look", + "0x31": "vehicle_move", + "0x32": "open_book", + "0x33": "open_window", + "0x34": "open_sign_entity", + "0x35": "ping", + "0x36": "ping_response", + "0x37": "craft_recipe_response", + "0x38": "abilities", + "0x39": "player_chat", + "0x3a": "end_combat_event", + "0x3b": "enter_combat_event", + "0x3c": "death_combat_event", + "0x3d": "player_remove", + "0x3e": "player_info", + "0x3f": "face_player", + "0x40": "position", + "0x41": "unlock_recipes", + "0x42": "entity_destroy", + "0x43": "remove_entity_effect", + "0x44": "reset_score", + "0x45": "remove_resource_pack", + "0x46": "add_resource_pack", + "0x47": "respawn", + "0x48": "entity_head_rotation", + "0x49": "multi_block_change", + "0x4a": "select_advancement_tab", + "0x4b": "server_data", + "0x4c": "action_bar", + "0x4d": "world_border_center", + "0x4e": "world_border_lerp_size", + "0x4f": "world_border_size", + "0x50": "world_border_warning_delay", + "0x51": "world_border_warning_reach", + "0x52": "camera", + "0x53": "held_item_slot", + "0x54": "update_view_position", + "0x55": "update_view_distance", + "0x56": "spawn_position", + "0x57": "scoreboard_display_objective", + "0x58": "entity_metadata", + "0x59": "attach_entity", + "0x5a": "entity_velocity", + "0x5b": "entity_equipment", + "0x5c": "experience", + "0x5d": "update_health", + "0x5e": "scoreboard_objective", + "0x5f": "set_passengers", + "0x60": "teams", + "0x61": "scoreboard_score", + "0x62": "simulation_distance", + "0x63": "set_title_subtitle", + "0x64": "update_time", + "0x65": "set_title_text", + "0x66": "set_title_time", + "0x67": "entity_sound_effect", + "0x68": "sound_effect", + "0x69": "start_configuration", + "0x6a": "stop_sound", + "0x6b": "store_cookie", + "0x6c": "system_chat", + "0x6d": "playerlist_header", + "0x6e": "nbt_query_response", + "0x6f": "collect", + "0x70": "entity_teleport", + "0x71": "set_ticking_state", + "0x72": "step_tick", + "0x73": "transfer", + "0x74": "advancements", + "0x75": "entity_update_attributes", + "0x76": "entity_effect", + "0x77": "declare_recipes", + "0x78": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "bundle_delimiter": "void", + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "animation": "packet_animation", + "statistics": "packet_statistics", + "acknowledge_player_digging": "packet_acknowledge_player_digging", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "chunk_batch_finished": "packet_chunk_batch_finished", + "chunk_batch_start": "packet_chunk_batch_start", + "chunk_biomes": "packet_chunk_biomes", + "clear_titles": "packet_clear_titles", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "close_window": "packet_close_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "cookie_request": "packet_common_cookie_request", + "set_cooldown": "packet_set_cooldown", + "chat_suggestions": "packet_chat_suggestions", + "custom_payload": "packet_custom_payload", + "damage_event": "packet_damage_event", + "debug_sample": "packet_debug_sample", + "hide_message": "packet_hide_message", + "kick_disconnect": "packet_kick_disconnect", + "profileless_chat": "packet_profileless_chat", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "hurt_animation": "packet_hurt_animation", + "initialize_world_border": "packet_initialize_world_border", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_window": "packet_open_window", + "open_sign_entity": "packet_open_sign_entity", + "ping": "packet_ping", + "ping_response": "packet_ping_response", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "player_chat": "packet_player_chat", + "end_combat_event": "packet_end_combat_event", + "enter_combat_event": "packet_enter_combat_event", + "death_combat_event": "packet_death_combat_event", + "player_remove": "packet_player_remove", + "player_info": "packet_player_info", + "face_player": "packet_face_player", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "reset_score": "packet_reset_score", + "remove_resource_pack": "packet_remove_resource_pack", + "add_resource_pack": "packet_add_resource_pack", + "respawn": "packet_respawn", + "entity_head_rotation": "packet_entity_head_rotation", + "multi_block_change": "packet_multi_block_change", + "select_advancement_tab": "packet_select_advancement_tab", + "server_data": "packet_server_data", + "action_bar": "packet_action_bar", + "world_border_center": "packet_world_border_center", + "world_border_lerp_size": "packet_world_border_lerp_size", + "world_border_size": "packet_world_border_size", + "world_border_warning_delay": "packet_world_border_warning_delay", + "world_border_warning_reach": "packet_world_border_warning_reach", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "spawn_position": "packet_spawn_position", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "simulation_distance": "packet_simulation_distance", + "set_title_subtitle": "packet_set_title_subtitle", + "update_time": "packet_update_time", + "set_title_text": "packet_set_title_text", + "set_title_time": "packet_set_title_time", + "entity_sound_effect": "packet_entity_sound_effect", + "sound_effect": "packet_sound_effect", + "start_configuration": "packet_start_configuration", + "stop_sound": "packet_stop_sound", + "store_cookie": "packet_common_store_cookie", + "system_chat": "packet_system_chat", + "playerlist_header": "packet_playerlist_header", + "nbt_query_response": "packet_nbt_query_response", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "set_ticking_state": "packet_set_ticking_state", + "step_tick": "packet_step_tick", + "transfer": "packet_common_transfer", + "advancements": "packet_advancements", + "entity_update_attributes": "packet_entity_update_attributes", + "entity_effect": "packet_entity_effect", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_message_acknowledgement": [ + "container", + [ + { + "name": "count", + "type": "varint" + } + ] + ], + "packet_chat_command": [ + "container", + [ + { + "name": "command", + "type": "string" + } + ] + ], + "packet_chat_command_signed": [ + "container", + [ + { + "name": "command", + "type": "string" + }, + { + "name": "timestamp", + "type": "i64" + }, + { + "name": "salt", + "type": "i64" + }, + { + "name": "argumentSignatures", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "argumentName", + "type": "string" + }, + { + "name": "signature", + "type": [ + "buffer", + { + "count": 256 + } + ] + } + ] + ] + } + ] + }, + { + "name": "messageCount", + "type": "varint" + }, + { + "name": "acknowledged", + "type": [ + "buffer", + { + "count": 3 + } + ] + } + ] + ], + "packet_chat_message": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "timestamp", + "type": "i64" + }, + { + "name": "salt", + "type": "i64" + }, + { + "name": "signature", + "type": [ + "option", + [ + "buffer", + { + "count": 256 + } + ] + ] + }, + { + "name": "offset", + "type": "varint" + }, + { + "name": "acknowledged", + "type": [ + "buffer", + { + "count": 3 + } + ] + } + ] + ], + "packet_chat_session_update": [ + "container", + [ + { + "name": "sessionUUID", + "type": "UUID" + }, + { + "name": "expireTime", + "type": "i64" + }, + { + "name": "publicKey", + "type": "ByteArray" + }, + { + "name": "signature", + "type": "ByteArray" + } + ] + ], + "packet_chunk_batch_received": [ + "container", + [ + { + "name": "chunksPerTick", + "type": "f32" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + }, + { + "name": "enableTextFiltering", + "type": "bool" + }, + { + "name": "enableServerListing", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_configuration_acknowledged": [ + "container", + [] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "stateId", + "type": "varint" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "changedSlots", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "location", + "type": "i16" + }, + { + "name": "item", + "type": "Slot" + } + ] + ] + } + ] + }, + { + "name": "cursorItem", + "type": "Slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_set_slot_state": [ + "container", + [ + { + "name": "slot_id", + "type": "varint" + }, + { + "name": "window_id", + "type": "varint" + }, + { + "name": "state", + "type": "bool" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_debug_sample_subscription": [ + "container", + [ + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "pages", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "title", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "sneaking", + "type": "bool" + } + ] + ], + "packet_generate_structure": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "levels", + "type": "varint" + }, + { + "name": "keepJigsaws", + "type": "bool" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_ping_request": [ + "container", + [ + { + "name": "id", + "type": "i64" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + }, + { + "name": "sequence", + "type": "varint" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_pong": [ + "container", + [ + { + "name": "id", + "type": "i32" + } + ] + ], + "packet_recipe_book": [ + "container", + [ + { + "name": "bookId", + "type": "varint" + }, + { + "name": "bookOpen", + "type": "bool" + }, + { + "name": "filterActive", + "type": "bool" + } + ] + ], + "packet_displayed_recipe": [ + "container", + [ + { + "name": "recipeId", + "type": "string" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": [ + "option", + "varint" + ] + }, + { + "name": "secondary_effect", + "type": [ + "option", + "varint" + ] + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "Slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "pool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + }, + { + "name": "jointType", + "type": "string" + }, + { + "name": "selection_priority", + "type": "varint" + }, + { + "name": "placement_priority", + "type": "varint" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "i8" + }, + { + "name": "offset_y", + "type": "i8" + }, + { + "name": "offset_z", + "type": "i8" + }, + { + "name": "size_x", + "type": "i8" + }, + { + "name": "size_y", + "type": "i8" + }, + { + "name": "size_z", + "type": "i8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "isFrontText", + "type": "bool" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + }, + { + "name": "sequence", + "type": "varint" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "sequence", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "message_acknowledgement", + "0x04": "chat_command", + "0x05": "chat_command_signed", + "0x06": "chat_message", + "0x07": "chat_session_update", + "0x08": "chunk_batch_received", + "0x09": "client_command", + "0x0a": "settings", + "0x0b": "tab_complete", + "0x0c": "configuration_acknowledged", + "0x0d": "enchant_item", + "0x0e": "window_click", + "0x0f": "close_window", + "0x10": "set_slot_state", + "0x11": "cookie_response", + "0x12": "custom_payload", + "0x13": "debug_sample_subscription", + "0x14": "edit_book", + "0x15": "query_entity_nbt", + "0x16": "use_entity", + "0x17": "generate_structure", + "0x18": "keep_alive", + "0x19": "lock_difficulty", + "0x1a": "position", + "0x1b": "position_look", + "0x1c": "look", + "0x1d": "flying", + "0x1e": "vehicle_move", + "0x1f": "steer_boat", + "0x20": "pick_item", + "0x21": "ping_request", + "0x22": "craft_recipe_request", + "0x23": "abilities", + "0x24": "block_dig", + "0x25": "entity_action", + "0x26": "steer_vehicle", + "0x27": "pong", + "0x28": "recipe_book", + "0x29": "displayed_recipe", + "0x2a": "name_item", + "0x2b": "resource_pack_receive", + "0x2c": "advancement_tab", + "0x2d": "select_trade", + "0x2e": "set_beacon_effect", + "0x2f": "held_item_slot", + "0x30": "update_command_block", + "0x31": "update_command_block_minecart", + "0x32": "set_creative_slot", + "0x33": "update_jigsaw_block", + "0x34": "update_structure_block", + "0x35": "update_sign", + "0x36": "arm_animation", + "0x37": "spectate", + "0x38": "block_place", + "0x39": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "message_acknowledgement": "packet_message_acknowledgement", + "chat_command": "packet_chat_command", + "chat_command_signed": "packet_chat_command_signed", + "chat_message": "packet_chat_message", + "chat_session_update": "packet_chat_session_update", + "chunk_batch_received": "packet_chunk_batch_received", + "client_command": "packet_client_command", + "settings": "packet_settings", + "tab_complete": "packet_tab_complete", + "configuration_acknowledged": "packet_configuration_acknowledged", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "set_slot_state": "packet_set_slot_state", + "cookie_response": "packet_common_cookie_response", + "custom_payload": "packet_custom_payload", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "use_entity": "packet_use_entity", + "generate_structure": "packet_generate_structure", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "pick_item": "packet_pick_item", + "ping_request": "packet_ping_request", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "pong": "packet_pong", + "recipe_book": "packet_recipe_book", + "displayed_recipe": "packet_displayed_recipe", + "name_item": "packet_name_item", + "resource_pack_receive": "packet_resource_pack_receive", + "advancement_tab": "packet_advancement_tab", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "held_item_slot": "packet_held_item_slot", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_structure_block": "packet_update_structure_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} \ No newline at end of file diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index d093bba3d..c73bd8e48 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -30,6 +30,7 @@ restBuffer: native anonymousNbt: native anonOptionalNbt: native + ByteArray: ["buffer", { "countType": "varint" }] string: [ "pstring", { @@ -49,62 +50,162 @@ x: f64 y: f64 z: f64 - slot: - present: bool - _: present ? - if false: void - if true: + Slot: + itemCount: i8 + _: itemCount ? + if 0: void + default: itemId: varint - itemCount: i8 nbtData: anonOptionalNbt - particle: - particleId: varint - data: [ - "particleData", - { - "compareTo": "particleId" - } - ] - particleData: $compareTo ? - if 2: - blockState: varint - if 3: - blockState: varint - if 14: - red: f32 - green: f32 - blue: f32 - scale: f32 - if 15: - fromRed: f32 - fromGreen: f32 - fromBlue: f32 - scale: f32 - toRed: f32 - toGreen: f32 - toBlue: f32 - if 27: - blockState: varint - if 33: - rotation: f32 - if 42: - item: slot - if 43: - positionType: string - entityId: positionType ? - if minecraft:entity: varint - default: void - entityEyeHeight: positionType ? - if minecraft:entity: varint - default: void - destination: positionType ? - if minecraft:block: position - if minecraft:entity: varint - ticks: varint - if 96: - delayInTicksBeforeShown: varint - default: void - ingredient: slot[]varint + Particle: + # See client/net/minecraft/core/particles/ParticleTypes.java + type: varint => + - angry_villager + - block + - block_marker + - bubble + - cloud + - crit + - damage_indicator + - dragon_breath + - dripping_lava + - falling_lava + - landing_lava + - dripping_water + - falling_water + - dust + - dust_color_transition + - effect + - elder_guardian + - enchanted_hit + - enchant + - end_rod + - entity_effect + - explosion_emitter + - explosion + - gust + - small_gust + - gust_emitter_large + - gust_emitter_small + - sonic_boom + - falling_dust + - firework + - fishing + - flame + - infested + - cherry_leaves + - sculk_soul + - sculk_charge + - sculk_charge_pop + - soul_fire_flame + - soul + - flash + - happy_villager + - composter + - heart + - instant_effect + - item + - vibration + - item_slime + - item_cobweb + - item_snowball + - large_smoke + - lava + - mycelium + - note + - poof + - portal + - rain + - smoke + - white_smoke + - sneeze + - spit + - squid_ink + - sweep_attack + - totem_of_undying + - underwater + - splash + - witch + - bubble_pop + - current_down + - bubble_column_up + - nautilus + - dolphin + - campfire_cosy_smoke + - campfire_signal_smoke + - dripping_honey + - falling_honey + - landing_honey + - falling_nectar + - falling_spore_blossom + - ash + - crimson_spore + - warped_spore + - spore_blossom_air + - dripping_obsidian_tear + - falling_obsidian_tear + - landing_obsidian_tear + - reverse_portal + - white_ash + - small_flame + - snowflake + - dripping_dripstone_lava + - falling_dripstone_lava + - dripping_dripstone_water + - falling_dripstone_water + - glow_squid_ink + - glow + - wax_on + - wax_off + - electric_spark + - scrape + - shriek + - egg_crack + - dust_plume + - trial_spawner_detected_player + - trial_spawner_detected_player_ominous + - vault_connection + - dust_pillar + - ominous_spawning + - raid_omen + - trial_omen + ## ## Tips for reviewing particle data (as of 1.20.5) + ## Inside the registry code, each particle can have an associated "options" type and + ## each options type can add additional data to be encoded. + ## For example, this line + ## public static final ParticleType BLOCK = register("block", false, BlockParticleOption::codec, BlockParticleOption::streamCodec); + ## will read the stream codec from BlockParticleOption.java's streamCodec member; then we see + ## return ByteBufCodecs.idMapper(Block.BLOCK_STATE_REGISTRY).map(var1 -> new BlockParticleOption(var0, var1), var0x -> var0x.state); + ## this encodes with the ByteBufCodecs.idMapper function. Inside this function we find + ## public void encode(ByteBuf var1x, T var2) { + ## int var3 = var1.applyAsInt(var2); + ## VarInt.write(var1x, var3); + ## } + ## which as we can see writes the varint to the buffer. + ## If you want to see all the serializers try regexp searching "StreamCodec.*Particle" + data: type ? + if block or block_marker or falling_dust or dust_pillar: varint + if dust: + red: f32 + green: f32 + blue: f32 + scale: f32 + if dust_color_transition: + fromRed: f32 + fromGreen: f32 + fromBlue: f32 + scale: f32 + toRed: f32 + toGreen: f32 + toBlue: f32 + if entity_effect: i32 + if item: Slot + if sculk_charge: f32 + if shriek: varint + if vibration: + position: string + entityId: varint + ingredient: Slot[]varint position: [ "bitfield", [ @@ -149,123 +250,86 @@ } ] default: void - entityMetadataItem: $compareTo ? - if byte: i8 - if int: varint - if long: varlong - if float: f32 - if string: string - if component: anonymousNbt - if optional_component: [ - "option", - "anonymousNbt" - ] - if item_stack: slot - if boolean: bool - if rotations: - pitch: f32 - yaw: f32 - roll: f32 - if block_pos: position - if optional_block_pos: [ - "option", - "position" - ] - if direction: varint - if optional_uuid: [ - "option", - "UUID" - ] - if block_state: varint - if optional_block_state: optvarint - if compound_tag: anonymousNbt - if particle: particle - if villager_data: - villagerType: varint - villagerProfession: varint - level: varint - if optional_unsigned_int: optvarint - if pose: varint - if cat_variant: varint - if frog_variant: varint - if optional_global_pos: [ - "option", - "string" - ] - if painting_variant: varint - if sniffer_state: varint - if vector3: vec3f - if quaternion: vec4f - entityMetadata: [ - "entityMetadataLoop", - { - "endVal": 255, - "type": [ - "container", - [ - { - "name": "key", - "type": "u8" - }, - { - "name": "type", - "type": [ - "mapper", - { - "type": "varint", - "mappings": { - "0": "byte", - "1": "int", - "2": "long", - "3": "float", - "4": "string", - "5": "component", - "6": "optional_component", - "7": "item_stack", - "8": "boolean", - "9": "rotations", - "10": "block_pos", - "11": "optional_block_pos", - "12": "direction", - "13": "optional_uuid", - "14": "block_state", - "15": "optional_block_state", - "16": "compound_tag", - "17": "particle", - "18": "villager_data", - "19": "optional_unsigned_int", - "20": "pose", - "21": "cat_variant", - "22": "frog_variant", - "23": "optional_global_pos", - "24": "painting_variant", - "25": "sniffer_state", - "26": "vector3", - "27": "quaternion" - } - } - ] - }, - { - "name": "value", - "type": [ - "entityMetadataItem", - { - "compareTo": "type" - } - ] - } - ] - ] - } - ] + entityMetadataEntry: + key: u8 + type: varint => + - byte + - int + - long + - float + - string + - component + - optional_component + - item_stack + - boolean + - rotations + - block_pos + - optional_block_pos + - direction + - optional_uuid + - block_state + - optional_block_state + - compound_tag + - particle + - particles + - villager_data + - optional_unsigned_int + - pose + - cat_variant + - wolf_variant + - frog_variant + - optional_global_pos + - painting_variant + - sniffer_state + - armadillo_state + - vector3 + - quaternion + value: type ? + if byte: i8 + if int: varint + if long: varlong + if float: f32 + if string: string + if component: anonymousNbt + if optional_component: ["option", "anonymousNbt"] + if item_stack: Slot + if boolean: bool + if rotations: + pitch: f32 + yaw: f32 + roll: f32 + if block_pos: position + if optional_block_pos: ["option", "position"] + if direction: varint + if optional_uuid: ["option", "UUID"] + if block_state: varint + if optional_block_state: optvarint + if compound_tag: anonymousNbt + if particle: Particle + if particles: Particle[]varint + if villager_data: + villagerType: varint + villagerProfession: varint + level: varint + if optional_unsigned_int: optvarint + if pose: varint + if cat_variant: varint + if wolf_variant: varint + if frog_variant: varint + if optional_global_pos: ["option", "string"] + if painting_variant: varint + if sniffer_state: varint + if armadillo_state: varint + if vector3: vec3f + if quaternion: vec4f + entityMetadata: ["entityMetadataLoop", { "endVal": 255, "type": "entityMetadataEntry" }] minecraft_simple_recipe_format: category: varint minecraft_smelting_format: group: string category: varint ingredient: ingredient - result: slot + result: Slot experience: f32 cookTime: varint tags: []varint @@ -601,6 +665,33 @@ suggestionType: ../flags/has_custom_suggestions ? if 1: string default: void + # # Shared Packets + # These are packets that are shared between multiple states. + # They are defined here to avoid duplication. + # ===== + # MC: ClientboundCookieRequestPacket + packet_common_cookie_request: + cookie: string + # MC: ClientboundStoreCookiePacket + packet_common_store_cookie: + key: string + value: ByteArray + # MC: ClientboundTransferPacket + packet_common_transfer: + host: string + port: varint + # MC: ServerboundCookieResponsePacket + packet_common_cookie_response: + key: string + value: ByteArray + # MC: ServerboundSelectKnownPacks + # MC: ClientboundSelectKnownPacks + packet_common_select_known_packs: + packs: []varint + namespace: string + id: string + version: string + ^handshaking.toClient.types: packet: name: varint => @@ -667,6 +758,7 @@ "countType": "varint" } ] + shouldAuthenticate: bool # MC: ClientboundGameProfilePacket packet_success: uuid: UUID @@ -675,6 +767,7 @@ name: string value: string signature?: string + strictErrorHandling: bool # MC: ClientboundLoginCompressionPacket packet_compress: threshold: varint @@ -683,6 +776,7 @@ messageId: varint channel: string data: restBuffer + ## (Cookie Request is Common) ## packet: name: varint => - disconnect @@ -690,12 +784,14 @@ - success - compress - login_plugin_request + - cookie_request params: name ? if disconnect: packet_disconnect if encryption_begin: packet_encryption_begin if success: packet_success if compress: packet_compress if login_plugin_request: packet_login_plugin_request + if cookie_request: packet_common_cookie_request ^login.toServer.types: # MC: ServerboundHelloPacket packet_login_start: @@ -722,18 +818,22 @@ # MC: ServerboundLoginAcknowledgedPacket packet_login_acknowledged: # Empty + ## (Cookie Response is Common) ## packet: name: varint => - login_start - encryption_begin - login_plugin_response - login_acknowledged + - cookie_response params: name ? if login_start: packet_login_start if encryption_begin: packet_encryption_begin if login_plugin_response: packet_login_plugin_response if login_acknowledged: packet_login_acknowledged + if cookie_response: packet_common_cookie_response ^configuration.toClient.types: + ## (Cookie Request is common) # MC: ClientboundCustomPayloadPacket packet_custom_payload: channel: string @@ -750,9 +850,16 @@ # MC: ClientboundPingPacket packet_ping: id: i32 + # MC: ClientboundResetChatPacket + packet_reset_chat: + # Empty # MC: ClientboundRegistryDataPacket packet_registry_data: - codec: anonymousNbt + # The server can send multiple registries + id: string + entries: []varint + key: string + value?: anonymousNbt # MC: ClientboundResourcePackPopPacket packet_remove_resource_pack: uuid?: UUID @@ -763,6 +870,7 @@ hash: string forced: bool promptMessage?: anonymousNbt + ## (Store cookie and Transfer are Common) ## # MC: ClientboundUpdateEnabledFeaturesPacket packet_feature_flags: features: string[]varint @@ -771,29 +879,40 @@ tags: []varint tagType: string tags: tags + ## (Select known packs is common) packet: name: varint => + - cookie_request - custom_payload - disconnect - finish_configuration - keep_alive - ping + - reset_chat - registry_data - remove_resource_pack - add_resource_pack + - store_cookie + - transfer - feature_flags - tags + - select_known_packs params: name ? + if cookie_request: packet_common_cookie_request if custom_payload: packet_custom_payload if disconnect: packet_disconnect if finish_configuration: packet_finish_configuration if keep_alive: packet_keep_alive if ping: packet_ping + if reset_chat: packet_reset_chat if registry_data: packet_registry_data if remove_resource_pack: packet_remove_resource_pack if add_resource_pack: packet_add_resource_pack + if store_cookie: packet_common_store_cookie + if transfer: packet_common_transfer if feature_flags: packet_feature_flags if tags: packet_tags + if select_known_packs: packet_common_select_known_packs ^configuration.toServer.types: # MC: ServerboundClientInformationPacket packet_settings: @@ -805,6 +924,7 @@ mainHand: varint enableTextFiltering: bool enableServerListing: bool + ## (Cookie Response is Common) ## # MC: ServerboundCustomPayloadPacket packet_custom_payload: channel: string @@ -825,19 +945,41 @@ packet: name: varint => - settings + - cookie_response - custom_payload - finish_configuration - keep_alive - pong - resource_pack_receive + - select_known_packs params: name ? if settings: packet_settings + if cookie_response: packet_common_cookie_response if custom_payload: packet_custom_payload if finish_configuration: packet_finish_configuration if keep_alive: packet_keep_alive if pong: packet_pong if resource_pack_receive: packet_resource_pack_receive + if select_known_packs: packet_common_select_known_packs ^play.toClient.types: + # World state information for spawn and respawn packets + SpawnInfo: + dimension: varint + name: string + hashedSeed: i64 + gamemode: i8 => + - survival + - creative + - adventure + - spectator + previousGamemode: u8 + isDebug: bool + isFlat: bool + death?: + dimensionName: string + location: position + portalCooldown: varint + # MC: ClientboundAddEntityPacket packet_spawn_entity: entityId: varint @@ -870,57 +1012,9 @@ categoryId: varint statisticId: varint value: varint - # MC: ClientboundUpdateAdvancementsPacket - packet_advancements: - reset: bool - advancementMapping: []varint - key: string - value: - parentId?: string - displayData?: - title: anonymousNbt - description: anonymousNbt - icon: slot - frameType: varint - flags: [ - "bitfield", - [ - { - "name": "_unused", - "size": 29, - "signed": false - }, - { - "name": "hidden", - "size": 1, - "signed": false - }, - { - "name": "show_toast", - "size": 1, - "signed": false - }, - { - "name": "has_background_texture", - "size": 1, - "signed": false - } - ] - ] - backgroundTexture: flags/has_background_texture ? - if 1: string - default: void - xCord: f32 - yCord: f32 - requirements: []varint - _: string[]varint - sendsTelemtryData: bool - identifiers: string[]varint - progressMapping: []varint - key: string - value: []varint - criterionIdentifier: string - criterionProgress?: i64 + # MC: ClientboundBlockChangedAckPacket + packet_acknowledge_player_digging: + sequenceId: varint # MC: ClientboundBlockDestructionPacket packet_block_break_animation: entityId: varint @@ -975,6 +1069,14 @@ # MC: ClientboundChunkBatchStartPacket packet_chunk_batch_start: # Empty + # MC: ClientboundChunksBiomesPacket + packet_chunk_biomes: + biomes: []varint + position: packedChunkPos + data: ByteArray + # MC: ClientboundClearTitlesPacket + packet_clear_titles: + reset: bool # MC: ClientboundCommandSuggestionsPacket packet_tab_complete: transactionId: varint @@ -987,60 +1089,15 @@ packet_declare_commands: nodes: command_node[]varint rootIndex: varint - # MC: ClientboundPlayerLookAtPacket - packet_face_player: - feet_eyes: varint - x: f64 - y: f64 - z: f64 - isEntity: bool - entityId: isEntity ? - if true: varint - default: void - entity_feet_eyes: isEntity ? - if true: varint - default: void - # MC: ClientboundTagQueryPacket - packet_nbt_query_response: - transactionId: varint - nbt: anonOptionalNbt - # MC: ClientboundSectionBlocksUpdatePacket - packet_multi_block_change: - chunkCoordinates: [ - "bitfield", - [ - { - "name": "x", - "size": 22, - "signed": true - }, - { - "name": "z", - "size": 22, - "signed": true - }, - { - "name": "y", - "size": 20, - "signed": true - } - ] - ] - records: varint[]varint # MC: ClientboundContainerClosePacket packet_close_window: windowId: u8 - # MC: ClientboundOpenScreenPacket - packet_open_window: - windowId: varint - inventoryType: varint - windowTitle: anonymousNbt # MC: ClientboundContainerSetContentPacket packet_window_items: windowId: u8 stateId: varint - items: slot[]varint - carriedItem: slot + items: Slot[]varint + carriedItem: Slot # MC: ClientboundContainerSetDataPacket packet_craft_progress_bar: windowId: u8 @@ -1051,7 +1108,8 @@ windowId: i8 stateId: varint slot: i16 - item: slot + item: Slot + ## (Cookie Request is Common) # MC: ClientboundCooldownPacket packet_set_cooldown: itemID: varint @@ -1064,6 +1122,17 @@ packet_custom_payload: channel: string data: restBuffer + # MC: ClientboundDamageEventPacket + packet_damage_event: + entityId: varint + sourceTypeId: varint + sourceCauseId: varint + sourceDirectId: varint + sourcePosition?: vec3f64 + # MC: ClientboundDebugSamplePacket + packet_debug_sample: + sample: i64[]varint + type: varint # MC: ClientboundDeleteChatPacket packet_hide_message: id: varint @@ -1102,8 +1171,8 @@ playerMotionY: f32 playerMotionZ: f32 block_interaction_type: varint - small_explosion_particle: particle - large_explosion_particle: particle + small_explosion_particle: Particle + large_explosion_particle: Particle explosion_sound_name: string sound_range?: f32 # MC: ClientboundForgetLevelChunkPacket @@ -1119,6 +1188,20 @@ windowId: u8 nbSlots: varint entityId: i32 + # MC: ClientboundHurtAnimationPacket + packet_hurt_animation: + entityId: varint + yaw: f32 + # MC: ClientboundInitializeBorderPacket + packet_initialize_world_border: + x: f64 + z: f64 + oldDiameter: f64 + newDiameter: f64 + speed: varint + portalTeleportBoundary: varint + warningBlocks: varint + warningTime: varint # MC: ClientboundKeepAlivePacket packet_keep_alive: keepAliveId: i64 @@ -1150,7 +1233,6 @@ global: bool # MC: ClientboundLevelParticlesPacket packet_world_particles: - particleId: varint longDistance: bool x: f64 y: f64 @@ -1158,14 +1240,9 @@ offsetX: f32 offsetY: f32 offsetZ: f32 - particleData: f32 - particles: i32 - data: [ - "particleData", - { - "compareTo": "particleId" - } - ] + velocityOffset: f32 + amount: i32 + particle: Particle # MC: ClientboundLightUpdatePacket packet_update_light: chunkX: varint @@ -1189,17 +1266,8 @@ reducedDebugInfo: bool enableRespawnScreen: bool doLimitedCrafting: bool - worldType: string - worldName: string - hashedSeed: i64 - gameMode: u8 - previousGameMode: i8 - isDebug: bool - isFlat: bool - death?: - dimensionName: string - location: position - portalCooldown: varint + worldState: SpawnInfo + enforcesSecureChat: bool # MC: ClientboundMapItemDataPacket packet_map: itemDamage: varint @@ -1232,10 +1300,11 @@ # MC: ClientboundMerchantOffersPacket packet_trade_list: windowId: varint + ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.20.5/client/net/minecraft/world/item/trading/MerchantOffer.java#L210 trades: []varint - inputItem1: slot - outputItem: slot - inputItem2: slot + inputItem1: Slot + outputItem: Slot + inputItem2: Slot tradeDisabled: bool nbTradeUses: i32 maximumNbTradeUses: i32 @@ -1279,10 +1348,21 @@ # MC: ClientboundOpenBookPacket packet_open_book: hand: varint + # MC: ClientboundOpenScreenPacket + packet_open_window: + windowId: varint + inventoryType: varint + windowTitle: anonymousNbt # MC: ClientboundOpenSignEditorPacket packet_open_sign_entity: location: position isFrontText: bool + # MC: ClientboundPingPacket + packet_ping: + id: i32 + # MC: ClientboundPongResponsePacket + packet_ping_response: + id: i64 # MC: ClientboundPlaceGhostRecipePacket packet_craft_recipe_response: windowId: i8 @@ -1632,6 +1712,19 @@ "anonymousNbt" ] default: void + # MC: ClientboundPlayerLookAtPacket + packet_face_player: + feet_eyes: varint + x: f64 + y: f64 + z: f64 + isEntity: bool + entityId: isEntity ? + if true: varint + default: void + entity_feet_eyes: isEntity ? + if true: varint + default: void # MC: ClientboundPlayerPositionPacket packet_position: x: f64 @@ -1679,22 +1772,48 @@ promptMessage?: anonymousNbt # MC: ClientboundRespawnPacket packet_respawn: - dimension: string - worldName: string - hashedSeed: i64 - gamemode: i8 - previousGamemode: u8 - isDebug: bool - isFlat: bool - death?: - dimensionName: string - location: position - portalCooldown: varint + worldState: SpawnInfo copyMetadata: bool # MC: ClientboundRotateHeadPacket packet_entity_head_rotation: entityId: varint headYaw: i8 + # MC: ClientboundSectionBlocksUpdatePacket + packet_multi_block_change: + chunkCoordinates: [ "bitfield", [ + { "name": "x", "size": 22, "signed": true }, + { "name": "z", "size": 22, "signed": true }, + { "name": "y", "size": 20, "signed": true } + ]] + records: varint[]varint + # MC: ClientboundSelectAdvancementsTabPacket + packet_select_advancement_tab: + id?: string + # MC: ClientboundServerDataPacket + packet_server_data: + motd: anonymousNbt + iconBytes?: ByteArray + # MC: ClientboundSetActionBarTextPacket + packet_action_bar: + text: anonymousNbt + # MC: ClientboundSetBorderCenterPacket + packet_world_border_center: + x: f64 + z: f64 + # MC: ClientboundSetBorderLerpSizePacket + packet_world_border_lerp_size: + oldDiameter: f64 + newDiameter: f64 + speed: varint + # MC: ClientboundSetBorderSizePacket + packet_world_border_size: + diameter: f64 + # MC: ClientboundSetBorderWarningDelayPacket + packet_world_border_warning_delay: + warningTime: varint + # MC: ClientboundSetBorderWarningDistancePacket + packet_world_border_warning_reach: + warningBlocks: varint # MC: ClientboundSetCameraPacket packet_camera: cameraId: varint @@ -1708,6 +1827,10 @@ # MC: ClientboundSetChunkCacheRadiusPacket packet_update_view_distance: viewDistance: varint + # MC: ClientboundSetDefaultSpawnPositionPacket + packet_spawn_position: + location: position + angle: f32 # MC: ClientboundSetDisplayObjectivePacket packet_scoreboard_display_objective: position: varint @@ -1841,14 +1964,24 @@ if 1: anonymousNbt if 2: anonymousNbt default: void - # MC: ClientboundSetDefaultSpawnPositionPacket - packet_spawn_position: - location: position - angle: f32 + # MC: ClientboundSetSimulationDistancePacket + packet_simulation_distance: + distance: varint + # MC: ClientboundSetSubtitleTextPacket + packet_set_title_subtitle: + text: anonymousNbt # MC: ClientboundSetTimePacket packet_update_time: age: i64 time: i64 + # MC: ClientboundSetTitleTextPacket + packet_set_title_text: + text: anonymousNbt + # MC: ClientboundSetTitlesAnimationPacket + packet_set_title_time: + fadeIn: i32 + stay: i32 + fadeOut: i32 # MC: ClientboundSoundEntityPacket packet_entity_sound_effect: soundId: varint @@ -1862,17 +1995,6 @@ volume: f32 pitch: f32 seed: i64 - # MC: ClientboundStopSoundPacket - packet_stop_sound: - flags: i8 - source: flags ? - if 1: varint - if 3: varint - default: void - sound: flags ? - if 2: string - if 3: string - default: void # MC: ClientboundSoundPacket packet_sound_effect: soundId: varint @@ -1888,6 +2010,21 @@ volume: f32 pitch: f32 seed: i64 + # MC: ClientboundStartConfigurationPacket + packet_start_configuration: + # Empty + # MC: ClientboundStopSoundPacket + packet_stop_sound: + flags: i8 + source: flags ? + if 1: varint + if 3: varint + default: void + sound: flags ? + if 2: string + if 3: string + default: void + ## (Store Cookie is Common) # MC: ClientboundSystemChatPacket packet_system_chat: content: anonymousNbt @@ -1896,6 +2033,10 @@ packet_playerlist_header: header: anonymousNbt footer: anonymousNbt + # MC: ClientboundTagQueryPacket + packet_nbt_query_response: + transactionId: varint + nbt: anonOptionalNbt # MC: ClientboundTakeItemEntityPacket packet_collect: collectedEntityId: varint @@ -1910,11 +2051,73 @@ yaw: i8 pitch: i8 onGround: bool + # MC: ClientboundTickingStatePacket + packet_set_ticking_state: + tick_rate: f32 + is_frozen: bool + # MC: ClientboundTickingStepPacket + packet_step_tick: + tick_steps: varint + ## (Transfer is common) + # MC: ClientboundUpdateAdvancementsPacket + packet_advancements: + reset: bool + advancementMapping: []varint + key: string + value: + parentId?: string + displayData?: + title: anonymousNbt + description: anonymousNbt + icon: Slot + frameType: varint + flags: ["bitfield", [ + { "name": "unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ]] + backgroundTexture: flags/has_background_texture ? + if 1: string + default: void + xCord: f32 + yCord: f32 + requirements: []varint + _: string[]varint + sendsTelemtryData: bool + identifiers: string[]varint + progressMapping: []varint + key: string + value: []varint + criterionIdentifier: string + criterionProgress?: i64 # MC: ClientboundUpdateAttributesPacket packet_entity_update_attributes: entityId: varint properties: []varint - key: string + key: varint => + - generic.armor + - generic.armor_toughness + - generic.attack_damage + - generic.attack_knockback + - generic.attack_speed + - player.block_break_speed + - player.block_interaction_range + - player.entity_interaction_range + - generic.fall_damage_multiplier + - generic.flying_speed + - generic.follow_range + - generic.gravity + - generic.jump_strength + - generic.knockback_resistance + - generic.luck + - generic.max_absorption + - generic.max_health + - generic.movement_speed + - generic.safe_fall_distance + - generic.scale + - zombie.spawn_reinforcements + - generic.step_height value: f64 modifiers: []varint uuid: UUID @@ -1924,34 +2127,28 @@ packet_entity_effect: entityId: varint effectId: varint - amplifier: i8 + amplifier: varint duration: varint - hideParticles: i8 - factorCodec?: anonymousNbt - # MC: ClientboundSelectAdvancementsTabPacket - packet_select_advancement_tab: - id?: string - # MC: ClientboundServerDataPacket - packet_server_data: - motd: anonymousNbt - iconBytes?: [ - "buffer", - { - "countType": "varint" - } - ] - enforcesSecureChat: bool + # a bitfield of 0x01 for ambient, 0x02 for show particles + # flags: ["bitfield", [ + # { "name": "unused", "size": 4 }, + # { "name": "ambient", "size": 1 }, + # { "name": "showParticles", "size": 1 }, + # { "name": "showIcon", "size": 1 }, + # { "name": "blend", "size": 1 } + # ]] + flags: u8 # MC: ClientboundUpdateRecipesPacket packet_declare_recipes: recipes: []varint type: string - recipeId: string + recipeId: varint data: type ? if minecraft:crafting_shapeless: group: string category: varint ingredients: ingredient[]varint - result: slot + result: Slot if minecraft:crafting_shaped: group: string category: varint @@ -1959,7 +2156,7 @@ height: varint ingredients: []$width _: ingredient[]$height - result: slot + result: Slot showNotification: bool if minecraft:crafting_special_armordye: minecraft_simple_recipe_format if minecraft:crafting_special_bookcloning: minecraft_simple_recipe_format @@ -1982,12 +2179,12 @@ if minecraft:stonecutting: group: string ingredient: ingredient - result: slot + result: Slot if minecraft:smithing_transform: template: ingredient base: ingredient addition: ingredient - result: slot + result: Slot if minecraft:smithing_trim: template: ingredient base: ingredient @@ -1998,94 +2195,11 @@ tags: []varint tagType: string tags: tags - # MC: ClientboundBlockChangedAckPacket - packet_acknowledge_player_digging: - sequenceId: varint - # MC: ClientboundClearTitlesPacket - packet_clear_titles: - reset: bool - # MC: ClientboundInitializeBorderPacket - packet_initialize_world_border: - x: f64 - z: f64 - oldDiameter: f64 - newDiameter: f64 - speed: varint - portalTeleportBoundary: varint - warningBlocks: varint - warningTime: varint - # MC: ClientboundSetActionBarTextPacket - packet_action_bar: - text: anonymousNbt - # MC: ClientboundSetBorderCenterPacket - packet_world_border_center: - x: f64 - z: f64 - # MC: ClientboundSetBorderLerpSizePacket - packet_world_border_lerp_size: - oldDiameter: f64 - newDiameter: f64 - speed: varint - # MC: ClientboundSetBorderSizePacket - packet_world_border_size: - diameter: f64 - # MC: ClientboundSetBorderWarningDelayPacket - packet_world_border_warning_delay: - warningTime: varint - # MC: ClientboundSetBorderWarningDistancePacket - packet_world_border_warning_reach: - warningBlocks: varint - # MC: ClientboundPingPacket - packet_ping: - id: i32 - # MC: ClientboundPongResponsePacket - packet_ping_response: - id: i64 - # MC: ClientboundSetSubtitleTextPacket - packet_set_title_subtitle: - text: anonymousNbt - # MC: ClientboundSetTitleTextPacket - packet_set_title_text: - text: anonymousNbt - # MC: ClientboundSetTitlesAnimationPacket - packet_set_title_time: - fadeIn: i32 - stay: i32 - fadeOut: i32 - # MC: ClientboundSetSimulationDistancePacket - packet_simulation_distance: - distance: varint - # MC: ClientboundChunksBiomesPacket - packet_chunk_biomes: - biomes: []varint - position: packedChunkPos - data: [ - "buffer", - { - "countType": "varint" - } - ] - # MC: ClientboundDamageEventPacket - packet_damage_event: - entityId: varint - sourceTypeId: varint - sourceCauseId: varint - sourceDirectId: varint - sourcePosition?: vec3f64 - # MC: ClientboundHurtAnimationPacket - packet_hurt_animation: - entityId: varint - yaw: f32 - # MC: ClientboundStartConfigurationPacket - packet_start_configuration: - # Empty - # MC: ClientboundTickingStatePacket - packet_set_ticking_state: - tick_rate: f32 - is_frozen: bool - # MC: ClientboundTickingStepPacket - packet_step_tick: - tick_steps: varint + # MC: ClientboundProjectilePowerPacket + packet_set_projectile_power: + id: varint + power: vec3f64 + packet: name: varint => - bundle_delimiter @@ -2110,10 +2224,12 @@ - window_items - craft_progress_bar - set_slot + - cookie_request - set_cooldown - chat_suggestions - custom_payload - damage_event + - debug_sample - hide_message - kick_disconnect - profileless_chat @@ -2193,6 +2309,7 @@ - sound_effect - start_configuration - stop_sound + - store_cookie - system_chat - playerlist_header - nbt_query_response @@ -2200,6 +2317,7 @@ - entity_teleport - set_ticking_state - step_tick + - transfer - advancements - entity_update_attributes - entity_effect @@ -2228,10 +2346,12 @@ if window_items: packet_window_items if craft_progress_bar: packet_craft_progress_bar if set_slot: packet_set_slot + if cookie_request: packet_common_cookie_request if set_cooldown: packet_set_cooldown if chat_suggestions: packet_chat_suggestions if custom_payload: packet_custom_payload if damage_event: packet_damage_event + if debug_sample: packet_debug_sample if hide_message: packet_hide_message if kick_disconnect: packet_kick_disconnect if profileless_chat: packet_profileless_chat @@ -2311,29 +2431,41 @@ if sound_effect: packet_sound_effect if start_configuration: packet_start_configuration if stop_sound: packet_stop_sound + if store_cookie: packet_common_store_cookie if system_chat: packet_system_chat if playerlist_header: packet_playerlist_header if nbt_query_response: packet_nbt_query_response if collect: packet_collect if entity_teleport: packet_entity_teleport + if set_ticking_state: packet_set_ticking_state + if step_tick: packet_step_tick + if transfer: packet_common_transfer if advancements: packet_advancements if entity_update_attributes: packet_entity_update_attributes if entity_effect: packet_entity_effect if declare_recipes: packet_declare_recipes if tags: packet_tags - if set_ticking_state: packet_set_ticking_state - if step_tick: packet_step_tick + ^play.toServer.types: # MC: ServerboundAcceptTeleportationPacket packet_teleport_confirm: teleportId: varint - # MC: ServerboundBlockEntityTagQuery + # MC: ServerboundBlockEntityTagQueryPacket packet_query_block_nbt: transactionId: varint location: position + # MC: ServerboundChangeDifficultyPacket + packet_set_difficulty: + newDifficulty: u8 + # MC: ServerboundChatAckPacket + packet_message_acknowledgement: + count: varint # MC: ServerboundChatCommandPacket packet_chat_command: command: string + # MC: ServerboundChatCommandSignedPacket + packet_chat_command_signed: + command: string timestamp: i64 salt: i64 argumentSignatures: []varint @@ -2369,67 +2501,15 @@ "count": 3 } ] - # MC: ServerboundChangeDifficultyPacket - packet_set_difficulty: - newDifficulty: u8 - # MC: ServerboundChatAckPacket - packet_message_acknowledgement: - count: varint - # MC: ServerboundEditBookPacket - packet_edit_book: - hand: varint - pages: string[]varint - title?: string - # MC: ServerboundEntityTagQuery - packet_query_entity_nbt: - transactionId: varint - entityId: varint - # MC: ServerboundPickItemPacket - packet_pick_item: - slot: varint - # MC: ServerboundRenameItemPacket - packet_name_item: - name: string - # MC: ServerboundSelectTradePacket - packet_select_trade: - slot: varint - # MC: ServerboundSetBeaconPacket - packet_set_beacon_effect: - primary_effect?: varint - secondary_effect?: varint - # MC: ServerboundSetCommandBlockPacket - packet_update_command_block: - location: position - command: string - mode: varint - flags: u8 - # MC: ServerboundSetCommandMinecartPacket - packet_update_command_block_minecart: - entityId: varint - command: string - track_output: bool - # MC: ServerboundSetStructureBlockPacket - packet_update_structure_block: - location: position - action: varint - mode: varint - name: string - offset_x: i8 - offset_y: i8 - offset_z: i8 - size_x: i8 - size_y: i8 - size_z: i8 - mirror: varint - rotation: varint - metadata: string - integrity: f32 - seed: varint - flags: u8 - # MC: ServerboundCommandSuggestionPacket - packet_tab_complete: - transactionId: varint - text: string + # MC: ServerboundChatSessionUpdatePacket + packet_chat_session_update: + sessionUUID: UUID + expireTime: i64 + publicKey: ByteArray + signature: ByteArray + # MC: ServerboundChunkBatchReceivedPacket + packet_chunk_batch_received: + chunksPerTick: f32 # MC: ServerboundClientCommandPacket packet_client_command: actionId: varint @@ -2443,6 +2523,13 @@ mainHand: varint enableTextFiltering: bool enableServerListing: bool + # MC: ServerboundCommandSuggestionPacket + packet_tab_complete: + transactionId: varint + text: string + # MC: ServerboundConfigurationAcknowledgedPacket + packet_configuration_acknowledged: + # Empty # MC: ServerboundContainerButtonClickPacket packet_enchant_item: windowId: i8 @@ -2456,15 +2543,32 @@ mode: varint changedSlots: []varint location: i16 - item: slot - cursorItem: slot + item: Slot + cursorItem: Slot # MC: ServerboundContainerClosePacket packet_close_window: windowId: u8 + # MC: ServerboundContainerSlotStateChangedPacket + packet_set_slot_state: + slot_id: varint + window_id: varint + state: bool # MC: ServerboundCustomPayloadPacket packet_custom_payload: channel: string data: restBuffer + # MC: ServerboundDebugSampleSubscriptionPacket + packet_debug_sample_subscription: + type: varint + # MC: ServerboundEditBookPacket + packet_edit_book: + hand: varint + pages: string[]varint + title?: string + # MC: ServerboundEntityTagQuery + packet_query_entity_nbt: + transactionId: varint + entityId: varint # MC: ServerboundInteractPacket packet_use_entity: target: varint @@ -2527,6 +2631,12 @@ packet_steer_boat: leftPaddle: bool rightPaddle: bool + # MC: ServerboundPickItemPacket + packet_pick_item: + slot: varint + # MC: ServerboundPingRequestPacket + packet_ping_request: + id: i64 # MC: ServerboundPlaceRecipePacket packet_craft_recipe_request: windowId: i8 @@ -2551,25 +2661,55 @@ sideways: f32 forward: f32 jump: u8 - # MC: ServerboundRecipeBookSeenRecipePacket - packet_displayed_recipe: - recipeId: string + # MC: ServerboundPongPacket + packet_pong: + id: i32 # MC: ServerboundRecipeBookChangeSettingsPacket packet_recipe_book: bookId: varint bookOpen: bool filterActive: bool + # MC: ServerboundRecipeBookSeenRecipePacket + packet_displayed_recipe: + recipeId: string + # MC: ServerboundRenameItemPacket + packet_name_item: + name: string # MC: ServerboundResourcePackPacket packet_resource_pack_receive: uuid: UUID result: varint + # MC: ServerboundSeenAdvancementsPacket + packet_advancement_tab: + action: varint + tabId: action ? + if 0: string + if 1: void + # MC: ServerboundSelectTradePacket + packet_select_trade: + slot: varint + # MC: ServerboundSetBeaconPacket + packet_set_beacon_effect: + primary_effect?: varint + secondary_effect?: varint # MC: ServerboundSetCarriedItemPacket packet_held_item_slot: slotId: i16 + # MC: ServerboundSetCommandBlockPacket + packet_update_command_block: + location: position + command: string + mode: varint + flags: u8 + # MC: ServerboundSetCommandMinecartPacket + packet_update_command_block_minecart: + entityId: varint + command: string + track_output: bool # MC: ServerboundSetCreativeModeSlotPacket packet_set_creative_slot: slot: i16 - item: slot + item: Slot # MC: ServerboundSetJigsawBlockPacket packet_update_jigsaw_block: location: position @@ -2580,6 +2720,24 @@ jointType: string selection_priority: varint placement_priority: varint + # MC: ServerboundSetStructureBlockPacket + packet_update_structure_block: + location: position + action: varint + mode: varint + name: string + offset_x: i8 + offset_y: i8 + offset_z: i8 + size_x: i8 + size_y: i8 + size_z: i8 + mirror: varint + rotation: varint + metadata: string + integrity: f32 + seed: varint + flags: u8 # MC: ServerboundSignUpdatePacket packet_update_sign: location: position @@ -2608,45 +2766,7 @@ packet_use_item: hand: varint sequence: varint - # MC: ServerboundSeenAdvancementsPacket - packet_advancement_tab: - action: varint - tabId: action ? - if 0: string - if 1: void - # MC: ServerboundPongPacket - packet_pong: - id: i32 - # MC: ServerboundChatSessionUpdatePacket - packet_chat_session_update: - sessionUUID: UUID - expireTime: i64 - publicKey: [ - "buffer", - { - "countType": "varint" - } - ] - signature: [ - "buffer", - { - "countType": "varint" - } - ] - # MC: ServerboundChunkBatchReceivedPacket - packet_chunk_batch_received: - chunksPerTick: f32 - # MC: ServerboundConfigurationAcknowledgedPacket - packet_configuration_acknowledged: - # Empty - # MC: ServerboundPingRequestPacket - packet_ping_request: - id: i64 - # MC: ServerboundContainerSlotStateChangedPacket - packet_set_slot_state: - slot_id: varint - window_id: varint - state: bool + packet: name: varint => - teleport_confirm @@ -2654,6 +2774,7 @@ - set_difficulty - message_acknowledgement - chat_command + - chat_command_signed - chat_message - chat_session_update - chunk_batch_received @@ -2665,7 +2786,9 @@ - window_click - close_window - set_slot_state + - cookie_response - custom_payload + - debug_sample_subscription - edit_book - query_entity_nbt - use_entity @@ -2710,13 +2833,19 @@ if set_difficulty: packet_set_difficulty if message_acknowledgement: packet_message_acknowledgement if chat_command: packet_chat_command + if chat_command_signed: packet_chat_command_signed if chat_message: packet_chat_message + if chat_session_update: packet_chat_session_update + if chunk_batch_received: packet_chunk_batch_received if client_command: packet_client_command if settings: packet_settings if tab_complete: packet_tab_complete + if configuration_acknowledged: packet_configuration_acknowledged if enchant_item: packet_enchant_item if window_click: packet_window_click if close_window: packet_close_window + if set_slot_state: packet_set_slot_state + if cookie_response: packet_common_cookie_response if custom_payload: packet_custom_payload if edit_book: packet_edit_book if query_entity_nbt: packet_query_entity_nbt @@ -2731,13 +2860,13 @@ if vehicle_move: packet_vehicle_move if steer_boat: packet_steer_boat if pick_item: packet_pick_item + if ping_request: packet_ping_request if craft_recipe_request: packet_craft_recipe_request if abilities: packet_abilities if block_dig: packet_block_dig if entity_action: packet_entity_action if steer_vehicle: packet_steer_vehicle if pong: packet_pong - if chat_session_update: packet_chat_session_update if recipe_book: packet_recipe_book if displayed_recipe: packet_displayed_recipe if name_item: packet_name_item @@ -2755,8 +2884,4 @@ if arm_animation: packet_arm_animation if spectate: packet_spectate if block_place: packet_block_place - if use_item: packet_use_item - if chunk_batch_received: packet_chunk_batch_received - if configuration_acknowledged: packet_configuration_acknowledged - if ping_request: packet_ping_request - if set_slot_state: packet_set_slot_state + if use_item: packet_use_item \ No newline at end of file From b1ea4c0df4789e7f3eb225982229d9ec00dc063d Mon Sep 17 00:00:00 2001 From: extremeheat Date: Fri, 19 Jul 2024 14:03:50 -0400 Subject: [PATCH 03/19] fix data --- README.md | 9 ++ data/pc/1.20.5/enchantments.json | 84 +++++------ data/pc/1.20.5/items.json | 248 ------------------------------- 3 files changed, 51 insertions(+), 290 deletions(-) diff --git a/README.md b/README.md index ad518555e..feb138f4d 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,16 @@ These are the projects that use minecraft-data: ## Extraction +### Java Edition + The recommended way to extract the data is documented at [add-data-new-version.md](https://github.com/PrismarineJS/minecraft-data/blob/master/doc/add-data-new-version.md). + +The [minecraft-data-auto-updater](https://github.com/PrismarineJS/minecraft-data-auto-updater) calls [minecraft-data-generator-server](https://github.com/PrismarineJS/minecraft-data-generator-server). + +### Bedrock Edition + +See [bedrock.md](./doc/bedrock.md) for information on updating data. + Specifically, [minecraft-data-auto-updater](https://github.com/PrismarineJS/minecraft-data-auto-updater) calls [minecraft-data-generator-server](https://github.com/PrismarineJS/minecraft-data-generator-server) Projects that provide data: diff --git a/data/pc/1.20.5/enchantments.json b/data/pc/1.20.5/enchantments.json index 941a27044..3b52dfd6b 100644 --- a/data/pc/1.20.5/enchantments.json +++ b/data/pc/1.20.5/enchantments.json @@ -20,7 +20,7 @@ "projectile_protection" ], "category": "armor", - "weight": false, + "weight": 10, "tradeable": true, "discoverable": true }, @@ -45,7 +45,7 @@ "projectile_protection" ], "category": "armor", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -66,7 +66,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -91,7 +91,7 @@ "projectile_protection" ], "category": "armor", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -116,7 +116,7 @@ "blast_protection" ], "category": "armor", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -137,7 +137,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -158,7 +158,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -179,7 +179,7 @@ "curse": false, "exclude": [], "category": "armor", - "weight": false, + "weight": 1, "tradeable": true, "discoverable": true }, @@ -202,7 +202,7 @@ "frost_walker" ], "category": "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -225,7 +225,7 @@ "depth_strider" ], "category": "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "weight": true, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -246,7 +246,7 @@ "curse": true, "exclude": [], "category": "wearable", - "weight": true, + "weight": 1, "tradeable": true, "discoverable": true }, @@ -267,7 +267,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "weight": true, + "weight": 1, "tradeable": false, "discoverable": false }, @@ -288,7 +288,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/leg_armor]", - "weight": true, + "weight": 1, "tradeable": false, "discoverable": false }, @@ -313,7 +313,7 @@ "impaling" ], "category": "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", - "weight": false, + "weight": 10, "tradeable": true, "discoverable": true }, @@ -338,7 +338,7 @@ "impaling" ], "category": "weapon", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -363,7 +363,7 @@ "impaling" ], "category": "weapon", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -384,7 +384,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/sword]", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -405,7 +405,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/fire_aspect]", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -428,7 +428,7 @@ "silk_touch" ], "category": "tagkey[minecraft:item / minecraft:enchantable/sword]", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -449,7 +449,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/sword]", - "weight": false, + "weight": 3, "tradeable": true, "discoverable": true }, @@ -470,7 +470,7 @@ "curse": false, "exclude": [], "category": "digger", - "weight": false, + "weight": 10, "tradeable": true, "discoverable": true }, @@ -495,7 +495,7 @@ "luck_of_the_sea" ], "category": "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "weight": false, + "weight": 1, "tradeable": true, "discoverable": true }, @@ -516,7 +516,7 @@ "curse": false, "exclude": [], "category": "breakable", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -539,7 +539,7 @@ "silk_touch" ], "category": "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -560,7 +560,7 @@ "curse": false, "exclude": [], "category": "bow", - "weight": false, + "weight": 10, "tradeable": true, "discoverable": true }, @@ -581,7 +581,7 @@ "curse": false, "exclude": [], "category": "bow", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -602,7 +602,7 @@ "curse": false, "exclude": [], "category": "bow", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -625,7 +625,7 @@ "mending" ], "category": "bow", - "weight": false, + "weight": 1, "tradeable": true, "discoverable": true }, @@ -648,7 +648,7 @@ "silk_touch" ], "category": "fishing_rod", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -669,7 +669,7 @@ "curse": false, "exclude": [], "category": "fishing_rod", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -692,7 +692,7 @@ "riptide" ], "category": "trident", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -717,7 +717,7 @@ "bane_of_arthropods" ], "category": "trident", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -741,7 +741,7 @@ "channeling" ], "category": "trident", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -764,7 +764,7 @@ "riptide" ], "category": "trident", - "weight": false, + "weight": 1, "tradeable": true, "discoverable": true }, @@ -787,7 +787,7 @@ "piercing" ], "category": "crossbow", - "weight": false, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -808,7 +808,7 @@ "curse": false, "exclude": [], "category": "crossbow", - "weight": false, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -831,7 +831,7 @@ "multishot" ], "category": "crossbow", - "weight": false, + "weight": 10, "tradeable": true, "discoverable": true }, @@ -852,7 +852,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/mace]", - "weight": false, + "weight": 0, "tradeable": true, "discoverable": true }, @@ -873,7 +873,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/mace]", - "weight": false, + "weight": 0, "tradeable": true, "discoverable": true }, @@ -894,7 +894,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/mace]", - "weight": false, + "weight": 0, "tradeable": false, "discoverable": false }, @@ -917,7 +917,7 @@ "infinity" ], "category": "breakable", - "weight": true, + "weight": 2, "tradeable": true, "discoverable": true }, @@ -938,7 +938,7 @@ "curse": true, "exclude": [], "category": "vanishable", - "weight": true, + "weight": 1, "tradeable": true, "discoverable": true } diff --git a/data/pc/1.20.5/items.json b/data/pc/1.20.5/items.json index 2d7a15886..80cd1ac86 100644 --- a/data/pc/1.20.5/items.json +++ b/data/pc/1.20.5/items.json @@ -4635,7 +4635,6 @@ "displayName": "Carrot on a Stick", "stackSize": 1, "enchantCategories": [ - "breakable", "breakable", "vanishable" ], @@ -4647,7 +4646,6 @@ "displayName": "Warped Fungus on a Stick", "stackSize": 1, "enchantCategories": [ - "breakable", "breakable", "vanishable" ], @@ -4661,7 +4659,6 @@ "enchantCategories": [ "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -4795,16 +4792,10 @@ "displayName": "Turtle Shell", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", "armor", "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -4836,7 +4827,6 @@ "displayName": "Flint and Steel", "stackSize": 1, "enchantCategories": [ - "breakable", "breakable", "vanishable" ], @@ -4856,10 +4846,6 @@ "enchantCategories": [ "breakable", "bow", - "bow", - "bow", - "bow", - "breakable", "vanishable" ], "maxDurability": 1 @@ -4968,12 +4954,8 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "tagkey[minecraft:item / minecraft:enchantable/sword]", "tagkey[minecraft:item / minecraft:enchantable/fire_aspect]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "breakable", "breakable", "vanishable" ], @@ -5001,8 +4983,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5029,8 +5009,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5056,12 +5034,9 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5088,8 +5063,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5115,12 +5088,8 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "tagkey[minecraft:item / minecraft:enchantable/sword]", "tagkey[minecraft:item / minecraft:enchantable/fire_aspect]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "breakable", "breakable", "vanishable" ], @@ -5140,8 +5109,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5160,8 +5127,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5179,12 +5144,9 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5203,8 +5165,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5222,12 +5182,8 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "tagkey[minecraft:item / minecraft:enchantable/sword]", "tagkey[minecraft:item / minecraft:enchantable/fire_aspect]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "breakable", "breakable", "vanishable" ], @@ -5245,8 +5201,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5263,8 +5217,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5280,12 +5232,9 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5302,8 +5251,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5319,12 +5266,8 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "tagkey[minecraft:item / minecraft:enchantable/sword]", "tagkey[minecraft:item / minecraft:enchantable/fire_aspect]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "breakable", "breakable", "vanishable" ], @@ -5342,8 +5285,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5360,8 +5301,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5377,12 +5316,9 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5399,8 +5335,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5416,12 +5350,8 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "tagkey[minecraft:item / minecraft:enchantable/sword]", "tagkey[minecraft:item / minecraft:enchantable/fire_aspect]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "breakable", "breakable", "vanishable" ], @@ -5439,8 +5369,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5457,8 +5385,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5474,12 +5400,9 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5496,8 +5419,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5513,12 +5434,8 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "tagkey[minecraft:item / minecraft:enchantable/sword]", "tagkey[minecraft:item / minecraft:enchantable/fire_aspect]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "tagkey[minecraft:item / minecraft:enchantable/sword]", - "breakable", "breakable", "vanishable" ], @@ -5536,8 +5453,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5554,8 +5469,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5571,12 +5484,9 @@ "enchantCategories": [ "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]", "weapon", - "weapon", "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5593,8 +5503,6 @@ "digger", "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", "breakable", - "tagkey[minecraft:item / minecraft:enchantable/mining_loot]", - "breakable", "vanishable" ], "repairWith": [ @@ -5662,16 +5570,10 @@ "displayName": "Leather Cap", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", "armor", "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5685,14 +5587,9 @@ "displayName": "Leather Tunic", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5706,15 +5603,10 @@ "displayName": "Leather Pants", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "tagkey[minecraft:item / minecraft:enchantable/leg_armor]", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5728,17 +5620,9 @@ "displayName": "Leather Boots", "stackSize": 1, "enchantCategories": [ - "armor", "armor", "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "armor", - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "wearable", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "breakable", "breakable", "vanishable" ], @@ -5753,16 +5637,10 @@ "displayName": "Chainmail Helmet", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", "armor", "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5776,14 +5654,9 @@ "displayName": "Chainmail Chestplate", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5797,15 +5670,10 @@ "displayName": "Chainmail Leggings", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "tagkey[minecraft:item / minecraft:enchantable/leg_armor]", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5820,16 +5688,8 @@ "stackSize": 1, "enchantCategories": [ "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "armor", - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "wearable", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "breakable", "breakable", "vanishable" ], @@ -5845,15 +5705,9 @@ "stackSize": 1, "enchantCategories": [ "armor", - "armor", - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/head_armor]", "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5867,14 +5721,9 @@ "displayName": "Iron Chestplate", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5888,15 +5737,10 @@ "displayName": "Iron Leggings", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "tagkey[minecraft:item / minecraft:enchantable/leg_armor]", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5910,17 +5754,9 @@ "displayName": "Iron Boots", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "armor", - "armor", "armor", "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "wearable", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "breakable", "breakable", "vanishable" ], @@ -5935,16 +5771,10 @@ "displayName": "Diamond Helmet", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", "armor", "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5958,14 +5788,9 @@ "displayName": "Diamond Chestplate", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -5979,15 +5804,10 @@ "displayName": "Diamond Leggings", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "tagkey[minecraft:item / minecraft:enchantable/leg_armor]", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -6002,16 +5822,8 @@ "stackSize": 1, "enchantCategories": [ "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "armor", - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "wearable", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "breakable", "breakable", "vanishable" ], @@ -6027,15 +5839,9 @@ "stackSize": 1, "enchantCategories": [ "armor", - "armor", - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/head_armor]", "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -6049,14 +5855,9 @@ "displayName": "Golden Chestplate", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -6070,15 +5871,10 @@ "displayName": "Golden Leggings", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "tagkey[minecraft:item / minecraft:enchantable/leg_armor]", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -6093,16 +5889,8 @@ "stackSize": 1, "enchantCategories": [ "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "armor", - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "wearable", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "breakable", "breakable", "vanishable" ], @@ -6118,15 +5906,9 @@ "stackSize": 1, "enchantCategories": [ "armor", - "armor", - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/head_armor]", "tagkey[minecraft:item / minecraft:enchantable/head_armor]", - "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -6140,14 +5922,9 @@ "displayName": "Netherite Chestplate", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -6161,15 +5938,10 @@ "displayName": "Netherite Leggings", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "armor", - "armor", "armor", "wearable", "tagkey[minecraft:item / minecraft:enchantable/leg_armor]", "breakable", - "breakable", "vanishable" ], "repairWith": [ @@ -6183,17 +5955,9 @@ "displayName": "Netherite Boots", "stackSize": 1, "enchantCategories": [ - "armor", - "armor", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "armor", - "armor", "armor", "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", "wearable", - "tagkey[minecraft:item / minecraft:enchantable/foot_armor]", - "breakable", "breakable", "vanishable" ], @@ -6519,8 +6283,6 @@ "enchantCategories": [ "breakable", "fishing_rod", - "fishing_rod", - "breakable", "vanishable" ], "maxDurability": 1 @@ -6839,7 +6601,6 @@ "enchantCategories": [ "digger", "breakable", - "breakable", "vanishable" ], "maxDurability": 1 @@ -7946,7 +7707,6 @@ "displayName": "Shield", "stackSize": 1, "enchantCategories": [ - "breakable", "breakable", "vanishable" ], @@ -8105,10 +7865,6 @@ "enchantCategories": [ "breakable", "trident", - "trident", - "trident", - "trident", - "breakable", "vanishable" ], "maxDurability": 1 @@ -8139,9 +7895,6 @@ "enchantCategories": [ "breakable", "crossbow", - "crossbow", - "crossbow", - "breakable", "vanishable" ], "maxDurability": 1 @@ -8602,7 +8355,6 @@ "displayName": "Brush", "stackSize": 1, "enchantCategories": [ - "breakable", "breakable", "vanishable" ], From e8d31f6140a9786f3b67947ef1cffce13191ee1f Mon Sep 17 00:00:00 2001 From: extremeheat Date: Fri, 19 Jul 2024 14:08:21 -0400 Subject: [PATCH 04/19] ench fix --- data/pc/1.20.5/enchantments.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/pc/1.20.5/enchantments.json b/data/pc/1.20.5/enchantments.json index 3b52dfd6b..c2fbc59f1 100644 --- a/data/pc/1.20.5/enchantments.json +++ b/data/pc/1.20.5/enchantments.json @@ -852,7 +852,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/mace]", - "weight": 0, + "weight": 5, "tradeable": true, "discoverable": true }, @@ -873,7 +873,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/mace]", - "weight": 0, + "weight": 4, "tradeable": true, "discoverable": true }, @@ -894,7 +894,7 @@ "curse": false, "exclude": [], "category": "tagkey[minecraft:item / minecraft:enchantable/mace]", - "weight": 0, + "weight": 3, "tradeable": false, "discoverable": false }, From 05a854f6dbd07a493c260653529d088a0fdcfde9 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Fri, 19 Jul 2024 20:46:17 -0400 Subject: [PATCH 05/19] Update proto.yml start work on items --- data/pc/latest/proto.yml | 147 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 145 insertions(+), 2 deletions(-) diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index c73bd8e48..d6d2fb5e4 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -56,7 +56,150 @@ if 0: void default: itemId: varint - nbtData: anonOptionalNbt +# https://wiki.vg/Slot_Data#Structured_components +# + public static final DataComponentType CUSTOM_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); +# + public static final IntComponentType MAX_STACK_SIZE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final IntComponentType MAX_DAMAGE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final IntComponentType DAMAGE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final BooleanComponentType UNBREAKABLE = new BooleanComponentType(ByteBuf::readBoolean, ByteBuf::writeBoolean, BooleanDataComponent::new); +# + public static final DataComponentType CUSTOM_NAME = new DataComponentType<>(ItemCodecHelper::readComponent, ItemCodecHelper::writeComponent, ObjectDataComponent::new); +# + public static final DataComponentType ITEM_NAME = new DataComponentType<>(ItemCodecHelper::readComponent, ItemCodecHelper::writeComponent, ObjectDataComponent::new); +# + public static final DataComponentType> LORE = new DataComponentType<>(listReader(ItemCodecHelper::readComponent), listWriter(ItemCodecHelper::writeComponent), ObjectDataComponent::new); +# + public static final IntComponentType RARITY = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final DataComponentType ENCHANTMENTS = new DataComponentType<>(ItemCodecHelper::readItemEnchantments, ItemCodecHelper::writeItemEnchantments, ObjectDataComponent::new); +# + public static final DataComponentType CAN_PLACE_ON = new DataComponentType<>(ItemCodecHelper::readAdventureModePredicate, ItemCodecHelper::writeAdventureModePredicate, ObjectDataComponent::new); +# + public static final DataComponentType CAN_BREAK = new DataComponentType<>(ItemCodecHelper::readAdventureModePredicate, ItemCodecHelper::writeAdventureModePredicate, ObjectDataComponent::new); +# + public static final DataComponentType ATTRIBUTE_MODIFIERS = new DataComponentType<>(ItemCodecHelper::readItemAttributeModifiers, ItemCodecHelper::writeItemAttributeModifiers, ObjectDataComponent::new); +# + public static final IntComponentType CUSTOM_MODEL_DATA = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final DataComponentType HIDE_ADDITIONAL_TOOLTIP = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new); +# + public static final DataComponentType HIDE_TOOLTIP = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new); +# + public static final IntComponentType REPAIR_COST = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final DataComponentType CREATIVE_SLOT_LOCK = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new); +# + public static final BooleanComponentType ENCHANTMENT_GLINT_OVERRIDE = new BooleanComponentType(ByteBuf::readBoolean, ByteBuf::writeBoolean, BooleanDataComponent::new); +# + public static final DataComponentType INTANGIBLE_PROJECTILE = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); +# + public static final DataComponentType FOOD = new DataComponentType<>(ItemCodecHelper::readFoodProperties, ItemCodecHelper::writeFoodProperties, ObjectDataComponent::new); +# + public static final DataComponentType FIRE_RESISTANT = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new); +# + public static final DataComponentType TOOL = new DataComponentType<>(ItemCodecHelper::readToolData, ItemCodecHelper::writeToolData, ObjectDataComponent::new); +# + public static final DataComponentType STORED_ENCHANTMENTS = new DataComponentType<>(ItemCodecHelper::readItemEnchantments, ItemCodecHelper::writeItemEnchantments, ObjectDataComponent::new); +# + public static final DataComponentType DYED_COLOR = new DataComponentType<>(ItemCodecHelper::readDyedItemColor, ItemCodecHelper::writeDyedItemColor, ObjectDataComponent::new); +# + public static final IntComponentType MAP_COLOR = new IntComponentType((helper, input) -> input.readInt(), (helper, output, value) -> output.writeInt(value), IntDataComponent::new); +# + public static final IntComponentType MAP_ID = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final DataComponentType MAP_DECORATIONS = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); +# + public static final IntComponentType MAP_POST_PROCESSING = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final DataComponentType> CHARGED_PROJECTILES = new DataComponentType<>(listReader(ItemCodecHelper::readItemStack), listWriter(ItemCodecHelper::writeItemStack), ObjectDataComponent::new); +# + public static final DataComponentType> BUNDLE_CONTENTS = new DataComponentType<>(listReader(ItemCodecHelper::readItemStack), listWriter(ItemCodecHelper::writeItemStack), ObjectDataComponent::new); +# + public static final DataComponentType POTION_CONTENTS = new DataComponentType<>(ItemCodecHelper::readPotionContents, ItemCodecHelper::writePotionContents, ObjectDataComponent::new); +# + public static final DataComponentType> SUSPICIOUS_STEW_EFFECTS = new DataComponentType<>(listReader(ItemCodecHelper::readStewEffect), listWriter(ItemCodecHelper::writeStewEffect), ObjectDataComponent::new); +# + public static final DataComponentType WRITABLE_BOOK_CONTENT = new DataComponentType<>(ItemCodecHelper::readWritableBookContent, ItemCodecHelper::writeWritableBookContent, ObjectDataComponent::new); +# + public static final DataComponentType WRITTEN_BOOK_CONTENT = new DataComponentType<>(ItemCodecHelper::readWrittenBookContent, ItemCodecHelper::writeWrittenBookContent, ObjectDataComponent::new); +# + public static final DataComponentType TRIM = new DataComponentType<>(ItemCodecHelper::readArmorTrim, ItemCodecHelper::writeArmorTrim, ObjectDataComponent::new); +# + public static final DataComponentType DEBUG_STICK_STATE = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); +# + public static final DataComponentType ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); +# + public static final DataComponentType BUCKET_ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); +# + public static final DataComponentType BLOCK_ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); +# + public static final DataComponentType> INSTRUMENT = new DataComponentType<>(ItemCodecHelper::readInstrument, ItemCodecHelper::writeInstrument, ObjectDataComponent::new); +# + public static final IntComponentType OMINOUS_BOTTLE_AMPLIFIER = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final DataComponentType RECIPES = new DataComponentType<>(ItemCodecHelper::readRecipes, ItemCodecHelper::writeRecipes, ObjectDataComponent::new); +# + public static final DataComponentType LODESTONE_TRACKER = new DataComponentType<>(ItemCodecHelper::readLodestoneTarget, ItemCodecHelper::writeLodestoneTarget, ObjectDataComponent::new); +# + public static final DataComponentType FIREWORK_EXPLOSION = new DataComponentType<>(ItemCodecHelper::readFireworkExplosion, ItemCodecHelper::writeFireworkExplosion, ObjectDataComponent::new); +# + public static final DataComponentType FIREWORKS = new DataComponentType<>(ItemCodecHelper::readFireworks, ItemCodecHelper::writeFireworks, ObjectDataComponent::new); +# + public static final DataComponentType PROFILE = new DataComponentType<>(ItemCodecHelper::readResolvableProfile, ItemCodecHelper::writeResolvableProfile, ObjectDataComponent::new); +# + public static final DataComponentType NOTE_BLOCK_SOUND = new DataComponentType<>(ItemCodecHelper::readResourceLocation, ItemCodecHelper::writeResourceLocation, ObjectDataComponent::new); +# + public static final DataComponentType> BANNER_PATTERNS = new DataComponentType<>(listReader(ItemCodecHelper::readBannerPatternLayer), listWriter(ItemCodecHelper::writeBannerPatternLayer), ObjectDataComponent::new); +# + public static final IntComponentType BASE_COLOR = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new); +# + public static final DataComponentType> POT_DECORATIONS = new DataComponentType<>(listReader(ItemCodecHelper::readVarInt), listWriter(ItemCodecHelper::writeVarInt), ObjectDataComponent::new); +# + public static final DataComponentType> CONTAINER = new DataComponentType<>(listReader(ItemCodecHelper::readOptionalItemStack), listWriter(MinecraftCodecHelper::writeOptionalItemStack), ObjectDataComponent::new); +# + public static final DataComponentType BLOCK_STATE = new DataComponentType<>(ItemCodecHelper::readBlockStateProperties, ItemCodecHelper::writeBlockStateProperties, ObjectDataComponent::new); +# + public static final DataComponentType> BEES = new DataComponentType<>(listReader(ItemCodecHelper::readBeehiveOccupant), listWriter(ItemCodecHelper::writeBeehiveOccupant), ObjectDataComponent::new); +# + public static final DataComponentType LOCK = new DataComponentType<>(ItemCodecHelper::readLock, ItemCodecHelper::writeLock, ObjectDataComponent::new); +# + public static final DataComponentType CONTAINER_LOOT = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); + components: []varint + type: varint => + - custom_data + - max_stack_size + - max_damage + - damage + - unbreakable + - custom_name + - item_name + - lore + - rarity + - enchantments + - can_place_on + - can_break + - attribute_modifiers + - custom_model_data + - hide_additional_tooltip + - hide_tooltip + - creative_slot_lock + - enchantment_glint_override + - intangible_projectile + - food + - fire_resistant + - tool + - stored_enchantments + - dyed_color + - map_color + - map_id + - map_decorations + - map_post_processing + - charged_projectiles + - bundle_contents + - potion_contents + - suspicious_stew_effects + - writable_book_content + - written_book_content + - trim + - debug_stick_state + - entity_data + - bucket_entity_data + - block_entity_data + - instrument + - ominous_bottle_amplifier + - jukebox_playable + - recipes + - lodestone_tracker + - firework_explosion + - fireworks + - profile + - note_block_sound + - banner_patterns + - base_color + - pot_decorations + - container + - block_state + - bees + - lock + - container_loot + data: type ? + # TODO: look into how nbt works here + if custom_data: anonOptionalNbt + if max_stack_size: varint + if max_damage: varint + if damage: varint + if unbreakable: bool + if custom_name: anonOptionalNbt + if item_name: anonOptionalNbt + if lore: anonOptionalNbt[]varint + if rarity: varint + if enchantments: + enchantments: []varint + id: varint + level: varint + showTooltip: bool + if can_place_on: + predicates: []varint + hasBlocks: bool + blockSet?: []varint + type: varint + name: type ? + if 0: string + default: void + # TODO: This will require a custom type ; we need type - 1 length of blockIds + blockIds: type ? + if 0: void + default: varint[]varint + Particle: # See client/net/minecraft/core/particles/ParticleTypes.java type: varint => @@ -2884,4 +3027,4 @@ if arm_animation: packet_arm_animation if spectate: packet_spectate if block_place: packet_block_place - if use_item: packet_use_item \ No newline at end of file + if use_item: packet_use_item From b4b3dad2604224bb8e596b0fc3cd2d2260fb9b25 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Sat, 10 Aug 2024 19:03:47 -0400 Subject: [PATCH 06/19] progress --- data/pc/latest/proto.yml | 76 ++++++++++++++++++++++++++++++++++------ 1 file changed, 66 insertions(+), 10 deletions(-) diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index d6d2fb5e4..5cb4c68e7 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -189,16 +189,72 @@ showTooltip: bool if can_place_on: predicates: []varint - hasBlocks: bool - blockSet?: []varint - type: varint - name: type ? - if 0: string - default: void - # TODO: This will require a custom type ; we need type - 1 length of blockIds - blockIds: type ? - if 0: void - default: varint[]varint + blockSet?: BlockSet[]varint + properties?: BlockProperty[]varint + nbt: anonOptionalNbt + showTooltip: bool + if can_break: + predicates: []varint + blockSet?: BlockSet[]varint + properties?: BlockProperty[]varint + nbt: anonOptionalNbt + showTooltip: bool + if attribute_modifiers: + attributes: []varint + typeId: varint + uniqueId: uuid + name: string + value: f64 + operation: varint => + - add + - multiply_base + - multiply_total + slot: varint => + - any + - main_hand + - off_hand + - hand + - feet + - legs + - chest + - head + - armor + - body + showTooltip: bool + if custom_model_data: varint + if hide_additional_tooltip: void + if hide_tooltip: void + if repair_cost: varint + if creative_slot_lock: void + if enchantment_glint_override: bool + if intangible_projectile: void + + + + + + BlockSet: + type: varint + name: type ? + if 0: string + default: void + # TODO: This will require a custom type ; we need type - 1 length of blockIds + blockIds: type ? + if 0: void + #default: varint[]varint + default: ["arrayWithLengthOffset", {"count": "type", "type": "varint"}] + + BlockProperty: + # Name of the block state property. + name: string + # Whether this is an exact value match, as opposed to ranged. + isExactMatch: bool + # Value of the block state property. Only present in exact match mode. + exactValue?: string + # Minimum value of the block state property range. Only present in ranged match mode. + minValue?: string + # Maximum value of the block state property range. Only present in ranged match mode. + maxValue?: string Particle: # See client/net/minecraft/core/particles/ParticleTypes.java From db8da06a5fb2a1ec1eac1728f50362674981a60a Mon Sep 17 00:00:00 2001 From: extremeheat Date: Wed, 14 Aug 2024 20:38:22 -0400 Subject: [PATCH 07/19] progress --- data/pc/latest/proto.yml | 120 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 118 insertions(+), 2 deletions(-) diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index 5cb4c68e7..4786c3d6c 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -228,10 +228,126 @@ if creative_slot_lock: void if enchantment_glint_override: bool if intangible_projectile: void - +# Name Type Description +# Nutrition VarInt Non-negative +# Saturation Modifier Float How much saturation will be given after consuming the item. +# Can Always Eat Boolean Whether the item can always be eaten, even at full hunger. +# Seconds To Eat Float How long it takes to consume the item. +# Using converts to Slot Data This specifies the item produced after consuming the current item. In the Notchian server, this is used for stews, which turn into bowls. Set this to Air if the item should be consumed normally without leaving any other item after. +# Number of effects VarInt Number of elements in the following array. +# Effect Type ID Array Potion Effect The potion effect. See Potion Effect. +# Probability Float The probability for this effect to be chosen. + if food: + nutrition: varint + saturationModifier: f32 + canAlwaysEat: bool + secondsToEat: f32 + usingConvertsTo: Slot + effects: []varint + effect: varint + probability: f32 + if fire_resistant: void +# Name Type Description +# Number of Rules VarInt The number of elements in the following array. +# Rule + # Blocks Array Block Set The block this rule applies to. See Block Set. + # Has Speed Boolean + # Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true. + # Has Correct Drop For Blocks Boolean + # Correct Drop For Blocks Optional Boolean Whether items should drop only if this is the correct tool. Only present if Has Correct Drop For Blocks is true. +# Default Mining Speed Float The mining speed in case none of the previous rule were matched. +# Damage Per Block VarInt The amount of damage the item takes per block break. + if tool: + rules: []varint + blocks: BlockSet[]varint + hasSpeed: bool + speed: f32 + hasCorrectDropForBlocks: bool + correctDropForBlocks: bool + defaultMiningSpeed: f32 + damagePerBlock: varint +# Name Type Description +# Number of enchantments VarInt Number of elements in the following array. +# Enchantment Type ID Array VarInt Enum The ID of the enchantment in the enchantment registry. +# Level VarInt The level of the enchantment. +# Show In Tooltip Boolean Whether the list of enchantments should be shown on the item's tooltip. + if stored_enchantments: + enchantments: []varint + id: varint + level: varint + showInTooltip: bool + if dyed_color: + color: varint + showTooltip: bool + if map_color: varint + if map_id: varint + if map_decorations: anonOptionalNbt + if map_post_processing: varint + if charged_projectiles: + projectiles: Slot[]varint + if bundle_contents: + contents: Slot[]varint +# Name Type Description +# Has Potion ID Boolean Whether this potion has an ID in the potion registry. If true, it has the default effects associated with the potion type. +# Potion ID Optional VarInt The ID of the potion type in the potion registry. Only present if Has Potion ID is true. +# Has Custom Color Boolean Whether this potion has a custom color. If false, it uses the default color associated with the potion type. +# Custom Color Optional Int The RGB components of the color, encoded as an integer. Only present if Has Custom Color is true. +# Number Of Custom Effects VarInt The number of elements in the following array. +# Custom Effects Array of Potion Effect Any custom effects the potion might have. See Potion Effect. + if potion_contents: + hasPotionId: bool + potionId: optvarint + hasCustomColor: bool + customColor: optvarint + customEffects: []varint + effect: varint + details: EffectDetail +# Name Type Description +# Number Of Effects VarInt Number of elements in the following array. +# Effect Type ID Array VarInt Enum The ID of the effect in the potion effect type registry. +# Duration VarInt The duration of the effect. + if suspicious_stew_effects: + effects: []varint + effect: varint + duration: varint +# Name Type Description +# Number Of Pages VarInt Number of elements in the following array. +# Page Raw Content Array (100) String (1024) The raw text of the page. +# Has Filtered Content Boolean +# Filtered Content Optional String (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. + if writable_book_content: + pages: BookPage[]varint +# Name Type Description +# Raw Title String (32) The raw title of the book. +# Has Filtered Title Boolean +# Filtered Title Optional String (32) The title after going through chat filters. Only present if Has Filtered Title is true. +# Author String +# Generation VarInt +# Number Of Pages VarInt Number of elements in the following array. +# Page Raw Content Array (100) TextComponent (1024) The raw text of the page. +# Has Filtered Content Boolean +# Filtered Content Optional Text Component (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. +# Resolved Boolean Whether entity selectors have already been resolved. + if written_book_content: + rawTitle: string + filteredTitle?: string + author: string + generation: varint + pages: BookPage[]varint + # Whether entity selectors have already been resolved. + resolved: bool + BookPage: + content: string + filteredContent?: string - + EffectDetail: + amplifier: varint + duration: varint + ambient: bool + showParticles: bool + showIcon: bool + hiddenEffect?: EffectDetail BlockSet: type: varint From 01a20a7a8fcf58efcb0d49b6ea5fe6d6ead45113 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Fri, 23 Aug 2024 04:57:45 -0400 Subject: [PATCH 08/19] Update proto.yml progress --- data/pc/latest/proto.yml | 221 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 207 insertions(+), 14 deletions(-) diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index 4786c3d6c..53bf2a688 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -50,6 +50,7 @@ x: f64 y: f64 z: f64 + Slot: itemCount: i8 _: itemCount ? @@ -173,13 +174,13 @@ - container_loot data: type ? # TODO: look into how nbt works here - if custom_data: anonOptionalNbt + if custom_data: anonymousNbt if max_stack_size: varint if max_damage: varint if damage: varint if unbreakable: bool - if custom_name: anonOptionalNbt - if item_name: anonOptionalNbt + if custom_name: anonymousNbt + if item_name: anonymousNbt if lore: anonOptionalNbt[]varint if rarity: varint if enchantments: @@ -187,17 +188,8 @@ id: varint level: varint showTooltip: bool - if can_place_on: - predicates: []varint - blockSet?: BlockSet[]varint - properties?: BlockProperty[]varint - nbt: anonOptionalNbt - showTooltip: bool - if can_break: - predicates: []varint - blockSet?: BlockSet[]varint - properties?: BlockProperty[]varint - nbt: anonOptionalNbt + if can_place_on or can_break: + predicates: BlockPredicate[]varint showTooltip: bool if attribute_modifiers: attributes: []varint @@ -336,6 +328,202 @@ pages: BookPage[]varint # Whether entity selectors have already been resolved. resolved: bool +# Name Type Description +# Trim Material Type VarInt Identifier used to determine the data that follows. It can be either: +# 0 - Directly represents a trim material, with the necessary data following. +# Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1. +# Asset Name Optional String See Armor Trim Material Registry. Only present if Trim Material Type is 0. +# Ingredient Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. +# Item Model Index Optional Float See Armor Trim Material Registry. Only present if Trim Material Type is 0. +# Number of Overrides Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. +# Override Armor Material Type Optional Array VarInt Enum See Armor Trim Material Registry. Only present if Trim Material Type is 0. +# Overriden Asset Name String See Armor Trim Material Registry. Only present if Trim Material Type is 0. +# Description Optional Text Component See Armor Trim Material Registry. Only present if Trim Material Type is 0. +# Trim Pattern Type VarInt Identifier used to determine the data that follows. It can be either: +# 0 - Directly represents a trim pattern, with the necessary data following. +# Anything else - References a trim pattern in its registry, by the ID of Trim Pattern Type - 1. +# Asset Name Optional String See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. +# Template Item Optional VarInt See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. +# Description Optional Text Component See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. +# Decal Optional Boolean See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. +# Show In Tooltip Boolean Whether the trim information should be shown on the item's tooltip. + if trim: + # Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a trim material, with the necessary data following. + # Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1. + materialType: varint + _: materialType ? + if 0: + assetName: string + ingredientId: varint + itemModelIndex: f32 + numberOfOverrides: optvarint + override: []varint + armorMaterialType: varint + overridenAssetName: string + description: string + trimPatternType: varint + _: trimPatternType ? + if 0: + assetName: string + templateItem: varint + description: string + decal: bool + showInTooltip: bool + if debug_stick_state: anonymousNbt + if entity_data: anonymousNbt + if bucket_entity_data: anonymousNbt + if block_entity_data: anonymousNbt +# Name Type Description +# Instrument Type VarInt Identifier used to determine the data that follows. It can be either: +# 0 - Directly represents an instrument, with the necessary data following. +# Anything else - References an instrument in its registry, by the ID of Instrument Type - 1. +# Sound Event Optional Sound Event The sound to be played. Only present if Instrument Type is 0. +# Use duration Optional Float The maximum range of the sound. Only present if Instrument Type is 0. +# Range Optional Float The range of the instrument. Only present if Instrument Type is 0. + if instrument: + instrumentType: varint + _: instrumentType ? + if 0: + soundEvent: string + useDuration: f32 + range: f32 + if ominous_bottle_amplifier: varint +# Name Type Description +# Direct Mode Boolean Whether the jukebox song is specified directly, or just referenced by name. +# Jukebox Song Name Optional Identifier The name of the jukebox song in its respective registry. Only present if Direct Mode is false. +# Jukebox Song Type Optional VarInt Identifier used to determine the data that follows. It can be either: +# 0 - Directly represents a jukebox song, with the necessary data following. +# Anything else - References a jukebox song in its registry, by the ID of Jukebox Song Type - 1. +# Only present if Direct Mode is true. + +# Sound Event Optional Sound Event The sound to be played. Only present if Direct Mode is true and Jukebox Song Type is 0. +# Description Optional Text Component The description shown in the item lore. Only present if Direct Mode is true and Jukebox Song Type is 0. +# Duration Optional Float The duration the songs should play for, in seconds. Only present if Direct Mode is true and Jukebox Song Type is 0. +# Output Optional VarInt The output strength given by a comparator. Between 0 and 15. Only present if Direct Mode is true and Jukebox Song Type is 0. +# Show In Tooltip Boolean Whether the song should be shown on the item's tooltip. + if jukebox_playable: + directMode: bool + _: directMode ? + if false: + jukeboxSongName: string + jukeboxSongType: varint + _: jukeboxSongType ? + if 0: + soundEvent: + soundEventType: varint + _: soundEventType ? + if 0: + soundName: string + fixedRange?: f32 + description: anonymousNbt + duration: f32 + output: varint + showInTooltip: bool + if recipes: anonymousNbt +# Name Type Description +# Has Global Position Boolean Whether this lodestone points to a position, otherwise it spins randomly. +# Dimension Identifier The dimension the compass points to. Only present if Has Global Position is true. +# Position Position The position the compass points to. Only present if Has Global Position is true. +# Tracked Boolean Whether the component is removed when the associated lodestone is broken. + if lodestone_tracker: + globalPosition?: + dimension: string + position: vec3f + tracked: bool +# Name Type Description +# Shape VarInt Enum Can be one of the following: +# 0 - Small ball +# 1 - Large ball +# 2 - Star +# 3 - Creeper +# 4 - Burst +# Number Of Colors VarInt The number of elements in the following array. +# Colors Array of Int The RGB components of the color, encoded as an integer. +# Number Of Fade Colors VarInt The number of elements in the following array. +# Fade Colors Array of Int The RGB components of the color, encoded as an integer. +# Has Trail Boolean +# Has Twinkle Boolean + if firework_explosion: FireworkExplosion + if fireworks: + flightDuration: varint + explosions: FireworkExplosion[]varint +# Name Type Description +# Has Name Boolean +# Name Optional String (16) Only present if Has Name is true. +# Has Unique ID Boolean +# Unique ID Optional UUID Only present if Has Unique ID is true. +# Number of Properties VarInt Number of elements in the following array. +# Property Name Array String (64) +# Value String +# Has Signature Boolean +# Signature String (1024) Only present if Has Signature is true. + if profile: + hasName: bool + name: string + hasUniqueId: bool + uniqueId: UUID + properties: []varint + property: string + value: string + hasSignature: bool + signature: string + if note_block_sound: string +# Name Type Description +# Number of Layers VarInt Number of elements in the following array. +# Layer Pattern Type Array VarInt Identifier used to determine the data that follows. It can be either: +# 0 - Directly represents a pattern, with the necessary data following. +# Anything else - References a pattern in its registry, by the ID of Pattern Type - 1. +# Asset ID Optional Identifier Identifier of the asset. Only present if Pattern Type is 0. +# Translation Key Optional String Only present if Pattern Type is 0. +# Color Dye Color See Dye Color. + if banner_patterns: + layers: []varint + patternType: varint + _: patternType ? + if 0: + assetId: string + translationKey: string + color: varint + if base_color: varint + if pot_decorations: + # The ID of the items in the item registry. + decorations: varint[]varint + if container: + contents: Slot[]varint +# Name Type Description +# Number of Properties VarInt Number of elements in the following array. +# Property Name Array String +# Value String + if block_state: + properties: []varint + property: string + value: string +# Name Type Description +# Number of Bees VarInt Number of elements in the following array. +# Bee Entity Data Array NBT Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component. +# Ticks In Hive VarInt +# Min Ticks In Hive VarInt + if bees: + bees: []varint + nbtData: anonymousNbt + ticksInHive: varint + minTicksInHive: varint + if lock: anonymousNbt + if container_loot: anonymousNbt + + FireworkExplosion: + shape: varint => + - small_ball + - large_ball + - star + - creeper + - burst + colors: i32[]varint + fadeColors: i32[]varint + hasTrail: bool + hasTwinkle: bool + BookPage: content: string @@ -372,6 +560,11 @@ # Maximum value of the block state property range. Only present in ranged match mode. maxValue?: string + BlockPredicate: + blockSet?: BlockSet[]varint + properties?: BlockProperty[]varint + nbt: anonOptionalNbt + Particle: # See client/net/minecraft/core/particles/ParticleTypes.java type: varint => From 0804a8999382da12a3f8b51bc812d6b8fa32db3a Mon Sep 17 00:00:00 2001 From: extremeheat Date: Fri, 23 Aug 2024 09:03:18 +0000 Subject: [PATCH 09/19] update protocol.json --- data/pc/1.20.5/protocol.json | 1262 +++++++++++++++++++++++++++++++++- data/pc/latest/proto.yml | 1 - 2 files changed, 1260 insertions(+), 3 deletions(-) diff --git a/data/pc/1.20.5/protocol.json b/data/pc/1.20.5/protocol.json index 8df9ee2f5..b06481b77 100644 --- a/data/pc/1.20.5/protocol.json +++ b/data/pc/1.20.5/protocol.json @@ -119,8 +119,1059 @@ "type": "varint" }, { - "name": "nbtData", - "type": "anonOptionalNbt" + "name": "components", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "custom_data", + "1": "max_stack_size", + "2": "max_damage", + "3": "damage", + "4": "unbreakable", + "5": "custom_name", + "6": "item_name", + "7": "lore", + "8": "rarity", + "9": "enchantments", + "10": "can_place_on", + "11": "can_break", + "12": "attribute_modifiers", + "13": "custom_model_data", + "14": "hide_additional_tooltip", + "15": "hide_tooltip", + "16": "creative_slot_lock", + "17": "enchantment_glint_override", + "18": "intangible_projectile", + "19": "food", + "20": "fire_resistant", + "21": "tool", + "22": "stored_enchantments", + "23": "dyed_color", + "24": "map_color", + "25": "map_id", + "26": "map_decorations", + "27": "map_post_processing", + "28": "charged_projectiles", + "29": "bundle_contents", + "30": "potion_contents", + "31": "suspicious_stew_effects", + "32": "writable_book_content", + "33": "written_book_content", + "34": "trim", + "35": "debug_stick_state", + "36": "entity_data", + "37": "bucket_entity_data", + "38": "block_entity_data", + "39": "instrument", + "40": "ominous_bottle_amplifier", + "41": "jukebox_playable", + "42": "recipes", + "43": "lodestone_tracker", + "44": "firework_explosion", + "45": "fireworks", + "46": "profile", + "47": "note_block_sound", + "48": "banner_patterns", + "49": "base_color", + "50": "pot_decorations", + "51": "container", + "52": "block_state", + "53": "bees", + "54": "lock", + "55": "container_loot" + } + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "custom_data": "anonymousNbt", + "max_stack_size": "varint", + "max_damage": "varint", + "damage": "varint", + "unbreakable": "bool", + "custom_name": "anonymousNbt", + "item_name": "anonymousNbt", + "lore": [ + "array", + { + "countType": "varint", + "type": "anonOptionalNbt" + } + ], + "rarity": "varint", + "enchantments": [ + "container", + [ + { + "name": "enchantments", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "id", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ] + } + ] + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "can_place_on": [ + "container", + [ + { + "name": "predicates", + "type": [ + "array", + { + "countType": "varint", + "type": "BlockPredicate" + } + ] + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "can_break": [ + "container", + [ + { + "name": "predicates", + "type": [ + "array", + { + "countType": "varint", + "type": "BlockPredicate" + } + ] + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "attribute_modifiers": [ + "container", + [ + { + "name": "attributes", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "typeId", + "type": "varint" + }, + { + "name": "uniqueId", + "type": "uuid" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "operation", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "add", + "1": "multiply_base", + "2": "multiply_total" + } + } + ] + }, + { + "name": "slot", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "any", + "1": "main_hand", + "2": "off_hand", + "3": "hand", + "4": "feet", + "5": "legs", + "6": "chest", + "7": "head", + "8": "armor", + "9": "body" + } + } + ] + } + ] + ] + } + ] + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "custom_model_data": "varint", + "hide_additional_tooltip": "void", + "hide_tooltip": "void", + "repair_cost": "varint", + "creative_slot_lock": "void", + "enchantment_glint_override": "bool", + "intangible_projectile": "void", + "food": [ + "container", + [ + { + "name": "nutrition", + "type": "varint" + }, + { + "name": "saturationModifier", + "type": "f32" + }, + { + "name": "canAlwaysEat", + "type": "bool" + }, + { + "name": "secondsToEat", + "type": "f32" + }, + { + "name": "usingConvertsTo", + "type": "Slot" + }, + { + "name": "effects", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "effect", + "type": "varint" + }, + { + "name": "probability", + "type": "f32" + } + ] + ] + } + ] + } + ] + ], + "fire_resistant": "void", + "tool": [ + "container", + [ + { + "name": "rules", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "blocks", + "type": [ + "array", + { + "countType": "varint", + "type": "BlockSet" + } + ] + }, + { + "name": "hasSpeed", + "type": "bool" + }, + { + "name": "speed", + "type": "f32" + }, + { + "name": "hasCorrectDropForBlocks", + "type": "bool" + }, + { + "name": "correctDropForBlocks", + "type": "bool" + } + ] + ] + } + ] + }, + { + "name": "defaultMiningSpeed", + "type": "f32" + }, + { + "name": "damagePerBlock", + "type": "varint" + } + ] + ], + "stored_enchantments": [ + "container", + [ + { + "name": "enchantments", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "id", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ] + } + ] + }, + { + "name": "showInTooltip", + "type": "bool" + } + ] + ], + "dyed_color": [ + "container", + [ + { + "name": "color", + "type": "varint" + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "map_color": "varint", + "map_id": "varint", + "map_decorations": "anonOptionalNbt", + "map_post_processing": "varint", + "charged_projectiles": [ + "container", + [ + { + "name": "projectiles", + "type": [ + "array", + { + "countType": "varint", + "type": "Slot" + } + ] + } + ] + ], + "bundle_contents": [ + "container", + [ + { + "name": "contents", + "type": [ + "array", + { + "countType": "varint", + "type": "Slot" + } + ] + } + ] + ], + "potion_contents": [ + "container", + [ + { + "name": "hasPotionId", + "type": "bool" + }, + { + "name": "potionId", + "type": "optvarint" + }, + { + "name": "hasCustomColor", + "type": "bool" + }, + { + "name": "customColor", + "type": "optvarint" + }, + { + "name": "customEffects", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "effect", + "type": "varint" + }, + { + "name": "details", + "type": "EffectDetail" + } + ] + ] + } + ] + } + ] + ], + "suspicious_stew_effects": [ + "container", + [ + { + "name": "effects", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "effect", + "type": "varint" + }, + { + "name": "duration", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "writable_book_content": [ + "container", + [ + { + "name": "pages", + "type": [ + "array", + { + "countType": "varint", + "type": "BookPage" + } + ] + } + ] + ], + "written_book_content": [ + "container", + [ + { + "name": "rawTitle", + "type": "string" + }, + { + "name": "filteredTitle", + "type": [ + "option", + "string" + ] + }, + { + "name": "author", + "type": "string" + }, + { + "name": "generation", + "type": "varint" + }, + { + "name": "pages", + "type": [ + "array", + { + "countType": "varint", + "type": "BookPage" + } + ] + }, + { + "name": "resolved", + "type": "bool" + } + ] + ], + "trim": [ + "container", + [ + { + "name": "materialType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "materialType", + "fields": { + "0": [ + "container", + [ + { + "name": "assetName", + "type": "string" + }, + { + "name": "ingredientId", + "type": "varint" + }, + { + "name": "itemModelIndex", + "type": "f32" + }, + { + "name": "numberOfOverrides", + "type": "optvarint" + }, + { + "name": "override", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "armorMaterialType", + "type": "varint" + }, + { + "name": "overridenAssetName", + "type": "string" + } + ] + ] + } + ] + }, + { + "name": "description", + "type": "string" + } + ] + ] + } + } + ] + }, + { + "name": "trimPatternType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "trimPatternType", + "fields": { + "0": [ + "container", + [ + { + "name": "assetName", + "type": "string" + }, + { + "name": "templateItem", + "type": "varint" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "decal", + "type": "bool" + } + ] + ] + } + } + ] + }, + { + "name": "showInTooltip", + "type": "bool" + } + ] + ], + "debug_stick_state": "anonymousNbt", + "entity_data": "anonymousNbt", + "bucket_entity_data": "anonymousNbt", + "block_entity_data": "anonymousNbt", + "instrument": [ + "container", + [ + { + "name": "instrumentType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "instrumentType", + "fields": { + "0": [ + "container", + [ + { + "name": "soundEvent", + "type": "string" + }, + { + "name": "useDuration", + "type": "f32" + }, + { + "name": "range", + "type": "f32" + } + ] + ] + } + } + ] + } + ] + ], + "ominous_bottle_amplifier": "varint", + "jukebox_playable": [ + "container", + [ + { + "name": "directMode", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "directMode", + "fields": { + "false": [ + "container", + [ + { + "name": "jukeboxSongName", + "type": "string" + }, + { + "name": "jukeboxSongType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "jukeboxSongType", + "fields": { + "0": [ + "container", + [ + { + "name": "soundEvent", + "type": [ + "container", + [ + { + "name": "soundEventType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "soundEventType", + "fields": { + "0": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "fixedRange", + "type": [ + "option", + "f32" + ] + } + ] + ] + } + } + ] + } + ] + ] + }, + { + "name": "description", + "type": "anonymousNbt" + }, + { + "name": "duration", + "type": "f32" + }, + { + "name": "output", + "type": "varint" + } + ] + ] + } + } + ] + } + ] + ] + } + } + ] + }, + { + "name": "showInTooltip", + "type": "bool" + } + ] + ], + "recipes": "anonymousNbt", + "lodestone_tracker": [ + "container", + [ + { + "name": "globalPosition", + "type": [ + "option", + [ + "container", + [ + { + "name": "dimension", + "type": "string" + }, + { + "name": "position", + "type": "vec3f" + } + ] + ] + ] + }, + { + "name": "tracked", + "type": "bool" + } + ] + ], + "firework_explosion": "FireworkExplosion", + "fireworks": [ + "container", + [ + { + "name": "flightDuration", + "type": "varint" + }, + { + "name": "explosions", + "type": [ + "array", + { + "countType": "varint", + "type": "FireworkExplosion" + } + ] + } + ] + ], + "profile": [ + "container", + [ + { + "name": "hasName", + "type": "bool" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "hasUniqueId", + "type": "bool" + }, + { + "name": "uniqueId", + "type": "UUID" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "property", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "hasSignature", + "type": "bool" + }, + { + "name": "signature", + "type": "string" + } + ] + ] + } + ] + } + ] + ], + "note_block_sound": "string", + "banner_patterns": [ + "container", + [ + { + "name": "layers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "patternType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "patternType", + "fields": { + "0": [ + "container", + [ + { + "name": "assetId", + "type": "string" + }, + { + "name": "translationKey", + "type": "string" + } + ] + ] + } + } + ] + }, + { + "name": "color", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "base_color": "varint", + "pot_decorations": [ + "container", + [ + { + "name": "decorations", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "container": [ + "container", + [ + { + "name": "contents", + "type": [ + "array", + { + "countType": "varint", + "type": "Slot" + } + ] + } + ] + ], + "block_state": [ + "container", + [ + { + "name": "properties", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "property", + "type": "string" + }, + { + "name": "value", + "type": "string" + } + ] + ] + } + ] + } + ] + ], + "bees": [ + "container", + [ + { + "name": "bees", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "nbtData", + "type": "anonymousNbt" + }, + { + "name": "ticksInHive", + "type": "varint" + }, + { + "name": "minTicksInHive", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "lock": "anonymousNbt", + "container_loot": "anonymousNbt" + } + } + ] + } + ] + ] + } + ] } ] ] @@ -129,6 +1180,213 @@ } ] ], + "FireworkExplosion": [ + "container", + [ + { + "name": "shape", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "small_ball", + "1": "large_ball", + "2": "star", + "3": "creeper", + "4": "burst" + } + } + ] + }, + { + "name": "colors", + "type": [ + "array", + { + "countType": "varint", + "type": "i32" + } + ] + }, + { + "name": "fadeColors", + "type": [ + "array", + { + "countType": "varint", + "type": "i32" + } + ] + }, + { + "name": "hasTrail", + "type": "bool" + }, + { + "name": "hasTwinkle", + "type": "bool" + } + ] + ], + "BookPage": [ + "container", + [ + { + "name": "content", + "type": "string" + }, + { + "name": "filteredContent", + "type": [ + "option", + "string" + ] + } + ] + ], + "EffectDetail": [ + "container", + [ + { + "name": "amplifier", + "type": "varint" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "ambient", + "type": "bool" + }, + { + "name": "showParticles", + "type": "bool" + }, + { + "name": "showIcon", + "type": "bool" + }, + { + "name": "hiddenEffect", + "type": [ + "option", + "EffectDetail" + ] + } + ] + ], + "BlockSet": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "blockIds", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "0": "void" + }, + "default": [ + "arrayWithLengthOffset", + { + "count": "type", + "type": "varint" + } + ] + } + ] + } + ] + ], + "BlockProperty": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "isExactMatch", + "type": "bool" + }, + { + "name": "exactValue", + "type": [ + "option", + "string" + ] + }, + { + "name": "minValue", + "type": [ + "option", + "string" + ] + }, + { + "name": "maxValue", + "type": [ + "option", + "string" + ] + } + ] + ], + "BlockPredicate": [ + "container", + [ + { + "name": "blockSet", + "type": [ + "option", + [ + "array", + { + "countType": "varint", + "type": "BlockSet" + } + ] + ] + }, + { + "name": "properties", + "type": [ + "option", + [ + "array", + { + "countType": "varint", + "type": "BlockProperty" + } + ] + ] + }, + { + "name": "nbt", + "type": "anonOptionalNbt" + } + ] + ], "Particle": [ "container", [ diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index 53bf2a688..62c4c2fa4 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -523,7 +523,6 @@ fadeColors: i32[]varint hasTrail: bool hasTwinkle: bool - BookPage: content: string From 69075d06b5d03948edbb97ee28a8b000786ccb79 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Sun, 25 Aug 2024 05:28:44 +0000 Subject: [PATCH 10/19] fixes --- data/pc/1.20.5/protocol.json | 3 ++- data/pc/latest/proto.yml | 15 ++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/data/pc/1.20.5/protocol.json b/data/pc/1.20.5/protocol.json index b06481b77..f380fe7d9 100644 --- a/data/pc/1.20.5/protocol.json +++ b/data/pc/1.20.5/protocol.json @@ -28,6 +28,7 @@ "restBuffer": "native", "anonymousNbt": "native", "anonOptionalNbt": "native", + "arrayWithLengthOffset": "native", "ByteArray": [ "buffer", { @@ -303,7 +304,7 @@ }, { "name": "uniqueId", - "type": "uuid" + "type": "UUID" }, { "name": "name", diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index 62c4c2fa4..4450047d4 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -30,6 +30,7 @@ restBuffer: native anonymousNbt: native anonOptionalNbt: native + arrayWithLengthOffset: native ByteArray: ["buffer", { "countType": "varint" }] string: [ "pstring", @@ -194,7 +195,7 @@ if attribute_modifiers: attributes: []varint typeId: varint - uniqueId: uuid + uniqueId: UUID name: string value: f64 operation: varint => @@ -242,11 +243,11 @@ # Name Type Description # Number of Rules VarInt The number of elements in the following array. # Rule - # Blocks Array Block Set The block this rule applies to. See Block Set. - # Has Speed Boolean - # Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true. - # Has Correct Drop For Blocks Boolean - # Correct Drop For Blocks Optional Boolean Whether items should drop only if this is the correct tool. Only present if Has Correct Drop For Blocks is true. +# Blocks Array Block Set The block this rule applies to. See Block Set. +# Has Speed Boolean +# Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true. +# Has Correct Drop For Blocks Boolean +# Correct Drop For Blocks Optional Boolean Whether items should drop only if this is the correct tool. Only present if Has Correct Drop For Blocks is true. # Default Mining Speed Float The mining speed in case none of the previous rule were matched. # Damage Per Block VarInt The amount of damage the item takes per block break. if tool: @@ -503,7 +504,7 @@ # Number of Bees VarInt Number of elements in the following array. # Bee Entity Data Array NBT Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component. # Ticks In Hive VarInt -# Min Ticks In Hive VarInt +# Min Ticks In Hive VarInt if bees: bees: []varint nbtData: anonymousNbt From 87231b0909e537b0dce2ffeb7695461ffe32e989 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Sun, 25 Aug 2024 08:01:22 +0000 Subject: [PATCH 11/19] Slot fix --- data/pc/1.20.5/protocol.json | 157 ++++++++------ data/pc/latest/proto.yml | 392 ++++++++++++++++++----------------- 2 files changed, 292 insertions(+), 257 deletions(-) diff --git a/data/pc/1.20.5/protocol.json b/data/pc/1.20.5/protocol.json index f380fe7d9..2e9f0eba1 100644 --- a/data/pc/1.20.5/protocol.json +++ b/data/pc/1.20.5/protocol.json @@ -96,6 +96,70 @@ } ] ], + "SlotComponentType": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "custom_data", + "1": "max_stack_size", + "2": "max_damage", + "3": "damage", + "4": "unbreakable", + "5": "custom_name", + "6": "item_name", + "7": "lore", + "8": "rarity", + "9": "enchantments", + "10": "can_place_on", + "11": "can_break", + "12": "attribute_modifiers", + "13": "custom_model_data", + "14": "hide_additional_tooltip", + "15": "hide_tooltip", + "16": "creative_slot_lock", + "17": "enchantment_glint_override", + "18": "intangible_projectile", + "19": "food", + "20": "fire_resistant", + "21": "tool", + "22": "stored_enchantments", + "23": "dyed_color", + "24": "map_color", + "25": "map_id", + "26": "map_decorations", + "27": "map_post_processing", + "28": "charged_projectiles", + "29": "bundle_contents", + "30": "potion_contents", + "31": "suspicious_stew_effects", + "32": "writable_book_content", + "33": "written_book_content", + "34": "trim", + "35": "debug_stick_state", + "36": "entity_data", + "37": "bucket_entity_data", + "38": "block_entity_data", + "39": "instrument", + "40": "ominous_bottle_amplifier", + "41": "jukebox_playable", + "42": "recipes", + "43": "lodestone_tracker", + "44": "firework_explosion", + "45": "fireworks", + "46": "profile", + "47": "note_block_sound", + "48": "banner_patterns", + "49": "base_color", + "50": "pot_decorations", + "51": "container", + "52": "block_state", + "53": "bees", + "54": "lock", + "55": "container_loot" + } + } + ], "Slot": [ "container", [ @@ -119,81 +183,26 @@ "name": "itemId", "type": "varint" }, + { + "name": "addedComponentCount", + "type": "varint" + }, + { + "name": "removedComponentCount", + "type": "varint" + }, { "name": "components", "type": [ "array", { - "countType": "varint", + "count": "addedComponentCount", "type": [ "container", [ { "name": "type", - "type": [ - "mapper", - { - "type": "varint", - "mappings": { - "0": "custom_data", - "1": "max_stack_size", - "2": "max_damage", - "3": "damage", - "4": "unbreakable", - "5": "custom_name", - "6": "item_name", - "7": "lore", - "8": "rarity", - "9": "enchantments", - "10": "can_place_on", - "11": "can_break", - "12": "attribute_modifiers", - "13": "custom_model_data", - "14": "hide_additional_tooltip", - "15": "hide_tooltip", - "16": "creative_slot_lock", - "17": "enchantment_glint_override", - "18": "intangible_projectile", - "19": "food", - "20": "fire_resistant", - "21": "tool", - "22": "stored_enchantments", - "23": "dyed_color", - "24": "map_color", - "25": "map_id", - "26": "map_decorations", - "27": "map_post_processing", - "28": "charged_projectiles", - "29": "bundle_contents", - "30": "potion_contents", - "31": "suspicious_stew_effects", - "32": "writable_book_content", - "33": "written_book_content", - "34": "trim", - "35": "debug_stick_state", - "36": "entity_data", - "37": "bucket_entity_data", - "38": "block_entity_data", - "39": "instrument", - "40": "ominous_bottle_amplifier", - "41": "jukebox_playable", - "42": "recipes", - "43": "lodestone_tracker", - "44": "firework_explosion", - "45": "fireworks", - "46": "profile", - "47": "note_block_sound", - "48": "banner_patterns", - "49": "base_color", - "50": "pot_decorations", - "51": "container", - "52": "block_state", - "53": "bees", - "54": "lock", - "55": "container_loot" - } - } - ] + "type": "SlotComponentType" }, { "name": "data", @@ -1173,6 +1182,24 @@ ] } ] + }, + { + "name": "removeComponents", + "type": [ + "array", + { + "count": "removedComponentCount", + "type": [ + "container", + [ + { + "name": "type", + "type": "SlotComponentType" + } + ] + ] + } + ] } ] ] diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index 4450047d4..b757a59be 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -52,6 +52,64 @@ y: f64 z: f64 + SlotComponentType: varint => + - custom_data + - max_stack_size + - max_damage + - damage + - unbreakable + - custom_name + - item_name + - lore + - rarity + - enchantments + - can_place_on + - can_break + - attribute_modifiers + - custom_model_data + - hide_additional_tooltip + - hide_tooltip + - creative_slot_lock + - enchantment_glint_override + - intangible_projectile + - food + - fire_resistant + - tool + - stored_enchantments + - dyed_color + - map_color + - map_id + - map_decorations + - map_post_processing + - charged_projectiles + - bundle_contents + - potion_contents + - suspicious_stew_effects + - writable_book_content + - written_book_content + - trim + - debug_stick_state + - entity_data + - bucket_entity_data + - block_entity_data + - instrument + - ominous_bottle_amplifier + - jukebox_playable + - recipes + - lodestone_tracker + - firework_explosion + - fireworks + - profile + - note_block_sound + - banner_patterns + - base_color + - pot_decorations + - container + - block_state + - bees + - lock + - container_loot + Slot: itemCount: i8 _: itemCount ? @@ -115,64 +173,10 @@ # + public static final DataComponentType> BEES = new DataComponentType<>(listReader(ItemCodecHelper::readBeehiveOccupant), listWriter(ItemCodecHelper::writeBeehiveOccupant), ObjectDataComponent::new); # + public static final DataComponentType LOCK = new DataComponentType<>(ItemCodecHelper::readLock, ItemCodecHelper::writeLock, ObjectDataComponent::new); # + public static final DataComponentType CONTAINER_LOOT = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); - components: []varint - type: varint => - - custom_data - - max_stack_size - - max_damage - - damage - - unbreakable - - custom_name - - item_name - - lore - - rarity - - enchantments - - can_place_on - - can_break - - attribute_modifiers - - custom_model_data - - hide_additional_tooltip - - hide_tooltip - - creative_slot_lock - - enchantment_glint_override - - intangible_projectile - - food - - fire_resistant - - tool - - stored_enchantments - - dyed_color - - map_color - - map_id - - map_decorations - - map_post_processing - - charged_projectiles - - bundle_contents - - potion_contents - - suspicious_stew_effects - - writable_book_content - - written_book_content - - trim - - debug_stick_state - - entity_data - - bucket_entity_data - - block_entity_data - - instrument - - ominous_bottle_amplifier - - jukebox_playable - - recipes - - lodestone_tracker - - firework_explosion - - fireworks - - profile - - note_block_sound - - banner_patterns - - base_color - - pot_decorations - - container - - block_state - - bees - - lock - - container_loot + addedComponentCount: varint + removedComponentCount: varint + components: []$addedComponentCount + type: SlotComponentType data: type ? # TODO: look into how nbt works here if custom_data: anonymousNbt @@ -221,15 +225,15 @@ if creative_slot_lock: void if enchantment_glint_override: bool if intangible_projectile: void -# Name Type Description -# Nutrition VarInt Non-negative -# Saturation Modifier Float How much saturation will be given after consuming the item. -# Can Always Eat Boolean Whether the item can always be eaten, even at full hunger. -# Seconds To Eat Float How long it takes to consume the item. -# Using converts to Slot Data This specifies the item produced after consuming the current item. In the Notchian server, this is used for stews, which turn into bowls. Set this to Air if the item should be consumed normally without leaving any other item after. -# Number of effects VarInt Number of elements in the following array. -# Effect Type ID Array Potion Effect The potion effect. See Potion Effect. -# Probability Float The probability for this effect to be chosen. + # Name Type Description + # Nutrition VarInt Non-negative + # Saturation Modifier Float How much saturation will be given after consuming the item. + # Can Always Eat Boolean Whether the item can always be eaten, even at full hunger. + # Seconds To Eat Float How long it takes to consume the item. + # Using converts to Slot Data This specifies the item produced after consuming the current item. In the Notchian server, this is used for stews, which turn into bowls. Set this to Air if the item should be consumed normally without leaving any other item after. + # Number of effects VarInt Number of elements in the following array. + # Effect Type ID Array Potion Effect The potion effect. See Potion Effect. + # Probability Float The probability for this effect to be chosen. if food: nutrition: varint saturationModifier: f32 @@ -240,16 +244,16 @@ effect: varint probability: f32 if fire_resistant: void -# Name Type Description -# Number of Rules VarInt The number of elements in the following array. -# Rule -# Blocks Array Block Set The block this rule applies to. See Block Set. -# Has Speed Boolean -# Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true. -# Has Correct Drop For Blocks Boolean -# Correct Drop For Blocks Optional Boolean Whether items should drop only if this is the correct tool. Only present if Has Correct Drop For Blocks is true. -# Default Mining Speed Float The mining speed in case none of the previous rule were matched. -# Damage Per Block VarInt The amount of damage the item takes per block break. + # Name Type Description + # Number of Rules VarInt The number of elements in the following array. + # Rule + # Blocks Array Block Set The block this rule applies to. See Block Set. + # Has Speed Boolean + # Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true. + # Has Correct Drop For Blocks Boolean + # Correct Drop For Blocks Optional Boolean Whether items should drop only if this is the correct tool. Only present if Has Correct Drop For Blocks is true. + # Default Mining Speed Float The mining speed in case none of the previous rule were matched. + # Damage Per Block VarInt The amount of damage the item takes per block break. if tool: rules: []varint blocks: BlockSet[]varint @@ -259,11 +263,11 @@ correctDropForBlocks: bool defaultMiningSpeed: f32 damagePerBlock: varint -# Name Type Description -# Number of enchantments VarInt Number of elements in the following array. -# Enchantment Type ID Array VarInt Enum The ID of the enchantment in the enchantment registry. -# Level VarInt The level of the enchantment. -# Show In Tooltip Boolean Whether the list of enchantments should be shown on the item's tooltip. + # Name Type Description + # Number of enchantments VarInt Number of elements in the following array. + # Enchantment Type ID Array VarInt Enum The ID of the enchantment in the enchantment registry. + # Level VarInt The level of the enchantment. + # Show In Tooltip Boolean Whether the list of enchantments should be shown on the item's tooltip. if stored_enchantments: enchantments: []varint id: varint @@ -280,13 +284,13 @@ projectiles: Slot[]varint if bundle_contents: contents: Slot[]varint -# Name Type Description -# Has Potion ID Boolean Whether this potion has an ID in the potion registry. If true, it has the default effects associated with the potion type. -# Potion ID Optional VarInt The ID of the potion type in the potion registry. Only present if Has Potion ID is true. -# Has Custom Color Boolean Whether this potion has a custom color. If false, it uses the default color associated with the potion type. -# Custom Color Optional Int The RGB components of the color, encoded as an integer. Only present if Has Custom Color is true. -# Number Of Custom Effects VarInt The number of elements in the following array. -# Custom Effects Array of Potion Effect Any custom effects the potion might have. See Potion Effect. + # Name Type Description + # Has Potion ID Boolean Whether this potion has an ID in the potion registry. If true, it has the default effects associated with the potion type. + # Potion ID Optional VarInt The ID of the potion type in the potion registry. Only present if Has Potion ID is true. + # Has Custom Color Boolean Whether this potion has a custom color. If false, it uses the default color associated with the potion type. + # Custom Color Optional Int The RGB components of the color, encoded as an integer. Only present if Has Custom Color is true. + # Number Of Custom Effects VarInt The number of elements in the following array. + # Custom Effects Array of Potion Effect Any custom effects the potion might have. See Potion Effect. if potion_contents: hasPotionId: bool potionId: optvarint @@ -295,32 +299,32 @@ customEffects: []varint effect: varint details: EffectDetail -# Name Type Description -# Number Of Effects VarInt Number of elements in the following array. -# Effect Type ID Array VarInt Enum The ID of the effect in the potion effect type registry. -# Duration VarInt The duration of the effect. + # Name Type Description + # Number Of Effects VarInt Number of elements in the following array. + # Effect Type ID Array VarInt Enum The ID of the effect in the potion effect type registry. + # Duration VarInt The duration of the effect. if suspicious_stew_effects: effects: []varint effect: varint duration: varint -# Name Type Description -# Number Of Pages VarInt Number of elements in the following array. -# Page Raw Content Array (100) String (1024) The raw text of the page. -# Has Filtered Content Boolean -# Filtered Content Optional String (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. + # Name Type Description + # Number Of Pages VarInt Number of elements in the following array. + # Page Raw Content Array (100) String (1024) The raw text of the page. + # Has Filtered Content Boolean + # Filtered Content Optional String (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. if writable_book_content: pages: BookPage[]varint -# Name Type Description -# Raw Title String (32) The raw title of the book. -# Has Filtered Title Boolean -# Filtered Title Optional String (32) The title after going through chat filters. Only present if Has Filtered Title is true. -# Author String -# Generation VarInt -# Number Of Pages VarInt Number of elements in the following array. -# Page Raw Content Array (100) TextComponent (1024) The raw text of the page. -# Has Filtered Content Boolean -# Filtered Content Optional Text Component (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. -# Resolved Boolean Whether entity selectors have already been resolved. + # Name Type Description + # Raw Title String (32) The raw title of the book. + # Has Filtered Title Boolean + # Filtered Title Optional String (32) The title after going through chat filters. Only present if Has Filtered Title is true. + # Author String + # Generation VarInt + # Number Of Pages VarInt Number of elements in the following array. + # Page Raw Content Array (100) TextComponent (1024) The raw text of the page. + # Has Filtered Content Boolean + # Filtered Content Optional Text Component (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. + # Resolved Boolean Whether entity selectors have already been resolved. if written_book_content: rawTitle: string filteredTitle?: string @@ -329,25 +333,25 @@ pages: BookPage[]varint # Whether entity selectors have already been resolved. resolved: bool -# Name Type Description -# Trim Material Type VarInt Identifier used to determine the data that follows. It can be either: -# 0 - Directly represents a trim material, with the necessary data following. -# Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1. -# Asset Name Optional String See Armor Trim Material Registry. Only present if Trim Material Type is 0. -# Ingredient Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. -# Item Model Index Optional Float See Armor Trim Material Registry. Only present if Trim Material Type is 0. -# Number of Overrides Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. -# Override Armor Material Type Optional Array VarInt Enum See Armor Trim Material Registry. Only present if Trim Material Type is 0. -# Overriden Asset Name String See Armor Trim Material Registry. Only present if Trim Material Type is 0. -# Description Optional Text Component See Armor Trim Material Registry. Only present if Trim Material Type is 0. -# Trim Pattern Type VarInt Identifier used to determine the data that follows. It can be either: -# 0 - Directly represents a trim pattern, with the necessary data following. -# Anything else - References a trim pattern in its registry, by the ID of Trim Pattern Type - 1. -# Asset Name Optional String See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. -# Template Item Optional VarInt See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. -# Description Optional Text Component See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. -# Decal Optional Boolean See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. -# Show In Tooltip Boolean Whether the trim information should be shown on the item's tooltip. + # Name Type Description + # Trim Material Type VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a trim material, with the necessary data following. + # Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1. + # Asset Name Optional String See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Ingredient Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Item Model Index Optional Float See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Number of Overrides Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Override Armor Material Type Optional Array VarInt Enum See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Overriden Asset Name String See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Description Optional Text Component See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Trim Pattern Type VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a trim pattern, with the necessary data following. + # Anything else - References a trim pattern in its registry, by the ID of Trim Pattern Type - 1. + # Asset Name Optional String See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. + # Template Item Optional VarInt See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. + # Description Optional Text Component See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. + # Decal Optional Boolean See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. + # Show In Tooltip Boolean Whether the trim information should be shown on the item's tooltip. if trim: # Identifier used to determine the data that follows. It can be either: # 0 - Directly represents a trim material, with the necessary data following. @@ -375,13 +379,13 @@ if entity_data: anonymousNbt if bucket_entity_data: anonymousNbt if block_entity_data: anonymousNbt -# Name Type Description -# Instrument Type VarInt Identifier used to determine the data that follows. It can be either: -# 0 - Directly represents an instrument, with the necessary data following. -# Anything else - References an instrument in its registry, by the ID of Instrument Type - 1. -# Sound Event Optional Sound Event The sound to be played. Only present if Instrument Type is 0. -# Use duration Optional Float The maximum range of the sound. Only present if Instrument Type is 0. -# Range Optional Float The range of the instrument. Only present if Instrument Type is 0. + # Name Type Description + # Instrument Type VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents an instrument, with the necessary data following. + # Anything else - References an instrument in its registry, by the ID of Instrument Type - 1. + # Sound Event Optional Sound Event The sound to be played. Only present if Instrument Type is 0. + # Use duration Optional Float The maximum range of the sound. Only present if Instrument Type is 0. + # Range Optional Float The range of the instrument. Only present if Instrument Type is 0. if instrument: instrumentType: varint _: instrumentType ? @@ -390,19 +394,19 @@ useDuration: f32 range: f32 if ominous_bottle_amplifier: varint -# Name Type Description -# Direct Mode Boolean Whether the jukebox song is specified directly, or just referenced by name. -# Jukebox Song Name Optional Identifier The name of the jukebox song in its respective registry. Only present if Direct Mode is false. -# Jukebox Song Type Optional VarInt Identifier used to determine the data that follows. It can be either: -# 0 - Directly represents a jukebox song, with the necessary data following. -# Anything else - References a jukebox song in its registry, by the ID of Jukebox Song Type - 1. -# Only present if Direct Mode is true. + # Name Type Description + # Direct Mode Boolean Whether the jukebox song is specified directly, or just referenced by name. + # Jukebox Song Name Optional Identifier The name of the jukebox song in its respective registry. Only present if Direct Mode is false. + # Jukebox Song Type Optional VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a jukebox song, with the necessary data following. + # Anything else - References a jukebox song in its registry, by the ID of Jukebox Song Type - 1. + # Only present if Direct Mode is true. -# Sound Event Optional Sound Event The sound to be played. Only present if Direct Mode is true and Jukebox Song Type is 0. -# Description Optional Text Component The description shown in the item lore. Only present if Direct Mode is true and Jukebox Song Type is 0. -# Duration Optional Float The duration the songs should play for, in seconds. Only present if Direct Mode is true and Jukebox Song Type is 0. -# Output Optional VarInt The output strength given by a comparator. Between 0 and 15. Only present if Direct Mode is true and Jukebox Song Type is 0. -# Show In Tooltip Boolean Whether the song should be shown on the item's tooltip. + # Sound Event Optional Sound Event The sound to be played. Only present if Direct Mode is true and Jukebox Song Type is 0. + # Description Optional Text Component The description shown in the item lore. Only present if Direct Mode is true and Jukebox Song Type is 0. + # Duration Optional Float The duration the songs should play for, in seconds. Only present if Direct Mode is true and Jukebox Song Type is 0. + # Output Optional VarInt The output strength given by a comparator. Between 0 and 15. Only present if Direct Mode is true and Jukebox Song Type is 0. + # Show In Tooltip Boolean Whether the song should be shown on the item's tooltip. if jukebox_playable: directMode: bool _: directMode ? @@ -422,43 +426,43 @@ output: varint showInTooltip: bool if recipes: anonymousNbt -# Name Type Description -# Has Global Position Boolean Whether this lodestone points to a position, otherwise it spins randomly. -# Dimension Identifier The dimension the compass points to. Only present if Has Global Position is true. -# Position Position The position the compass points to. Only present if Has Global Position is true. -# Tracked Boolean Whether the component is removed when the associated lodestone is broken. + # Name Type Description + # Has Global Position Boolean Whether this lodestone points to a position, otherwise it spins randomly. + # Dimension Identifier The dimension the compass points to. Only present if Has Global Position is true. + # Position Position The position the compass points to. Only present if Has Global Position is true. + # Tracked Boolean Whether the component is removed when the associated lodestone is broken. if lodestone_tracker: globalPosition?: dimension: string position: vec3f tracked: bool -# Name Type Description -# Shape VarInt Enum Can be one of the following: -# 0 - Small ball -# 1 - Large ball -# 2 - Star -# 3 - Creeper -# 4 - Burst -# Number Of Colors VarInt The number of elements in the following array. -# Colors Array of Int The RGB components of the color, encoded as an integer. -# Number Of Fade Colors VarInt The number of elements in the following array. -# Fade Colors Array of Int The RGB components of the color, encoded as an integer. -# Has Trail Boolean -# Has Twinkle Boolean + # Name Type Description + # Shape VarInt Enum Can be one of the following: + # 0 - Small ball + # 1 - Large ball + # 2 - Star + # 3 - Creeper + # 4 - Burst + # Number Of Colors VarInt The number of elements in the following array. + # Colors Array of Int The RGB components of the color, encoded as an integer. + # Number Of Fade Colors VarInt The number of elements in the following array. + # Fade Colors Array of Int The RGB components of the color, encoded as an integer. + # Has Trail Boolean + # Has Twinkle Boolean if firework_explosion: FireworkExplosion if fireworks: flightDuration: varint explosions: FireworkExplosion[]varint -# Name Type Description -# Has Name Boolean -# Name Optional String (16) Only present if Has Name is true. -# Has Unique ID Boolean -# Unique ID Optional UUID Only present if Has Unique ID is true. -# Number of Properties VarInt Number of elements in the following array. -# Property Name Array String (64) -# Value String -# Has Signature Boolean -# Signature String (1024) Only present if Has Signature is true. + # Name Type Description + # Has Name Boolean + # Name Optional String (16) Only present if Has Name is true. + # Has Unique ID Boolean + # Unique ID Optional UUID Only present if Has Unique ID is true. + # Number of Properties VarInt Number of elements in the following array. + # Property Name Array String (64) + # Value String + # Has Signature Boolean + # Signature String (1024) Only present if Has Signature is true. if profile: hasName: bool name: string @@ -470,14 +474,14 @@ hasSignature: bool signature: string if note_block_sound: string -# Name Type Description -# Number of Layers VarInt Number of elements in the following array. -# Layer Pattern Type Array VarInt Identifier used to determine the data that follows. It can be either: -# 0 - Directly represents a pattern, with the necessary data following. -# Anything else - References a pattern in its registry, by the ID of Pattern Type - 1. -# Asset ID Optional Identifier Identifier of the asset. Only present if Pattern Type is 0. -# Translation Key Optional String Only present if Pattern Type is 0. -# Color Dye Color See Dye Color. + # Name Type Description + # Number of Layers VarInt Number of elements in the following array. + # Layer Pattern Type Array VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a pattern, with the necessary data following. + # Anything else - References a pattern in its registry, by the ID of Pattern Type - 1. + # Asset ID Optional Identifier Identifier of the asset. Only present if Pattern Type is 0. + # Translation Key Optional String Only present if Pattern Type is 0. + # Color Dye Color See Dye Color. if banner_patterns: layers: []varint patternType: varint @@ -492,26 +496,30 @@ decorations: varint[]varint if container: contents: Slot[]varint -# Name Type Description -# Number of Properties VarInt Number of elements in the following array. -# Property Name Array String -# Value String + # Name Type Description + # Number of Properties VarInt Number of elements in the following array. + # Property Name Array String + # Value String if block_state: properties: []varint property: string value: string -# Name Type Description -# Number of Bees VarInt Number of elements in the following array. -# Bee Entity Data Array NBT Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component. -# Ticks In Hive VarInt -# Min Ticks In Hive VarInt + # Name Type Description + # Number of Bees VarInt Number of elements in the following array. + # Bee Entity Data Array NBT + # Ticks In Hive VarInt + # Min Ticks In Hive VarInt if bees: bees: []varint + # Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component. nbtData: anonymousNbt ticksInHive: varint minTicksInHive: varint if lock: anonymousNbt if container_loot: anonymousNbt + removeComponents: []$removedComponentCount + type: SlotComponentType + FireworkExplosion: shape: varint => From 787b193640bd05393844317481cd7a12df0be425 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Sun, 25 Aug 2024 16:35:13 -0400 Subject: [PATCH 12/19] fix recipes+commands --- data/pc/1.20.5/protocol.json | 72 ++++++++++++++----- data/pc/latest/proto.yml | 131 +++++++++++++++++++++-------------- 2 files changed, 132 insertions(+), 71 deletions(-) diff --git a/data/pc/1.20.5/protocol.json b/data/pc/1.20.5/protocol.json index 2e9f0eba1..63bc1b4b7 100644 --- a/data/pc/1.20.5/protocol.json +++ b/data/pc/1.20.5/protocol.json @@ -2169,22 +2169,26 @@ "31": "minecraft:swizzle", "32": "minecraft:team", "33": "minecraft:item_slot", - "34": "minecraft:resource_location", - "35": "minecraft:function", - "36": "minecraft:entity_anchor", - "37": "minecraft:int_range", - "38": "minecraft:float_range", - "39": "minecraft:dimension", - "40": "minecraft:gamemode", - "41": "minecraft:time", - "42": "minecraft:resource_or_tag", - "43": "minecraft:resource_or_tag_key", - "44": "minecraft:resource", - "45": "minecraft:resource_key", - "46": "minecraft:template_mirror", - "47": "minecraft:template_rotation", - "48": "minecraft:heightmap", - "49": "minecraft:uuid" + "34": "minecraft:item_slots", + "35": "minecraft:resource_location", + "36": "minecraft:function", + "37": "minecraft:entity_anchor", + "38": "minecraft:int_range", + "39": "minecraft:float_range", + "40": "minecraft:dimension", + "41": "minecraft:gamemode", + "42": "minecraft:time", + "43": "minecraft:resource_or_tag", + "44": "minecraft:resource_or_tag_key", + "45": "minecraft:resource", + "46": "minecraft:resource_key", + "47": "minecraft:template_mirror", + "48": "minecraft:template_rotation", + "49": "minecraft:heightmap", + "50": "minecraft:loot_table", + "51": "minecraft:loot_predicate", + "52": "minecraft:loot_modifier", + "53": "minecraft:uuid" } } ] @@ -7096,12 +7100,42 @@ "container", [ { - "name": "type", + "name": "name", "type": "string" }, { - "name": "recipeId", - "type": "varint" + "name": "type", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "minecraft:crafting_shaped", + "1": "minecraft:crafting_shapeless", + "2": "minecraft:crafting_special_armordye", + "3": "minecraft:crafting_special_bookcloning", + "4": "minecraft:crafting_special_mapcloning", + "5": "minecraft:crafting_special_mapextending", + "6": "minecraft:crafting_special_firework_rocket", + "7": "minecraft:crafting_special_firework_star", + "8": "minecraft:crafting_special_firework_star_fade", + "9": "minecraft:crafting_special_tippedarrow", + "10": "minecraft:crafting_special_bannerduplicate", + "11": "minecraft:crafting_special_shielddecoration", + "12": "minecraft:crafting_special_shulkerboxcoloring", + "13": "minecraft:crafting_special_suspiciousstew", + "14": "minecraft:crafting_special_repairitem", + "15": "minecraft:smelting", + "16": "minecraft:blasting", + "17": "minecraft:smoking", + "18": "minecraft:campfire_cooking", + "19": "minecraft:stonecutting", + "20": "minecraft:smithing_transform", + "21": "minecraft:smithing_trim", + "22": "minecraft:crafting_decorated_pot" + } + } + ] }, { "name": "data", diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index b757a59be..f18e2a983 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -934,56 +934,60 @@ if 2: name: string parser: varint => - 0: brigadier:bool - 1: brigadier:float - 2: brigadier:double - 3: brigadier:integer - 4: brigadier:long - 5: brigadier:string - 6: minecraft:entity - 7: minecraft:game_profile - 8: minecraft:block_pos - 9: minecraft:column_pos - 10: minecraft:vec3 - 11: minecraft:vec2 - 12: minecraft:block_state - 13: minecraft:block_predicate - 14: minecraft:item_stack - 15: minecraft:item_predicate - 16: minecraft:color - 17: minecraft:component - 18: minecraft:style - 19: minecraft:message - 20: minecraft:nbt - 21: minecraft:nbt_tag - 22: minecraft:nbt_path - 23: minecraft:objective - 24: minecraft:objective_criteria - 25: minecraft:operation - 26: minecraft:particle - 27: minecraft:angle - 28: minecraft:rotation - 29: minecraft:scoreboard_slot - 30: minecraft:score_holder - 31: minecraft:swizzle - 32: minecraft:team - 33: minecraft:item_slot - 34: minecraft:resource_location - 35: minecraft:function - 36: minecraft:entity_anchor - 37: minecraft:int_range - 38: minecraft:float_range - 39: minecraft:dimension - 40: minecraft:gamemode - 41: minecraft:time - 42: minecraft:resource_or_tag - 43: minecraft:resource_or_tag_key - 44: minecraft:resource - 45: minecraft:resource_key - 46: minecraft:template_mirror - 47: minecraft:template_rotation - 48: minecraft:heightmap - 49: minecraft:uuid + - brigadier:bool + - brigadier:float + - brigadier:double + - brigadier:integer + - brigadier:long + - brigadier:string + - minecraft:entity + - minecraft:game_profile + - minecraft:block_pos + - minecraft:column_pos + - minecraft:vec3 + - minecraft:vec2 + - minecraft:block_state + - minecraft:block_predicate + - minecraft:item_stack + - minecraft:item_predicate + - minecraft:color + - minecraft:component + - minecraft:style + - minecraft:message + - minecraft:nbt + - minecraft:nbt_tag + - minecraft:nbt_path + - minecraft:objective + - minecraft:objective_criteria + - minecraft:operation + - minecraft:particle + - minecraft:angle + - minecraft:rotation + - minecraft:scoreboard_slot + - minecraft:score_holder + - minecraft:swizzle + - minecraft:team + - minecraft:item_slot + - minecraft:item_slots # 1.20.5 + - minecraft:resource_location + - minecraft:function + - minecraft:entity_anchor + - minecraft:int_range + - minecraft:float_range + - minecraft:dimension + - minecraft:gamemode + - minecraft:time + - minecraft:resource_or_tag + - minecraft:resource_or_tag_key + - minecraft:resource + - minecraft:resource_key + - minecraft:template_mirror + - minecraft:template_rotation + - minecraft:heightmap + - minecraft:loot_table # 1.20.5 + - minecraft:loot_predicate # 1.20.5 + - minecraft:loot_modifier # 1.20.5 + - minecraft:uuid properties: parser ? if brigadier:bool: void if brigadier:float: @@ -2657,8 +2661,31 @@ # MC: ClientboundUpdateRecipesPacket packet_declare_recipes: recipes: []varint - type: string - recipeId: varint + name: string + type: varint => + - minecraft:crafting_shaped + - minecraft:crafting_shapeless + - minecraft:crafting_special_armordye + - minecraft:crafting_special_bookcloning + - minecraft:crafting_special_mapcloning + - minecraft:crafting_special_mapextending + - minecraft:crafting_special_firework_rocket + - minecraft:crafting_special_firework_star + - minecraft:crafting_special_firework_star_fade + - minecraft:crafting_special_tippedarrow + - minecraft:crafting_special_bannerduplicate + - minecraft:crafting_special_shielddecoration + - minecraft:crafting_special_shulkerboxcoloring + - minecraft:crafting_special_suspiciousstew + - minecraft:crafting_special_repairitem + - minecraft:smelting + - minecraft:blasting + - minecraft:smoking + - minecraft:campfire_cooking + - minecraft:stonecutting + - minecraft:smithing_transform + - minecraft:smithing_trim + - minecraft:crafting_decorated_pot data: type ? if minecraft:crafting_shapeless: group: string From 1bc2cd9ed4ef26eac5775460538eec95f9cdb52c Mon Sep 17 00:00:00 2001 From: extremeheat Date: Thu, 29 Aug 2024 02:46:54 -0400 Subject: [PATCH 13/19] add 1.20.5 recipes --- data/dataPaths.json | 2 +- data/pc/1.20.5/recipes.json | 15144 ++++++++++++++++++++++++++++++++++ 2 files changed, 15145 insertions(+), 1 deletion(-) create mode 100644 data/pc/1.20.5/recipes.json diff --git a/data/dataPaths.json b/data/dataPaths.json index b7c465173..0463a8335 100644 --- a/data/dataPaths.json +++ b/data/dataPaths.json @@ -1404,7 +1404,7 @@ "effects": "pc/1.20.5", "items": "pc/1.20.5", "enchantments": "pc/1.20.5", - "recipes": "pc/1.20.3", + "recipes": "pc/1.20.5", "instruments": "pc/1.20.5", "materials": "pc/1.20.5", "language": "pc/1.20.5", diff --git a/data/pc/1.20.5/recipes.json b/data/pc/1.20.5/recipes.json new file mode 100644 index 000000000..066f4e940 --- /dev/null +++ b/data/pc/1.20.5/recipes.json @@ -0,0 +1,15144 @@ +{ + "1234": [ + { + "inShape": [ + [ + 1233, + 1233, + 1233 + ] + ], + "result": { + "id": 1234, + "count": 6 + } + } + ], + "350": [ + { + "inShape": [ + [ + 652 + ], + [ + 652 + ] + ], + "result": { + "id": 350, + "count": 1 + } + } + ], + "161": [ + { + "inShape": [ + [ + 151, + 151 + ], + [ + 151, + 151 + ] + ], + "result": { + "id": 161, + "count": 3 + } + } + ], + "1209": [ + { + "inShape": [ + [ + -1, + 810, + -1 + ], + [ + 1, + 1, + 1 + ] + ], + "result": { + "id": 1209, + "count": 1 + } + } + ], + "331": [ + { + "inShape": [ + [ + 802 + ], + [ + 847 + ], + [ + 326 + ] + ], + "result": { + "id": 331, + "count": 4 + } + } + ], + "520": [ + { + "inShape": [ + [ + 960, + 960, + 960 + ], + [ + 960, + 960, + 960 + ], + [ + 960, + 960, + 960 + ] + ], + "result": { + "id": 520, + "count": 1 + } + } + ], + "1272": [ + { + "inShape": [ + [ + 804, + 1272, + 804 + ], + [ + 804, + 377, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1272, + "count": 2 + } + } + ], + "313": [ + { + "inShape": [ + [ + 38, + 847, + 38 + ], + [ + 38, + 847, + 38 + ] + ], + "result": { + "id": 313, + "count": 3 + } + } + ], + "649": [ + { + "inShape": [ + [ + 519, + 519, + 519 + ] + ], + "result": { + "id": 649, + "count": 6 + } + } + ], + "760": [ + { + "inShape": [ + [ + 847, + 46, + 847 + ], + [ + 847, + 46, + 847 + ] + ], + "result": { + "id": 760, + "count": 1 + } + } + ], + "758": [ + { + "inShape": [ + [ + 847, + 44, + 847 + ], + [ + 847, + 44, + 847 + ] + ], + "result": { + "id": 758, + "count": 1 + } + } + ], + "1135": [ + { + "inShape": [ + [ + 204, + 204, + 204 + ], + [ + 204, + 204, + 204 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1135, + "count": 1 + } + } + ], + "397": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + 35, + 35 + ] + ], + "result": { + "id": 397, + "count": 6 + } + } + ], + "492": [ + { + "inShape": [ + [ + 476, + 476, + 476 + ], + [ + 476, + 476, + 476 + ] + ], + "result": { + "id": 492, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 949, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 492, + "count": 8 + } + } + ], + "757": [ + { + "inShape": [ + [ + 847, + 43, + 847 + ], + [ + 847, + 43, + 847 + ] + ], + "result": { + "id": 757, + "count": 1 + } + } + ], + "709": [ + { + "inShape": [ + [ + 46, + 46 + ] + ], + "result": { + "id": 709, + "count": 1 + } + } + ], + "128": [ + { + "inShape": [ + [ + 120, + 120, + 120 + ] + ], + "result": { + "id": 128, + "count": 6 + } + }, + { + "ingredients": [ + 108, + 1218 + ], + "result": { + "id": 128, + "count": 1 + } + } + ], + "81": [ + { + "inShape": [ + [ + 802, + 802, + 802 + ], + [ + 802, + 802, + 802 + ], + [ + 802, + 802, + 802 + ] + ], + "result": { + "id": 81, + "count": 1 + } + } + ], + "751": [ + { + "inShape": [ + [ + 847, + 37, + 847 + ], + [ + 847, + 37, + 847 + ] + ], + "result": { + "id": 751, + "count": 1 + } + } + ], + "857": [ + { + "inShape": [ + [ + 913, + -1, + 913 + ], + [ + 913, + 913, + 913 + ], + [ + 913, + 913, + 913 + ] + ], + "result": { + "id": 857, + "count": 1 + } + } + ], + "968": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 968, + "count": 1 + } + }, + { + "ingredients": [ + 948, + 979 + ], + "result": { + "id": 968, + "count": 1 + } + } + ], + "88": [ + { + "inShape": [ + [ + 810, + 810, + 810 + ], + [ + 810, + 810, + 810 + ], + [ + 810, + 810, + 810 + ] + ], + "result": { + "id": 88, + "count": 1 + } + } + ], + "1220": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 1218, + 1218, + 1218 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 1220, + "count": 1 + } + } + ], + "1101": [ + { + "inShape": [ + [ + 924, + 924, + 924 + ], + [ + 924, + 982, + 924 + ], + [ + 924, + 924, + 924 + ] + ], + "result": { + "id": 1101, + "count": 1 + } + }, + { + "inShape": [ + [ + 924, + 924, + 924 + ], + [ + 924, + 928, + 924 + ], + [ + 924, + 924, + 924 + ] + ], + "result": { + "id": 1101, + "count": 1 + } + } + ], + "887": [ + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 37, + 37, + 37 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 887, + "count": 3 + } + } + ], + "487": [ + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 944, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 487, + "count": 8 + } + }, + { + "inShape": [ + [ + 471, + 471, + 471 + ], + [ + 471, + 471, + 471 + ] + ], + "result": { + "id": 487, + "count": 16 + } + } + ], + "717": [ + { + "inShape": [ + [ + 42, + 42 + ], + [ + 42, + 42 + ], + [ + 42, + 42 + ] + ], + "result": { + "id": 717, + "count": 3 + } + } + ], + "168": [ + { + "inShape": [ + [ + 134, + 134 + ], + [ + 134, + 134 + ] + ], + "result": { + "id": 168, + "count": 3 + } + } + ], + "856": [ + { + "inShape": [ + [ + 913, + 913, + 913 + ], + [ + 913, + -1, + 913 + ] + ], + "result": { + "id": 856, + "count": 1 + } + } + ], + "967": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 967, + "count": 1 + } + }, + { + "ingredients": [ + 947, + 979 + ], + "result": { + "id": 967, + "count": 1 + } + } + ], + "47": [ + { + "inShape": [ + [ + 260 + ], + [ + 260 + ] + ], + "result": { + "id": 47, + "count": 1 + } + } + ], + "166": [ + { + "inShape": [ + [ + 132, + 132 + ], + [ + 132, + 132 + ] + ], + "result": { + "id": 166, + "count": 3 + } + } + ], + "656": [ + { + "inShape": [ + [ + 251, + 850, + 251 + ], + [ + 251, + -1, + 251 + ], + [ + 251, + -1, + 251 + ] + ], + "result": { + "id": 656, + "count": 6 + } + } + ], + "382": [ + { + "inShape": [ + [ + 805, + 805, + 805 + ], + [ + 805, + 805, + 805 + ], + [ + 805, + 805, + 805 + ] + ], + "result": { + "id": 382, + "count": 1 + } + } + ], + "884": [ + { + "inShape": [ + [ + 814, + 814, + 814 + ], + [ + 814, + 799, + 814 + ], + [ + 814, + 814, + 814 + ] + ], + "result": { + "id": 884, + "count": 1 + } + } + ], + "368": [ + { + "inShape": [ + [ + 273 + ], + [ + 273 + ] + ], + "result": { + "id": 368, + "count": 1 + } + } + ], + "839": [ + { + "inShape": [ + [ + 804, + 804, + 804 + ], + [ + -1, + 847, + -1 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 839, + "count": 1 + } + } + ], + "1096": [ + { + "inShape": [ + [ + 921, + -1, + 921 + ], + [ + -1, + 921, + -1 + ] + ], + "result": { + "id": 1096, + "count": 1 + } + } + ], + "489": [ + { + "inShape": [ + [ + 473, + 473, + 473 + ], + [ + 473, + 473, + 473 + ] + ], + "result": { + "id": 489, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 946, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 489, + "count": 8 + } + } + ], + "89": [ + { + "inShape": [ + [ + 812, + 812, + 812 + ], + [ + 812, + 812, + 812 + ], + [ + 812, + 812, + 812 + ] + ], + "result": { + "id": 89, + "count": 1 + } + } + ], + "370": [ + { + "inShape": [ + [ + 366, + -1, + -1 + ], + [ + 366, + 366, + -1 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "id": 370, + "count": 4 + } + } + ], + "929": [ + { + "inShape": [ + [ + 1264, + 1264, + 1264 + ], + [ + 1264, + 928, + 1264 + ], + [ + 1264, + 1264, + 1264 + ] + ], + "result": { + "id": 929, + "count": 1 + } + } + ], + "966": [ + { + "inShape": [ + [ + 204, + 204, + 204 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 966, + "count": 1 + } + }, + { + "ingredients": [ + 946, + 979 + ], + "result": { + "id": 966, + "count": 1 + } + } + ], + "832": [ + { + "inShape": [ + [ + 810 + ], + [ + 810 + ], + [ + 847 + ] + ], + "result": { + "id": 832, + "count": 1 + } + } + ], + "167": [ + { + "inShape": [ + [ + 133, + 133 + ], + [ + 133, + 133 + ] + ], + "result": { + "id": 167, + "count": 3 + } + } + ], + "484": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 957, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 484, + "count": 8 + } + } + ], + "312": [ + { + "inShape": [ + [ + 37, + 847, + 37 + ], + [ + 37, + 847, + 37 + ] + ], + "result": { + "id": 312, + "count": 3 + } + } + ], + "316": [ + { + "inShape": [ + [ + 41, + 847, + 41 + ], + [ + 41, + 847, + 41 + ] + ], + "result": { + "id": 316, + "count": 3 + } + } + ], + "641": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ] + ], + "result": { + "id": 641, + "count": 6 + } + } + ], + "648": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ] + ], + "result": { + "id": 648, + "count": 6 + } + } + ], + "280": [ + { + "inShape": [ + [ + 505, + 505, + 505 + ] + ], + "result": { + "id": 280, + "count": 6 + } + } + ], + "665": [ + { + "inShape": [ + [ + 1221, + 1221 + ], + [ + 1221, + 1221 + ] + ], + "result": { + "id": 665, + "count": 1 + } + } + ], + "433": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 950, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 433, + "count": 8 + } + } + ], + "125": [ + { + "inShape": [ + [ + 121, + -1, + -1 + ], + [ + 121, + 121, + -1 + ], + [ + 121, + 121, + 121 + ] + ], + "result": { + "id": 125, + "count": 4 + } + }, + { + "ingredients": [ + 105, + 1218 + ], + "result": { + "id": 125, + "count": 1 + } + } + ], + "472": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 945, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 472, + "count": 8 + } + } + ], + "109": [ + { + "inShape": [ + [ + 101, + 101, + 101 + ] + ], + "result": { + "id": 109, + "count": 6 + } + } + ], + "413": [ + { + "inShape": [ + [ + 1229, + 1229, + 1229 + ], + [ + 1229, + 1229, + 1229 + ] + ], + "result": { + "id": 413, + "count": 6 + } + } + ], + "304": [ + { + "inShape": [ + [ + 35, + -1, + -1 + ], + [ + 35, + 35, + -1 + ], + [ + 35, + 35, + 35 + ] + ], + "result": { + "id": 304, + "count": 4 + } + } + ], + "267": [ + { + "inShape": [ + [ + 193, + 193, + 193 + ] + ], + "result": { + "id": 267, + "count": 6 + } + } + ], + "640": [ + { + "inShape": [ + [ + 282, + 282, + 282 + ] + ], + "result": { + "id": 640, + "count": 6 + } + } + ], + "707": [ + { + "inShape": [ + [ + 44, + 44 + ] + ], + "result": { + "id": 707, + "count": 1 + } + } + ], + "716": [ + { + "inShape": [ + [ + 41, + 41 + ], + [ + 41, + 41 + ], + [ + 41, + 41 + ] + ], + "result": { + "id": 716, + "count": 3 + } + } + ], + "733": [ + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 38, + 38, + 38 + ] + ], + "result": { + "id": 733, + "count": 2 + } + } + ], + "110": [ + { + "inShape": [ + [ + 102, + 102, + 102 + ] + ], + "result": { + "id": 110, + "count": 6 + } + } + ], + "875": [ + { + "inShape": [ + [ + 814, + -1, + 814 + ], + [ + 814, + -1, + 814 + ] + ], + "result": { + "id": 875, + "count": 1 + } + } + ], + "715": [ + { + "inShape": [ + [ + 40, + 40 + ], + [ + 40, + 40 + ], + [ + 40, + 40 + ] + ], + "result": { + "id": 715, + "count": 3 + } + } + ], + "173": [ + { + "inShape": [ + [ + 139, + 139 + ], + [ + 139, + 139 + ] + ], + "result": { + "id": 173, + "count": 3 + } + } + ], + "329": [ + { + "inShape": [ + [ + 328, + 328 + ], + [ + 328, + 328 + ] + ], + "result": { + "id": 329, + "count": 4 + } + } + ], + "506": [ + { + "inShape": [ + [ + 503, + -1, + -1 + ], + [ + 503, + 503, + -1 + ], + [ + 503, + 503, + 503 + ] + ], + "result": { + "id": 506, + "count": 4 + } + } + ], + "620": [ + { + "inShape": [ + [ + 1187, + 1187, + 1187 + ], + [ + 1187, + 1188, + 1187 + ], + [ + 1187, + 1187, + 1187 + ] + ], + "result": { + "id": 620, + "count": 1 + } + } + ], + "639": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ] + ], + "result": { + "id": 639, + "count": 6 + } + } + ], + "831": [ + { + "inShape": [ + [ + 814, + 814 + ], + [ + -1, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 831, + "count": 1 + } + } + ], + "663": [ + { + "inShape": [ + [ + 926 + ], + [ + 662 + ] + ], + "result": { + "id": 663, + "count": 1 + } + } + ], + "1267": [ + { + "inShape": [ + [ + 804, + 1267, + 804 + ], + [ + 804, + 35, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1267, + "count": 2 + } + } + ], + "650": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ] + ], + "result": { + "id": 650, + "count": 6 + } + } + ], + "819": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + -1, + 847, + -1 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 819, + "count": 1 + } + } + ], + "761": [ + { + "inShape": [ + [ + 814, + -1, + 814 + ], + [ + 814, + 847, + 814 + ], + [ + 814, + 657, + 814 + ] + ], + "result": { + "id": 761, + "count": 6 + } + } + ], + "907": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 154, + 154, + 154 + ], + [ + 154, + 154, + 154 + ] + ], + "result": { + "id": 907, + "count": 6 + } + } + ], + "383": [ + { + "inShape": [ + [ + 36, + -1, + -1 + ], + [ + 36, + 36, + -1 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 383, + "count": 4 + } + } + ], + "1280": [ + { + "inShape": [ + [ + 804, + 1280, + 804 + ], + [ + 804, + 9, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1280, + "count": 2 + } + } + ], + "1235": [ + { + "inShape": [ + [ + 1233, + -1, + -1 + ], + [ + 1233, + 1233, + -1 + ], + [ + 1233, + 1233, + 1233 + ] + ], + "result": { + "id": 1235, + "count": 4 + } + } + ], + "483": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 956, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 483, + "count": 8 + } + } + ], + "847": [ + { + "inShape": [ + [ + 251 + ], + [ + 251 + ] + ], + "result": { + "id": 847, + "count": 1 + } + }, + { + "inShape": [ + [ + 36 + ], + [ + 36 + ] + ], + "result": { + "id": 847, + "count": 4 + } + } + ], + "189": [ + { + "inShape": [ + [ + -1, + 808, + -1 + ], + [ + 808, + 188, + 808 + ], + [ + -1, + 808, + -1 + ] + ], + "result": { + "id": 189, + "count": 2 + } + } + ], + "438": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 955, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 438, + "count": 8 + } + } + ], + "155": [ + { + "inShape": [ + [ + 145, + 145 + ], + [ + 145, + 145 + ] + ], + "result": { + "id": 155, + "count": 3 + } + } + ], + "191": [ + { + "inShape": [ + [ + 57, + 57 + ], + [ + 57, + 57 + ] + ], + "result": { + "id": 191, + "count": 1 + } + } + ], + "434": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 951, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 434, + "count": 8 + } + } + ], + "753": [ + { + "inShape": [ + [ + 847, + 39, + 847 + ], + [ + 847, + 39, + 847 + ] + ], + "result": { + "id": 753, + "count": 1 + } + } + ], + "661": [ + { + "inShape": [ + [ + -1, + 658, + -1 + ], + [ + 658, + 807, + 658 + ], + [ + 1, + 1, + 1 + ] + ], + "result": { + "id": 661, + "count": 1 + } + } + ], + "1223": [ + { + "inShape": [ + [ + 343, + 343, + 343 + ], + [ + 343, + 815, + 343 + ], + [ + 343, + 343, + 343 + ] + ], + "result": { + "id": 1223, + "count": 1 + } + } + ], + "660": [ + { + "inShape": [ + [ + 658, + 657, + 658 + ], + [ + 1, + 1, + 1 + ] + ], + "result": { + "id": 660, + "count": 1 + } + } + ], + "295": [ + { + "inShape": [ + [ + 1151, + 1151 + ], + [ + 1151, + 1151 + ] + ], + "result": { + "id": 295, + "count": 4 + } + } + ], + "1230": [ + { + "inShape": [ + [ + 1229, + 1229, + 1229 + ] + ], + "result": { + "id": 1230, + "count": 6 + } + } + ], + "627": [ + { + "inShape": [ + [ + 1, + -1, + -1 + ], + [ + 1, + 1, + -1 + ], + [ + 1, + 1, + 1 + ] + ], + "result": { + "id": 627, + "count": 4 + } + } + ], + "931": [ + { + "inShape": [ + [ + -1, + -1, + 847 + ], + [ + -1, + 847, + 850 + ], + [ + 847, + -1, + 850 + ] + ], + "result": { + "id": 931, + "count": 1 + } + } + ], + "923": [ + { + "inShape": [ + [ + 985, + 985, + 985 + ], + [ + 985, + 985, + 985 + ], + [ + 985, + 985, + 985 + ] + ], + "result": { + "id": 923, + "count": 1 + } + } + ], + "626": [ + { + "inShape": [ + [ + 378, + -1, + -1 + ], + [ + 378, + 378, + -1 + ], + [ + 378, + 378, + 378 + ] + ], + "result": { + "id": 626, + "count": 4 + } + } + ], + "866": [ + { + "inShape": [ + [ + 810, + 810, + 810 + ], + [ + 810, + -1, + 810 + ], + [ + 810, + -1, + 810 + ] + ], + "result": { + "id": 866, + "count": 1 + } + } + ], + "163": [ + { + "inShape": [ + [ + 153, + 153 + ], + [ + 153, + 153 + ] + ], + "result": { + "id": 163, + "count": 3 + } + } + ], + "455": [ + { + "inShape": [ + [ + 211, + 211 + ] + ], + "result": { + "id": 455, + "count": 3 + } + }, + { + "ingredients": [ + 953, + 461 + ], + "result": { + "id": 455, + "count": 1 + } + } + ], + "406": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "id": 406, + "count": 6 + } + } + ], + "1278": [ + { + "inShape": [ + [ + 804, + 1278, + 804 + ], + [ + 804, + 462, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1278, + "count": 2 + } + } + ], + "630": [ + { + "inShape": [ + [ + 2, + -1, + -1 + ], + [ + 2, + 2, + -1 + ], + [ + 2, + 2, + 2 + ] + ], + "result": { + "id": 630, + "count": 4 + } + } + ], + "436": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 953, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 436, + "count": 8 + } + } + ], + "512": [ + { + "inShape": [ + [ + 510, + 510 + ], + [ + 510, + 510 + ] + ], + "result": { + "id": 512, + "count": 4 + } + } + ], + "318": [ + { + "inShape": [ + [ + 43, + 847, + 43 + ], + [ + 43, + 847, + 43 + ] + ], + "result": { + "id": 318, + "count": 3 + } + } + ], + "396": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 1110, + 188 + ], + [ + 290, + 290, + 290 + ] + ], + "result": { + "id": 396, + "count": 1 + } + } + ], + "679": [ + { + "inShape": [ + [ + 852, + 57, + 852 + ], + [ + 57, + 852, + 57 + ], + [ + 852, + 57, + 852 + ] + ], + "result": { + "id": 679, + "count": 1 + } + } + ], + "972": [ + { + "inShape": [ + [ + 210, + 210, + 210 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 972, + "count": 1 + } + }, + { + "ingredients": [ + 952, + 979 + ], + "result": { + "id": 972, + "count": 1 + } + } + ], + "458": [ + { + "inShape": [ + [ + 214, + 214 + ] + ], + "result": { + "id": 458, + "count": 3 + } + }, + { + "ingredients": [ + 956, + 461 + ], + "result": { + "id": 458, + "count": 1 + } + } + ], + "714": [ + { + "inShape": [ + [ + 39, + 39 + ], + [ + 39, + 39 + ], + [ + 39, + 39 + ] + ], + "result": { + "id": 714, + "count": 3 + } + } + ], + "502": [ + { + "inShape": [ + [ + 486, + 486, + 486 + ], + [ + 486, + 486, + 486 + ] + ], + "result": { + "id": 502, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 959, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 502, + "count": 8 + } + } + ], + "279": [ + { + "inShape": [ + [ + 504, + 504, + 504 + ] + ], + "result": { + "id": 279, + "count": 6 + } + } + ], + "366": [ + { + "inShape": [ + [ + 1115, + 1115 + ], + [ + 1115, + 1115 + ] + ], + "result": { + "id": 366, + "count": 1 + } + } + ], + "457": [ + { + "inShape": [ + [ + 213, + 213 + ] + ], + "result": { + "id": 457, + "count": 3 + } + }, + { + "ingredients": [ + 955, + 461 + ], + "result": { + "id": 457, + "count": 1 + } + } + ], + "719": [ + { + "inShape": [ + [ + 44, + 44 + ], + [ + 44, + 44 + ], + [ + 44, + 44 + ] + ], + "result": { + "id": 719, + "count": 3 + } + } + ], + "865": [ + { + "inShape": [ + [ + 810, + -1, + 810 + ], + [ + 810, + 810, + 810 + ], + [ + 810, + 810, + 810 + ] + ], + "result": { + "id": 865, + "count": 1 + } + } + ], + "320": [ + { + "inShape": [ + [ + 45, + 847, + 45 + ], + [ + 45, + 847, + 45 + ] + ], + "result": { + "id": 320, + "count": 3 + } + } + ], + "340": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "id": 340, + "count": 4 + } + } + ], + "111": [ + { + "inShape": [ + [ + 103, + 103, + 103 + ] + ], + "result": { + "id": 111, + "count": 6 + } + } + ], + "385": [ + { + "inShape": [ + [ + 38, + -1, + -1 + ], + [ + 38, + 38, + -1 + ], + [ + 38, + 38, + 38 + ] + ], + "result": { + "id": 385, + "count": 4 + } + } + ], + "1273": [ + { + "inShape": [ + [ + 804, + 1273, + 804 + ], + [ + 804, + 35, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1273, + "count": 2 + } + } + ], + "479": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 952, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 479, + "count": 8 + } + } + ], + "202": [ + { + "inShape": [ + [ + 850, + 850 + ], + [ + 850, + 850 + ] + ], + "result": { + "id": 202, + "count": 1 + } + }, + { + "ingredients": [ + 944, + 217 + ], + "result": { + "id": 202, + "count": 1 + } + } + ], + "830": [ + { + "inShape": [ + [ + 814, + 814 + ], + [ + 814, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 830, + "count": 1 + } + } + ], + "393": [ + { + "inShape": [ + [ + 45, + -1, + -1 + ], + [ + 45, + 45, + -1 + ], + [ + 45, + 45, + 45 + ] + ], + "result": { + "id": 393, + "count": 4 + } + } + ], + "288": [ + { + "inShape": [ + [ + -1, + 921, + -1 + ], + [ + 921, + -1, + 921 + ], + [ + -1, + 921, + -1 + ] + ], + "result": { + "id": 288, + "count": 1 + } + } + ], + "490": [ + { + "inShape": [ + [ + 474, + 474, + 474 + ], + [ + 474, + 474, + 474 + ] + ], + "result": { + "id": 490, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 947, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 490, + "count": 8 + } + } + ], + "480": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 953, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 480, + "count": 8 + } + } + ], + "699": [ + { + "inShape": [ + [ + 36, + 36 + ] + ], + "result": { + "id": 699, + "count": 1 + } + } + ], + "362": [ + { + "inShape": [ + [ + 340, + -1, + -1 + ], + [ + 340, + 340, + -1 + ], + [ + 340, + 340, + 340 + ] + ], + "result": { + "id": 362, + "count": 4 + } + } + ], + "822": [ + { + "inShape": [ + [ + 35 + ], + [ + 35 + ], + [ + 847 + ] + ], + "result": { + "id": 822, + "count": 1 + } + } + ], + "4": [ + { + "inShape": [ + [ + 35, + 807 + ], + [ + 807, + 35 + ] + ], + "result": { + "id": 4, + "count": 2 + } + } + ], + "315": [ + { + "inShape": [ + [ + 40, + 847, + 40 + ], + [ + 40, + 847, + 40 + ] + ], + "result": { + "id": 315, + "count": 3 + } + } + ], + "174": [ + { + "inShape": [ + [ + 142, + 142 + ], + [ + 142, + 142 + ] + ], + "result": { + "id": 174, + "count": 3 + } + } + ], + "252": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 252, + "count": 6 + } + } + ], + "1142": [ + { + "inShape": [ + [ + 211, + 211, + 211 + ], + [ + 211, + 211, + 211 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1142, + "count": 1 + } + } + ], + "26": [ + { + "inShape": [ + [ + 1259, + 1259 + ], + [ + 1259, + 1259 + ] + ], + "result": { + "id": 26, + "count": 1 + } + } + ], + "1007": [ + { + "inShape": [ + [ + 996, + 996, + 996 + ], + [ + 996, + 984, + 996 + ], + [ + 996, + 996, + 996 + ] + ], + "result": { + "id": 1007, + "count": 1 + } + } + ], + "721": [ + { + "inShape": [ + [ + 46, + 46 + ], + [ + 46, + 46 + ], + [ + 46, + 46 + ] + ], + "result": { + "id": 721, + "count": 3 + } + } + ], + "836": [ + { + "inShape": [ + [ + 810, + 810 + ], + [ + -1, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 836, + "count": 1 + } + } + ], + "900": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 148, + 148, + 148 + ], + [ + 148, + 148, + 148 + ] + ], + "result": { + "id": 900, + "count": 6 + } + } + ], + "305": [ + { + "inShape": [ + [ + 307, + 307, + 307 + ] + ], + "result": { + "id": 305, + "count": 6 + } + } + ], + "754": [ + { + "inShape": [ + [ + 847, + 40, + 847 + ], + [ + 847, + 40, + 847 + ] + ], + "result": { + "id": 754, + "count": 1 + } + } + ], + "932": [ + { + "inShape": [ + [ + -1, + 814, + -1 + ], + [ + 814, + 657, + 814 + ], + [ + -1, + 814, + -1 + ] + ], + "result": { + "id": 932, + "count": 1 + } + } + ], + "893": [ + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 43, + 43, + 43 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 893, + "count": 3 + } + } + ], + "448": [ + { + "inShape": [ + [ + 204, + 204 + ] + ], + "result": { + "id": 448, + "count": 3 + } + }, + { + "ingredients": [ + 946, + 461 + ], + "result": { + "id": 448, + "count": 1 + } + } + ], + "488": [ + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 945, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 488, + "count": 8 + } + }, + { + "inShape": [ + [ + 472, + 472, + 472 + ], + [ + 472, + 472, + 472 + ] + ], + "result": { + "id": 488, + "count": 16 + } + } + ], + "734": [ + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 39, + 39, + 39 + ] + ], + "result": { + "id": 734, + "count": 2 + } + } + ], + "1207": [ + { + "inShape": [ + [ + 847, + 264, + 847 + ], + [ + 36, + -1, + 36 + ] + ], + "result": { + "id": 1207, + "count": 1 + } + } + ], + "519": [ + { + "inShape": [ + [ + 1115, + 997 + ], + [ + 997, + 1115 + ] + ], + "result": { + "id": 519, + "count": 1 + } + } + ], + "357": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 357, + "count": 16 + } + } + ], + "870": [ + { + "inShape": [ + [ + 804, + 804, + 804 + ], + [ + 804, + -1, + 804 + ], + [ + 804, + -1, + 804 + ] + ], + "result": { + "id": 870, + "count": 1 + } + } + ], + "263": [ + { + "inShape": [ + [ + 46, + 46, + 46 + ] + ], + "result": { + "id": 263, + "count": 6 + } + } + ], + "670": [ + { + "inShape": [ + [ + 252, + 252, + 252 + ], + [ + -1, + 286, + -1 + ], + [ + -1, + 252, + -1 + ] + ], + "result": { + "id": 670, + "count": 1 + } + } + ], + "390": [ + { + "inShape": [ + [ + 43, + -1, + -1 + ], + [ + 43, + 43, + -1 + ], + [ + 43, + 43, + 43 + ] + ], + "result": { + "id": 390, + "count": 4 + } + } + ], + "503": [ + { + "inShape": [ + [ + 1116, + 1116 + ], + [ + 1116, + 1116 + ] + ], + "result": { + "id": 503, + "count": 1 + } + } + ], + "827": [ + { + "inShape": [ + [ + 814 + ], + [ + 814 + ], + [ + 847 + ] + ], + "result": { + "id": 827, + "count": 1 + } + } + ], + "481": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 954, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 481, + "count": 8 + } + } + ], + "810": [ + { + "inShape": [ + [ + 1165, + 1165, + 1165 + ], + [ + 1165, + 1165, + 1165 + ], + [ + 1165, + 1165, + 1165 + ] + ], + "result": { + "id": 810, + "count": 1 + } + }, + { + "ingredients": [ + 88 + ], + "result": { + "id": 810, + "count": 9 + } + } + ], + "192": [ + { + "inShape": [ + [ + 266 + ], + [ + 266 + ] + ], + "result": { + "id": 192, + "count": 1 + } + } + ], + "309": [ + { + "inShape": [ + [ + 922, + 922 + ], + [ + 922, + 922 + ] + ], + "result": { + "id": 309, + "count": 1 + } + } + ], + "829": [ + { + "inShape": [ + [ + 814, + 814, + 814 + ], + [ + -1, + 847, + -1 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 829, + "count": 1 + } + } + ], + "104": [ + { + "inShape": [ + [ + 100, + -1, + -1 + ], + [ + 100, + 100, + -1 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "id": 104, + "count": 4 + } + } + ], + "790": [ + { + "inShape": [ + [ + 44, + -1, + 44 + ], + [ + 44, + 44, + 44 + ] + ], + "result": { + "id": 790, + "count": 1 + } + } + ], + "287": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 252, + 252, + 252 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 287, + "count": 1 + } + } + ], + "265": [ + { + "inShape": [ + [ + 284, + 284, + 284 + ] + ], + "result": { + "id": 265, + "count": 6 + } + } + ], + "303": [ + { + "inShape": [ + [ + 847, + -1, + 847 + ], + [ + 847, + 847, + 847 + ], + [ + 847, + -1, + 847 + ] + ], + "result": { + "id": 303, + "count": 3 + } + } + ], + "658": [ + { + "inShape": [ + [ + 657 + ], + [ + 847 + ] + ], + "result": { + "id": 658, + "count": 1 + } + } + ], + "245": [ + { + "inShape": [ + [ + 247, + 247 + ] + ], + "result": { + "id": 245, + "count": 3 + } + } + ], + "643": [ + { + "inShape": [ + [ + 289, + 289, + 289 + ] + ], + "result": { + "id": 643, + "count": 6 + } + } + ], + "671": [ + { + "inShape": [ + [ + -1, + 657, + -1 + ], + [ + 657, + 445, + 657 + ], + [ + -1, + 657, + -1 + ] + ], + "result": { + "id": 671, + "count": 1 + } + } + ], + "431": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 948, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 431, + "count": 8 + } + } + ], + "447": [ + { + "inShape": [ + [ + 203, + 203 + ] + ], + "result": { + "id": 447, + "count": 3 + } + }, + { + "ingredients": [ + 945, + 461 + ], + "result": { + "id": 447, + "count": 1 + } + } + ], + "122": [ + { + "inShape": [ + [ + 114, + 114 + ], + [ + 114, + 114 + ] + ], + "result": { + "id": 122, + "count": 4 + } + }, + { + "ingredients": [ + 102, + 1218 + ], + "result": { + "id": 122, + "count": 1 + } + } + ], + "963": [ + { + "inShape": [ + [ + 914, + 914, + 914 + ], + [ + 962, + 927, + 962 + ], + [ + 854, + 854, + 854 + ] + ], + "result": { + "id": 963, + "count": 1 + } + } + ], + "971": [ + { + "inShape": [ + [ + 209, + 209, + 209 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 971, + "count": 1 + } + }, + { + "ingredients": [ + 951, + 979 + ], + "result": { + "id": 971, + "count": 1 + } + } + ], + "1134": [ + { + "inShape": [ + [ + 203, + 203, + 203 + ], + [ + 203, + 203, + 203 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1134, + "count": 1 + } + } + ], + "892": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 42, + 42, + 42 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 892, + "count": 3 + } + } + ], + "647": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ] + ], + "result": { + "id": 647, + "count": 6 + } + } + ], + "784": [ + { + "inShape": [ + [ + 41, + -1, + 41 + ], + [ + 41, + 41, + 41 + ] + ], + "result": { + "id": 784, + "count": 1 + } + } + ], + "363": [ + { + "inShape": [ + [ + 345, + -1, + -1 + ], + [ + 345, + 345, + -1 + ], + [ + 345, + 345, + 345 + ] + ], + "result": { + "id": 363, + "count": 4 + } + } + ], + "427": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 944, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 427, + "count": 8 + } + } + ], + "859": [ + { + "inShape": [ + [ + 913, + -1, + 913 + ], + [ + 913, + -1, + 913 + ] + ], + "result": { + "id": 859, + "count": 1 + } + } + ], + "897": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 145, + 145, + 145 + ], + [ + 145, + 145, + 145 + ] + ], + "result": { + "id": 897, + "count": 6 + } + } + ], + "1123": [ + { + "inShape": [ + [ + 847, + 847, + 847 + ], + [ + -1, + 847, + -1 + ], + [ + 847, + 265, + 847 + ] + ], + "result": { + "id": 1123, + "count": 1 + } + } + ], + "493": [ + { + "inShape": [ + [ + 477, + 477, + 477 + ], + [ + 477, + 477, + 477 + ] + ], + "result": { + "id": 493, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 950, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 493, + "count": 8 + } + } + ], + "259": [ + { + "inShape": [ + [ + 43, + 43, + 43 + ] + ], + "result": { + "id": 259, + "count": 6 + } + } + ], + "858": [ + { + "inShape": [ + [ + 913, + 913, + 913 + ], + [ + 913, + -1, + 913 + ], + [ + 913, + -1, + 913 + ] + ], + "result": { + "id": 858, + "count": 1 + } + } + ], + "160": [ + { + "inShape": [ + [ + 150, + 150 + ], + [ + 150, + 150 + ] + ], + "result": { + "id": 160, + "count": 3 + } + } + ], + "1145": [ + { + "inShape": [ + [ + 214, + 214, + 214 + ], + [ + 214, + 214, + 214 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1145, + "count": 1 + } + } + ], + "1202": [ + { + "inShape": [ + [ + 36, + 252, + 36 + ], + [ + 36, + -1, + 36 + ], + [ + 36, + 252, + 36 + ] + ], + "result": { + "id": 1202, + "count": 1 + } + } + ], + "704": [ + { + "inShape": [ + [ + 41, + 41 + ] + ], + "result": { + "id": 704, + "count": 1 + } + } + ], + "175": [ + { + "inShape": [ + [ + 143, + 143 + ], + [ + 143, + 143 + ] + ], + "result": { + "id": 175, + "count": 3 + } + } + ], + "343": [ + { + "inShape": [ + [ + 271 + ], + [ + 271 + ] + ], + "result": { + "id": 343, + "count": 1 + } + } + ], + "818": [ + { + "inShape": [ + [ + 36 + ], + [ + 847 + ], + [ + 847 + ] + ], + "result": { + "id": 818, + "count": 1 + } + } + ], + "644": [ + { + "inShape": [ + [ + 378, + 378, + 378 + ] + ], + "result": { + "id": 644, + "count": 6 + } + } + ], + "1208": [ + { + "inShape": [ + [ + 810, + 810 + ], + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "id": 1208, + "count": 1 + } + } + ], + "977": [ + { + "inShape": [ + [ + 215, + 215, + 215 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 977, + "count": 1 + } + }, + { + "ingredients": [ + 957, + 979 + ], + "result": { + "id": 977, + "count": 1 + } + } + ], + "516": [ + { + "inShape": [ + [ + 1003, + 1003 + ], + [ + 1003, + 1003 + ] + ], + "result": { + "id": 516, + "count": 1 + } + } + ], + "1279": [ + { + "inShape": [ + [ + 804, + 1279, + 804 + ], + [ + 804, + 462, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1279, + "count": 2 + } + } + ], + "700": [ + { + "inShape": [ + [ + 37, + 37 + ] + ], + "result": { + "id": 700, + "count": 1 + } + } + ], + "437": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 954, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 437, + "count": 8 + } + } + ], + "1005": [ + { + "inShape": [ + [ + 810, + -1, + 810 + ], + [ + 810, + -1, + 810 + ], + [ + 810, + 810, + 810 + ] + ], + "result": { + "id": 1005, + "count": 1 + } + } + ], + "739": [ + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 44, + 44, + 44 + ] + ], + "result": { + "id": 739, + "count": 2 + } + } + ], + "1265": [ + { + "inShape": [ + [ + 851 + ], + [ + 812 + ], + [ + 847 + ] + ], + "result": { + "id": 1265, + "count": 1 + } + } + ], + "838": [ + { + "inShape": [ + [ + 804 + ], + [ + 847 + ], + [ + 847 + ] + ], + "result": { + "id": 838, + "count": 1 + } + } + ], + "772": [ + { + "inShape": [ + [ + 931, + -1 + ], + [ + -1, + 237 + ] + ], + "result": { + "id": 772, + "count": 1 + } + } + ], + "407": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + 6 + ] + ], + "result": { + "id": 407, + "count": 6 + } + } + ], + "266": [ + { + "inShape": [ + [ + 191, + 191, + 191 + ] + ], + "result": { + "id": 266, + "count": 6 + } + } + ], + "269": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ] + ], + "result": { + "id": 269, + "count": 6 + } + } + ], + "1140": [ + { + "inShape": [ + [ + 209, + 209, + 209 + ], + [ + 209, + 209, + 209 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1140, + "count": 1 + } + } + ], + "394": [ + { + "inShape": [ + [ + 46, + -1, + -1 + ], + [ + 46, + 46, + -1 + ], + [ + 46, + 46, + 46 + ] + ], + "result": { + "id": 394, + "count": 4 + } + } + ], + "898": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 146, + 146, + 146 + ], + [ + 146, + 146, + 146 + ] + ], + "result": { + "id": 898, + "count": 6 + } + } + ], + "1270": [ + { + "inShape": [ + [ + 804, + 1270, + 804 + ], + [ + 804, + 289, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1270, + "count": 2 + } + } + ], + "1275": [ + { + "inShape": [ + [ + 804, + 1275, + 804 + ], + [ + 804, + 1225, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1275, + "count": 2 + } + } + ], + "766": [ + { + "inShape": [ + [ + 810, + -1, + 810 + ], + [ + 810, + 810, + 810 + ] + ], + "result": { + "id": 766, + "count": 1 + } + } + ], + "645": [ + { + "inShape": [ + [ + 283, + 283, + 283 + ] + ], + "result": { + "id": 645, + "count": 6 + } + } + ], + "299": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 36, + -1, + 36 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 299, + "count": 1 + } + } + ], + "478": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 951, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 478, + "count": 8 + } + } + ], + "763": [ + { + "inShape": [ + [ + 810, + -1, + 810 + ], + [ + 810, + 847, + 810 + ], + [ + 810, + -1, + 810 + ] + ], + "result": { + "id": 763, + "count": 16 + } + } + ], + "837": [ + { + "inShape": [ + [ + 804 + ], + [ + 804 + ], + [ + 847 + ] + ], + "result": { + "id": 837, + "count": 1 + } + } + ], + "441": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 958, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 441, + "count": 8 + } + } + ], + "1137": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ], + [ + 206, + 206, + 206 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1137, + "count": 1 + } + } + ], + "129": [ + { + "inShape": [ + [ + 121, + 121, + 121 + ] + ], + "result": { + "id": 129, + "count": 6 + } + }, + { + "ingredients": [ + 109, + 1218 + ], + "result": { + "id": 129, + "count": 1 + } + } + ], + "978": [ + { + "inShape": [ + [ + 216, + 216, + 216 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 978, + "count": 1 + } + }, + { + "ingredients": [ + 958, + 979 + ], + "result": { + "id": 978, + "count": 1 + } + } + ], + "317": [ + { + "inShape": [ + [ + 42, + 847, + 42 + ], + [ + 42, + 847, + 42 + ] + ], + "result": { + "id": 317, + "count": 3 + } + } + ], + "828": [ + { + "inShape": [ + [ + 814 + ], + [ + 847 + ], + [ + 847 + ] + ], + "result": { + "id": 828, + "count": 1 + } + } + ], + "100": [ + { + "inShape": [ + [ + 89, + 89 + ], + [ + 89, + 89 + ] + ], + "result": { + "id": 100, + "count": 4 + } + } + ], + "638": [ + { + "inShape": [ + [ + 348, + -1, + -1 + ], + [ + 348, + 348, + -1 + ], + [ + 348, + 348, + 348 + ] + ], + "result": { + "id": 638, + "count": 4 + } + } + ], + "1212": [ + { + "inShape": [ + [ + 1165, + 1165, + 1165 + ], + [ + 1165, + 331, + 1165 + ], + [ + 1165, + 1165, + 1165 + ] + ], + "result": { + "id": 1212, + "count": 1 + } + } + ], + "130": [ + { + "inShape": [ + [ + 122, + 122, + 122 + ] + ], + "result": { + "id": 130, + "count": 6 + } + }, + { + "ingredients": [ + 110, + 1218 + ], + "result": { + "id": 130, + "count": 1 + } + } + ], + "740": [ + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 45, + 45, + 45 + ] + ], + "result": { + "id": 740, + "count": 2 + } + } + ], + "410": [ + { + "inShape": [ + [ + 378, + 378, + 378 + ], + [ + 378, + 378, + 378 + ] + ], + "result": { + "id": 410, + "count": 6 + } + } + ], + "642": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ] + ], + "result": { + "id": 642, + "count": 6 + } + } + ], + "391": [ + { + "inShape": [ + [ + 44, + -1, + -1 + ], + [ + 44, + 44, + -1 + ], + [ + 44, + 44, + 44 + ] + ], + "result": { + "id": 391, + "count": 4 + } + } + ], + "628": [ + { + "inShape": [ + [ + 283, + -1, + -1 + ], + [ + 283, + 283, + -1 + ], + [ + 283, + 283, + 283 + ] + ], + "result": { + "id": 628, + "count": 4 + } + } + ], + "356": [ + { + "inShape": [ + [ + 1165 + ], + [ + 810 + ], + [ + 1165 + ] + ], + "result": { + "id": 356, + "count": 1 + } + } + ], + "482": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 955, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 482, + "count": 8 + } + } + ], + "311": [ + { + "inShape": [ + [ + 36, + 847, + 36 + ], + [ + 36, + 847, + 36 + ] + ], + "result": { + "id": 311, + "count": 3 + } + } + ], + "741": [ + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 46, + 46, + 46 + ] + ], + "result": { + "id": 741, + "count": 2 + } + } + ], + "867": [ + { + "inShape": [ + [ + 810, + -1, + 810 + ], + [ + 810, + -1, + 810 + ] + ], + "result": { + "id": 867, + "count": 1 + } + } + ], + "507": [ + { + "inShape": [ + [ + 504, + -1, + -1 + ], + [ + 504, + 504, + -1 + ], + [ + 504, + 504, + 504 + ] + ], + "result": { + "id": 507, + "count": 4 + } + } + ], + "869": [ + { + "inShape": [ + [ + 804, + -1, + 804 + ], + [ + 804, + 804, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 869, + "count": 1 + } + } + ], + "873": [ + { + "inShape": [ + [ + 814, + -1, + 814 + ], + [ + 814, + 814, + 814 + ], + [ + 814, + 814, + 814 + ] + ], + "result": { + "id": 873, + "count": 1 + } + } + ], + "886": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 36, + 36, + 36 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 886, + "count": 3 + } + } + ], + "888": [ + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 38, + 38, + 38 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 888, + "count": 3 + } + } + ], + "701": [ + { + "inShape": [ + [ + 38, + 38 + ] + ], + "result": { + "id": 701, + "count": 1 + } + } + ], + "92": [ + { + "inShape": [ + [ + 815, + 815, + 815 + ], + [ + 815, + 815, + 815 + ], + [ + 815, + 815, + 815 + ] + ], + "result": { + "id": 92, + "count": 1 + } + } + ], + "430": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 947, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 430, + "count": 8 + } + } + ], + "797": [ + { + "inShape": [ + [ + 796, + -1, + -1 + ], + [ + 796, + 796, + 796 + ], + [ + 796, + -1, + 796 + ] + ], + "result": { + "id": 797, + "count": 1 + } + } + ], + "384": [ + { + "inShape": [ + [ + 37, + -1, + -1 + ], + [ + 37, + 37, + -1 + ], + [ + 37, + 37, + 37 + ] + ], + "result": { + "id": 384, + "count": 4 + } + } + ], + "979": [ + { + "inShape": [ + [ + 217, + 217, + 217 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 979, + "count": 1 + } + }, + { + "ingredients": [ + 959, + 975 + ], + "result": { + "id": 979, + "count": 1 + } + } + ], + "889": [ + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 39, + 39, + 39 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 889, + "count": 3 + } + } + ], + "1189": [ + { + "inShape": [ + [ + 847, + 810, + 847 + ], + [ + 850, + 677, + 850 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1189, + "count": 1 + } + } + ], + "676": [ + { + "inShape": [ + [ + -1, + 808, + -1 + ], + [ + 808, + 675, + 808 + ] + ], + "result": { + "id": 676, + "count": 1 + } + } + ], + "848": [ + { + "inShape": [ + [ + 36, + -1, + 36 + ], + [ + -1, + 36, + -1 + ] + ], + "result": { + "id": 848, + "count": 4 + } + } + ], + "500": [ + { + "inShape": [ + [ + 484, + 484, + 484 + ], + [ + 484, + 484, + 484 + ] + ], + "result": { + "id": 500, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 957, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 500, + "count": 8 + } + } + ], + "262": [ + { + "inShape": [ + [ + 45, + 45, + 45 + ] + ], + "result": { + "id": 262, + "count": 6 + } + } + ], + "451": [ + { + "inShape": [ + [ + 207, + 207 + ] + ], + "result": { + "id": 451, + "count": 3 + } + }, + { + "ingredients": [ + 949, + 461 + ], + "result": { + "id": 451, + "count": 1 + } + } + ], + "1143": [ + { + "inShape": [ + [ + 212, + 212, + 212 + ], + [ + 212, + 212, + 212 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1143, + "count": 1 + } + } + ], + "495": [ + { + "inShape": [ + [ + 479, + 479, + 479 + ], + [ + 479, + 479, + 479 + ] + ], + "result": { + "id": 495, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 952, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 495, + "count": 8 + } + } + ], + "1159": [ + { + "inShape": [ + [ + -1, + 934, + -1 + ], + [ + 934, + 801, + 934 + ], + [ + -1, + 934, + -1 + ] + ], + "result": { + "id": 1159, + "count": 2 + } + } + ], + "440": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 957, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 440, + "count": 8 + } + } + ], + "460": [ + { + "inShape": [ + [ + 216, + 216 + ] + ], + "result": { + "id": 460, + "count": 3 + } + }, + { + "ingredients": [ + 958, + 461 + ], + "result": { + "id": 460, + "count": 1 + } + } + ], + "471": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 944, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 471, + "count": 8 + } + } + ], + "664": [ + { + "inShape": [ + [ + 926, + 926, + 926 + ], + [ + 926, + 926, + 926 + ], + [ + 926, + 926, + 926 + ] + ], + "result": { + "id": 664, + "count": 1 + } + } + ], + "821": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + -1, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 821, + "count": 1 + } + } + ], + "425": [ + { + "inShape": [ + [ + 423 + ], + [ + 423 + ] + ], + "result": { + "id": 425, + "count": 2 + } + } + ], + "345": [ + { + "inShape": [ + [ + 344, + 344 + ], + [ + 344, + 344 + ] + ], + "result": { + "id": 345, + "count": 4 + } + } + ], + "1266": [ + { + "inShape": [ + [ + 804, + 1266, + 804 + ], + [ + 804, + 325, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1266, + "count": 2 + } + } + ], + "297": [ + { + "inShape": [ + [ + 295, + -1, + -1 + ], + [ + 295, + 295, + -1 + ], + [ + 295, + 295, + 295 + ] + ], + "result": { + "id": 297, + "count": 4 + } + } + ], + "439": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 956, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 439, + "count": 8 + } + } + ], + "127": [ + { + "inShape": [ + [ + 123, + -1, + -1 + ], + [ + 123, + 123, + -1 + ], + [ + 123, + 123, + 123 + ] + ], + "result": { + "id": 127, + "count": 4 + } + }, + { + "ingredients": [ + 107, + 1218 + ], + "result": { + "id": 127, + "count": 1 + } + } + ], + "625": [ + { + "inShape": [ + [ + 289, + -1, + -1 + ], + [ + 289, + 289, + -1 + ], + [ + 289, + 289, + 289 + ] + ], + "result": { + "id": 625, + "count": 4 + } + } + ], + "681": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 36, + 657, + 36 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 681, + "count": 1 + } + } + ], + "901": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 149, + 149, + 149 + ], + [ + 149, + 149, + 149 + ] + ], + "result": { + "id": 901, + "count": 6 + } + } + ], + "662": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 35, + 810, + 35 + ], + [ + 35, + 657, + 35 + ] + ], + "result": { + "id": 662, + "count": 1 + } + } + ], + "976": [ + { + "inShape": [ + [ + 214, + 214, + 214 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 976, + "count": 1 + } + }, + { + "ingredients": [ + 956, + 979 + ], + "result": { + "id": 976, + "count": 1 + } + } + ], + "975": [ + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 975, + "count": 1 + } + }, + { + "ingredients": [ + 955, + 979 + ], + "result": { + "id": 975, + "count": 1 + } + } + ], + "1271": [ + { + "inShape": [ + [ + 804, + 1271, + 804 + ], + [ + 804, + 9, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1271, + "count": 2 + } + } + ], + "454": [ + { + "inShape": [ + [ + 210, + 210 + ] + ], + "result": { + "id": 454, + "count": 3 + } + }, + { + "ingredients": [ + 952, + 461 + ], + "result": { + "id": 454, + "count": 1 + } + } + ], + "1133": [ + { + "inShape": [ + [ + 202, + 202, + 202 + ], + [ + 202, + 202, + 202 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1133, + "count": 1 + } + } + ], + "1149": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 1006, + 188 + ], + [ + 188, + 995, + 188 + ] + ], + "result": { + "id": 1149, + "count": 1 + } + } + ], + "622": [ + { + "inShape": [ + [ + 282, + -1, + -1 + ], + [ + 282, + 282, + -1 + ], + [ + 282, + 282, + 282 + ] + ], + "result": { + "id": 622, + "count": 4 + } + } + ], + "1141": [ + { + "inShape": [ + [ + 210, + 210, + 210 + ], + [ + 210, + 210, + 210 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1141, + "count": 1 + } + } + ], + "824": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + -1, + 847, + -1 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 824, + "count": 1 + } + } + ], + "522": [ + { + "inShape": [ + [ + 1164 + ], + [ + 299 + ], + [ + 1164 + ] + ], + "result": { + "id": 522, + "count": 1 + } + } + ], + "668": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + 800, + 35 + ], + [ + 35, + 657, + 35 + ] + ], + "result": { + "id": 668, + "count": 1 + } + } + ], + "820": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + 36, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 820, + "count": 1 + } + } + ], + "496": [ + { + "inShape": [ + [ + 480, + 480, + 480 + ], + [ + 480, + 480, + 480 + ] + ], + "result": { + "id": 496, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 953, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 496, + "count": 8 + } + } + ], + "674": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 807, + 807, + 807 + ], + [ + 252, + 252, + 252 + ] + ], + "result": { + "id": 674, + "count": 1 + } + } + ], + "426": [ + { + "inShape": [ + [ + 422, + -1, + -1 + ], + [ + 422, + 422, + -1 + ], + [ + 422, + 422, + 422 + ] + ], + "result": { + "id": 426, + "count": 4 + } + } + ], + "411": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "id": 411, + "count": 6 + } + } + ], + "446": [ + { + "inShape": [ + [ + 202, + 202 + ] + ], + "result": { + "id": 446, + "count": 3 + } + }, + { + "ingredients": [ + 944, + 461 + ], + "result": { + "id": 446, + "count": 1 + } + } + ], + "485": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 958, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 485, + "count": 8 + } + } + ], + "459": [ + { + "inShape": [ + [ + 215, + 215 + ] + ], + "result": { + "id": 459, + "count": 3 + } + }, + { + "ingredients": [ + 957, + 461 + ], + "result": { + "id": 459, + "count": 1 + } + } + ], + "1233": [ + { + "inShape": [ + [ + 1229, + 1229 + ], + [ + 1229, + 1229 + ] + ], + "result": { + "id": 1233, + "count": 4 + } + } + ], + "277": [ + { + "inShape": [ + [ + 295, + 295, + 295 + ] + ], + "result": { + "id": 277, + "count": 6 + } + } + ], + "324": [ + { + "inShape": [ + [ + 323 + ], + [ + 291 + ] + ], + "result": { + "id": 324, + "count": 1 + } + } + ], + "677": [ + { + "inShape": [ + [ + 810 + ], + [ + 847 + ], + [ + 36 + ] + ], + "result": { + "id": 677, + "count": 2 + } + } + ], + "667": [ + { + "inShape": [ + [ + 810, + -1, + 810 + ], + [ + 810, + 299, + 810 + ], + [ + -1, + 810, + -1 + ] + ], + "result": { + "id": 667, + "count": 1 + } + } + ], + "1211": [ + { + "inShape": [ + [ + 1165, + 1165, + 1165 + ], + [ + 1165, + 291, + 1165 + ], + [ + 1165, + 1165, + 1165 + ] + ], + "result": { + "id": 1211, + "count": 1 + } + } + ], + "1146": [ + { + "inShape": [ + [ + 215, + 215, + 215 + ], + [ + 215, + 215, + 215 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1146, + "count": 1 + } + } + ], + "381": [ + { + "inShape": [ + [ + 290, + 290, + 290 + ], + [ + 290, + 1006, + 290 + ], + [ + 290, + 290, + 290 + ] + ], + "result": { + "id": 381, + "count": 1 + } + } + ], + "473": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 946, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 473, + "count": 8 + } + } + ], + "355": [ + { + "inShape": [ + [ + 810, + 810, + 810 + ], + [ + 810, + 810, + 810 + ] + ], + "result": { + "id": 355, + "count": 16 + } + } + ], + "730": [ + { + "inShape": [ + [ + 810, + 810 + ], + [ + 810, + 810 + ] + ], + "result": { + "id": 730, + "count": 1 + } + } + ], + "417": [ + { + "inShape": [ + [ + 346, + 346, + 346 + ], + [ + 346, + 346, + 346 + ] + ], + "result": { + "id": 417, + "count": 6 + } + } + ], + "432": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 949, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 432, + "count": 8 + } + } + ], + "840": [ + { + "inShape": [ + [ + 804, + 804 + ], + [ + 804, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 840, + "count": 1 + } + } + ], + "864": [ + { + "inShape": [ + [ + 810, + 810, + 810 + ], + [ + 810, + -1, + 810 + ] + ], + "result": { + "id": 864, + "count": 1 + } + } + ], + "169": [ + { + "inShape": [ + [ + 135, + 135 + ], + [ + 135, + 135 + ] + ], + "result": { + "id": 169, + "count": 3 + } + } + ], + "123": [ + { + "inShape": [ + [ + 115, + 115 + ], + [ + 115, + 115 + ] + ], + "result": { + "id": 123, + "count": 4 + } + }, + { + "ingredients": [ + 103, + 1218 + ], + "result": { + "id": 123, + "count": 1 + } + } + ], + "1205": [ + { + "inShape": [ + [ + 924, + 924 + ], + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "id": 1205, + "count": 1 + } + } + ], + "494": [ + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 951, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 494, + "count": 8 + } + }, + { + "inShape": [ + [ + 478, + 478, + 478 + ], + [ + 478, + 478, + 478 + ] + ], + "result": { + "id": 494, + "count": 16 + } + } + ], + "5": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 4 + ] + ], + "result": { + "id": 5, + "count": 4 + } + } + ], + "264": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "id": 264, + "count": 6 + } + } + ], + "703": [ + { + "inShape": [ + [ + 40, + 40 + ] + ], + "result": { + "id": 703, + "count": 1 + } + } + ], + "969": [ + { + "inShape": [ + [ + 207, + 207, + 207 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 969, + "count": 1 + } + }, + { + "ingredients": [ + 949, + 979 + ], + "result": { + "id": 969, + "count": 1 + } + } + ], + "705": [ + { + "inShape": [ + [ + 42, + 42 + ] + ], + "result": { + "id": 705, + "count": 1 + } + } + ], + "256": [ + { + "inShape": [ + [ + 40, + 40, + 40 + ] + ], + "result": { + "id": 256, + "count": 6 + } + } + ], + "386": [ + { + "inShape": [ + [ + 39, + -1, + -1 + ], + [ + 39, + 39, + -1 + ], + [ + 39, + 39, + 39 + ] + ], + "result": { + "id": 386, + "count": 4 + } + } + ], + "1204": [ + { + "inShape": [ + [ + 810, + 810, + 810 + ], + [ + 810, + 302, + 810 + ], + [ + 284, + 284, + 284 + ] + ], + "result": { + "id": 1204, + "count": 1 + } + } + ], + "633": [ + { + "inShape": [ + [ + 7, + -1, + -1 + ], + [ + 7, + 7, + -1 + ], + [ + 7, + 7, + 7 + ] + ], + "result": { + "id": 633, + "count": 4 + } + } + ], + "120": [ + { + "inShape": [ + [ + 112, + 112 + ], + [ + 112, + 112 + ] + ], + "result": { + "id": 120, + "count": 4 + } + }, + { + "ingredients": [ + 100, + 1218 + ], + "result": { + "id": 120, + "count": 1 + } + } + ], + "498": [ + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 955, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 498, + "count": 8 + } + }, + { + "inShape": [ + [ + 482, + 482, + 482 + ], + [ + 482, + 482, + 482 + ] + ], + "result": { + "id": 498, + "count": 16 + } + } + ], + "449": [ + { + "inShape": [ + [ + 205, + 205 + ] + ], + "result": { + "id": 449, + "count": 3 + } + }, + { + "ingredients": [ + 947, + 461 + ], + "result": { + "id": 449, + "count": 1 + } + } + ], + "1232": [ + { + "inShape": [ + [ + 1230 + ], + [ + 1230 + ] + ], + "result": { + "id": 1232, + "count": 1 + } + } + ], + "794": [ + { + "inShape": [ + [ + 795, + 795, + 795 + ], + [ + 795, + -1, + 795 + ] + ], + "result": { + "id": 794, + "count": 1 + } + } + ], + "635": [ + { + "inShape": [ + [ + 9, + -1, + -1 + ], + [ + 9, + 9, + -1 + ], + [ + 9, + 9, + 9 + ] + ], + "result": { + "id": 635, + "count": 4 + } + } + ], + "1206": [ + { + "inShape": [ + [ + 880, + 880 + ], + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "id": 1206, + "count": 1 + } + } + ], + "1136": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ], + [ + 205, + 205, + 205 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1136, + "count": 1 + } + } + ], + "398": [ + { + "inShape": [ + [ + 289, + 289, + 289 + ], + [ + 289, + 289, + 289 + ] + ], + "result": { + "id": 398, + "count": 6 + } + } + ], + "933": [ + { + "inShape": [ + [ + 808 + ], + [ + 812 + ], + [ + 812 + ] + ], + "result": { + "id": 933, + "count": 1 + } + } + ], + "1147": [ + { + "inShape": [ + [ + 216, + 216, + 216 + ], + [ + 216, + 216, + 216 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1147, + "count": 1 + } + } + ], + "296": [ + { + "inShape": [ + [ + 277 + ], + [ + 277 + ] + ], + "result": { + "id": 296, + "count": 1 + } + } + ], + "698": [ + { + "inShape": [ + [ + 810, + 810 + ] + ], + "result": { + "id": 698, + "count": 1 + } + } + ], + "655": [ + { + "inShape": [ + [ + 348, + 348, + 348 + ] + ], + "result": { + "id": 655, + "count": 6 + } + } + ], + "477": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 950, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 477, + "count": 8 + } + } + ], + "823": [ + { + "inShape": [ + [ + 35 + ], + [ + 847 + ], + [ + 847 + ] + ], + "result": { + "id": 823, + "count": 1 + } + } + ], + "874": [ + { + "inShape": [ + [ + 814, + 814, + 814 + ], + [ + 814, + -1, + 814 + ], + [ + 814, + -1, + 814 + ] + ], + "result": { + "id": 874, + "count": 1 + } + } + ], + "157": [ + { + "inShape": [ + [ + 147, + 147 + ], + [ + 147, + 147 + ] + ], + "result": { + "id": 157, + "count": 3 + } + } + ], + "131": [ + { + "inShape": [ + [ + 123, + 123, + 123 + ] + ], + "result": { + "id": 131, + "count": 6 + } + }, + { + "ingredients": [ + 111, + 1218 + ], + "result": { + "id": 131, + "count": 1 + } + } + ], + "1231": [ + { + "inShape": [ + [ + 1229, + -1, + -1 + ], + [ + 1229, + 1229, + -1 + ], + [ + 1229, + 1229, + 1229 + ] + ], + "result": { + "id": 1231, + "count": 4 + } + } + ], + "1138": [ + { + "inShape": [ + [ + 207, + 207, + 207 + ], + [ + 207, + 207, + 207 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1138, + "count": 1 + } + } + ], + "637": [ + { + "inShape": [ + [ + 346, + -1, + -1 + ], + [ + 346, + 346, + -1 + ], + [ + 346, + 346, + 346 + ] + ], + "result": { + "id": 637, + "count": 4 + } + } + ], + "695": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "id": 695, + "count": 1 + } + } + ], + "669": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + -1, + 35 + ], + [ + 35, + 657, + 35 + ] + ], + "result": { + "id": 669, + "count": 1 + } + } + ], + "680": [ + { + "inShape": [ + [ + -1, + 657, + -1 + ], + [ + 657, + 332, + 657 + ], + [ + -1, + 657, + -1 + ] + ], + "result": { + "id": 680, + "count": 1 + } + } + ], + "491": [ + { + "inShape": [ + [ + 475, + 475, + 475 + ], + [ + 475, + 475, + 475 + ] + ], + "result": { + "id": 491, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 948, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 491, + "count": 8 + } + } + ], + "461": [ + { + "inShape": [ + [ + 217, + 217 + ] + ], + "result": { + "id": 461, + "count": 3 + } + }, + { + "ingredients": [ + 959, + 457 + ], + "result": { + "id": 461, + "count": 1 + } + } + ], + "292": [ + { + "inShape": [ + [ + 994 + ], + [ + 1151 + ] + ], + "result": { + "id": 292, + "count": 4 + } + } + ], + "1281": [ + { + "inShape": [ + [ + 804, + 1281, + 804 + ], + [ + 804, + 462, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1281, + "count": 2 + } + } + ], + "392": [ + { + "inShape": [ + [ + 47, + -1, + -1 + ], + [ + 47, + 47, + -1 + ], + [ + 47, + 47, + 47 + ] + ], + "result": { + "id": 392, + "count": 4 + } + } + ], + "872": [ + { + "inShape": [ + [ + 814, + 814, + 814 + ], + [ + 814, + -1, + 814 + ] + ], + "result": { + "id": 872, + "count": 1 + } + } + ], + "106": [ + { + "inShape": [ + [ + 102, + -1, + -1 + ], + [ + 102, + 102, + -1 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "id": 106, + "count": 4 + } + } + ], + "10": [ + { + "inShape": [ + [ + 9, + 9 + ], + [ + 9, + 9 + ] + ], + "result": { + "id": 10, + "count": 4 + } + } + ], + "855": [ + { + "inShape": [ + [ + 854, + 854, + 854 + ] + ], + "result": { + "id": 855, + "count": 1 + } + } + ], + "788": [ + { + "inShape": [ + [ + 43, + -1, + 43 + ], + [ + 43, + 43, + 43 + ] + ], + "result": { + "id": 788, + "count": 1 + } + } + ], + "291": [ + { + "inShape": [ + [ + 802 + ], + [ + 847 + ] + ], + "result": { + "id": 291, + "count": 4 + } + } + ], + "621": [ + { + "inShape": [ + [ + 3, + -1, + -1 + ], + [ + 3, + 3, + -1 + ], + [ + 3, + 3, + 3 + ] + ], + "result": { + "id": 621, + "count": 4 + } + } + ], + "782": [ + { + "inShape": [ + [ + 40, + -1, + 40 + ], + [ + 40, + 40, + 40 + ] + ], + "result": { + "id": 782, + "count": 1 + } + } + ], + "672": [ + { + "inShape": [ + [ + 847 + ], + [ + 35 + ] + ], + "result": { + "id": 672, + "count": 1 + } + } + ], + "762": [ + { + "inShape": [ + [ + 810, + -1, + 810 + ], + [ + 810, + 695, + 810 + ], + [ + 810, + 657, + 810 + ] + ], + "result": { + "id": 762, + "count": 6 + } + } + ], + "970": [ + { + "inShape": [ + [ + 208, + 208, + 208 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 970, + "count": 1 + } + }, + { + "ingredients": [ + 950, + 979 + ], + "result": { + "id": 970, + "count": 1 + } + } + ], + "1162": [ + { + "inShape": [ + [ + 36, + 810, + 36 + ], + [ + 36, + 36, + 36 + ], + [ + -1, + 36, + -1 + ] + ], + "result": { + "id": 1162, + "count": 1 + } + } + ], + "1226": [ + { + "inShape": [ + [ + 1225, + 1225, + 1225 + ] + ], + "result": { + "id": 1226, + "count": 6 + } + } + ], + "260": [ + { + "inShape": [ + [ + 44, + 44, + 44 + ] + ], + "result": { + "id": 260, + "count": 6 + } + } + ], + "895": [ + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 45, + 45, + 45 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 895, + "count": 3 + } + } + ], + "737": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 42, + 42, + 42 + ] + ], + "result": { + "id": 737, + "count": 2 + } + } + ], + "1148": [ + { + "inShape": [ + [ + 217, + 217, + 217 + ], + [ + 217, + 217, + 217 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1148, + "count": 1 + } + } + ], + "883": [ + { + "inShape": [ + [ + 847, + 847, + 847 + ], + [ + 847, + 202, + 847 + ], + [ + 847, + 847, + 847 + ] + ], + "result": { + "id": 883, + "count": 1 + } + } + ], + "833": [ + { + "inShape": [ + [ + 810 + ], + [ + 847 + ], + [ + 847 + ] + ], + "result": { + "id": 833, + "count": 1 + } + } + ], + "271": [ + { + "inShape": [ + [ + 340, + 340, + 340 + ] + ], + "result": { + "id": 271, + "count": 6 + } + } + ], + "696": [ + { + "inShape": [ + [ + 1229, + 1229 + ] + ], + "result": { + "id": 696, + "count": 1 + } + } + ], + "424": [ + { + "inShape": [ + [ + 423, + 423 + ], + [ + 423, + 423 + ] + ], + "result": { + "id": 424, + "count": 4 + } + } + ], + "300": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "id": 300, + "count": 1 + } + } + ], + "409": [ + { + "inShape": [ + [ + 191, + 191, + 191 + ], + [ + 191, + 191, + 191 + ] + ], + "result": { + "id": 409, + "count": 6 + } + } + ], + "653": [ + { + "inShape": [ + [ + 10, + 10, + 10 + ] + ], + "result": { + "id": 653, + "count": 6 + } + } + ], + "401": [ + { + "inShape": [ + [ + 510, + 510, + 510 + ], + [ + 510, + 510, + 510 + ] + ], + "result": { + "id": 401, + "count": 6 + } + } + ], + "108": [ + { + "inShape": [ + [ + 100, + 100, + 100 + ] + ], + "result": { + "id": 108, + "count": 6 + } + } + ], + "172": [ + { + "inShape": [ + [ + 138, + 138 + ], + [ + 138, + 138 + ] + ], + "result": { + "id": 172, + "count": 3 + } + } + ], + "899": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 147, + 147, + 147 + ], + [ + 147, + 147, + 147 + ] + ], + "result": { + "id": 899, + "count": 6 + } + } + ], + "452": [ + { + "inShape": [ + [ + 208, + 208 + ] + ], + "result": { + "id": 452, + "count": 3 + } + }, + { + "ingredients": [ + 950, + 461 + ], + "result": { + "id": 452, + "count": 1 + } + } + ], + "387": [ + { + "inShape": [ + [ + 40, + -1, + -1 + ], + [ + 40, + 40, + -1 + ], + [ + 40, + 40, + 40 + ] + ], + "result": { + "id": 387, + "count": 4 + } + } + ], + "257": [ + { + "inShape": [ + [ + 41, + 41, + 41 + ] + ], + "result": { + "id": 257, + "count": 6 + } + } + ], + "346": [ + { + "inShape": [ + [ + 10, + 10 + ], + [ + 10, + 10 + ] + ], + "result": { + "id": 346, + "count": 4 + } + } + ], + "84": [ + { + "inShape": [ + [ + 813, + 813, + 813 + ], + [ + 813, + 813, + 813 + ], + [ + 813, + 813, + 813 + ] + ], + "result": { + "id": 84, + "count": 1 + } + } + ], + "713": [ + { + "inShape": [ + [ + 38, + 38 + ], + [ + 38, + 38 + ], + [ + 38, + 38 + ] + ], + "result": { + "id": 713, + "count": 3 + } + } + ], + "419": [ + { + "inShape": [ + [ + 88, + 88, + 88 + ], + [ + -1, + 810, + -1 + ], + [ + 810, + 810, + 810 + ] + ], + "result": { + "id": 419, + "count": 1 + } + } + ], + "159": [ + { + "inShape": [ + [ + 149, + 149 + ], + [ + 149, + 149 + ] + ], + "result": { + "id": 159, + "count": 3 + } + } + ], + "126": [ + { + "inShape": [ + [ + 122, + -1, + -1 + ], + [ + 122, + 122, + -1 + ], + [ + 122, + 122, + 122 + ] + ], + "result": { + "id": 126, + "count": 4 + } + }, + { + "ingredients": [ + 106, + 1218 + ], + "result": { + "id": 126, + "count": 1 + } + } + ], + "814": [ + { + "inShape": [ + [ + 996, + 996, + 996 + ], + [ + 996, + 996, + 996 + ], + [ + 996, + 996, + 996 + ] + ], + "result": { + "id": 814, + "count": 1 + } + }, + { + "ingredients": [ + 90 + ], + "result": { + "id": 814, + "count": 9 + } + } + ], + "623": [ + { + "inShape": [ + [ + 341, + -1, + -1 + ], + [ + 341, + 341, + -1 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "id": 623, + "count": 4 + } + } + ], + "731": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 731, + "count": 2 + } + } + ], + "86": [ + { + "inShape": [ + [ + 808, + 808 + ], + [ + 808, + 808 + ] + ], + "result": { + "id": 86, + "count": 1 + } + } + ], + "711": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "id": 711, + "count": 3 + } + } + ], + "965": [ + { + "inShape": [ + [ + 203, + 203, + 203 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 965, + "count": 1 + } + }, + { + "ingredients": [ + 945, + 979 + ], + "result": { + "id": 965, + "count": 1 + } + } + ], + "817": [ + { + "inShape": [ + [ + 36 + ], + [ + 36 + ], + [ + 847 + ] + ], + "result": { + "id": 817, + "count": 1 + } + } + ], + "752": [ + { + "inShape": [ + [ + 847, + 38, + 847 + ], + [ + 847, + 38, + 847 + ] + ], + "result": { + "id": 752, + "count": 1 + } + } + ], + "973": [ + { + "inShape": [ + [ + 211, + 211, + 211 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 973, + "count": 1 + } + }, + { + "ingredients": [ + 953, + 979 + ], + "result": { + "id": 973, + "count": 1 + } + } + ], + "646": [ + { + "inShape": [ + [ + 281, + 281, + 281 + ] + ], + "result": { + "id": 646, + "count": 6 + } + } + ], + "712": [ + { + "inShape": [ + [ + 37, + 37 + ], + [ + 37, + 37 + ], + [ + 37, + 37 + ] + ], + "result": { + "id": 712, + "count": 3 + } + } + ], + "771": [ + { + "inShape": [ + [ + 931, + -1 + ], + [ + -1, + 1097 + ] + ], + "result": { + "id": 771, + "count": 1 + } + } + ], + "501": [ + { + "inShape": [ + [ + 485, + 485, + 485 + ], + [ + 485, + 485, + 485 + ] + ], + "result": { + "id": 501, + "count": 16 + } + }, + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 958, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 501, + "count": 8 + } + } + ], + "399": [ + { + "inShape": [ + [ + 285, + 285, + 285 + ], + [ + 285, + 285, + 285 + ] + ], + "result": { + "id": 399, + "count": 6 + } + } + ], + "83": [ + { + "inShape": [ + [ + 811, + 811, + 811 + ], + [ + 811, + 811, + 811 + ], + [ + 811, + 811, + 811 + ] + ], + "result": { + "id": 83, + "count": 1 + } + } + ], + "974": [ + { + "inShape": [ + [ + 212, + 212, + 212 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 974, + "count": 1 + } + }, + { + "ingredients": [ + 954, + 979 + ], + "result": { + "id": 974, + "count": 1 + } + } + ], + "405": [ + { + "inShape": [ + [ + 345, + 345, + 345 + ], + [ + 345, + 345, + 345 + ] + ], + "result": { + "id": 405, + "count": 6 + } + } + ], + "505": [ + { + "inShape": [ + [ + 1116, + 1116, + 1116 + ], + [ + 1116, + 959, + 1116 + ], + [ + 1116, + 1116, + 1116 + ] + ], + "result": { + "id": 505, + "count": 1 + } + } + ], + "497": [ + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 954, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 497, + "count": 8 + } + }, + { + "inShape": [ + [ + 481, + 481, + 481 + ], + [ + 481, + 481, + 481 + ] + ], + "result": { + "id": 497, + "count": 16 + } + } + ], + "1127": [ + { + "inShape": [ + [ + 913, + -1, + 913 + ], + [ + 913, + 913, + 913 + ], + [ + 913, + -1, + 913 + ] + ], + "result": { + "id": 1127, + "count": 1 + } + } + ], + "980": [ + { + "inShape": [ + [ + 854, + 943, + 854 + ] + ], + "result": { + "id": 980, + "count": 8 + } + } + ], + "82": [ + { + "inShape": [ + [ + 809, + 809, + 809 + ], + [ + 809, + 809, + 809 + ], + [ + 809, + 809, + 809 + ] + ], + "result": { + "id": 82, + "count": 1 + } + } + ], + "1238": [ + { + "inShape": [ + [ + 850 + ], + [ + 1218 + ] + ], + "result": { + "id": 1238, + "count": 1 + } + } + ], + "673": [ + { + "inShape": [ + [ + 812 + ], + [ + 812 + ], + [ + 812 + ] + ], + "result": { + "id": 673, + "count": 1 + } + } + ], + "499": [ + { + "inShape": [ + [ + 357, + 357, + 357 + ], + [ + 357, + 956, + 357 + ], + [ + 357, + 357, + 357 + ] + ], + "result": { + "id": 499, + "count": 8 + } + }, + { + "inShape": [ + [ + 483, + 483, + 483 + ], + [ + 483, + 483, + 483 + ] + ], + "result": { + "id": 499, + "count": 16 + } + } + ], + "403": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ] + ], + "result": { + "id": 403, + "count": 6 + } + } + ], + "903": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 151, + 151, + 151 + ], + [ + 151, + 151, + 151 + ] + ], + "result": { + "id": 903, + "count": 6 + } + } + ], + "659": [ + { + "inShape": [ + [ + 657, + 657, + 657 + ], + [ + 657, + 657, + 657 + ], + [ + 657, + 657, + 657 + ] + ], + "result": { + "id": 659, + "count": 1 + } + } + ], + "983": [ + { + "inShape": [ + [ + -1, + 810 + ], + [ + 810, + -1 + ] + ], + "result": { + "id": 983, + "count": 1 + } + } + ], + "1222": [ + { + "inShape": [ + [ + 1218, + 1218 + ], + [ + 1218, + 1218 + ] + ], + "result": { + "id": 1222, + "count": 1 + } + } + ], + "423": [ + { + "inShape": [ + [ + 807, + 807 + ], + [ + 807, + 807 + ] + ], + "result": { + "id": 423, + "count": 1 + } + } + ], + "868": [ + { + "inShape": [ + [ + 804, + 804, + 804 + ], + [ + 804, + -1, + 804 + ] + ], + "result": { + "id": 868, + "count": 1 + } + } + ], + "321": [ + { + "inShape": [ + [ + 46, + 847, + 46 + ], + [ + 46, + 847, + 46 + ] + ], + "result": { + "id": 321, + "count": 3 + } + } + ], + "800": [ + { + "inShape": [ + [ + -1, + 847, + 850 + ], + [ + 847, + -1, + 850 + ], + [ + -1, + 847, + 850 + ] + ], + "result": { + "id": 800, + "count": 1 + } + } + ], + "756": [ + { + "inShape": [ + [ + 847, + 42, + 847 + ], + [ + 847, + 42, + 847 + ] + ], + "result": { + "id": 756, + "count": 1 + } + } + ], + "121": [ + { + "inShape": [ + [ + 113, + 113 + ], + [ + 113, + 113 + ] + ], + "result": { + "id": 121, + "count": 4 + } + }, + { + "ingredients": [ + 101, + 1218 + ], + "result": { + "id": 121, + "count": 1 + } + } + ], + "928": [ + { + "inShape": [ + [ + -1, + 810, + -1 + ], + [ + 810, + 657, + 810 + ], + [ + -1, + 810, + -1 + ] + ], + "result": { + "id": 928, + "count": 1 + } + } + ], + "631": [ + { + "inShape": [ + [ + 6, + -1, + -1 + ], + [ + 6, + 6, + -1 + ], + [ + 6, + 6, + 6 + ] + ], + "result": { + "id": 631, + "count": 4 + } + } + ], + "1094": [ + { + "inShape": [ + [ + 847, + 847, + 847 + ], + [ + 847, + 913, + 847 + ], + [ + 847, + 847, + 847 + ] + ], + "result": { + "id": 1094, + "count": 1 + } + } + ], + "255": [ + { + "inShape": [ + [ + 39, + 39, + 39 + ] + ], + "result": { + "id": 255, + "count": 6 + } + } + ], + "1191": [ + { + "inShape": [ + [ + 850, + 850 + ], + [ + 36, + 36 + ] + ], + "result": { + "id": 1191, + "count": 1 + } + } + ], + "1203": [ + { + "inShape": [ + [ + -1, + 138, + -1 + ], + [ + 138, + 302, + 138 + ], + [ + -1, + 138, + -1 + ] + ], + "result": { + "id": 1203, + "count": 1 + } + } + ], + "786": [ + { + "inShape": [ + [ + 42, + -1, + 42 + ], + [ + 42, + 42, + 42 + ] + ], + "result": { + "id": 786, + "count": 1 + } + } + ], + "1269": [ + { + "inShape": [ + [ + 804, + 1269, + 804 + ], + [ + 804, + 35, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1269, + "count": 2 + } + } + ], + "801": [ + { + "inShape": [ + [ + 880 + ], + [ + 847 + ], + [ + 851 + ] + ], + "result": { + "id": 801, + "count": 4 + } + } + ], + "1268": [ + { + "inShape": [ + [ + 804, + 1268, + 804 + ], + [ + 804, + 191, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1268, + "count": 2 + } + } + ], + "750": [ + { + "inShape": [ + [ + 847, + 36, + 847 + ], + [ + 847, + 36, + 847 + ] + ], + "result": { + "id": 750, + "count": 1 + } + } + ], + "402": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "id": 402, + "count": 6 + } + } + ], + "270": [ + { + "inShape": [ + [ + 285, + 285, + 285 + ] + ], + "result": { + "id": 270, + "count": 6 + } + } + ], + "513": [ + { + "inShape": [ + [ + 510, + -1, + -1 + ], + [ + 510, + 510, + -1 + ], + [ + 510, + 510, + 510 + ] + ], + "result": { + "id": 513, + "count": 4 + } + } + ], + "285": [ + { + "inShape": [ + [ + 921, + 921 + ], + [ + 921, + 921 + ] + ], + "result": { + "id": 285, + "count": 1 + } + } + ], + "275": [ + { + "inShape": [ + [ + 510, + 510, + 510 + ] + ], + "result": { + "id": 275, + "count": 6 + } + } + ], + "453": [ + { + "inShape": [ + [ + 209, + 209 + ] + ], + "result": { + "id": 453, + "count": 3 + } + }, + { + "ingredients": [ + 951, + 461 + ], + "result": { + "id": 453, + "count": 1 + } + } + ], + "107": [ + { + "inShape": [ + [ + 103, + -1, + -1 + ], + [ + 103, + 103, + -1 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "id": 107, + "count": 4 + } + } + ], + "738": [ + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 43, + 43, + 43 + ] + ], + "result": { + "id": 738, + "count": 2 + } + } + ], + "871": [ + { + "inShape": [ + [ + 804, + -1, + 804 + ], + [ + 804, + -1, + 804 + ] + ], + "result": { + "id": 871, + "count": 1 + } + } + ], + "906": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 153, + 153, + 153 + ], + [ + 153, + 153, + 153 + ] + ], + "result": { + "id": 906, + "count": 6 + } + } + ], + "418": [ + { + "inShape": [ + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ] + ], + "result": { + "id": 418, + "count": 6 + } + } + ], + "636": [ + { + "inShape": [ + [ + 10, + -1, + -1 + ], + [ + 10, + 10, + -1 + ], + [ + 10, + 10, + 10 + ] + ], + "result": { + "id": 636, + "count": 4 + } + } + ], + "101": [ + { + "inShape": [ + [ + 93, + 93 + ], + [ + 93, + 93 + ] + ], + "result": { + "id": 101, + "count": 4 + } + } + ], + "1229": [ + { + "inShape": [ + [ + 1225, + 1225 + ], + [ + 1225, + 1225 + ] + ], + "result": { + "id": 1229, + "count": 4 + } + } + ], + "904": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 152, + 152, + 152 + ], + [ + 152, + 152, + 152 + ] + ], + "result": { + "id": 904, + "count": 6 + } + } + ], + "632": [ + { + "inShape": [ + [ + 519, + -1, + -1 + ], + [ + 519, + 519, + -1 + ], + [ + 519, + 519, + 519 + ] + ], + "result": { + "id": 632, + "count": 4 + } + } + ], + "389": [ + { + "inShape": [ + [ + 42, + -1, + -1 + ], + [ + 42, + 42, + -1 + ], + [ + 42, + 42, + 42 + ] + ], + "result": { + "id": 389, + "count": 4 + } + } + ], + "702": [ + { + "inShape": [ + [ + 39, + 39 + ] + ], + "result": { + "id": 702, + "count": 1 + } + } + ], + "1004": [ + { + "inShape": [ + [ + -1, + 994, + -1 + ], + [ + 35, + 35, + 35 + ] + ], + "result": { + "id": 1004, + "count": 1 + } + } + ], + "261": [ + { + "inShape": [ + [ + 47, + 47, + 47 + ] + ], + "result": { + "id": 261, + "count": 6 + } + } + ], + "1282": [ + { + "inShape": [ + [ + 804, + 1282, + 804 + ], + [ + 804, + 462, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1282, + "count": 2 + } + } + ], + "1277": [ + { + "inShape": [ + [ + 804, + 1277, + 804 + ], + [ + 804, + 295, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1277, + "count": 2 + } + } + ], + "414": [ + { + "inShape": [ + [ + 1233, + 1233, + 1233 + ], + [ + 1233, + 1233, + 1233 + ] + ], + "result": { + "id": 414, + "count": 6 + } + } + ], + "825": [ + { + "inShape": [ + [ + 35, + 35 + ], + [ + 35, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 825, + "count": 1 + } + } + ], + "1102": [ + { + "inShape": [ + [ + 996, + 996, + 996 + ], + [ + 996, + 1097, + 996 + ], + [ + 996, + 996, + 996 + ] + ], + "result": { + "id": 1102, + "count": 1 + } + } + ], + "1227": [ + { + "inShape": [ + [ + 1225, + -1, + -1 + ], + [ + 1225, + 1225, + -1 + ], + [ + 1225, + 1225, + 1225 + ] + ], + "result": { + "id": 1227, + "count": 4 + } + } + ], + "1144": [ + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 213, + 213 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1144, + "count": 1 + } + } + ], + "400": [ + { + "inShape": [ + [ + 503, + 503, + 503 + ], + [ + 503, + 503, + 503 + ] + ], + "result": { + "id": 400, + "count": 6 + } + } + ], + "91": [ + { + "inShape": [ + [ + 804, + 804, + 804 + ], + [ + 804, + 804, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 91, + "count": 1 + } + } + ], + "651": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "id": 651, + "count": 6 + } + } + ], + "732": [ + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 37, + 37, + 37 + ] + ], + "result": { + "id": 732, + "count": 2 + } + } + ], + "475": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 948, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 475, + "count": 8 + } + } + ], + "474": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 947, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 474, + "count": 8 + } + } + ], + "332": [ + { + "inShape": [ + [ + 934, + 934 + ], + [ + 934, + 934 + ] + ], + "result": { + "id": 332, + "count": 1 + } + } + ], + "1237": [ + { + "inShape": [ + [ + 1224, + 1224, + 1224 + ], + [ + 332, + 332, + 332 + ], + [ + 1224, + 1224, + 1224 + ] + ], + "result": { + "id": 1237, + "count": 1 + } + } + ], + "415": [ + { + "inShape": [ + [ + 9, + 9, + 9 + ], + [ + 9, + 9, + 9 + ] + ], + "result": { + "id": 415, + "count": 6 + } + } + ], + "654": [ + { + "inShape": [ + [ + 346, + 346, + 346 + ] + ], + "result": { + "id": 654, + "count": 6 + } + } + ], + "408": [ + { + "inShape": [ + [ + 519, + 519, + 519 + ], + [ + 519, + 519, + 519 + ] + ], + "result": { + "id": 408, + "count": 6 + } + } + ], + "511": [ + { + "inShape": [ + [ + 275 + ], + [ + 275 + ] + ], + "result": { + "id": 511, + "count": 1 + } + } + ], + "369": [ + { + "inShape": [ + [ + 366, + 1115, + 366 + ], + [ + 366, + 1115, + 366 + ] + ], + "result": { + "id": 369, + "count": 6 + } + } + ], + "412": [ + { + "inShape": [ + [ + 1225, + 1225, + 1225 + ], + [ + 1225, + 1225, + 1225 + ] + ], + "result": { + "id": 412, + "count": 6 + } + } + ], + "286": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 925, + 925, + 925 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 286, + "count": 1 + } + } + ], + "508": [ + { + "inShape": [ + [ + 505, + -1, + -1 + ], + [ + 505, + 505, + -1 + ], + [ + 505, + 505, + 505 + ] + ], + "result": { + "id": 508, + "count": 4 + } + } + ], + "190": [ + { + "inShape": [ + [ + 806, + 806, + 806 + ], + [ + 806, + 806, + 806 + ], + [ + 806, + 806, + 806 + ] + ], + "result": { + "id": 190, + "count": 1 + } + } + ], + "456": [ + { + "inShape": [ + [ + 212, + 212 + ] + ], + "result": { + "id": 456, + "count": 3 + } + }, + { + "ingredients": [ + 954, + 461 + ], + "result": { + "id": 456, + "count": 1 + } + } + ], + "442": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 959, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 442, + "count": 8 + } + } + ], + "307": [ + { + "inShape": [ + [ + 912, + 912 + ], + [ + 912, + 912 + ] + ], + "result": { + "id": 307, + "count": 1 + } + } + ], + "891": [ + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 41, + 41, + 41 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 891, + "count": 3 + } + } + ], + "835": [ + { + "inShape": [ + [ + 810, + 810 + ], + [ + 810, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 835, + "count": 1 + } + } + ], + "1201": [ + { + "inShape": [ + [ + 252, + -1, + 252 + ], + [ + 252, + -1, + 252 + ], + [ + 252, + 252, + 252 + ] + ], + "result": { + "id": 1201, + "count": 1 + } + } + ], + "380": [ + { + "inShape": [ + [ + 191, + -1, + -1 + ], + [ + 191, + 191, + -1 + ], + [ + 191, + 191, + 191 + ] + ], + "result": { + "id": 380, + "count": 4 + } + } + ], + "310": [ + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 36, + 804, + 36 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 310, + "count": 1 + } + } + ], + "435": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 952, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 435, + "count": 8 + } + } + ], + "964": [ + { + "inShape": [ + [ + 202, + 202, + 202 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 964, + "count": 1 + } + }, + { + "ingredients": [ + 944, + 979 + ], + "result": { + "id": 964, + "count": 1 + } + } + ], + "254": [ + { + "inShape": [ + [ + 38, + 38, + 38 + ] + ], + "result": { + "id": 254, + "count": 6 + } + } + ], + "253": [ + { + "inShape": [ + [ + 37, + 37, + 37 + ] + ], + "result": { + "id": 253, + "count": 6 + } + } + ], + "890": [ + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 40, + 40, + 40 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 890, + "count": 3 + } + } + ], + "29": [ + { + "inShape": [ + [ + 28, + 61 + ], + [ + 61, + 28 + ] + ], + "result": { + "id": 29, + "count": 4 + } + } + ], + "774": [ + { + "inShape": [ + [ + 36, + -1, + 36 + ], + [ + 36, + 36, + 36 + ] + ], + "result": { + "id": 774, + "count": 1 + } + } + ], + "124": [ + { + "inShape": [ + [ + 120, + -1, + -1 + ], + [ + 120, + 120, + -1 + ], + [ + 120, + 120, + 120 + ] + ], + "result": { + "id": 124, + "count": 4 + } + }, + { + "ingredients": [ + 104, + 1218 + ], + "result": { + "id": 124, + "count": 1 + } + } + ], + "509": [ + { + "inShape": [ + [ + 1116, + 1117, + 1116 + ], + [ + 1117, + 1117, + 1117 + ], + [ + 1116, + 1117, + 1116 + ] + ], + "result": { + "id": 509, + "count": 1 + } + } + ], + "450": [ + { + "inShape": [ + [ + 206, + 206 + ] + ], + "result": { + "id": 450, + "count": 3 + } + }, + { + "ingredients": [ + 948, + 461 + ], + "result": { + "id": 450, + "count": 1 + } + } + ], + "278": [ + { + "inShape": [ + [ + 503, + 503, + 503 + ] + ], + "result": { + "id": 278, + "count": 6 + } + } + ], + "105": [ + { + "inShape": [ + [ + 101, + -1, + -1 + ], + [ + 101, + 101, + -1 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "id": 105, + "count": 4 + } + } + ], + "429": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 946, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 429, + "count": 8 + } + } + ], + "826": [ + { + "inShape": [ + [ + 35, + 35 + ], + [ + -1, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 826, + "count": 1 + } + } + ], + "841": [ + { + "inShape": [ + [ + 804, + 804 + ], + [ + -1, + 847 + ], + [ + -1, + 847 + ] + ], + "result": { + "id": 841, + "count": 1 + } + } + ], + "780": [ + { + "inShape": [ + [ + 39, + -1, + 39 + ], + [ + 39, + 39, + 39 + ] + ], + "result": { + "id": 780, + "count": 1 + } + } + ], + "162": [ + { + "inShape": [ + [ + 152, + 152 + ], + [ + 152, + 152 + ] + ], + "result": { + "id": 162, + "count": 3 + } + } + ], + "314": [ + { + "inShape": [ + [ + 39, + 847, + 39 + ], + [ + 39, + 847, + 39 + ] + ], + "result": { + "id": 314, + "count": 3 + } + } + ], + "697": [ + { + "inShape": [ + [ + 814, + 814 + ] + ], + "result": { + "id": 697, + "count": 1 + } + } + ], + "652": [ + { + "inShape": [ + [ + 9, + 9, + 9 + ] + ], + "result": { + "id": 652, + "count": 6 + } + } + ], + "1274": [ + { + "inShape": [ + [ + 804, + 1274, + 804 + ], + [ + 804, + 503, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1274, + "count": 2 + } + } + ], + "999": [ + { + "inShape": [ + [ + 188, + -1, + 188 + ], + [ + -1, + 188, + -1 + ] + ], + "result": { + "id": 999, + "count": 3 + } + } + ], + "102": [ + { + "inShape": [ + [ + 94, + 94 + ], + [ + 94, + 94 + ] + ], + "result": { + "id": 102, + "count": 4 + } + } + ], + "710": [ + { + "inShape": [ + [ + 810, + 810 + ], + [ + 810, + 810 + ], + [ + 810, + 810 + ] + ], + "result": { + "id": 710, + "count": 3 + } + } + ], + "3": [ + { + "inShape": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ], + "result": { + "id": 3, + "count": 4 + } + } + ], + "272": [ + { + "inShape": [ + [ + 345, + 345, + 345 + ] + ], + "result": { + "id": 272, + "count": 6 + } + } + ], + "103": [ + { + "inShape": [ + [ + 95, + 95 + ], + [ + 95, + 95 + ] + ], + "result": { + "id": 103, + "count": 4 + } + } + ], + "1139": [ + { + "inShape": [ + [ + 208, + 208, + 208 + ], + [ + 208, + 208, + 208 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 1139, + "count": 1 + } + } + ], + "422": [ + { + "inShape": [ + [ + 274 + ], + [ + 274 + ] + ], + "result": { + "id": 422, + "count": 1 + } + } + ], + "1216": [ + { + "inShape": [ + [ + -1, + 847, + -1 + ], + [ + 847, + 326, + 847 + ], + [ + 138, + 138, + 138 + ] + ], + "result": { + "id": 1216, + "count": 1 + } + } + ], + "164": [ + { + "inShape": [ + [ + 154, + 154 + ], + [ + 154, + 154 + ] + ], + "result": { + "id": 164, + "count": 3 + } + } + ], + "720": [ + { + "inShape": [ + [ + 45, + 45 + ], + [ + 45, + 45 + ], + [ + 45, + 45 + ] + ], + "result": { + "id": 720, + "count": 3 + } + } + ], + "913": [ + { + "inShape": [ + [ + 1122, + 1122 + ], + [ + 1122, + 1122 + ] + ], + "result": { + "id": 913, + "count": 1 + } + } + ], + "902": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 150, + 150, + 150 + ], + [ + 150, + 150, + 150 + ] + ], + "result": { + "id": 902, + "count": 6 + } + } + ], + "736": [ + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 41, + 41, + 41 + ] + ], + "result": { + "id": 736, + "count": 2 + } + } + ], + "378": [ + { + "inShape": [ + [ + 377, + 377 + ], + [ + 377, + 377 + ] + ], + "result": { + "id": 378, + "count": 4 + } + } + ], + "735": [ + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 40, + 40, + 40 + ] + ], + "result": { + "id": 735, + "count": 2 + } + } + ], + "629": [ + { + "inShape": [ + [ + 281, + -1, + -1 + ], + [ + 281, + 281, + -1 + ], + [ + 281, + 281, + 281 + ] + ], + "result": { + "id": 629, + "count": 4 + } + } + ], + "302": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + -1, + 35 + ], + [ + 35, + 35, + 35 + ] + ], + "result": { + "id": 302, + "count": 1 + } + } + ], + "634": [ + { + "inShape": [ + [ + 4, + -1, + -1 + ], + [ + 4, + 4, + -1 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "id": 634, + "count": 4 + } + } + ], + "706": [ + { + "inShape": [ + [ + 43, + 43 + ] + ], + "result": { + "id": 706, + "count": 1 + } + } + ], + "759": [ + { + "inShape": [ + [ + 847, + 45, + 847 + ], + [ + 847, + 45, + 847 + ] + ], + "result": { + "id": 759, + "count": 1 + } + } + ], + "764": [ + { + "inShape": [ + [ + 810, + 847, + 810 + ], + [ + 810, + 658, + 810 + ], + [ + 810, + 847, + 810 + ] + ], + "result": { + "id": 764, + "count": 6 + } + } + ], + "905": [ + { + "inShape": [ + [ + 356, + -1, + 356 + ], + [ + 165, + 165, + 165 + ], + [ + 165, + 165, + 165 + ] + ], + "result": { + "id": 905, + "count": 6 + } + } + ], + "708": [ + { + "inShape": [ + [ + 45, + 45 + ] + ], + "result": { + "id": 708, + "count": 1 + } + } + ], + "896": [ + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 46, + 46, + 46 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 896, + "count": 3 + } + } + ], + "1276": [ + { + "inShape": [ + [ + 804, + 1276, + 804 + ], + [ + 804, + 325, + 804 + ], + [ + 804, + 804, + 804 + ] + ], + "result": { + "id": 1276, + "count": 2 + } + } + ], + "718": [ + { + "inShape": [ + [ + 43, + 43 + ], + [ + 43, + 43 + ], + [ + 43, + 43 + ] + ], + "result": { + "id": 718, + "count": 3 + } + } + ], + "388": [ + { + "inShape": [ + [ + 41, + -1, + -1 + ], + [ + 41, + 41, + -1 + ], + [ + 41, + 41, + 41 + ] + ], + "result": { + "id": 388, + "count": 4 + } + } + ], + "510": [ + { + "inShape": [ + [ + 60, + 60 + ], + [ + 60, + 60 + ] + ], + "result": { + "id": 510, + "count": 1 + } + } + ], + "404": [ + { + "inShape": [ + [ + 340, + 340, + 340 + ], + [ + 340, + 340, + 340 + ] + ], + "result": { + "id": 404, + "count": 6 + } + } + ], + "834": [ + { + "inShape": [ + [ + 810, + 810, + 810 + ], + [ + -1, + 847, + -1 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 834, + "count": 1 + } + } + ], + "274": [ + { + "inShape": [ + [ + 422, + 422, + 422 + ] + ], + "result": { + "id": 274, + "count": 6 + } + } + ], + "193": [ + { + "inShape": [ + [ + 191, + 191 + ], + [ + 191, + 191 + ] + ], + "result": { + "id": 193, + "count": 4 + } + } + ], + "894": [ + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 44, + 44, + 44 + ], + [ + -1, + 847, + -1 + ] + ], + "result": { + "id": 894, + "count": 3 + } + } + ], + "273": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ] + ], + "result": { + "id": 273, + "count": 6 + } + } + ], + "348": [ + { + "inShape": [ + [ + 346, + 346 + ], + [ + 346, + 346 + ] + ], + "result": { + "id": 348, + "count": 4 + } + } + ], + "428": [ + { + "inShape": [ + [ + 462, + 462, + 462 + ], + [ + 462, + 945, + 462 + ], + [ + 462, + 462, + 462 + ] + ], + "result": { + "id": 428, + "count": 8 + } + } + ], + "319": [ + { + "inShape": [ + [ + 44, + 847, + 44 + ], + [ + 44, + 847, + 44 + ] + ], + "result": { + "id": 319, + "count": 3 + } + } + ], + "375": [ + { + "inShape": [ + [ + -1, + 925, + -1 + ], + [ + 804, + 290, + 804 + ], + [ + 290, + 290, + 290 + ] + ], + "result": { + "id": 375, + "count": 1 + } + } + ], + "1128": [ + { + "inShape": [ + [ + 850, + 850, + -1 + ], + [ + 850, + 926, + -1 + ], + [ + -1, + -1, + 850 + ] + ], + "result": { + "id": 1128, + "count": 2 + } + } + ], + "778": [ + { + "inShape": [ + [ + 38, + -1, + 38 + ], + [ + 38, + 38, + 38 + ] + ], + "result": { + "id": 778, + "count": 1 + } + } + ], + "90": [ + { + "inShape": [ + [ + 814, + 814, + 814 + ], + [ + 814, + 814, + 814 + ], + [ + 814, + 814, + 814 + ] + ], + "result": { + "id": 90, + "count": 1 + } + } + ], + "776": [ + { + "inShape": [ + [ + 37, + -1, + 37 + ], + [ + 37, + 37, + 37 + ] + ], + "result": { + "id": 776, + "count": 1 + } + } + ], + "624": [ + { + "inShape": [ + [ + 5, + -1, + -1 + ], + [ + 5, + 5, + -1 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "id": 624, + "count": 4 + } + } + ], + "666": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 657, + 657, + 807 + ], + [ + 35, + 35, + 35 + ] + ], + "result": { + "id": 666, + "count": 1 + } + } + ], + "1215": [ + { + "inShape": [ + [ + -1, + 847, + -1 + ], + [ + 847, + 802, + 847 + ], + [ + 138, + 138, + 138 + ] + ], + "result": { + "id": 1215, + "count": 1 + } + } + ], + "924": [ + { + "inShape": [ + [ + 243, + 243, + 243 + ] + ], + "result": { + "id": 924, + "count": 3 + } + } + ], + "416": [ + { + "inShape": [ + [ + 10, + 10, + 10 + ], + [ + 10, + 10, + 10 + ] + ], + "result": { + "id": 416, + "count": 6 + } + } + ], + "171": [ + { + "inShape": [ + [ + 137, + 137 + ], + [ + 137, + 137 + ] + ], + "result": { + "id": 171, + "count": 3 + } + } + ], + "258": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ] + ], + "result": { + "id": 258, + "count": 6 + } + } + ], + "361": [ + { + "inShape": [ + [ + 285, + -1, + -1 + ], + [ + 285, + 285, + -1 + ], + [ + 285, + 285, + 285 + ] + ], + "result": { + "id": 361, + "count": 4 + } + } + ], + "476": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 949, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 476, + "count": 8 + } + } + ], + "156": [ + { + "inShape": [ + [ + 146, + 146 + ], + [ + 146, + 146 + ] + ], + "result": { + "id": 156, + "count": 3 + } + } + ], + "170": [ + { + "inShape": [ + [ + 136, + 136 + ], + [ + 136, + 136 + ] + ], + "result": { + "id": 170, + "count": 3 + } + } + ], + "755": [ + { + "inShape": [ + [ + 847, + 41, + 847 + ], + [ + 847, + 41, + 847 + ] + ], + "result": { + "id": 755, + "count": 1 + } + } + ], + "158": [ + { + "inShape": [ + [ + 148, + 148 + ], + [ + 148, + 148 + ] + ], + "result": { + "id": 158, + "count": 3 + } + } + ], + "908": [ + { + "inShape": [ + [ + 810, + -1, + 810 + ], + [ + -1, + 810, + -1 + ] + ], + "result": { + "id": 908, + "count": 1 + } + } + ], + "276": [ + { + "inShape": [ + [ + 512, + 512, + 512 + ] + ], + "result": { + "id": 276, + "count": 6 + } + } + ], + "486": [ + { + "inShape": [ + [ + 188, + 188, + 188 + ], + [ + 188, + 959, + 188 + ], + [ + 188, + 188, + 188 + ] + ], + "result": { + "id": 486, + "count": 8 + } + } + ], + "7": [ + { + "inShape": [ + [ + 6, + 6 + ], + [ + 6, + 6 + ] + ], + "result": { + "id": 7, + "count": 4 + } + } + ], + "2": [ + { + "ingredients": [ + 4, + 807 + ], + "result": { + "id": 2, + "count": 1 + } + } + ], + "517": [ + { + "ingredients": [ + 997, + 997, + 997, + 997, + 997, + 997, + 997, + 997, + 997 + ], + "result": { + "id": 517, + "count": 1 + } + } + ], + "6": [ + { + "ingredients": [ + 4, + 35 + ], + "result": { + "id": 6, + "count": 2 + } + } + ], + "36": [ + { + "ingredients": [ + 132 + ], + "result": { + "id": 36, + "count": 4 + } + } + ], + "37": [ + { + "ingredients": [ + 133 + ], + "result": { + "id": 37, + "count": 4 + } + } + ], + "38": [ + { + "ingredients": [ + 134 + ], + "result": { + "id": 38, + "count": 4 + } + } + ], + "39": [ + { + "ingredients": [ + 135 + ], + "result": { + "id": 39, + "count": 4 + } + } + ], + "40": [ + { + "ingredients": [ + 136 + ], + "result": { + "id": 40, + "count": 4 + } + } + ], + "41": [ + { + "ingredients": [ + 137 + ], + "result": { + "id": 41, + "count": 4 + } + } + ], + "42": [ + { + "ingredients": [ + 138 + ], + "result": { + "id": 42, + "count": 4 + } + } + ], + "43": [ + { + "ingredients": [ + 139 + ], + "result": { + "id": 43, + "count": 4 + } + } + ], + "44": [ + { + "ingredients": [ + 144 + ], + "result": { + "id": 44, + "count": 2 + } + } + ], + "45": [ + { + "ingredients": [ + 142 + ], + "result": { + "id": 45, + "count": 4 + } + } + ], + "46": [ + { + "ingredients": [ + 143 + ], + "result": { + "id": 46, + "count": 4 + } + } + ], + "571": [ + { + "ingredients": [ + 944, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 571, + "count": 8 + } + } + ], + "572": [ + { + "ingredients": [ + 945, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 572, + "count": 8 + } + } + ], + "573": [ + { + "ingredients": [ + 946, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 573, + "count": 8 + } + } + ], + "574": [ + { + "ingredients": [ + 947, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 574, + "count": 8 + } + } + ], + "575": [ + { + "ingredients": [ + 948, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 575, + "count": 8 + } + } + ], + "576": [ + { + "ingredients": [ + 949, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 576, + "count": 8 + } + } + ], + "1089": [ + { + "ingredients": [ + 852, + 1002, + 802 + ], + "result": { + "id": 1089, + "count": 3 + } + } + ], + "577": [ + { + "ingredients": [ + 950, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 577, + "count": 8 + } + } + ], + "578": [ + { + "ingredients": [ + 951, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 578, + "count": 8 + } + } + ], + "1091": [ + { + "ingredients": [ + 925, + 941, + 851 + ], + "result": { + "id": 1091, + "count": 1 + } + } + ], + "579": [ + { + "ingredients": [ + 952, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 579, + "count": 8 + } + } + ], + "580": [ + { + "ingredients": [ + 953, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 580, + "count": 8 + } + } + ], + "581": [ + { + "ingredients": [ + 954, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 581, + "count": 8 + } + } + ], + "582": [ + { + "ingredients": [ + 955, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 582, + "count": 8 + } + } + ], + "1095": [ + { + "ingredients": [ + 1094, + 942 + ], + "result": { + "id": 1095, + "count": 1 + } + } + ], + "583": [ + { + "ingredients": [ + 956, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 583, + "count": 8 + } + } + ], + "584": [ + { + "ingredients": [ + 957, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 584, + "count": 8 + } + } + ], + "585": [ + { + "ingredients": [ + 958, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 585, + "count": 8 + } + } + ], + "586": [ + { + "ingredients": [ + 959, + 57, + 57, + 57, + 57, + 61, + 61, + 61, + 61 + ], + "result": { + "id": 586, + "count": 8 + } + } + ], + "1111": [ + { + "ingredients": [ + 322, + 962, + 927 + ], + "result": { + "id": 1111, + "count": 1 + } + } + ], + "1112": [ + { + "ingredients": [ + 852, + 924 + ], + "result": { + "id": 1112, + "count": 3 + } + } + ], + "1120": [ + { + "ingredients": [ + 1099, + 1119, + 848, + 1097, + 234 + ], + "result": { + "id": 1120, + "count": 1 + } + }, + { + "ingredients": [ + 1099, + 1119, + 848, + 1097, + 235 + ], + "result": { + "id": 1120, + "count": 1 + } + } + ], + "619": [ + { + "ingredients": [ + 463, + 463, + 463, + 463, + 463, + 463, + 463, + 463, + 463 + ], + "result": { + "id": 619, + "count": 1 + } + } + ], + "112": [ + { + "ingredients": [ + 89, + 1218 + ], + "result": { + "id": 112, + "count": 1 + } + } + ], + "113": [ + { + "ingredients": [ + 93, + 1218 + ], + "result": { + "id": 113, + "count": 1 + } + } + ], + "114": [ + { + "ingredients": [ + 94, + 1218 + ], + "result": { + "id": 114, + "count": 1 + } + } + ], + "115": [ + { + "ingredients": [ + 95, + 1218 + ], + "result": { + "id": 115, + "count": 1 + } + } + ], + "1156": [ + { + "ingredients": [ + 848, + 1154, + 1154, + 1154, + 1154, + 1154, + 1154 + ], + "result": { + "id": 1156, + "count": 1 + } + } + ], + "1165": [ + { + "ingredients": [ + 810 + ], + "result": { + "id": 1165, + "count": 9 + } + } + ], + "141": [ + { + "ingredients": [ + 32, + 140 + ], + "result": { + "id": 141, + "count": 1 + } + } + ], + "144": [ + { + "ingredients": [ + 251, + 251, + 251, + 251, + 251, + 251, + 251, + 251, + 251 + ], + "result": { + "id": 144, + "count": 1 + } + } + ], + "657": [ + { + "ingredients": [ + 659 + ], + "result": { + "id": 657, + "count": 9 + } + } + ], + "1182": [ + { + "ingredients": [ + 1184, + 1184, + 1184, + 1184, + 1184, + 1184, + 1184, + 1184, + 1184 + ], + "result": { + "id": 1182, + "count": 1 + } + } + ], + "678": [ + { + "ingredients": [ + 299, + 677 + ], + "result": { + "id": 678, + "count": 1 + } + } + ], + "1192": [ + { + "ingredients": [ + 924, + 227 + ], + "result": { + "id": 1192, + "count": 1 + } + } + ], + "1193": [ + { + "ingredients": [ + 924, + 1107 + ], + "result": { + "id": 1193, + "count": 1 + } + } + ], + "682": [ + { + "ingredients": [ + 1 + ], + "result": { + "id": 682, + "count": 1 + } + } + ], + "1194": [ + { + "ingredients": [ + 924, + 1104 + ], + "result": { + "id": 1194, + "count": 1 + } + } + ], + "1195": [ + { + "ingredients": [ + 924, + 885 + ], + "result": { + "id": 1195, + "count": 1 + } + } + ], + "683": [ + { + "ingredients": [ + 1229 + ], + "result": { + "id": 683, + "count": 1 + } + } + ], + "684": [ + { + "ingredients": [ + 36 + ], + "result": { + "id": 684, + "count": 1 + } + } + ], + "685": [ + { + "ingredients": [ + 37 + ], + "result": { + "id": 685, + "count": 1 + } + } + ], + "686": [ + { + "ingredients": [ + 38 + ], + "result": { + "id": 686, + "count": 1 + } + } + ], + "687": [ + { + "ingredients": [ + 39 + ], + "result": { + "id": 687, + "count": 1 + } + } + ], + "688": [ + { + "ingredients": [ + 40 + ], + "result": { + "id": 688, + "count": 1 + } + } + ], + "689": [ + { + "ingredients": [ + 41 + ], + "result": { + "id": 689, + "count": 1 + } + } + ], + "690": [ + { + "ingredients": [ + 42 + ], + "result": { + "id": 690, + "count": 1 + } + } + ], + "691": [ + { + "ingredients": [ + 43 + ], + "result": { + "id": 691, + "count": 1 + } + } + ], + "692": [ + { + "ingredients": [ + 44 + ], + "result": { + "id": 692, + "count": 1 + } + } + ], + "693": [ + { + "ingredients": [ + 45 + ], + "result": { + "id": 693, + "count": 1 + } + } + ], + "694": [ + { + "ingredients": [ + 46 + ], + "result": { + "id": 694, + "count": 1 + } + } + ], + "1221": [ + { + "ingredients": [ + 665, + 999, + 999, + 999, + 999 + ], + "result": { + "id": 1221, + "count": 4 + } + } + ], + "203": [ + { + "ingredients": [ + 945, + 217 + ], + "result": { + "id": 203, + "count": 1 + } + } + ], + "204": [ + { + "ingredients": [ + 946, + 217 + ], + "result": { + "id": 204, + "count": 1 + } + } + ], + "205": [ + { + "ingredients": [ + 947, + 217 + ], + "result": { + "id": 205, + "count": 1 + } + } + ], + "206": [ + { + "ingredients": [ + 948, + 217 + ], + "result": { + "id": 206, + "count": 1 + } + } + ], + "207": [ + { + "ingredients": [ + 949, + 217 + ], + "result": { + "id": 207, + "count": 1 + } + } + ], + "208": [ + { + "ingredients": [ + 950, + 217 + ], + "result": { + "id": 208, + "count": 1 + } + } + ], + "209": [ + { + "ingredients": [ + 951, + 217 + ], + "result": { + "id": 209, + "count": 1 + } + } + ], + "210": [ + { + "ingredients": [ + 952, + 217 + ], + "result": { + "id": 210, + "count": 1 + } + } + ], + "211": [ + { + "ingredients": [ + 953, + 217 + ], + "result": { + "id": 211, + "count": 1 + } + } + ], + "212": [ + { + "ingredients": [ + 954, + 217 + ], + "result": { + "id": 212, + "count": 1 + } + } + ], + "213": [ + { + "ingredients": [ + 955, + 217 + ], + "result": { + "id": 213, + "count": 1 + } + } + ], + "214": [ + { + "ingredients": [ + 956, + 217 + ], + "result": { + "id": 214, + "count": 1 + } + } + ], + "1239": [ + { + "ingredients": [ + 1238, + 944 + ], + "result": { + "id": 1239, + "count": 1 + } + } + ], + "215": [ + { + "ingredients": [ + 957, + 217 + ], + "result": { + "id": 215, + "count": 1 + } + } + ], + "216": [ + { + "ingredients": [ + 958, + 217 + ], + "result": { + "id": 216, + "count": 1 + } + } + ], + "1240": [ + { + "ingredients": [ + 1238, + 945 + ], + "result": { + "id": 1240, + "count": 1 + } + } + ], + "1241": [ + { + "ingredients": [ + 1238, + 946 + ], + "result": { + "id": 1241, + "count": 1 + } + } + ], + "217": [ + { + "ingredients": [ + 959, + 213 + ], + "result": { + "id": 217, + "count": 1 + } + } + ], + "1242": [ + { + "ingredients": [ + 1238, + 947 + ], + "result": { + "id": 1242, + "count": 1 + } + } + ], + "1243": [ + { + "ingredients": [ + 1238, + 948 + ], + "result": { + "id": 1243, + "count": 1 + } + } + ], + "1244": [ + { + "ingredients": [ + 1238, + 949 + ], + "result": { + "id": 1244, + "count": 1 + } + } + ], + "1245": [ + { + "ingredients": [ + 1238, + 950 + ], + "result": { + "id": 1245, + "count": 1 + } + } + ], + "1246": [ + { + "ingredients": [ + 1238, + 951 + ], + "result": { + "id": 1246, + "count": 1 + } + } + ], + "1247": [ + { + "ingredients": [ + 1238, + 952 + ], + "result": { + "id": 1247, + "count": 1 + } + } + ], + "1248": [ + { + "ingredients": [ + 1238, + 953 + ], + "result": { + "id": 1248, + "count": 1 + } + } + ], + "1249": [ + { + "ingredients": [ + 1238, + 954 + ], + "result": { + "id": 1249, + "count": 1 + } + } + ], + "1250": [ + { + "ingredients": [ + 1238, + 955 + ], + "result": { + "id": 1250, + "count": 1 + } + } + ], + "1251": [ + { + "ingredients": [ + 1238, + 956 + ], + "result": { + "id": 1251, + "count": 1 + } + } + ], + "1252": [ + { + "ingredients": [ + 1238, + 957 + ], + "result": { + "id": 1252, + "count": 1 + } + } + ], + "1253": [ + { + "ingredients": [ + 1238, + 958 + ], + "result": { + "id": 1253, + "count": 1 + } + } + ], + "1254": [ + { + "ingredients": [ + 1238, + 959 + ], + "result": { + "id": 1254, + "count": 1 + } + } + ], + "767": [ + { + "ingredients": [ + 299, + 766 + ], + "result": { + "id": 767, + "count": 1 + } + } + ], + "768": [ + { + "ingredients": [ + 302, + 766 + ], + "result": { + "id": 768, + "count": 1 + } + } + ], + "769": [ + { + "ingredients": [ + 679, + 766 + ], + "result": { + "id": 769, + "count": 1 + } + } + ], + "770": [ + { + "ingredients": [ + 667, + 766 + ], + "result": { + "id": 770, + "count": 1 + } + } + ], + "775": [ + { + "ingredients": [ + 299, + 774 + ], + "result": { + "id": 775, + "count": 1 + } + } + ], + "777": [ + { + "ingredients": [ + 299, + 776 + ], + "result": { + "id": 777, + "count": 1 + } + } + ], + "779": [ + { + "ingredients": [ + 299, + 778 + ], + "result": { + "id": 779, + "count": 1 + } + } + ], + "781": [ + { + "ingredients": [ + 299, + 780 + ], + "result": { + "id": 781, + "count": 1 + } + } + ], + "783": [ + { + "ingredients": [ + 299, + 782 + ], + "result": { + "id": 783, + "count": 1 + } + } + ], + "785": [ + { + "ingredients": [ + 299, + 784 + ], + "result": { + "id": 785, + "count": 1 + } + } + ], + "787": [ + { + "ingredients": [ + 299, + 786 + ], + "result": { + "id": 787, + "count": 1 + } + } + ], + "789": [ + { + "ingredients": [ + 299, + 788 + ], + "result": { + "id": 789, + "count": 1 + } + } + ], + "791": [ + { + "ingredients": [ + 299, + 790 + ], + "result": { + "id": 791, + "count": 1 + } + } + ], + "798": [ + { + "ingredients": [ + 810, + 880 + ], + "result": { + "id": 798, + "count": 1 + } + } + ], + "289": [ + { + "ingredients": [ + 35, + 359 + ], + "result": { + "id": 289, + "count": 1 + } + }, + { + "ingredients": [ + 35, + 247 + ], + "result": { + "id": 289, + "count": 1 + } + } + ], + "802": [ + { + "ingredients": [ + 81 + ], + "result": { + "id": 802, + "count": 9 + } + } + ], + "804": [ + { + "ingredients": [ + 91 + ], + "result": { + "id": 804, + "count": 9 + } + } + ], + "805": [ + { + "ingredients": [ + 382 + ], + "result": { + "id": 805, + "count": 9 + } + } + ], + "806": [ + { + "ingredients": [ + 190 + ], + "result": { + "id": 806, + "count": 9 + } + } + ], + "809": [ + { + "ingredients": [ + 82 + ], + "result": { + "id": 809, + "count": 9 + } + } + ], + "811": [ + { + "ingredients": [ + 83 + ], + "result": { + "id": 811, + "count": 9 + } + } + ], + "812": [ + { + "ingredients": [ + 89 + ], + "result": { + "id": 812, + "count": 9 + } + }, + { + "ingredients": [ + 112 + ], + "result": { + "id": 812, + "count": 9 + } + } + ], + "813": [ + { + "ingredients": [ + 84 + ], + "result": { + "id": 813, + "count": 9 + } + } + ], + "815": [ + { + "ingredients": [ + 92 + ], + "result": { + "id": 815, + "count": 9 + } + }, + { + "ingredients": [ + 816, + 816, + 816, + 816, + 814, + 814, + 814, + 814 + ], + "result": { + "id": 815, + "count": 1 + } + } + ], + "849": [ + { + "ingredients": [ + 234, + 235, + 848 + ], + "result": { + "id": 849, + "count": 1 + } + } + ], + "341": [ + { + "ingredients": [ + 340, + 359 + ], + "result": { + "id": 341, + "count": 1 + } + }, + { + "ingredients": [ + 340, + 247 + ], + "result": { + "id": 341, + "count": 1 + } + } + ], + "854": [ + { + "ingredients": [ + 445 + ], + "result": { + "id": 854, + "count": 9 + } + } + ], + "344": [ + { + "ingredients": [ + 32, + 854 + ], + "result": { + "id": 344, + "count": 1 + } + } + ], + "358": [ + { + "ingredients": [ + 984, + 984, + 984, + 984, + 984, + 984, + 984, + 984, + 984 + ], + "result": { + "id": 358, + "count": 1 + } + } + ], + "925": [ + { + "ingredients": [ + 924, + 924, + 924, + 913 + ], + "result": { + "id": 925, + "count": 1 + } + } + ], + "926": [ + { + "ingredients": [ + 664 + ], + "result": { + "id": 926, + "count": 9 + } + } + ], + "944": [ + { + "ingredients": [ + 960 + ], + "result": { + "id": 944, + "count": 1 + } + }, + { + "ingredients": [ + 229 + ], + "result": { + "id": 944, + "count": 1 + } + } + ], + "945": [ + { + "ingredients": [ + 231 + ], + "result": { + "id": 945, + "count": 1 + } + }, + { + "ingredients": [ + 224 + ], + "result": { + "id": 945, + "count": 1 + } + }, + { + "ingredients": [ + 958, + 948 + ], + "result": { + "id": 945, + "count": 2 + } + } + ], + "946": [ + { + "ingredients": [ + 955, + 958, + 958, + 944 + ], + "result": { + "id": 946, + "count": 4 + } + }, + { + "ingredients": [ + 221 + ], + "result": { + "id": 946, + "count": 1 + } + }, + { + "ingredients": [ + 955, + 958, + 950 + ], + "result": { + "id": 946, + "count": 3 + } + }, + { + "ingredients": [ + 466 + ], + "result": { + "id": 946, + "count": 2 + } + }, + { + "ingredients": [ + 954, + 950 + ], + "result": { + "id": 946, + "count": 2 + } + } + ], + "947": [ + { + "ingredients": [ + 220 + ], + "result": { + "id": 947, + "count": 1 + } + }, + { + "ingredients": [ + 955, + 944 + ], + "result": { + "id": 947, + "count": 2 + } + } + ], + "948": [ + { + "ingredients": [ + 218 + ], + "result": { + "id": 948, + "count": 1 + } + }, + { + "ingredients": [ + 465 + ], + "result": { + "id": 948, + "count": 2 + } + } + ], + "949": [ + { + "ingredients": [ + 957, + 944 + ], + "result": { + "id": 949, + "count": 2 + } + } + ], + "950": [ + { + "ingredients": [ + 958, + 944 + ], + "result": { + "id": 950, + "count": 2 + } + }, + { + "ingredients": [ + 246 + ], + "result": { + "id": 950, + "count": 1 + } + }, + { + "ingredients": [ + 226 + ], + "result": { + "id": 950, + "count": 1 + } + }, + { + "ingredients": [ + 468 + ], + "result": { + "id": 950, + "count": 2 + } + } + ], + "951": [ + { + "ingredients": [ + 959, + 944 + ], + "result": { + "id": 951, + "count": 2 + } + } + ], + "952": [ + { + "ingredients": [ + 227 + ], + "result": { + "id": 952, + "count": 1 + } + }, + { + "ingredients": [ + 222 + ], + "result": { + "id": 952, + "count": 1 + } + }, + { + "ingredients": [ + 225 + ], + "result": { + "id": 952, + "count": 1 + } + }, + { + "ingredients": [ + 959, + 944, + 944 + ], + "result": { + "id": 952, + "count": 3 + } + }, + { + "ingredients": [ + 951, + 944 + ], + "result": { + "id": 952, + "count": 2 + } + } + ], + "953": [ + { + "ingredients": [ + 232 + ], + "result": { + "id": 953, + "count": 2 + } + }, + { + "ingredients": [ + 955, + 957 + ], + "result": { + "id": 953, + "count": 2 + } + } + ], + "954": [ + { + "ingredients": [ + 955, + 958 + ], + "result": { + "id": 954, + "count": 2 + } + } + ], + "955": [ + { + "ingredients": [ + 228 + ], + "result": { + "id": 955, + "count": 1 + } + }, + { + "ingredients": [ + 806 + ], + "result": { + "id": 955, + "count": 1 + } + } + ], + "956": [ + { + "ingredients": [ + 943 + ], + "result": { + "id": 956, + "count": 1 + } + } + ], + "445": [ + { + "ingredients": [ + 854, + 854, + 854, + 854, + 854, + 854, + 854, + 854, + 854 + ], + "result": { + "id": 445, + "count": 1 + } + } + ], + "958": [ + { + "ingredients": [ + 223 + ], + "result": { + "id": 958, + "count": 1 + } + }, + { + "ingredients": [ + 1154 + ], + "result": { + "id": 958, + "count": 1 + } + }, + { + "ingredients": [ + 219 + ], + "result": { + "id": 958, + "count": 1 + } + }, + { + "ingredients": [ + 467 + ], + "result": { + "id": 958, + "count": 2 + } + } + ], + "959": [ + { + "ingredients": [ + 941 + ], + "result": { + "id": 959, + "count": 1 + } + }, + { + "ingredients": [ + 230 + ], + "result": { + "id": 959, + "count": 1 + } + } + ], + "960": [ + { + "ingredients": [ + 520 + ], + "result": { + "id": 960, + "count": 9 + } + }, + { + "ingredients": [ + 961 + ], + "result": { + "id": 960, + "count": 3 + } + } + ], + "962": [ + { + "ingredients": [ + 1221 + ], + "result": { + "id": 962, + "count": 3 + } + }, + { + "ingredients": [ + 243 + ], + "result": { + "id": 962, + "count": 1 + } + } + ], + "463": [ + { + "ingredients": [ + 306, + 306, + 306, + 306, + 306, + 306, + 306, + 306, + 306 + ], + "result": { + "id": 463, + "count": 1 + } + } + ], + "985": [ + { + "ingredients": [ + 923 + ], + "result": { + "id": 985, + "count": 9 + } + } + ], + "986": [ + { + "ingredients": [ + 322 + ], + "result": { + "id": 986, + "count": 4 + } + } + ], + "987": [ + { + "ingredients": [ + 984 + ], + "result": { + "id": 987, + "count": 1 + } + } + ], + "996": [ + { + "ingredients": [ + 814 + ], + "result": { + "id": 996, + "count": 9 + } + } + ], + "1001": [ + { + "ingredients": [ + 1000, + 234, + 962 + ], + "result": { + "id": 1001, + "count": 1 + } + } + ], + "1002": [ + { + "ingredients": [ + 994 + ], + "result": { + "id": 1002, + "count": 2 + } + } + ], + "1003": [ + { + "ingredients": [ + 1002, + 926 + ], + "result": { + "id": 1003, + "count": 1 + } + } + ], + "1006": [ + { + "ingredients": [ + 993, + 1002 + ], + "result": { + "id": 1006, + "count": 1 + } + } + ], + "504": [ + { + "ingredients": [ + 1116, + 1116, + 1116, + 1116, + 1116, + 1116, + 1116, + 1116, + 1116 + ], + "result": { + "id": 504, + "count": 1 + } + } + ] + } \ No newline at end of file From 1e185cca8ec731b6e493e9cae99202b1703f9acd Mon Sep 17 00:00:00 2001 From: extremeheat Date: Thu, 29 Aug 2024 02:51:38 -0400 Subject: [PATCH 14/19] -1 to null --- data/pc/1.20.5/recipes.json | 814 ++++++++++++++++++------------------ 1 file changed, 407 insertions(+), 407 deletions(-) diff --git a/data/pc/1.20.5/recipes.json b/data/pc/1.20.5/recipes.json index 066f4e940..9bb67ccab 100644 --- a/data/pc/1.20.5/recipes.json +++ b/data/pc/1.20.5/recipes.json @@ -52,9 +52,9 @@ { "inShape": [ [ - -1, + null, 810, - -1 + null ], [ 1, @@ -226,9 +226,9 @@ 204 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -409,7 +409,7 @@ "inShape": [ [ 913, - -1, + null, 913 ], [ @@ -571,9 +571,9 @@ 37 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -675,7 +675,7 @@ ], [ 913, - -1, + null, 913 ] ], @@ -759,12 +759,12 @@ ], [ 251, - -1, + null, 251 ], [ 251, - -1, + null, 251 ] ], @@ -849,14 +849,14 @@ 804 ], [ - -1, + null, 847, - -1 + null ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -870,13 +870,13 @@ "inShape": [ [ 921, - -1, + null, 921 ], [ - -1, + null, 921, - -1 + null ] ], "result": { @@ -958,13 +958,13 @@ "inShape": [ [ 366, - -1, - -1 + null, + null ], [ 366, 366, - -1 + null ], [ 366, @@ -1228,13 +1228,13 @@ "inShape": [ [ 121, - -1, - -1 + null, + null ], [ 121, 121, - -1 + null ], [ 121, @@ -1323,13 +1323,13 @@ "inShape": [ [ 35, - -1, - -1 + null, + null ], [ 35, 35, - -1 + null ], [ 35, @@ -1449,12 +1449,12 @@ "inShape": [ [ 814, - -1, + null, 814 ], [ 814, - -1, + null, 814 ] ], @@ -1527,13 +1527,13 @@ "inShape": [ [ 503, - -1, - -1 + null, + null ], [ 503, 503, - -1 + null ], [ 503, @@ -1595,11 +1595,11 @@ 814 ], [ - -1, + null, 847 ], [ - -1, + null, 847 ] ], @@ -1674,14 +1674,14 @@ 36 ], [ - -1, + null, 847, - -1 + null ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -1695,7 +1695,7 @@ "inShape": [ [ 814, - -1, + null, 814 ], [ @@ -1720,7 +1720,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -1745,13 +1745,13 @@ "inShape": [ [ 36, - -1, - -1 + null, + null ], [ 36, 36, - -1 + null ], [ 36, @@ -1795,13 +1795,13 @@ "inShape": [ [ 1233, - -1, - -1 + null, + null ], [ 1233, 1233, - -1 + null ], [ 1233, @@ -1874,9 +1874,9 @@ { "inShape": [ [ - -1, + null, 808, - -1 + null ], [ 808, @@ -1884,9 +1884,9 @@ 808 ], [ - -1, + null, 808, - -1 + null ] ], "result": { @@ -2005,9 +2005,9 @@ { "inShape": [ [ - -1, + null, 658, - -1 + null ], [ 658, @@ -2109,13 +2109,13 @@ "inShape": [ [ 1, - -1, - -1 + null, + null ], [ 1, 1, - -1 + null ], [ 1, @@ -2133,18 +2133,18 @@ { "inShape": [ [ - -1, - -1, + null, + null, 847 ], [ - -1, + null, 847, 850 ], [ 847, - -1, + null, 850 ] ], @@ -2184,13 +2184,13 @@ "inShape": [ [ 378, - -1, - -1 + null, + null ], [ 378, 378, - -1 + null ], [ 378, @@ -2214,12 +2214,12 @@ ], [ 810, - -1, + null, 810 ], [ 810, - -1, + null, 810 ] ], @@ -2321,13 +2321,13 @@ "inShape": [ [ 2, - -1, - -1 + null, + null ], [ 2, 2, - -1 + null ], [ 2, @@ -2657,7 +2657,7 @@ "inShape": [ [ 810, - -1, + null, 810 ], [ @@ -2735,13 +2735,13 @@ "inShape": [ [ 38, - -1, - -1 + null, + null ], [ 38, 38, - -1 + null ], [ 38, @@ -2845,7 +2845,7 @@ 847 ], [ - -1, + null, 847 ] ], @@ -2860,13 +2860,13 @@ "inShape": [ [ 45, - -1, - -1 + null, + null ], [ 45, 45, - -1 + null ], [ 45, @@ -2884,19 +2884,19 @@ { "inShape": [ [ - -1, + null, 921, - -1 + null ], [ 921, - -1, + null, 921 ], [ - -1, + null, 921, - -1 + null ] ], "result": { @@ -2992,13 +2992,13 @@ "inShape": [ [ 340, - -1, - -1 + null, + null ], [ 340, 340, - -1 + null ], [ 340, @@ -3116,9 +3116,9 @@ 211 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -3200,11 +3200,11 @@ 810 ], [ - -1, + null, 847 ], [ - -1, + null, 847 ] ], @@ -3219,7 +3219,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -3278,9 +3278,9 @@ { "inShape": [ [ - -1, + null, 814, - -1 + null ], [ 814, @@ -3288,9 +3288,9 @@ 814 ], [ - -1, + null, 814, - -1 + null ] ], "result": { @@ -3313,9 +3313,9 @@ 43 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -3421,7 +3421,7 @@ ], [ 36, - -1, + null, 36 ] ], @@ -3479,12 +3479,12 @@ ], [ 804, - -1, + null, 804 ], [ 804, - -1, + null, 804 ] ], @@ -3518,14 +3518,14 @@ 252 ], [ - -1, + null, 286, - -1 + null ], [ - -1, + null, 252, - -1 + null ] ], "result": { @@ -3539,13 +3539,13 @@ "inShape": [ [ 43, - -1, - -1 + null, + null ], [ 43, 43, - -1 + null ], [ 43, @@ -3698,14 +3698,14 @@ 814 ], [ - -1, + null, 847, - -1 + null ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -3719,13 +3719,13 @@ "inShape": [ [ 100, - -1, - -1 + null, + null ], [ 100, 100, - -1 + null ], [ 100, @@ -3744,7 +3744,7 @@ "inShape": [ [ 44, - -1, + null, 44 ], [ @@ -3804,7 +3804,7 @@ "inShape": [ [ 847, - -1, + null, 847 ], [ @@ -3814,7 +3814,7 @@ ], [ 847, - -1, + null, 847 ] ], @@ -3873,9 +3873,9 @@ { "inShape": [ [ - -1, + null, 657, - -1 + null ], [ 657, @@ -3883,9 +3883,9 @@ 657 ], [ - -1, + null, 657, - -1 + null ] ], "result": { @@ -4040,9 +4040,9 @@ 203 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -4065,9 +4065,9 @@ 42 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -4096,7 +4096,7 @@ "inShape": [ [ 41, - -1, + null, 41 ], [ @@ -4116,13 +4116,13 @@ "inShape": [ [ 345, - -1, - -1 + null, + null ], [ 345, 345, - -1 + null ], [ 345, @@ -4166,12 +4166,12 @@ "inShape": [ [ 913, - -1, + null, 913 ], [ 913, - -1, + null, 913 ] ], @@ -4186,7 +4186,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -4215,9 +4215,9 @@ 847 ], [ - -1, + null, 847, - -1 + null ], [ 847, @@ -4299,12 +4299,12 @@ ], [ 913, - -1, + null, 913 ], [ 913, - -1, + null, 913 ] ], @@ -4346,9 +4346,9 @@ 214 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -4367,7 +4367,7 @@ ], [ 36, - -1, + null, 36 ], [ @@ -4603,12 +4603,12 @@ "inShape": [ [ 810, - -1, + null, 810 ], [ 810, - -1, + null, 810 ], [ @@ -4686,10 +4686,10 @@ "inShape": [ [ 931, - -1 + null ], [ - -1, + null, 237 ] ], @@ -4763,9 +4763,9 @@ 209 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -4779,13 +4779,13 @@ "inShape": [ [ 46, - -1, - -1 + null, + null ], [ 46, 46, - -1 + null ], [ 46, @@ -4804,7 +4804,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -4879,7 +4879,7 @@ "inShape": [ [ 810, - -1, + null, 810 ], [ @@ -4919,7 +4919,7 @@ ], [ 36, - -1, + null, 36 ], [ @@ -4964,7 +4964,7 @@ "inShape": [ [ 810, - -1, + null, 810 ], [ @@ -4974,7 +4974,7 @@ ], [ 810, - -1, + null, 810 ] ], @@ -5042,9 +5042,9 @@ 206 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -5170,13 +5170,13 @@ "inShape": [ [ 348, - -1, - -1 + null, + null ], [ 348, 348, - -1 + null ], [ 348, @@ -5300,13 +5300,13 @@ "inShape": [ [ 44, - -1, - -1 + null, + null ], [ 44, 44, - -1 + null ], [ 44, @@ -5325,13 +5325,13 @@ "inShape": [ [ 283, - -1, - -1 + null, + null ], [ 283, 283, - -1 + null ], [ 283, @@ -5434,12 +5434,12 @@ "inShape": [ [ 810, - -1, + null, 810 ], [ 810, - -1, + null, 810 ] ], @@ -5454,13 +5454,13 @@ "inShape": [ [ 504, - -1, - -1 + null, + null ], [ 504, 504, - -1 + null ], [ 504, @@ -5479,7 +5479,7 @@ "inShape": [ [ 804, - -1, + null, 804 ], [ @@ -5504,7 +5504,7 @@ "inShape": [ [ 814, - -1, + null, 814 ], [ @@ -5538,9 +5538,9 @@ 36 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -5563,9 +5563,9 @@ 38 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -5643,8 +5643,8 @@ "inShape": [ [ 796, - -1, - -1 + null, + null ], [ 796, @@ -5653,7 +5653,7 @@ ], [ 796, - -1, + null, 796 ] ], @@ -5668,13 +5668,13 @@ "inShape": [ [ 37, - -1, - -1 + null, + null ], [ 37, 37, - -1 + null ], [ 37, @@ -5732,9 +5732,9 @@ 39 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -5757,9 +5757,9 @@ 850 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -5772,9 +5772,9 @@ { "inShape": [ [ - -1, + null, 808, - -1 + null ], [ 808, @@ -5793,13 +5793,13 @@ "inShape": [ [ 36, - -1, + null, 36 ], [ - -1, + null, 36, - -1 + null ] ], "result": { @@ -5904,9 +5904,9 @@ 212 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -5962,9 +5962,9 @@ { "inShape": [ [ - -1, + null, 934, - -1 + null ], [ 934, @@ -5972,9 +5972,9 @@ 934 ], [ - -1, + null, 934, - -1 + null ] ], "result": { @@ -6090,11 +6090,11 @@ 36 ], [ - -1, + null, 847 ], [ - -1, + null, 847 ] ], @@ -6168,13 +6168,13 @@ "inShape": [ [ 295, - -1, - -1 + null, + null ], [ 295, 295, - -1 + null ], [ 295, @@ -6218,13 +6218,13 @@ "inShape": [ [ 123, - -1, - -1 + null, + null ], [ 123, 123, - -1 + null ], [ 123, @@ -6253,13 +6253,13 @@ "inShape": [ [ 289, - -1, - -1 + null, + null ], [ 289, 289, - -1 + null ], [ 289, @@ -6303,7 +6303,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -6471,9 +6471,9 @@ 202 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -6512,13 +6512,13 @@ "inShape": [ [ 282, - -1, - -1 + null, + null ], [ 282, 282, - -1 + null ], [ 282, @@ -6546,9 +6546,9 @@ 210 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -6566,14 +6566,14 @@ 35 ], [ - -1, + null, 847, - -1 + null ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -6638,7 +6638,7 @@ 847 ], [ - -1, + null, 847 ] ], @@ -6721,13 +6721,13 @@ "inShape": [ [ 422, - -1, - -1 + null, + null ], [ 422, 422, - -1 + null ], [ 422, @@ -6907,7 +6907,7 @@ "inShape": [ [ 810, - -1, + null, 810 ], [ @@ -6916,9 +6916,9 @@ 810 ], [ - -1, + null, 810, - -1 + null ] ], "result": { @@ -6966,9 +6966,9 @@ 215 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -7122,7 +7122,7 @@ 847 ], [ - -1, + null, 847 ] ], @@ -7142,7 +7142,7 @@ ], [ 810, - -1, + null, 810 ] ], @@ -7374,13 +7374,13 @@ "inShape": [ [ 39, - -1, - -1 + null, + null ], [ 39, 39, - -1 + null ], [ 39, @@ -7424,13 +7424,13 @@ "inShape": [ [ 7, - -1, - -1 + null, + null ], [ 7, 7, - -1 + null ], [ 7, @@ -7565,7 +7565,7 @@ ], [ 795, - -1, + null, 795 ] ], @@ -7580,13 +7580,13 @@ "inShape": [ [ 9, - -1, - -1 + null, + null ], [ 9, 9, - -1 + null ], [ 9, @@ -7636,9 +7636,9 @@ 205 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -7700,9 +7700,9 @@ 216 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -7810,12 +7810,12 @@ ], [ 814, - -1, + null, 814 ], [ 814, - -1, + null, 814 ] ], @@ -7873,13 +7873,13 @@ "inShape": [ [ 1229, - -1, - -1 + null, + null ], [ 1229, 1229, - -1 + null ], [ 1229, @@ -7907,9 +7907,9 @@ 207 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -7923,13 +7923,13 @@ "inShape": [ [ 346, - -1, - -1 + null, + null ], [ 346, 346, - -1 + null ], [ 346, @@ -7967,7 +7967,7 @@ ], [ 35, - -1, + null, 35 ], [ @@ -7986,9 +7986,9 @@ { "inShape": [ [ - -1, + null, 657, - -1 + null ], [ 657, @@ -7996,9 +7996,9 @@ 657 ], [ - -1, + null, 657, - -1 + null ] ], "result": { @@ -8120,13 +8120,13 @@ "inShape": [ [ 47, - -1, - -1 + null, + null ], [ 47, 47, - -1 + null ], [ 47, @@ -8150,7 +8150,7 @@ ], [ 814, - -1, + null, 814 ] ], @@ -8165,13 +8165,13 @@ "inShape": [ [ 102, - -1, - -1 + null, + null ], [ 102, 102, - -1 + null ], [ 102, @@ -8223,7 +8223,7 @@ "inShape": [ [ 43, - -1, + null, 43 ], [ @@ -8259,13 +8259,13 @@ "inShape": [ [ 3, - -1, - -1 + null, + null ], [ 3, 3, - -1 + null ], [ 3, @@ -8284,7 +8284,7 @@ "inShape": [ [ 40, - -1, + null, 40 ], [ @@ -8320,7 +8320,7 @@ "inShape": [ [ 810, - -1, + null, 810 ], [ @@ -8384,9 +8384,9 @@ 36 ], [ - -1, + null, 36, - -1 + null ] ], "result": { @@ -8439,9 +8439,9 @@ 45 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -8484,9 +8484,9 @@ 217 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -8697,7 +8697,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -8746,13 +8746,13 @@ "inShape": [ [ 40, - -1, - -1 + null, + null ], [ 40, 40, - -1 + null ], [ 40, @@ -8855,9 +8855,9 @@ 88 ], [ - -1, + null, 810, - -1 + null ], [ 810, @@ -8894,13 +8894,13 @@ "inShape": [ [ 122, - -1, - -1 + null, + null ], [ 122, 122, - -1 + null ], [ 122, @@ -8963,13 +8963,13 @@ "inShape": [ [ 341, - -1, - -1 + null, + null ], [ 341, 341, - -1 + null ], [ 341, @@ -9184,10 +9184,10 @@ "inShape": [ [ 931, - -1 + null ], [ - -1, + null, 1097 ] ], @@ -9408,7 +9408,7 @@ "inShape": [ [ 913, - -1, + null, 913 ], [ @@ -9418,7 +9418,7 @@ ], [ 913, - -1, + null, 913 ] ], @@ -9571,7 +9571,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -9620,12 +9620,12 @@ { "inShape": [ [ - -1, + null, 810 ], [ 810, - -1 + null ] ], "result": { @@ -9680,7 +9680,7 @@ ], [ 804, - -1, + null, 804 ] ], @@ -9714,17 +9714,17 @@ { "inShape": [ [ - -1, + null, 847, 850 ], [ 847, - -1, + null, 850 ], [ - -1, + null, 847, 850 ] @@ -9787,9 +9787,9 @@ { "inShape": [ [ - -1, + null, 810, - -1 + null ], [ 810, @@ -9797,9 +9797,9 @@ 810 ], [ - -1, + null, 810, - -1 + null ] ], "result": { @@ -9813,13 +9813,13 @@ "inShape": [ [ 6, - -1, - -1 + null, + null ], [ 6, 6, - -1 + null ], [ 6, @@ -9895,9 +9895,9 @@ { "inShape": [ [ - -1, + null, 138, - -1 + null ], [ 138, @@ -9905,9 +9905,9 @@ 138 ], [ - -1, + null, 138, - -1 + null ] ], "result": { @@ -9921,7 +9921,7 @@ "inShape": [ [ 42, - -1, + null, 42 ], [ @@ -10065,13 +10065,13 @@ "inShape": [ [ 510, - -1, - -1 + null, + null ], [ 510, 510, - -1 + null ], [ 510, @@ -10147,13 +10147,13 @@ "inShape": [ [ 103, - -1, - -1 + null, + null ], [ 103, 103, - -1 + null ], [ 103, @@ -10192,12 +10192,12 @@ "inShape": [ [ 804, - -1, + null, 804 ], [ 804, - -1, + null, 804 ] ], @@ -10212,7 +10212,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -10257,13 +10257,13 @@ "inShape": [ [ 10, - -1, - -1 + null, + null ], [ 10, 10, - -1 + null ], [ 10, @@ -10318,7 +10318,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -10343,13 +10343,13 @@ "inShape": [ [ 519, - -1, - -1 + null, + null ], [ 519, 519, - -1 + null ], [ 519, @@ -10368,13 +10368,13 @@ "inShape": [ [ 42, - -1, - -1 + null, + null ], [ 42, 42, - -1 + null ], [ 42, @@ -10406,9 +10406,9 @@ { "inShape": [ [ - -1, + null, 994, - -1 + null ], [ 35, @@ -10519,7 +10519,7 @@ 847 ], [ - -1, + null, 847 ] ], @@ -10559,13 +10559,13 @@ "inShape": [ [ 1225, - -1, - -1 + null, + null ], [ 1225, 1225, - -1 + null ], [ 1225, @@ -10593,9 +10593,9 @@ 213 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -10918,13 +10918,13 @@ "inShape": [ [ 505, - -1, - -1 + null, + null ], [ 505, 505, - -1 + null ], [ 505, @@ -11044,9 +11044,9 @@ 41 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -11067,7 +11067,7 @@ 847 ], [ - -1, + null, 847 ] ], @@ -11082,12 +11082,12 @@ "inShape": [ [ 252, - -1, + null, 252 ], [ 252, - -1, + null, 252 ], [ @@ -11107,13 +11107,13 @@ "inShape": [ [ 191, - -1, - -1 + null, + null ], [ 191, 191, - -1 + null ], [ 191, @@ -11251,9 +11251,9 @@ 40 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -11285,7 +11285,7 @@ "inShape": [ [ 36, - -1, + null, 36 ], [ @@ -11305,13 +11305,13 @@ "inShape": [ [ 120, - -1, - -1 + null, + null ], [ 120, 120, - -1 + null ], [ 120, @@ -11404,13 +11404,13 @@ "inShape": [ [ 101, - -1, - -1 + null, + null ], [ 101, 101, - -1 + null ], [ 101, @@ -11457,11 +11457,11 @@ 35 ], [ - -1, + null, 847 ], [ - -1, + null, 847 ] ], @@ -11479,11 +11479,11 @@ 804 ], [ - -1, + null, 847 ], [ - -1, + null, 847 ] ], @@ -11498,7 +11498,7 @@ "inShape": [ [ 39, - -1, + null, 39 ], [ @@ -11610,13 +11610,13 @@ "inShape": [ [ 188, - -1, + null, 188 ], [ - -1, + null, 188, - -1 + null ] ], "result": { @@ -11730,9 +11730,9 @@ 208 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -11761,9 +11761,9 @@ { "inShape": [ [ - -1, + null, 847, - -1 + null ], [ 847, @@ -11845,7 +11845,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -11928,13 +11928,13 @@ "inShape": [ [ 281, - -1, - -1 + null, + null ], [ 281, 281, - -1 + null ], [ 281, @@ -11958,7 +11958,7 @@ ], [ 35, - -1, + null, 35 ], [ @@ -11978,13 +11978,13 @@ "inShape": [ [ 4, - -1, - -1 + null, + null ], [ 4, 4, - -1 + null ], [ 4, @@ -12062,7 +12062,7 @@ "inShape": [ [ 356, - -1, + null, 356 ], [ @@ -12110,9 +12110,9 @@ 46 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -12173,13 +12173,13 @@ "inShape": [ [ 41, - -1, - -1 + null, + null ], [ 41, 41, - -1 + null ], [ 41, @@ -12240,14 +12240,14 @@ 810 ], [ - -1, + null, 847, - -1 + null ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -12303,9 +12303,9 @@ 44 ], [ - -1, + null, 847, - -1 + null ] ], "result": { @@ -12396,9 +12396,9 @@ { "inShape": [ [ - -1, + null, 925, - -1 + null ], [ 804, @@ -12423,16 +12423,16 @@ [ 850, 850, - -1 + null ], [ 850, 926, - -1 + null ], [ - -1, - -1, + null, + null, 850 ] ], @@ -12447,7 +12447,7 @@ "inShape": [ [ 38, - -1, + null, 38 ], [ @@ -12492,7 +12492,7 @@ "inShape": [ [ 37, - -1, + null, 37 ], [ @@ -12512,13 +12512,13 @@ "inShape": [ [ 5, - -1, - -1 + null, + null ], [ 5, 5, - -1 + null ], [ 5, @@ -12561,9 +12561,9 @@ { "inShape": [ [ - -1, + null, 847, - -1 + null ], [ 847, @@ -12655,13 +12655,13 @@ "inShape": [ [ 285, - -1, - -1 + null, + null ], [ 285, 285, - -1 + null ], [ 285, @@ -12779,13 +12779,13 @@ "inShape": [ [ 810, - -1, + null, 810 ], [ - -1, + null, 810, - -1 + null ] ], "result": { From 90b2d186ab30d60fe6c7c1dd057c4a034afd2b1d Mon Sep 17 00:00:00 2001 From: extremeheat Date: Thu, 29 Aug 2024 13:39:22 -0400 Subject: [PATCH 15/19] Update features.json itemsWithComponents --- data/pc/common/features.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/data/pc/common/features.json b/data/pc/common/features.json index 0d6770a1e..e1b8ff2a7 100644 --- a/data/pc/common/features.json +++ b/data/pc/common/features.json @@ -820,5 +820,10 @@ "name": "segmentedRegistryCodecData", "description": "Codec data is now split into multiple NBTs by ID instead of one", "versions": ["1.20.5", "latest"] + }, + { + "name": "itemsWithComponents", + "description": "New Item schema", + "versions": ["1.20.5", "latest"] } -] \ No newline at end of file +] From 3cef6f5919c49b843ac2182ec7ee7c124da29f26 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Fri, 20 Sep 2024 03:27:21 -0400 Subject: [PATCH 16/19] Update dataPaths.json map 1.20.6 to 1.20.5 --- data/dataPaths.json | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/data/dataPaths.json b/data/dataPaths.json index 0463a8335..a8d736d59 100644 --- a/data/dataPaths.json +++ b/data/dataPaths.json @@ -1422,6 +1422,33 @@ "commands": "pc/1.20.3", "sounds": "pc/1.20.4", "proto": "pc/latest" + }, + "1.20.6": { + "attributes": "pc/1.17", + "blocks": "pc/1.20.5", + "blockCollisionShapes": "pc/1.20.5", + "biomes": "pc/1.20.5", + "effects": "pc/1.20.5", + "items": "pc/1.20.5", + "enchantments": "pc/1.20.5", + "recipes": "pc/1.20.3", + "instruments": "pc/1.20.5", + "materials": "pc/1.20.5", + "language": "pc/1.20.5", + "entities": "pc/1.20.5", + "protocol": "pc/1.20.3", + "windows": "pc/1.16.1", + "version": "pc/1.20.4", + "foods": "pc/1.20.5", + "particles": "pc/1.20.5", + "blockLoot": "pc/1.20", + "entityLoot": "pc/1.20", + "loginPacket": "pc/1.20.2", + "tints": "pc/1.20.5", + "mapIcons": "pc/1.20.2", + "commands": "pc/1.20.3", + "sounds": "pc/1.20.4", + "proto": "pc/latest" } }, "bedrock": { @@ -2159,4 +2186,4 @@ "language": "bedrock/1.20.10" } } -} \ No newline at end of file +} From dcb972fb30792e8d1a23e1f36e9fba9e48fc4366 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Fri, 20 Sep 2024 03:35:01 -0400 Subject: [PATCH 17/19] fix packet_entity_equipment type --- data/pc/1.20.5/protocol.json | 2 +- data/pc/latest/proto.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/pc/1.20.5/protocol.json b/data/pc/1.20.5/protocol.json index 63bc1b4b7..511b0dae2 100644 --- a/data/pc/1.20.5/protocol.json +++ b/data/pc/1.20.5/protocol.json @@ -6108,7 +6108,7 @@ }, { "name": "item", - "type": "slot" + "type": "Slot" } ] ] diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index f18e2a983..e75b6e6ba 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -2384,7 +2384,7 @@ }, { "name": "item", - "type": "slot" + "type": "Slot" } ] ] From 7d273fd6b3c54b07bc53c209b43ae18115d4e046 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Sat, 12 Oct 2024 03:52:33 -0400 Subject: [PATCH 18/19] packet_trade_list input item 1/2 don't use normal Slot --- data/pc/1.20.5/protocol.json | 2042 +++++++++++++++++----------------- data/pc/latest/proto.yml | 698 ++++++------ 2 files changed, 1402 insertions(+), 1338 deletions(-) diff --git a/data/pc/1.20.5/protocol.json b/data/pc/1.20.5/protocol.json index 511b0dae2..be8c2daca 100644 --- a/data/pc/1.20.5/protocol.json +++ b/data/pc/1.20.5/protocol.json @@ -160,1026 +160,1027 @@ } } ], - "Slot": [ + "SlotComponent": [ "container", [ { - "name": "itemCount", - "type": "i8" + "name": "type", + "type": "SlotComponentType" }, { - "anon": true, + "name": "data", "type": [ "switch", { - "compareTo": "itemCount", + "compareTo": "type", "fields": { - "0": "void" - }, - "default": [ - "container", - [ - { - "name": "itemId", - "type": "varint" - }, - { - "name": "addedComponentCount", - "type": "varint" - }, - { - "name": "removedComponentCount", - "type": "varint" - }, + "custom_data": "anonymousNbt", + "max_stack_size": "varint", + "max_damage": "varint", + "damage": "varint", + "unbreakable": "bool", + "custom_name": "anonymousNbt", + "item_name": "anonymousNbt", + "lore": [ + "array", { - "name": "components", - "type": [ - "array", - { - "count": "addedComponentCount", - "type": [ - "container", - [ - { - "name": "type", - "type": "SlotComponentType" - }, - { - "name": "data", - "type": [ - "switch", - { - "compareTo": "type", - "fields": { - "custom_data": "anonymousNbt", - "max_stack_size": "varint", - "max_damage": "varint", - "damage": "varint", - "unbreakable": "bool", - "custom_name": "anonymousNbt", - "item_name": "anonymousNbt", - "lore": [ - "array", - { - "countType": "varint", - "type": "anonOptionalNbt" - } - ], - "rarity": "varint", - "enchantments": [ - "container", - [ - { - "name": "enchantments", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "id", - "type": "varint" - }, - { - "name": "level", - "type": "varint" - } - ] - ] - } - ] - }, - { - "name": "showTooltip", - "type": "bool" - } - ] - ], - "can_place_on": [ - "container", - [ - { - "name": "predicates", - "type": [ - "array", - { - "countType": "varint", - "type": "BlockPredicate" - } - ] - }, - { - "name": "showTooltip", - "type": "bool" - } - ] - ], - "can_break": [ - "container", - [ - { - "name": "predicates", - "type": [ - "array", - { - "countType": "varint", - "type": "BlockPredicate" - } - ] - }, - { - "name": "showTooltip", - "type": "bool" - } - ] - ], - "attribute_modifiers": [ - "container", - [ - { - "name": "attributes", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "typeId", - "type": "varint" - }, - { - "name": "uniqueId", - "type": "UUID" - }, - { - "name": "name", - "type": "string" - }, - { - "name": "value", - "type": "f64" - }, - { - "name": "operation", - "type": [ - "mapper", - { - "type": "varint", - "mappings": { - "0": "add", - "1": "multiply_base", - "2": "multiply_total" - } - } - ] - }, - { - "name": "slot", - "type": [ - "mapper", - { - "type": "varint", - "mappings": { - "0": "any", - "1": "main_hand", - "2": "off_hand", - "3": "hand", - "4": "feet", - "5": "legs", - "6": "chest", - "7": "head", - "8": "armor", - "9": "body" - } - } - ] - } - ] - ] - } - ] - }, - { - "name": "showTooltip", - "type": "bool" - } - ] - ], - "custom_model_data": "varint", - "hide_additional_tooltip": "void", - "hide_tooltip": "void", - "repair_cost": "varint", - "creative_slot_lock": "void", - "enchantment_glint_override": "bool", - "intangible_projectile": "void", - "food": [ - "container", - [ - { - "name": "nutrition", - "type": "varint" - }, - { - "name": "saturationModifier", - "type": "f32" - }, - { - "name": "canAlwaysEat", - "type": "bool" - }, - { - "name": "secondsToEat", - "type": "f32" - }, - { - "name": "usingConvertsTo", - "type": "Slot" - }, - { - "name": "effects", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "effect", - "type": "varint" - }, - { - "name": "probability", - "type": "f32" - } - ] - ] - } - ] - } - ] - ], - "fire_resistant": "void", - "tool": [ - "container", - [ - { - "name": "rules", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "blocks", - "type": [ - "array", - { - "countType": "varint", - "type": "BlockSet" - } - ] - }, - { - "name": "hasSpeed", - "type": "bool" - }, - { - "name": "speed", - "type": "f32" - }, - { - "name": "hasCorrectDropForBlocks", - "type": "bool" - }, - { - "name": "correctDropForBlocks", - "type": "bool" - } - ] - ] - } - ] - }, - { - "name": "defaultMiningSpeed", - "type": "f32" - }, - { - "name": "damagePerBlock", - "type": "varint" - } - ] - ], - "stored_enchantments": [ - "container", - [ - { - "name": "enchantments", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "id", - "type": "varint" - }, - { - "name": "level", - "type": "varint" - } - ] - ] - } - ] - }, - { - "name": "showInTooltip", - "type": "bool" - } - ] - ], - "dyed_color": [ - "container", - [ - { - "name": "color", - "type": "varint" - }, - { - "name": "showTooltip", - "type": "bool" - } - ] - ], - "map_color": "varint", - "map_id": "varint", - "map_decorations": "anonOptionalNbt", - "map_post_processing": "varint", - "charged_projectiles": [ - "container", - [ - { - "name": "projectiles", - "type": [ - "array", - { - "countType": "varint", - "type": "Slot" - } - ] - } - ] - ], - "bundle_contents": [ - "container", - [ - { - "name": "contents", - "type": [ - "array", - { - "countType": "varint", - "type": "Slot" - } - ] - } - ] - ], - "potion_contents": [ - "container", - [ - { - "name": "hasPotionId", - "type": "bool" - }, - { - "name": "potionId", - "type": "optvarint" - }, - { - "name": "hasCustomColor", - "type": "bool" - }, - { - "name": "customColor", - "type": "optvarint" - }, - { - "name": "customEffects", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "effect", - "type": "varint" - }, - { - "name": "details", - "type": "EffectDetail" - } - ] - ] - } - ] - } - ] - ], - "suspicious_stew_effects": [ - "container", - [ - { - "name": "effects", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "effect", - "type": "varint" - }, - { - "name": "duration", - "type": "varint" - } - ] - ] - } - ] - } - ] - ], - "writable_book_content": [ - "container", - [ - { - "name": "pages", - "type": [ - "array", - { - "countType": "varint", - "type": "BookPage" - } - ] - } - ] - ], - "written_book_content": [ - "container", - [ - { - "name": "rawTitle", - "type": "string" - }, - { - "name": "filteredTitle", - "type": [ - "option", - "string" - ] - }, - { - "name": "author", - "type": "string" - }, - { - "name": "generation", - "type": "varint" - }, - { - "name": "pages", - "type": [ - "array", - { - "countType": "varint", - "type": "BookPage" - } - ] - }, - { - "name": "resolved", - "type": "bool" - } - ] - ], - "trim": [ - "container", - [ - { - "name": "materialType", - "type": "varint" - }, - { - "anon": true, - "type": [ - "switch", - { - "compareTo": "materialType", - "fields": { - "0": [ - "container", - [ - { - "name": "assetName", - "type": "string" - }, - { - "name": "ingredientId", - "type": "varint" - }, - { - "name": "itemModelIndex", - "type": "f32" - }, - { - "name": "numberOfOverrides", - "type": "optvarint" - }, - { - "name": "override", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "armorMaterialType", - "type": "varint" - }, - { - "name": "overridenAssetName", - "type": "string" - } - ] - ] - } - ] - }, - { - "name": "description", - "type": "string" - } - ] - ] - } - } - ] - }, - { - "name": "trimPatternType", - "type": "varint" - }, - { - "anon": true, - "type": [ - "switch", - { - "compareTo": "trimPatternType", - "fields": { - "0": [ - "container", - [ - { - "name": "assetName", - "type": "string" - }, - { - "name": "templateItem", - "type": "varint" - }, - { - "name": "description", - "type": "string" - }, - { - "name": "decal", - "type": "bool" - } - ] - ] - } - } - ] - }, - { - "name": "showInTooltip", - "type": "bool" - } - ] - ], - "debug_stick_state": "anonymousNbt", - "entity_data": "anonymousNbt", - "bucket_entity_data": "anonymousNbt", - "block_entity_data": "anonymousNbt", - "instrument": [ - "container", - [ - { - "name": "instrumentType", - "type": "varint" - }, - { - "anon": true, - "type": [ - "switch", - { - "compareTo": "instrumentType", - "fields": { - "0": [ - "container", - [ - { - "name": "soundEvent", - "type": "string" - }, - { - "name": "useDuration", - "type": "f32" - }, - { - "name": "range", - "type": "f32" - } - ] - ] - } - } - ] - } - ] - ], - "ominous_bottle_amplifier": "varint", - "jukebox_playable": [ - "container", - [ - { - "name": "directMode", - "type": "bool" - }, - { - "anon": true, - "type": [ - "switch", - { - "compareTo": "directMode", - "fields": { - "false": [ - "container", - [ - { - "name": "jukeboxSongName", - "type": "string" - }, - { - "name": "jukeboxSongType", - "type": "varint" - }, - { - "anon": true, - "type": [ - "switch", - { - "compareTo": "jukeboxSongType", - "fields": { - "0": [ - "container", - [ - { - "name": "soundEvent", - "type": [ - "container", - [ - { - "name": "soundEventType", - "type": "varint" - }, - { - "anon": true, - "type": [ - "switch", - { - "compareTo": "soundEventType", - "fields": { - "0": [ - "container", - [ - { - "name": "soundName", - "type": "string" - }, - { - "name": "fixedRange", - "type": [ - "option", - "f32" - ] - } - ] - ] - } - } - ] - } - ] - ] - }, - { - "name": "description", - "type": "anonymousNbt" - }, - { - "name": "duration", - "type": "f32" - }, - { - "name": "output", - "type": "varint" - } - ] - ] - } - } - ] - } - ] - ] - } - } - ] - }, - { - "name": "showInTooltip", - "type": "bool" - } - ] - ], - "recipes": "anonymousNbt", - "lodestone_tracker": [ - "container", - [ - { - "name": "globalPosition", - "type": [ - "option", - [ - "container", - [ - { - "name": "dimension", - "type": "string" - }, - { - "name": "position", - "type": "vec3f" - } - ] - ] - ] - }, - { - "name": "tracked", - "type": "bool" - } - ] - ], - "firework_explosion": "FireworkExplosion", - "fireworks": [ - "container", - [ - { - "name": "flightDuration", - "type": "varint" - }, - { - "name": "explosions", - "type": [ - "array", - { - "countType": "varint", - "type": "FireworkExplosion" - } - ] - } - ] - ], - "profile": [ - "container", - [ - { - "name": "hasName", - "type": "bool" - }, - { - "name": "name", - "type": "string" - }, - { - "name": "hasUniqueId", - "type": "bool" - }, - { - "name": "uniqueId", - "type": "UUID" - }, - { - "name": "properties", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "property", - "type": "string" - }, - { - "name": "value", - "type": "string" - }, - { - "name": "hasSignature", - "type": "bool" - }, - { - "name": "signature", - "type": "string" - } - ] - ] - } - ] - } - ] - ], - "note_block_sound": "string", - "banner_patterns": [ - "container", - [ - { - "name": "layers", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "patternType", - "type": "varint" - }, - { - "anon": true, - "type": [ - "switch", - { - "compareTo": "patternType", - "fields": { - "0": [ - "container", - [ - { - "name": "assetId", - "type": "string" - }, - { - "name": "translationKey", - "type": "string" - } - ] - ] - } - } - ] - }, - { - "name": "color", - "type": "varint" - } - ] - ] - } - ] - } - ] - ], - "base_color": "varint", - "pot_decorations": [ - "container", - [ - { - "name": "decorations", - "type": [ - "array", - { - "countType": "varint", - "type": "varint" - } - ] - } - ] - ], - "container": [ - "container", - [ - { - "name": "contents", - "type": [ - "array", - { - "countType": "varint", - "type": "Slot" - } - ] - } - ] - ], - "block_state": [ - "container", - [ - { - "name": "properties", - "type": [ - "array", - { - "countType": "varint", - "type": [ - "container", - [ - { - "name": "property", - "type": "string" - }, - { - "name": "value", - "type": "string" - } - ] - ] - } - ] - } + "countType": "varint", + "type": "anonOptionalNbt" + } + ], + "rarity": "varint", + "enchantments": [ + "container", + [ + { + "name": "enchantments", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "id", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ] + } + ] + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "can_place_on": [ + "container", + [ + { + "name": "predicates", + "type": [ + "array", + { + "countType": "varint", + "type": "BlockPredicate" + } + ] + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "can_break": [ + "container", + [ + { + "name": "predicates", + "type": [ + "array", + { + "countType": "varint", + "type": "BlockPredicate" + } + ] + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "attribute_modifiers": [ + "container", + [ + { + "name": "attributes", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "typeId", + "type": "varint" + }, + { + "name": "uniqueId", + "type": "UUID" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "operation", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "add", + "1": "multiply_base", + "2": "multiply_total" + } + } + ] + }, + { + "name": "slot", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "any", + "1": "main_hand", + "2": "off_hand", + "3": "hand", + "4": "feet", + "5": "legs", + "6": "chest", + "7": "head", + "8": "armor", + "9": "body" + } + } + ] + } + ] + ] + } + ] + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "custom_model_data": "varint", + "hide_additional_tooltip": "void", + "hide_tooltip": "void", + "repair_cost": "varint", + "creative_slot_lock": "void", + "enchantment_glint_override": "bool", + "intangible_projectile": "void", + "food": [ + "container", + [ + { + "name": "nutrition", + "type": "varint" + }, + { + "name": "saturationModifier", + "type": "f32" + }, + { + "name": "canAlwaysEat", + "type": "bool" + }, + { + "name": "secondsToEat", + "type": "f32" + }, + { + "name": "usingConvertsTo", + "type": "Slot" + }, + { + "name": "effects", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "effect", + "type": "varint" + }, + { + "name": "probability", + "type": "f32" + } + ] + ] + } + ] + } + ] + ], + "fire_resistant": "void", + "tool": [ + "container", + [ + { + "name": "rules", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "blocks", + "type": [ + "array", + { + "countType": "varint", + "type": "BlockSet" + } + ] + }, + { + "name": "hasSpeed", + "type": "bool" + }, + { + "name": "speed", + "type": "f32" + }, + { + "name": "hasCorrectDropForBlocks", + "type": "bool" + }, + { + "name": "correctDropForBlocks", + "type": "bool" + } + ] + ] + } + ] + }, + { + "name": "defaultMiningSpeed", + "type": "f32" + }, + { + "name": "damagePerBlock", + "type": "varint" + } + ] + ], + "stored_enchantments": [ + "container", + [ + { + "name": "enchantments", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "id", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ] + } + ] + }, + { + "name": "showInTooltip", + "type": "bool" + } + ] + ], + "dyed_color": [ + "container", + [ + { + "name": "color", + "type": "varint" + }, + { + "name": "showTooltip", + "type": "bool" + } + ] + ], + "map_color": "varint", + "map_id": "varint", + "map_decorations": "anonOptionalNbt", + "map_post_processing": "varint", + "charged_projectiles": [ + "container", + [ + { + "name": "projectiles", + "type": [ + "array", + { + "countType": "varint", + "type": "Slot" + } + ] + } + ] + ], + "bundle_contents": [ + "container", + [ + { + "name": "contents", + "type": [ + "array", + { + "countType": "varint", + "type": "Slot" + } + ] + } + ] + ], + "potion_contents": [ + "container", + [ + { + "name": "hasPotionId", + "type": "bool" + }, + { + "name": "potionId", + "type": "optvarint" + }, + { + "name": "hasCustomColor", + "type": "bool" + }, + { + "name": "customColor", + "type": "optvarint" + }, + { + "name": "customEffects", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "effect", + "type": "varint" + }, + { + "name": "details", + "type": "EffectDetail" + } + ] + ] + } + ] + } + ] + ], + "suspicious_stew_effects": [ + "container", + [ + { + "name": "effects", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "effect", + "type": "varint" + }, + { + "name": "duration", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "writable_book_content": [ + "container", + [ + { + "name": "pages", + "type": [ + "array", + { + "countType": "varint", + "type": "BookPage" + } + ] + } + ] + ], + "written_book_content": [ + "container", + [ + { + "name": "rawTitle", + "type": "string" + }, + { + "name": "filteredTitle", + "type": [ + "option", + "string" + ] + }, + { + "name": "author", + "type": "string" + }, + { + "name": "generation", + "type": "varint" + }, + { + "name": "pages", + "type": [ + "array", + { + "countType": "varint", + "type": "BookPage" + } + ] + }, + { + "name": "resolved", + "type": "bool" + } + ] + ], + "trim": [ + "container", + [ + { + "name": "materialType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "materialType", + "fields": { + "0": [ + "container", + [ + { + "name": "assetName", + "type": "string" + }, + { + "name": "ingredientId", + "type": "varint" + }, + { + "name": "itemModelIndex", + "type": "f32" + }, + { + "name": "numberOfOverrides", + "type": "optvarint" + }, + { + "name": "override", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "armorMaterialType", + "type": "varint" + }, + { + "name": "overridenAssetName", + "type": "string" + } + ] ] - ], - "bees": [ - "container", - [ - { - "name": "bees", - "type": [ - "array", + } + ] + }, + { + "name": "description", + "type": "string" + } + ] + ] + } + } + ] + }, + { + "name": "trimPatternType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "trimPatternType", + "fields": { + "0": [ + "container", + [ + { + "name": "assetName", + "type": "string" + }, + { + "name": "templateItem", + "type": "varint" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "decal", + "type": "bool" + } + ] + ] + } + } + ] + }, + { + "name": "showInTooltip", + "type": "bool" + } + ] + ], + "debug_stick_state": "anonymousNbt", + "entity_data": "anonymousNbt", + "bucket_entity_data": "anonymousNbt", + "block_entity_data": "anonymousNbt", + "instrument": [ + "container", + [ + { + "name": "instrumentType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "instrumentType", + "fields": { + "0": [ + "container", + [ + { + "name": "soundEvent", + "type": "string" + }, + { + "name": "useDuration", + "type": "f32" + }, + { + "name": "range", + "type": "f32" + } + ] + ] + } + } + ] + } + ] + ], + "ominous_bottle_amplifier": "varint", + "jukebox_playable": [ + "container", + [ + { + "name": "directMode", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "directMode", + "fields": { + "false": [ + "container", + [ + { + "name": "jukeboxSongName", + "type": "string" + }, + { + "name": "jukeboxSongType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "jukeboxSongType", + "fields": { + "0": [ + "container", + [ { - "countType": "varint", + "name": "soundEvent", "type": [ "container", [ { - "name": "nbtData", - "type": "anonymousNbt" - }, - { - "name": "ticksInHive", + "name": "soundEventType", "type": "varint" }, { - "name": "minTicksInHive", - "type": "varint" + "anon": true, + "type": [ + "switch", + { + "compareTo": "soundEventType", + "fields": { + "0": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "fixedRange", + "type": [ + "option", + "f32" + ] + } + ] + ] + } + } + ] } ] ] + }, + { + "name": "description", + "type": "anonymousNbt" + }, + { + "name": "duration", + "type": "f32" + }, + { + "name": "output", + "type": "varint" } ] - } - ] - ], - "lock": "anonymousNbt", - "container_loot": "anonymousNbt" - } + ] + } + } + ] } ] + ] + } + } + ] + }, + { + "name": "showInTooltip", + "type": "bool" + } + ] + ], + "recipes": "anonymousNbt", + "lodestone_tracker": [ + "container", + [ + { + "name": "globalPosition", + "type": [ + "option", + [ + "container", + [ + { + "name": "dimension", + "type": "string" + }, + { + "name": "position", + "type": "vec3f" } ] ] + ] + }, + { + "name": "tracked", + "type": "bool" + } + ] + ], + "firework_explosion": "FireworkExplosion", + "fireworks": [ + "container", + [ + { + "name": "flightDuration", + "type": "varint" + }, + { + "name": "explosions", + "type": [ + "array", + { + "countType": "varint", + "type": "FireworkExplosion" + } + ] + } + ] + ], + "profile": [ + "container", + [ + { + "name": "hasName", + "type": "bool" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "hasUniqueId", + "type": "bool" + }, + { + "name": "uniqueId", + "type": "UUID" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "property", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "hasSignature", + "type": "bool" + }, + { + "name": "signature", + "type": "string" + } + ] + ] + } + ] + } + ] + ], + "note_block_sound": "string", + "banner_patterns": [ + "container", + [ + { + "name": "layers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "patternType", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "patternType", + "fields": { + "0": [ + "container", + [ + { + "name": "assetId", + "type": "string" + }, + { + "name": "translationKey", + "type": "string" + } + ] + ] + } + } + ] + }, + { + "name": "color", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "base_color": "varint", + "pot_decorations": [ + "container", + [ + { + "name": "decorations", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "container": [ + "container", + [ + { + "name": "contents", + "type": [ + "array", + { + "countType": "varint", + "type": "Slot" + } + ] + } + ] + ], + "block_state": [ + "container", + [ + { + "name": "properties", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "property", + "type": "string" + }, + { + "name": "value", + "type": "string" + } + ] + ] + } + ] + } + ] + ], + "bees": [ + "container", + [ + { + "name": "bees", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "nbtData", + "type": "anonymousNbt" + }, + { + "name": "ticksInHive", + "type": "varint" + }, + { + "name": "minTicksInHive", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "lock": "anonymousNbt", + "container_loot": "anonymousNbt" + } + } + ] + } + ] + ], + "Slot": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "itemCount", + "fields": { + "0": "void" + }, + "default": [ + "container", + [ + { + "name": "itemId", + "type": "varint" + }, + { + "name": "addedComponentCount", + "type": "varint" + }, + { + "name": "removedComponentCount", + "type": "varint" + }, + { + "name": "components", + "type": [ + "array", + { + "count": "addedComponentCount", + "type": "SlotComponent" } ] }, @@ -4812,7 +4813,33 @@ [ { "name": "inputItem1", - "type": "Slot" + "type": [ + "container", + [ + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "varint" + }, + { + "name": "addedComponentCount", + "type": "varint" + }, + { + "name": "components", + "type": [ + "array", + { + "count": "addedComponentCount", + "type": "SlotComponent" + } + ] + } + ] + ] }, { "name": "outputItem", @@ -4820,7 +4847,36 @@ }, { "name": "inputItem2", - "type": "Slot" + "type": [ + "option", + [ + "container", + [ + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "varint" + }, + { + "name": "addedComponentCount", + "type": "varint" + }, + { + "name": "components", + "type": [ + "array", + { + "count": "addedComponentCount", + "type": "SlotComponent" + } + ] + } + ] + ] + ] }, { "name": "tradeDisabled", diff --git a/data/pc/latest/proto.yml b/data/pc/latest/proto.yml index e75b6e6ba..c5a472edd 100644 --- a/data/pc/latest/proto.yml +++ b/data/pc/latest/proto.yml @@ -110,6 +110,348 @@ - lock - container_loot + SlotComponent: + type: SlotComponentType + data: type ? + # TODO: look into how nbt works here + if custom_data: anonymousNbt + if max_stack_size: varint + if max_damage: varint + if damage: varint + if unbreakable: bool + if custom_name: anonymousNbt + if item_name: anonymousNbt + if lore: anonOptionalNbt[]varint + if rarity: varint + if enchantments: + enchantments: []varint + id: varint + level: varint + showTooltip: bool + if can_place_on or can_break: + predicates: BlockPredicate[]varint + showTooltip: bool + if attribute_modifiers: + attributes: []varint + typeId: varint + uniqueId: UUID + name: string + value: f64 + operation: varint => + - add + - multiply_base + - multiply_total + slot: varint => + - any + - main_hand + - off_hand + - hand + - feet + - legs + - chest + - head + - armor + - body + showTooltip: bool + if custom_model_data: varint + if hide_additional_tooltip: void + if hide_tooltip: void + if repair_cost: varint + if creative_slot_lock: void + if enchantment_glint_override: bool + if intangible_projectile: void + # Name Type Description + # Nutrition VarInt Non-negative + # Saturation Modifier Float How much saturation will be given after consuming the item. + # Can Always Eat Boolean Whether the item can always be eaten, even at full hunger. + # Seconds To Eat Float How long it takes to consume the item. + # Using converts to Slot Data This specifies the item produced after consuming the current item. In the Notchian server, this is used for stews, which turn into bowls. Set this to Air if the item should be consumed normally without leaving any other item after. + # Number of effects VarInt Number of elements in the following array. + # Effect Type ID Array Potion Effect The potion effect. See Potion Effect. + # Probability Float The probability for this effect to be chosen. + if food: + nutrition: varint + saturationModifier: f32 + canAlwaysEat: bool + secondsToEat: f32 + usingConvertsTo: Slot + effects: []varint + effect: varint + probability: f32 + if fire_resistant: void + # Name Type Description + # Number of Rules VarInt The number of elements in the following array. + # Rule + # Blocks Array Block Set The block this rule applies to. See Block Set. + # Has Speed Boolean + # Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true. + # Has Correct Drop For Blocks Boolean + # Correct Drop For Blocks Optional Boolean Whether items should drop only if this is the correct tool. Only present if Has Correct Drop For Blocks is true. + # Default Mining Speed Float The mining speed in case none of the previous rule were matched. + # Damage Per Block VarInt The amount of damage the item takes per block break. + if tool: + rules: []varint + blocks: BlockSet[]varint + hasSpeed: bool + speed: f32 + hasCorrectDropForBlocks: bool + correctDropForBlocks: bool + defaultMiningSpeed: f32 + damagePerBlock: varint + # Name Type Description + # Number of enchantments VarInt Number of elements in the following array. + # Enchantment Type ID Array VarInt Enum The ID of the enchantment in the enchantment registry. + # Level VarInt The level of the enchantment. + # Show In Tooltip Boolean Whether the list of enchantments should be shown on the item's tooltip. + if stored_enchantments: + enchantments: []varint + id: varint + level: varint + showInTooltip: bool + if dyed_color: + color: varint + showTooltip: bool + if map_color: varint + if map_id: varint + if map_decorations: anonOptionalNbt + if map_post_processing: varint + if charged_projectiles: + projectiles: Slot[]varint + if bundle_contents: + contents: Slot[]varint + # Name Type Description + # Has Potion ID Boolean Whether this potion has an ID in the potion registry. If true, it has the default effects associated with the potion type. + # Potion ID Optional VarInt The ID of the potion type in the potion registry. Only present if Has Potion ID is true. + # Has Custom Color Boolean Whether this potion has a custom color. If false, it uses the default color associated with the potion type. + # Custom Color Optional Int The RGB components of the color, encoded as an integer. Only present if Has Custom Color is true. + # Number Of Custom Effects VarInt The number of elements in the following array. + # Custom Effects Array of Potion Effect Any custom effects the potion might have. See Potion Effect. + if potion_contents: + hasPotionId: bool + potionId: optvarint + hasCustomColor: bool + customColor: optvarint + customEffects: []varint + effect: varint + details: EffectDetail + # Name Type Description + # Number Of Effects VarInt Number of elements in the following array. + # Effect Type ID Array VarInt Enum The ID of the effect in the potion effect type registry. + # Duration VarInt The duration of the effect. + if suspicious_stew_effects: + effects: []varint + effect: varint + duration: varint + # Name Type Description + # Number Of Pages VarInt Number of elements in the following array. + # Page Raw Content Array (100) String (1024) The raw text of the page. + # Has Filtered Content Boolean + # Filtered Content Optional String (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. + if writable_book_content: + pages: BookPage[]varint + # Name Type Description + # Raw Title String (32) The raw title of the book. + # Has Filtered Title Boolean + # Filtered Title Optional String (32) The title after going through chat filters. Only present if Has Filtered Title is true. + # Author String + # Generation VarInt + # Number Of Pages VarInt Number of elements in the following array. + # Page Raw Content Array (100) TextComponent (1024) The raw text of the page. + # Has Filtered Content Boolean + # Filtered Content Optional Text Component (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. + # Resolved Boolean Whether entity selectors have already been resolved. + if written_book_content: + rawTitle: string + filteredTitle?: string + author: string + generation: varint + pages: BookPage[]varint + # Whether entity selectors have already been resolved. + resolved: bool + # Name Type Description + # Trim Material Type VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a trim material, with the necessary data following. + # Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1. + # Asset Name Optional String See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Ingredient Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Item Model Index Optional Float See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Number of Overrides Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Override Armor Material Type Optional Array VarInt Enum See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Overriden Asset Name String See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Description Optional Text Component See Armor Trim Material Registry. Only present if Trim Material Type is 0. + # Trim Pattern Type VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a trim pattern, with the necessary data following. + # Anything else - References a trim pattern in its registry, by the ID of Trim Pattern Type - 1. + # Asset Name Optional String See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. + # Template Item Optional VarInt See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. + # Description Optional Text Component See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. + # Decal Optional Boolean See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. + # Show In Tooltip Boolean Whether the trim information should be shown on the item's tooltip. + if trim: + # Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a trim material, with the necessary data following. + # Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1. + materialType: varint + _: materialType ? + if 0: + assetName: string + ingredientId: varint + itemModelIndex: f32 + numberOfOverrides: optvarint + override: []varint + armorMaterialType: varint + overridenAssetName: string + description: string + trimPatternType: varint + _: trimPatternType ? + if 0: + assetName: string + templateItem: varint + description: string + decal: bool + showInTooltip: bool + if debug_stick_state: anonymousNbt + if entity_data: anonymousNbt + if bucket_entity_data: anonymousNbt + if block_entity_data: anonymousNbt + # Name Type Description + # Instrument Type VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents an instrument, with the necessary data following. + # Anything else - References an instrument in its registry, by the ID of Instrument Type - 1. + # Sound Event Optional Sound Event The sound to be played. Only present if Instrument Type is 0. + # Use duration Optional Float The maximum range of the sound. Only present if Instrument Type is 0. + # Range Optional Float The range of the instrument. Only present if Instrument Type is 0. + if instrument: + instrumentType: varint + _: instrumentType ? + if 0: + soundEvent: string + useDuration: f32 + range: f32 + if ominous_bottle_amplifier: varint + # Name Type Description + # Direct Mode Boolean Whether the jukebox song is specified directly, or just referenced by name. + # Jukebox Song Name Optional Identifier The name of the jukebox song in its respective registry. Only present if Direct Mode is false. + # Jukebox Song Type Optional VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a jukebox song, with the necessary data following. + # Anything else - References a jukebox song in its registry, by the ID of Jukebox Song Type - 1. + # Only present if Direct Mode is true. + # Sound Event Optional Sound Event The sound to be played. Only present if Direct Mode is true and Jukebox Song Type is 0. + # Description Optional Text Component The description shown in the item lore. Only present if Direct Mode is true and Jukebox Song Type is 0. + # Duration Optional Float The duration the songs should play for, in seconds. Only present if Direct Mode is true and Jukebox Song Type is 0. + # Output Optional VarInt The output strength given by a comparator. Between 0 and 15. Only present if Direct Mode is true and Jukebox Song Type is 0. + # Show In Tooltip Boolean Whether the song should be shown on the item's tooltip. + if jukebox_playable: + directMode: bool + _: directMode ? + if false: + jukeboxSongName: string + jukeboxSongType: varint + _: jukeboxSongType ? + if 0: + soundEvent: + soundEventType: varint + _: soundEventType ? + if 0: + soundName: string + fixedRange?: f32 + description: anonymousNbt + duration: f32 + output: varint + showInTooltip: bool + if recipes: anonymousNbt + # Name Type Description + # Has Global Position Boolean Whether this lodestone points to a position, otherwise it spins randomly. + # Dimension Identifier The dimension the compass points to. Only present if Has Global Position is true. + # Position Position The position the compass points to. Only present if Has Global Position is true. + # Tracked Boolean Whether the component is removed when the associated lodestone is broken. + if lodestone_tracker: + globalPosition?: + dimension: string + position: vec3f + tracked: bool + # Name Type Description + # Shape VarInt Enum Can be one of the following: + # 0 - Small ball + # 1 - Large ball + # 2 - Star + # 3 - Creeper + # 4 - Burst + # Number Of Colors VarInt The number of elements in the following array. + # Colors Array of Int The RGB components of the color, encoded as an integer. + # Number Of Fade Colors VarInt The number of elements in the following array. + # Fade Colors Array of Int The RGB components of the color, encoded as an integer. + # Has Trail Boolean + # Has Twinkle Boolean + if firework_explosion: FireworkExplosion + if fireworks: + flightDuration: varint + explosions: FireworkExplosion[]varint + # Name Type Description + # Has Name Boolean + # Name Optional String (16) Only present if Has Name is true. + # Has Unique ID Boolean + # Unique ID Optional UUID Only present if Has Unique ID is true. + # Number of Properties VarInt Number of elements in the following array. + # Property Name Array String (64) + # Value String + # Has Signature Boolean + # Signature String (1024) Only present if Has Signature is true. + if profile: + hasName: bool + name: string + hasUniqueId: bool + uniqueId: UUID + properties: []varint + property: string + value: string + hasSignature: bool + signature: string + if note_block_sound: string + # Name Type Description + # Number of Layers VarInt Number of elements in the following array. + # Layer Pattern Type Array VarInt Identifier used to determine the data that follows. It can be either: + # 0 - Directly represents a pattern, with the necessary data following. + # Anything else - References a pattern in its registry, by the ID of Pattern Type - 1. + # Asset ID Optional Identifier Identifier of the asset. Only present if Pattern Type is 0. + # Translation Key Optional String Only present if Pattern Type is 0. + # Color Dye Color See Dye Color. + if banner_patterns: + layers: []varint + patternType: varint + _: patternType ? + if 0: + assetId: string + translationKey: string + color: varint + if base_color: varint + if pot_decorations: + # The ID of the items in the item registry. + decorations: varint[]varint + if container: + contents: Slot[]varint + # Name Type Description + # Number of Properties VarInt Number of elements in the following array. + # Property Name Array String + # Value String + if block_state: + properties: []varint + property: string + value: string + # Name Type Description + # Number of Bees VarInt Number of elements in the following array. + # Bee Entity Data Array NBT + # Ticks In Hive VarInt + # Min Ticks In Hive VarInt + if bees: + bees: []varint + # Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component. + nbtData: anonymousNbt + ticksInHive: varint + minTicksInHive: varint + if lock: anonymousNbt + if container_loot: anonymousNbt + Slot: itemCount: i8 _: itemCount ? @@ -175,352 +517,10 @@ # + public static final DataComponentType CONTAINER_LOOT = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new); addedComponentCount: varint removedComponentCount: varint - components: []$addedComponentCount - type: SlotComponentType - data: type ? - # TODO: look into how nbt works here - if custom_data: anonymousNbt - if max_stack_size: varint - if max_damage: varint - if damage: varint - if unbreakable: bool - if custom_name: anonymousNbt - if item_name: anonymousNbt - if lore: anonOptionalNbt[]varint - if rarity: varint - if enchantments: - enchantments: []varint - id: varint - level: varint - showTooltip: bool - if can_place_on or can_break: - predicates: BlockPredicate[]varint - showTooltip: bool - if attribute_modifiers: - attributes: []varint - typeId: varint - uniqueId: UUID - name: string - value: f64 - operation: varint => - - add - - multiply_base - - multiply_total - slot: varint => - - any - - main_hand - - off_hand - - hand - - feet - - legs - - chest - - head - - armor - - body - showTooltip: bool - if custom_model_data: varint - if hide_additional_tooltip: void - if hide_tooltip: void - if repair_cost: varint - if creative_slot_lock: void - if enchantment_glint_override: bool - if intangible_projectile: void - # Name Type Description - # Nutrition VarInt Non-negative - # Saturation Modifier Float How much saturation will be given after consuming the item. - # Can Always Eat Boolean Whether the item can always be eaten, even at full hunger. - # Seconds To Eat Float How long it takes to consume the item. - # Using converts to Slot Data This specifies the item produced after consuming the current item. In the Notchian server, this is used for stews, which turn into bowls. Set this to Air if the item should be consumed normally without leaving any other item after. - # Number of effects VarInt Number of elements in the following array. - # Effect Type ID Array Potion Effect The potion effect. See Potion Effect. - # Probability Float The probability for this effect to be chosen. - if food: - nutrition: varint - saturationModifier: f32 - canAlwaysEat: bool - secondsToEat: f32 - usingConvertsTo: Slot - effects: []varint - effect: varint - probability: f32 - if fire_resistant: void - # Name Type Description - # Number of Rules VarInt The number of elements in the following array. - # Rule - # Blocks Array Block Set The block this rule applies to. See Block Set. - # Has Speed Boolean - # Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true. - # Has Correct Drop For Blocks Boolean - # Correct Drop For Blocks Optional Boolean Whether items should drop only if this is the correct tool. Only present if Has Correct Drop For Blocks is true. - # Default Mining Speed Float The mining speed in case none of the previous rule were matched. - # Damage Per Block VarInt The amount of damage the item takes per block break. - if tool: - rules: []varint - blocks: BlockSet[]varint - hasSpeed: bool - speed: f32 - hasCorrectDropForBlocks: bool - correctDropForBlocks: bool - defaultMiningSpeed: f32 - damagePerBlock: varint - # Name Type Description - # Number of enchantments VarInt Number of elements in the following array. - # Enchantment Type ID Array VarInt Enum The ID of the enchantment in the enchantment registry. - # Level VarInt The level of the enchantment. - # Show In Tooltip Boolean Whether the list of enchantments should be shown on the item's tooltip. - if stored_enchantments: - enchantments: []varint - id: varint - level: varint - showInTooltip: bool - if dyed_color: - color: varint - showTooltip: bool - if map_color: varint - if map_id: varint - if map_decorations: anonOptionalNbt - if map_post_processing: varint - if charged_projectiles: - projectiles: Slot[]varint - if bundle_contents: - contents: Slot[]varint - # Name Type Description - # Has Potion ID Boolean Whether this potion has an ID in the potion registry. If true, it has the default effects associated with the potion type. - # Potion ID Optional VarInt The ID of the potion type in the potion registry. Only present if Has Potion ID is true. - # Has Custom Color Boolean Whether this potion has a custom color. If false, it uses the default color associated with the potion type. - # Custom Color Optional Int The RGB components of the color, encoded as an integer. Only present if Has Custom Color is true. - # Number Of Custom Effects VarInt The number of elements in the following array. - # Custom Effects Array of Potion Effect Any custom effects the potion might have. See Potion Effect. - if potion_contents: - hasPotionId: bool - potionId: optvarint - hasCustomColor: bool - customColor: optvarint - customEffects: []varint - effect: varint - details: EffectDetail - # Name Type Description - # Number Of Effects VarInt Number of elements in the following array. - # Effect Type ID Array VarInt Enum The ID of the effect in the potion effect type registry. - # Duration VarInt The duration of the effect. - if suspicious_stew_effects: - effects: []varint - effect: varint - duration: varint - # Name Type Description - # Number Of Pages VarInt Number of elements in the following array. - # Page Raw Content Array (100) String (1024) The raw text of the page. - # Has Filtered Content Boolean - # Filtered Content Optional String (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. - if writable_book_content: - pages: BookPage[]varint - # Name Type Description - # Raw Title String (32) The raw title of the book. - # Has Filtered Title Boolean - # Filtered Title Optional String (32) The title after going through chat filters. Only present if Has Filtered Title is true. - # Author String - # Generation VarInt - # Number Of Pages VarInt Number of elements in the following array. - # Page Raw Content Array (100) TextComponent (1024) The raw text of the page. - # Has Filtered Content Boolean - # Filtered Content Optional Text Component (1024) The content after passing through chat filters. Only present if Has Filtered Content is true. - # Resolved Boolean Whether entity selectors have already been resolved. - if written_book_content: - rawTitle: string - filteredTitle?: string - author: string - generation: varint - pages: BookPage[]varint - # Whether entity selectors have already been resolved. - resolved: bool - # Name Type Description - # Trim Material Type VarInt Identifier used to determine the data that follows. It can be either: - # 0 - Directly represents a trim material, with the necessary data following. - # Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1. - # Asset Name Optional String See Armor Trim Material Registry. Only present if Trim Material Type is 0. - # Ingredient Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. - # Item Model Index Optional Float See Armor Trim Material Registry. Only present if Trim Material Type is 0. - # Number of Overrides Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0. - # Override Armor Material Type Optional Array VarInt Enum See Armor Trim Material Registry. Only present if Trim Material Type is 0. - # Overriden Asset Name String See Armor Trim Material Registry. Only present if Trim Material Type is 0. - # Description Optional Text Component See Armor Trim Material Registry. Only present if Trim Material Type is 0. - # Trim Pattern Type VarInt Identifier used to determine the data that follows. It can be either: - # 0 - Directly represents a trim pattern, with the necessary data following. - # Anything else - References a trim pattern in its registry, by the ID of Trim Pattern Type - 1. - # Asset Name Optional String See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. - # Template Item Optional VarInt See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. - # Description Optional Text Component See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. - # Decal Optional Boolean See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0. - # Show In Tooltip Boolean Whether the trim information should be shown on the item's tooltip. - if trim: - # Identifier used to determine the data that follows. It can be either: - # 0 - Directly represents a trim material, with the necessary data following. - # Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1. - materialType: varint - _: materialType ? - if 0: - assetName: string - ingredientId: varint - itemModelIndex: f32 - numberOfOverrides: optvarint - override: []varint - armorMaterialType: varint - overridenAssetName: string - description: string - trimPatternType: varint - _: trimPatternType ? - if 0: - assetName: string - templateItem: varint - description: string - decal: bool - showInTooltip: bool - if debug_stick_state: anonymousNbt - if entity_data: anonymousNbt - if bucket_entity_data: anonymousNbt - if block_entity_data: anonymousNbt - # Name Type Description - # Instrument Type VarInt Identifier used to determine the data that follows. It can be either: - # 0 - Directly represents an instrument, with the necessary data following. - # Anything else - References an instrument in its registry, by the ID of Instrument Type - 1. - # Sound Event Optional Sound Event The sound to be played. Only present if Instrument Type is 0. - # Use duration Optional Float The maximum range of the sound. Only present if Instrument Type is 0. - # Range Optional Float The range of the instrument. Only present if Instrument Type is 0. - if instrument: - instrumentType: varint - _: instrumentType ? - if 0: - soundEvent: string - useDuration: f32 - range: f32 - if ominous_bottle_amplifier: varint - # Name Type Description - # Direct Mode Boolean Whether the jukebox song is specified directly, or just referenced by name. - # Jukebox Song Name Optional Identifier The name of the jukebox song in its respective registry. Only present if Direct Mode is false. - # Jukebox Song Type Optional VarInt Identifier used to determine the data that follows. It can be either: - # 0 - Directly represents a jukebox song, with the necessary data following. - # Anything else - References a jukebox song in its registry, by the ID of Jukebox Song Type - 1. - # Only present if Direct Mode is true. - - # Sound Event Optional Sound Event The sound to be played. Only present if Direct Mode is true and Jukebox Song Type is 0. - # Description Optional Text Component The description shown in the item lore. Only present if Direct Mode is true and Jukebox Song Type is 0. - # Duration Optional Float The duration the songs should play for, in seconds. Only present if Direct Mode is true and Jukebox Song Type is 0. - # Output Optional VarInt The output strength given by a comparator. Between 0 and 15. Only present if Direct Mode is true and Jukebox Song Type is 0. - # Show In Tooltip Boolean Whether the song should be shown on the item's tooltip. - if jukebox_playable: - directMode: bool - _: directMode ? - if false: - jukeboxSongName: string - jukeboxSongType: varint - _: jukeboxSongType ? - if 0: - soundEvent: - soundEventType: varint - _: soundEventType ? - if 0: - soundName: string - fixedRange?: f32 - description: anonymousNbt - duration: f32 - output: varint - showInTooltip: bool - if recipes: anonymousNbt - # Name Type Description - # Has Global Position Boolean Whether this lodestone points to a position, otherwise it spins randomly. - # Dimension Identifier The dimension the compass points to. Only present if Has Global Position is true. - # Position Position The position the compass points to. Only present if Has Global Position is true. - # Tracked Boolean Whether the component is removed when the associated lodestone is broken. - if lodestone_tracker: - globalPosition?: - dimension: string - position: vec3f - tracked: bool - # Name Type Description - # Shape VarInt Enum Can be one of the following: - # 0 - Small ball - # 1 - Large ball - # 2 - Star - # 3 - Creeper - # 4 - Burst - # Number Of Colors VarInt The number of elements in the following array. - # Colors Array of Int The RGB components of the color, encoded as an integer. - # Number Of Fade Colors VarInt The number of elements in the following array. - # Fade Colors Array of Int The RGB components of the color, encoded as an integer. - # Has Trail Boolean - # Has Twinkle Boolean - if firework_explosion: FireworkExplosion - if fireworks: - flightDuration: varint - explosions: FireworkExplosion[]varint - # Name Type Description - # Has Name Boolean - # Name Optional String (16) Only present if Has Name is true. - # Has Unique ID Boolean - # Unique ID Optional UUID Only present if Has Unique ID is true. - # Number of Properties VarInt Number of elements in the following array. - # Property Name Array String (64) - # Value String - # Has Signature Boolean - # Signature String (1024) Only present if Has Signature is true. - if profile: - hasName: bool - name: string - hasUniqueId: bool - uniqueId: UUID - properties: []varint - property: string - value: string - hasSignature: bool - signature: string - if note_block_sound: string - # Name Type Description - # Number of Layers VarInt Number of elements in the following array. - # Layer Pattern Type Array VarInt Identifier used to determine the data that follows. It can be either: - # 0 - Directly represents a pattern, with the necessary data following. - # Anything else - References a pattern in its registry, by the ID of Pattern Type - 1. - # Asset ID Optional Identifier Identifier of the asset. Only present if Pattern Type is 0. - # Translation Key Optional String Only present if Pattern Type is 0. - # Color Dye Color See Dye Color. - if banner_patterns: - layers: []varint - patternType: varint - _: patternType ? - if 0: - assetId: string - translationKey: string - color: varint - if base_color: varint - if pot_decorations: - # The ID of the items in the item registry. - decorations: varint[]varint - if container: - contents: Slot[]varint - # Name Type Description - # Number of Properties VarInt Number of elements in the following array. - # Property Name Array String - # Value String - if block_state: - properties: []varint - property: string - value: string - # Name Type Description - # Number of Bees VarInt Number of elements in the following array. - # Bee Entity Data Array NBT - # Ticks In Hive VarInt - # Min Ticks In Hive VarInt - if bees: - bees: []varint - # Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component. - nbtData: anonymousNbt - ticksInHive: varint - minTicksInHive: varint - if lock: anonymousNbt - if container_loot: anonymousNbt + components: SlotComponent[]$addedComponentCount removeComponents: []$removedComponentCount type: SlotComponentType - FireworkExplosion: shape: varint => - small_ball @@ -1822,9 +1822,17 @@ windowId: varint ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.20.5/client/net/minecraft/world/item/trading/MerchantOffer.java#L210 trades: []varint - inputItem1: Slot + inputItem1: + itemId: varint + itemCount: varint + addedComponentCount: varint + components: SlotComponent[]$addedComponentCount outputItem: Slot - inputItem2: Slot + inputItem2?: + itemId: varint + itemCount: varint + addedComponentCount: varint + components: SlotComponent[]$addedComponentCount tradeDisabled: bool nbTradeUses: i32 maximumNbTradeUses: i32 From 2179bd5f7986636e8125c8ab7ca03b48e3b1e50a Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Sat, 12 Oct 2024 17:22:35 +0200 Subject: [PATCH 19/19] Remove check for 1.20.5 in audit recipes. --- tools/js/test/audit_recipes.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/js/test/audit_recipes.js b/tools/js/test/audit_recipes.js index cb3ee11de..c950dce95 100644 --- a/tools/js/test/audit_recipes.js +++ b/tools/js/test/audit_recipes.js @@ -126,7 +126,10 @@ require('./version_iterator')(function (p, versionString) { if (!oakPlanks) return // Bail if version doesn't have seperately defined planks, this prevents the test failing on versions that use metadata const recipe = recipes[craftingTable.id] if (!recipe[0]) return - assert.notEqual(recipe.length, 1) // Check that crafting table has multiple recipes. + // remove the if after fixing https://github.com/PrismarineJS/minecraft-data/issues/917 + if (versionString !== 'pc 1.20.5') { + assert.notEqual(recipe.length, 1) // Check that crafting table has multiple recipes. + } } }) })