minecraft-data 2.94.0 → 2.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/data.js +60 -0
  2. package/doc/history.md +12 -0
  3. package/index.d.ts +1 -1
  4. package/minecraft-data/README.md +3 -3
  5. package/minecraft-data/data/bedrock/1.16.201/proto.yml +9 -9
  6. package/minecraft-data/data/bedrock/1.16.201/protocol.json +5 -5
  7. package/minecraft-data/data/bedrock/1.16.210/proto.yml +9 -9
  8. package/minecraft-data/data/bedrock/1.16.210/protocol.json +5 -5
  9. package/minecraft-data/data/bedrock/1.16.220/proto.yml +9 -9
  10. package/minecraft-data/data/bedrock/1.16.220/protocol.json +5 -5
  11. package/minecraft-data/data/bedrock/1.17.0/proto.yml +9 -9
  12. package/minecraft-data/data/bedrock/1.17.0/protocol.json +5 -5
  13. package/minecraft-data/data/bedrock/1.17.10/proto.yml +3171 -0
  14. package/minecraft-data/data/bedrock/1.17.10/protocol.json +5 -5
  15. package/minecraft-data/data/bedrock/1.17.10/types.yml +1703 -0
  16. package/minecraft-data/data/bedrock/1.17.30/proto.yml +3234 -0
  17. package/minecraft-data/data/bedrock/1.17.30/protocol.json +9366 -0
  18. package/minecraft-data/data/bedrock/1.17.30/types.yml +1749 -0
  19. package/minecraft-data/data/bedrock/1.17.40/proto.yml +3267 -0
  20. package/minecraft-data/data/bedrock/1.17.40/protocol.json +9493 -0
  21. package/minecraft-data/data/bedrock/1.17.40/types.yml +1764 -0
  22. package/minecraft-data/data/bedrock/1.18.0/biomes.json +968 -0
  23. package/minecraft-data/data/bedrock/1.18.0/blockCollisionShapes.json +862 -0
  24. package/minecraft-data/data/bedrock/1.18.0/blockStates.json +157214 -0
  25. package/minecraft-data/data/bedrock/1.18.0/blocks.json +12506 -0
  26. package/minecraft-data/data/bedrock/1.18.0/blocksB2J.json +6845 -0
  27. package/minecraft-data/data/bedrock/1.18.0/blocksJ2B.json +20344 -0
  28. package/minecraft-data/data/bedrock/1.18.0/items.json +9565 -0
  29. package/minecraft-data/data/bedrock/1.18.0/protocol.json +9515 -0
  30. package/minecraft-data/data/bedrock/1.18.0/recipes.json +16648 -0
  31. package/minecraft-data/data/bedrock/common/protocolVersions.json +18 -0
  32. package/minecraft-data/data/bedrock/common/versions.json +4 -1
  33. package/minecraft-data/data/bedrock/latest/proto.yml +124 -22
  34. package/minecraft-data/data/bedrock/latest/types.yml +80 -19
  35. package/minecraft-data/data/dataPaths.json +60 -0
  36. package/minecraft-data/data/pc/1.16.2/protocol.json +2 -2
  37. package/minecraft-data/data/pc/1.17/protocol.json +18 -21
  38. package/minecraft-data/data/pc/1.17.1/protocol.json +18 -21
  39. package/minecraft-data/data/pc/1.18/protocol.json +5622 -0
  40. package/minecraft-data/data/pc/1.18/version.json +5 -0
  41. package/minecraft-data/data/pc/common/protocolVersions.json +154 -0
  42. package/minecraft-data/doc/add-data-new-version.md +2 -0
  43. package/minecraft-data/doc/history.md +12 -0
  44. package/minecraft-data/tools/js/compileProtocol.js +2 -2
  45. package/package.json +1 -1
  46. package/test/load.js +0 -6
  47. package/typings/index-template.d.ts +1 -1
@@ -43,5 +43,23 @@
43
43
  "minecraftVersion": "1.17.10",
44
44
  "majorVersion": "1.17",
45
45
  "releaseType": "release"
46
+ },
47
+ {
48
+ "version": 465,
49
+ "minecraftVersion": "1.17.30",
50
+ "majorVersion": "1.17",
51
+ "releaseType": "release"
52
+ },
53
+ {
54
+ "version": 471,
55
+ "minecraftVersion": "1.17.40",
56
+ "majorVersion": "1.17",
57
+ "releaseType": "release"
58
+ },
59
+ {
60
+ "version": 475,
61
+ "minecraftVersion": "1.18.0",
62
+ "majorVersion": "1.18",
63
+ "releaseType": "release"
46
64
  }
47
65
  ]
@@ -6,5 +6,8 @@
6
6
  "1.16.210",
7
7
  "1.16.220",
8
8
  "1.17.0",
9
- "1.17.10"
9
+ "1.17.10",
10
+ "1.17.30",
11
+ "1.17.40",
12
+ "1.18.0"
10
13
  ]
@@ -1,7 +1,7 @@
1
1
  # Created from MiNET and gophertunnel docs
2
2
  # The version below is the latest version this protocol schema was updated for.
3
3
  # The output protocol.json will be in the folder for the version
4
- !version: 1.17.10
4
+ !version: 1.18.0
5
5
 
6
6
  # Some ProtoDef aliases
7
7
  string: ["pstring",{"countType":"varint"}] # String / array types
@@ -187,7 +187,7 @@ packet_text:
187
187
  message: string
188
188
  if translation or popup or jukebox_popup:
189
189
  message: string
190
- paramaters: string[]varint
190
+ parameters: string[]varint
191
191
  # The XUID of the player who sent this message.
192
192
  xuid: string
193
193
  # PlatformChatID is an identifier only set for particular platforms when chatting (presumably only for
@@ -330,6 +330,7 @@ packet_start_game:
330
330
  limited_world_width: li32
331
331
  limited_world_length: li32
332
332
  is_new_nether: bool
333
+ edu_resource_uri: EducationSharedResourceURI
333
334
  experimental_gameplay_override: bool
334
335
  # A base64 encoded world ID that is used to identify the world.
335
336
  level_id: string
@@ -388,6 +389,8 @@ packet_start_game:
388
389
  server_authoritative_inventory: bool
389
390
  # The server's engine version, used for telemetry
390
391
  engine: string
392
+ # A checksum to ensure block types between the server and client match
393
+ block_pallete_checksum: lu64
391
394
 
392
395
  packet_add_player:
393
396
  !id: 0x0c
@@ -670,6 +673,9 @@ packet_level_event:
670
673
  2031: particle_wax_off
671
674
  2032: particle_scrape
672
675
  2033: particle_electric_spark
676
+ 2034: particle_turtle_egg
677
+ 2035: particle_sculk_shriek
678
+ 2036: sculk_catalyst_bloom
673
679
 
674
680
  3001: start_rain
675
681
  3002: start_thunder
@@ -690,8 +696,9 @@ packet_level_event:
690
696
  3509: cauldron_clean_banner
691
697
  3600: block_start_break
692
698
  3601: block_stop_break
693
- 4000: set_data
699
+ 4000: set_data
694
700
  9800: players_sleeping
701
+ 9801: sleeping_players
695
702
  0x4000: add_particle_mask
696
703
  # 0x4000 | + particle ID
697
704
  16385: particle_bubble # 1
@@ -933,6 +940,8 @@ packet_entity_pick_request:
933
940
  !bound: server
934
941
  runtime_entity_id: lu64
935
942
  selected_slot: u8
943
+ # WithData is true if the pick request requests the entity metadata.
944
+ with_data: bool
936
945
 
937
946
  # PlayerAction is sent by the client when it executes any action, for example starting to sprint, swim,
938
947
  # starting the breaking of a block, dropping an item, etc.
@@ -955,7 +964,9 @@ packet_player_action:
955
964
  packet_hurt_armor:
956
965
  !id: 0x26
957
966
  !bound: client
958
- health: zigzag32
967
+ cause: zigzag32
968
+ damage: zigzag32
969
+ armor_slots: zigzag64
959
970
 
960
971
  packet_set_entity_data:
961
972
  !id: 0x27
@@ -1122,9 +1133,16 @@ packet_crafting_data:
1122
1133
  !id: 0x34
1123
1134
  !bound: client
1124
1135
  recipes: Recipes
1136
+ # PotionContainerChangeRecipes is a list of all recipes to convert a potion from one type to another,
1137
+ # such as from a drinkable potion to a splash potion, or from a splash potion to a lingering potion.
1125
1138
  potion_type_recipes: PotionTypeRecipes
1139
+ # MaterialReducers is a list of all material reducers which is used in education edition chemistry.
1140
+ material_reducers: MaterialReducer[]varint
1126
1141
  potion_container_recipes: PotionContainerChangeRecipes
1127
- is_clean: bool
1142
+ # ClearRecipes indicates if all recipes currently active on the client should be cleaned. Doing this
1143
+ # means that the client will have no recipes active by itself: Any CraftingData packets previously sent
1144
+ # will also be discarded, and only the recipes in this CraftingData packet will be used.
1145
+ clear_recipes: bool
1128
1146
 
1129
1147
  # CraftingEvent is sent by the client when it crafts a particular item. Note that this packet may be fully
1130
1148
  # ignored, as the InventoryTransaction packet provides all the information required.
@@ -1542,7 +1560,7 @@ packet_show_credits:
1542
1560
  packet_available_commands:
1543
1561
  !id: 0x4c
1544
1562
  !bound: client
1545
- # The length of the enums for all the command paramaters in this packet
1563
+ # The length of the enums for all the command parameters in this packet
1546
1564
  values_len: varint
1547
1565
  # Not read from stream: instead calculated from the `values_len` field
1548
1566
  #
@@ -1552,7 +1570,7 @@ packet_available_commands:
1552
1570
  _enum_type: '["enum_size_based_on_values_len"]'
1553
1571
  # Here all the enum values for all of the possible commands are stored to one array palette
1554
1572
  enum_values: string[]$values_len
1555
- # Integer paramaters may sometimes have a prefix, such as the XP command:
1573
+ # Integer parameters may sometimes have a prefix, such as the XP command:
1556
1574
  # /xp <amount: int> [player: target] <- here, the xp command gives experience points
1557
1575
  # /xp <amount: int>L [player: target] <- here, the xp command gives experience levels
1558
1576
  # This is the palette of suffixes
@@ -1574,12 +1592,12 @@ packet_available_commands:
1574
1592
  flags: lu16
1575
1593
  permission_level: u8
1576
1594
  alias: li32
1577
- # The list of overload paramaters for this command
1595
+ # The list of overload parameters for this command
1578
1596
  overloads: []varint
1579
- # Each of the paramaters gets an array of posible overloads
1597
+ # Each of the parameters gets an array of posible overloads
1580
1598
  _: []varint
1581
- # The name of the paramater shown to the user (the `amount` in `/xp <amount: int>`)
1582
- paramater_name: string
1599
+ # The name of the parameter shown to the user (the `amount` in `/xp <amount: int>`)
1600
+ parameter_name: string
1583
1601
  value_type: lu16 =>
1584
1602
  1: int
1585
1603
  2: float
@@ -1600,7 +1618,7 @@ packet_available_commands:
1600
1618
  0x20: enum
1601
1619
  0x100: suffixed
1602
1620
  0x400: soft_enum
1603
- # Is this paramater required?
1621
+ # Is this parameter required?
1604
1622
  optional: bool
1605
1623
  # Additinal options for this command (thanks macroshaft...)
1606
1624
  options: CommandFlags
@@ -1625,9 +1643,10 @@ packet_available_commands:
1625
1643
  # with enums that have a big amount of options. To illustrate, it can make
1626
1644
  # <false|true|yes|no> <$Name: bool>.
1627
1645
  CommandFlags: [ "bitfield", [
1628
- { "name": "unused", "size": 6, "signed": false }, # 6 unused upper bits
1646
+ { "name": "unused", "size": 1, "signed": false }, # 6 unused upper bits
1647
+ { "name": "collapse_enum", "size": 1, "signed": false },
1629
1648
  { "name": "has_semantic_constraint", "size": 1, "signed": false },
1630
- { "name": "collapse_enum", "size": 1, "signed": false }
1649
+ { "name": "as_chained_command", "size": 1, "signed": false },
1631
1650
  ]]
1632
1651
 
1633
1652
  # enum_size_based_on_values_len: native
@@ -1729,7 +1748,7 @@ packet_command_output:
1729
1748
  # Parameters is a list of parameters that serve to supply the message sent with additional information,
1730
1749
  # such as the position that a player was teleported to or the effect that was applied to an entity.
1731
1750
  # These parameters only apply for the Minecraft built-in command output.
1732
- paramaters: string[]varint
1751
+ parameters: string[]varint
1733
1752
  data_set: output_type ?
1734
1753
  if data_set: string
1735
1754
  default: void
@@ -2100,6 +2119,14 @@ packet_photo_transfer:
2100
2119
  # is set to PhotoName, it will display the photo (provided Education Edition is used).
2101
2120
  # The photo image is downloaded to a sub-folder with this book ID.
2102
2121
  book_id: string
2122
+ # PhotoType is one of the three photo types above.
2123
+ photo_type: u8
2124
+ # SourceType is the source photo type. It is one of the three photo types above.
2125
+ source_type: u8
2126
+ # OwnerEntityUniqueID is the entity unique ID of the photo's owner.
2127
+ owner_entity_unique_id: i64
2128
+ # NewPhotoName is the new name of the photo.
2129
+ new_photo_name: string
2103
2130
 
2104
2131
  # ModalFormRequest is sent by the server to make the client open a form. This form may be either a modal form
2105
2132
  # which has two options, a menu form for a selection of options and a custom form for properties.
@@ -2267,12 +2294,7 @@ packet_update_block_synced:
2267
2294
  # TransitionType is the type of the transition that happened. It is either BlockToEntityTransition, when
2268
2295
  # a block placed becomes a falling entity, or EntityToBlockTransition, when a falling entity hits the
2269
2296
  # ground and becomes a solid block again.
2270
- transition_type: varint64 =>
2271
- # For falling sand, when a sand turns to an entity
2272
- 0: entity
2273
- # When sand turns back to a new block
2274
- 1: create
2275
- 2: destroy
2297
+ transition_type: varint => TransitionType
2276
2298
 
2277
2299
 
2278
2300
  # MoveActorDelta is sent by the server to move an entity. The packet is specifically optimised to save as
@@ -2645,11 +2667,24 @@ packet_education_settings:
2645
2667
  # CanResizeCodeBuilder specifies if clients connected to the world should be able to resize the code
2646
2668
  # builder when it is opened.
2647
2669
  CanResizeCodeBuilder: bool
2670
+ disable_legacy_title_bar: bool
2671
+ post_process_filter: string
2672
+ screenshot_border_path: string
2673
+ has_agent_capabilities: bool
2674
+ agent_capabilities: has_agent_capabilities ?
2675
+ if true:
2676
+ has: bool
2677
+ can_modify_blocks: bool
2648
2678
  HasOverrideURI: bool
2649
2679
  OverrideURI: HasOverrideURI?
2650
2680
  if true: string
2651
2681
  # HasQuiz specifies if the world has a quiz connected to it.
2652
2682
  HasQuiz: bool
2683
+ has_external_link_settings: bool
2684
+ external_link_settings: has_external_link_settings ?
2685
+ has: bool
2686
+ url: string
2687
+ display_name: string
2653
2688
 
2654
2689
  # MultiPlayerSettings is sent by the client to update multi-player related settings server-side and sent back
2655
2690
  # to online players by the server.
@@ -3023,6 +3058,8 @@ packet_animate_entity:
3023
3058
  next_state: string
3024
3059
  # StopCondition is a MoLang expression that specifies when the animation should be stopped.
3025
3060
  stop_condition: string
3061
+ # StopConditionVersion is the MoLang stop condition version.
3062
+ stop_condition_version: li64
3026
3063
  # Controller is the animation controller that is used to manage animations. These controllers decide when
3027
3064
  # to play which animation.
3028
3065
  controller: string
@@ -3134,6 +3171,7 @@ packet_add_volume_entity:
3134
3171
  # The Runtime Entity ID
3135
3172
  entity_id: varint64
3136
3173
  nbt: nbt
3174
+ engine_version: string
3137
3175
 
3138
3176
  # RemoveVolumeEntity indicates a volume entity to be removed from server to client.
3139
3177
  packet_remove_volume_entity:
@@ -3168,4 +3206,68 @@ packet_npc_dialogue:
3168
3206
  # NPCName is the name of the NPC to be displayed to the client.
3169
3207
  npc_name: string
3170
3208
  # ActionJSON is the JSON string of the buttons/actions the server can perform.
3171
- action_json: string
3209
+ action_json: string
3210
+
3211
+ packet_edu_uri_resource_packet:
3212
+ !id: 0xaa
3213
+ resource: EducationSharedResourceURI
3214
+
3215
+ # CreatePhoto is a packet that allows players to export photos from their portfolios into items in their inventory.
3216
+ # This packet only works on the Education Edition version of Minecraft.
3217
+ packet_create_photo:
3218
+ !id: 0xab
3219
+ # EntityUniqueID is the unique ID of the entity.
3220
+ entity_unique_id: i64
3221
+ # PhotoName is the name of the photo.
3222
+ photo_name: string
3223
+ # ItemName is the name of the photo as an item.
3224
+ item_name: string
3225
+
3226
+ # UpdateSubChunkBlocks is essentially just UpdateBlock packet, however for a set of blocks in a sub chunk.
3227
+ packet_update_subchunk_blocks:
3228
+ !id: 0xac
3229
+ # SubChunkX, SubChunkY, and SubChunkZ help identify the sub chunk.
3230
+ x: varint
3231
+ y: varint
3232
+ z: varint
3233
+ # Blocks contains each updated block change entry.
3234
+ blocks: BlockUpdate[]varint
3235
+ # Extra contains each updated block change entry for the second layer, usually for waterlogged blocks.
3236
+ extra: BlockUpdate[]varint
3237
+
3238
+ packet_photo_info_request:
3239
+ !id: 0xad
3240
+ photo_id: zigzag64
3241
+
3242
+ packet_subchunk:
3243
+ !id: 0xae
3244
+ dimension: varint
3245
+ x: varint
3246
+ y: varint
3247
+ z: varint
3248
+ # Data is the actual sub chunk data, such as the blocks.
3249
+ data: ByteArray
3250
+ request_result: varint =>
3251
+ 0: undefined
3252
+ 1: success
3253
+ 2: chunk_not_found
3254
+ 3: invalid_dimension
3255
+ 4: player_not_found
3256
+ 5: y_index_out_of_bounds
3257
+ heightmap_type: u8 =>
3258
+ 0: no_data
3259
+ 1: has_data
3260
+ 2: too_high
3261
+ 3: too_low
3262
+ _: heightmap_type ?
3263
+ if has_data: '["buffer", { "count": 256 }]'
3264
+ cache_enabled: bool
3265
+ blob_id: cache_enabled ?
3266
+ if true: u64
3267
+
3268
+ packet_subchunk_request:
3269
+ !id: 0xaf
3270
+ dimension: varint
3271
+ x: varint
3272
+ y: varint
3273
+ z: varint
@@ -678,10 +678,9 @@ Skin:
678
678
  expression_type: lf32
679
679
  cape_data: SkinImage
680
680
  geometry_data: string
681
+ geometry_data_version: string
681
682
  animation_data: string
682
- premium: bool
683
- persona: bool
684
- cape_on_classic: bool
683
+
685
684
  cape_id: string
686
685
  full_skin_id: string
687
686
  arm_size: string
@@ -695,6 +694,12 @@ Skin:
695
694
  piece_tint_colors: []li32
696
695
  piece_type: string
697
696
  colors: string[]li32
697
+ premium: bool
698
+ persona: bool
699
+ # PersonaCapeOnClassicSkin specifies if the skin had a Persona cape (in-game skin creator cape) equipped
700
+ # on a classic skin.
701
+ cape_on_classic: bool
702
+ primary_user: bool
698
703
 
699
704
  PlayerRecords:
700
705
  type: u8 =>
@@ -787,62 +792,68 @@ ItemStackRequest:
787
792
  type_id: u8 =>
788
793
  # TakeStackRequestAction is sent by the client to the server to take x amount of items from one slot in a
789
794
  # container to the cursor.
790
- 0: take
795
+ - take
791
796
  # PlaceStackRequestAction is sent by the client to the server to place x amount of items from one slot into
792
797
  # another slot, such as when shift clicking an item in the inventory to move it around or when moving an item
793
798
  # in the cursor into a slot.
794
- 1: place
799
+ - place
795
800
  # SwapStackRequestAction is sent by the client to swap the item in its cursor with an item present in another
796
801
  # container. The two item stacks swap places.
797
- 2: swap
802
+ - swap
798
803
  # DropStackRequestAction is sent by the client when it drops an item out of the inventory when it has its
799
804
  # inventory opened. This action is not sent when a player drops an item out of the hotbar using the Q button
800
805
  # (or the equivalent on mobile). The InventoryTransaction packet is still used for that action, regardless of
801
806
  # whether the item stack network IDs are used or not.
802
- 3: drop
807
+ - drop
803
808
  # DestroyStackRequestAction is sent by the client when it destroys an item in creative mode by moving it
804
809
  # back into the creative inventory.
805
- 4: destroy
810
+ - destroy
806
811
  # ConsumeStackRequestAction is sent by the client when it uses an item to craft another item. The original
807
812
  # item is 'consumed'.
808
- 5: consume
813
+ - consume
809
814
  # CreateStackRequestAction is sent by the client when an item is created through being used as part of a
810
815
  # recipe. For example, when milk is used to craft a cake, the buckets are leftover. The buckets are moved to
811
816
  # the slot sent by the client here.
812
817
  # Note that before this is sent, an action for consuming all items in the crafting table/grid is sent. Items
813
818
  # that are not fully consumed when used for a recipe should not be destroyed there, but instead, should be
814
819
  # turned into their respective resulting items.
815
- 6: create
820
+ - create
816
821
  # LabTableCombineStackRequestAction is sent by the client when it uses a lab table to combine item stacks.
817
- 7: lab_table_combine
822
+ - lab_table_combine
818
823
  # BeaconPaymentStackRequestAction is sent by the client when it submits an item to enable effects from a
819
824
  # beacon. These items will have been moved into the beacon item slot in advance.
820
- 8: beacon_payment
825
+ - beacon_payment
821
826
  # MineBlockStackRequestAction is sent by the client when it breaks a block.
822
- 9: mine_block
827
+ - mine_block
823
828
  # CraftRecipeStackRequestAction is sent by the client the moment it begins crafting an item. This is the
824
829
  # first action sent, before the Consume and Create item stack request actions.
825
830
  # This action is also sent when an item is enchanted. Enchanting should be treated mostly the same way as
826
831
  # crafting, where the old item is consumed.
827
- 10: craft_recipe
832
+ - craft_recipe
828
833
  # AutoCraftRecipeStackRequestAction is sent by the client similarly to the CraftRecipeStackRequestAction. The
829
834
  # only difference is that the recipe is automatically created and crafted by shift clicking the recipe book.
830
- 11: craft_recipe_auto #recipe book?
835
+ - craft_recipe_auto #recipe book?
831
836
  # CraftCreativeStackRequestAction is sent by the client when it takes an item out fo the creative inventory.
832
837
  # The item is thus not really crafted, but instantly created.
833
- 12: craft_creative
838
+ - craft_creative
834
839
  # CraftRecipeOptionalStackRequestAction is sent when using an anvil. When this action is sent, the
835
840
  # CustomNames field in the respective stack request is non-empty and contains the name of the item created
836
841
  # using the anvil.
837
- 13: optional
842
+ - optional
843
+ # CraftGrindstoneRecipeStackRequestAction is sent when a grindstone recipe is crafted. It contains the RecipeNetworkID
844
+ # to identify the recipe crafted, and the cost for crafting the recipe.
845
+ - craft_grindstone_request
846
+ # CraftLoomRecipeStackRequestAction is sent when a loom recipe is crafted. It simply contains the
847
+ # pattern identifier to figure out what pattern is meant to be applied to the item.
848
+ - craft_loom_request
838
849
  # CraftNonImplementedStackRequestAction is an action sent for inventory actions that aren't yet implemented
839
850
  # in the new system. These include, for example, anvils.
840
- 14: non_implemented #anvils aren't fully implemented yet
851
+ - non_implemented # anvils aren't fully implemented yet
841
852
  # CraftResultsDeprecatedStackRequestAction is an additional, deprecated packet sent by the client after
842
853
  # crafting. It holds the final results and the amount of times the recipe was crafted. It shouldn't be used.
843
854
  # This action is also sent when an item is enchanted. Enchanting should be treated mostly the same way as
844
855
  # crafting, where the old item is consumed.
845
- 15: results_deprecated
856
+ - results_deprecated
846
857
  _: type_id ?
847
858
  if take or place:
848
859
  count: u8
@@ -898,6 +909,15 @@ ItemStackRequest:
898
909
  recipe_network_id: varint
899
910
  # Most likely the index in the request's filter strings that this action is using
900
911
  filtered_string_index: li32
912
+ if craft_grindstone_request:
913
+ # RecipeNetworkID is the network ID of the recipe that is about to be crafted. This network ID matches
914
+ # one of the recipes sent in the CraftingData packet, where each of the recipes have a RecipeNetworkID as
915
+ recipe_network_id: varint
916
+ # Cost is the cost of the recipe that was crafted.
917
+ cost: varint
918
+ if craft_loom_request:
919
+ # Pattern is the pattern identifier for the loom recipe.
920
+ pattern: string
901
921
  if non_implemented: void
902
922
  if results_deprecated:
903
923
  result_items: ItemLegacy[]varint
@@ -1072,6 +1092,47 @@ StructureBlockSettings:
1072
1092
  # Pivot is the pivot around which the structure may be rotated.
1073
1093
  pivot: vec3f
1074
1094
 
1095
+ # EducationSharedResourceURI is an education edition feature that is used for transmitting
1096
+ # education resource settings to clients. It contains a button name and a link URL.
1097
+ EducationSharedResourceURI:
1098
+ # ButtonName is the button name of the resource URI.
1099
+ button_name: string
1100
+ # LinkURI is the link URI for the resource URI.
1101
+ link_uri: string
1102
+
1103
+ EducationExternalLinkSettings:
1104
+ # URL is the external link URL.
1105
+ url: string
1106
+ # DisplayName is the display name in game.
1107
+ display_name: string
1108
+
1109
+ BlockUpdate:
1110
+ position: BlockCoordinates
1111
+ runtime_id: varint
1112
+ flags: varint
1113
+ # EntityUniqueID is the unique ID of the falling block entity that the block transitions to or that the
1114
+ # entity transitions from.
1115
+ # Note that for both possible values for TransitionType, the EntityUniqueID should point to the falling
1116
+ # block entity involved.
1117
+ entity_unique_id: zigzag64
1118
+ # TransitionType is the type of the transition that happened. It is either BlockToEntityTransition, when
1119
+ # a block placed becomes a falling entity, or EntityToBlockTransition, when a falling entity hits the
1120
+ # ground and becomes a solid block again.
1121
+ transition_type: varint => TransitionType
1122
+
1123
+ TransitionType: =>
1124
+ # For falling sand, when a sand turns to an entity
1125
+ 0: entity
1126
+ # When sand turns back to a new block
1127
+ 1: create
1128
+ 2: destroy
1129
+
1130
+ MaterialReducer:
1131
+ mix: varint
1132
+ items:
1133
+ network_id: varint
1134
+ count: varint
1135
+
1075
1136
  # List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
1076
1137
  # Below window IDs are hard-coded and created when the game starts and the server does not
1077
1138
  # send a `container_open` for them.
@@ -986,6 +986,9 @@
986
986
  "loginPacket": "pc/1.17",
987
987
  "tints": "pc/1.17",
988
988
  "mapIcons": "pc/1.16"
989
+ },
990
+ "1.18": {
991
+ "protocol": "pc/1.18"
989
992
  }
990
993
  },
991
994
  "bedrock": {
@@ -1060,6 +1063,63 @@
1060
1063
  "steve": "bedrock/1.16.201",
1061
1064
  "blocksB2J": "bedrock/1.17.10",
1062
1065
  "blocksJ2B": "bedrock/1.17.10",
1066
+ "proto": "bedrock/1.17.10",
1067
+ "types": "bedrock/1.17.10"
1068
+ },
1069
+ "1.17.30": {
1070
+ "blocks": "bedrock/1.17.10",
1071
+ "blockStates": "bedrock/1.17.10",
1072
+ "blockCollisionShapes": "bedrock/1.17.10",
1073
+ "biomes": "bedrock/1.17.0",
1074
+ "items": "bedrock/1.17.10",
1075
+ "recipes": "bedrock/1.17.10",
1076
+ "instruments": "bedrock/1.17.0",
1077
+ "materials": "pc/1.17",
1078
+ "enchantments": "pc/1.17",
1079
+ "effects": "pc/1.17",
1080
+ "protocol": "bedrock/1.17.30",
1081
+ "windows": "bedrock/1.16.201",
1082
+ "steve": "bedrock/1.16.201",
1083
+ "blocksB2J": "bedrock/1.17.10",
1084
+ "blocksJ2B": "bedrock/1.17.10",
1085
+ "proto": "bedrock/1.17.30",
1086
+ "types": "bedrock/1.17.30"
1087
+ },
1088
+ "1.17.40": {
1089
+ "blocks": "bedrock/1.17.10",
1090
+ "blockStates": "bedrock/1.17.10",
1091
+ "blockCollisionShapes": "bedrock/1.17.10",
1092
+ "biomes": "bedrock/1.17.0",
1093
+ "items": "bedrock/1.17.10",
1094
+ "recipes": "bedrock/1.17.10",
1095
+ "instruments": "bedrock/1.17.0",
1096
+ "materials": "pc/1.17",
1097
+ "enchantments": "pc/1.17",
1098
+ "effects": "pc/1.17",
1099
+ "protocol": "bedrock/1.17.40",
1100
+ "windows": "bedrock/1.16.201",
1101
+ "steve": "bedrock/1.16.201",
1102
+ "blocksB2J": "bedrock/1.17.10",
1103
+ "blocksJ2B": "bedrock/1.17.10",
1104
+ "proto": "bedrock/1.17.40",
1105
+ "types": "bedrock/1.17.40"
1106
+ },
1107
+ "1.18.0": {
1108
+ "blocks": "bedrock/1.18.0",
1109
+ "blockStates": "bedrock/1.18.0",
1110
+ "blockCollisionShapes": "bedrock/1.18.0",
1111
+ "biomes": "bedrock/1.18.0",
1112
+ "items": "bedrock/1.18.0",
1113
+ "recipes": "bedrock/1.18.0",
1114
+ "instruments": "bedrock/1.17.0",
1115
+ "materials": "pc/1.17",
1116
+ "enchantments": "pc/1.17",
1117
+ "effects": "pc/1.17",
1118
+ "protocol": "bedrock/1.18.0",
1119
+ "windows": "bedrock/1.16.201",
1120
+ "steve": "bedrock/1.16.201",
1121
+ "blocksB2J": "bedrock/1.18.0",
1122
+ "blocksJ2B": "bedrock/1.18.0",
1063
1123
  "proto": "bedrock/latest",
1064
1124
  "types": "bedrock/latest"
1065
1125
  }
@@ -5065,8 +5065,8 @@
5065
5065
  "0x1b": "block_dig",
5066
5066
  "0x1c": "entity_action",
5067
5067
  "0x1d": "steer_vehicle",
5068
- "0x1e": "displayed_recipe",
5069
- "0x1f": "recipe_book",
5068
+ "0x1e": "recipe_book",
5069
+ "0x1f": "displayed_recipe",
5070
5070
  "0x20": "name_item",
5071
5071
  "0x21": "resource_pack_receive",
5072
5072
  "0x22": "advancement_tab",
@@ -177,32 +177,29 @@
177
177
  "container",
178
178
  [
179
179
  {
180
- "name": "originX",
181
- "type": "f64"
180
+ "name": "origin",
181
+ "type": "position"
182
182
  },
183
183
  {
184
- "name": "originY",
185
- "type": "f64"
184
+ "name": "positionType",
185
+ "type": "string"
186
186
  },
187
187
  {
188
- "name": "originZ",
189
- "type": "f64"
190
- },
191
- {
192
- "name": "destX",
193
- "type": "f64"
194
- },
195
- {
196
- "name": "destY",
197
- "type": "f64"
198
- },
199
- {
200
- "name": "destZ",
201
- "type": "f64"
188
+ "name": "destination",
189
+ "type": [
190
+ "switch",
191
+ {
192
+ "compareTo": "positionType",
193
+ "fields": {
194
+ "block": "position",
195
+ "entity": "varint"
196
+ }
197
+ }
198
+ ]
202
199
  },
203
200
  {
204
201
  "name": "ticks",
205
- "type": "i32"
202
+ "type": "varint"
206
203
  }
207
204
  ]
208
205
  ]
@@ -5385,8 +5382,8 @@
5385
5382
  "0x1b": "entity_action",
5386
5383
  "0x1c": "steer_vehicle",
5387
5384
  "0x1d": "pong",
5388
- "0x1e": "displayed_recipe",
5389
- "0x1f": "recipe_book",
5385
+ "0x1e": "recipe_book",
5386
+ "0x1f": "displayed_recipe",
5390
5387
  "0x20": "name_item",
5391
5388
  "0x21": "resource_pack_receive",
5392
5389
  "0x22": "advancement_tab",