minecraft-data 2.95.0 → 2.98.1

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 (44) hide show
  1. package/data.js +41 -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 +9 -9
  14. package/minecraft-data/data/bedrock/1.17.10/protocol.json +5 -5
  15. package/minecraft-data/data/bedrock/1.17.30/proto.yml +3234 -0
  16. package/minecraft-data/data/bedrock/1.17.30/protocol.json +8 -8
  17. package/minecraft-data/data/bedrock/1.17.30/types.yml +1749 -0
  18. package/minecraft-data/data/bedrock/1.17.40/proto.yml +3267 -0
  19. package/minecraft-data/data/bedrock/1.17.40/protocol.json +9493 -0
  20. package/minecraft-data/data/bedrock/1.17.40/types.yml +1764 -0
  21. package/minecraft-data/data/bedrock/1.18.0/biomes.json +968 -0
  22. package/minecraft-data/data/bedrock/1.18.0/blockCollisionShapes.json +862 -0
  23. package/minecraft-data/data/bedrock/1.18.0/blockStates.json +157214 -0
  24. package/minecraft-data/data/bedrock/1.18.0/blocks.json +12506 -0
  25. package/minecraft-data/data/bedrock/1.18.0/blocksB2J.json +6845 -0
  26. package/minecraft-data/data/bedrock/1.18.0/blocksJ2B.json +20344 -0
  27. package/minecraft-data/data/bedrock/1.18.0/items.json +9565 -0
  28. package/minecraft-data/data/bedrock/1.18.0/protocol.json +9515 -0
  29. package/minecraft-data/data/bedrock/1.18.0/recipes.json +16648 -0
  30. package/minecraft-data/data/bedrock/common/protocolVersions.json +12 -0
  31. package/minecraft-data/data/bedrock/common/versions.json +3 -1
  32. package/minecraft-data/data/bedrock/latest/proto.yml +52 -13
  33. package/minecraft-data/data/bedrock/latest/types.yml +31 -16
  34. package/minecraft-data/data/dataPaths.json +41 -0
  35. package/minecraft-data/data/pc/1.16.2/protocol.json +2 -2
  36. package/minecraft-data/data/pc/1.17/protocol.json +18 -21
  37. package/minecraft-data/data/pc/1.17.1/protocol.json +18 -21
  38. package/minecraft-data/data/pc/1.18/protocol.json +5622 -0
  39. package/minecraft-data/data/pc/1.18/version.json +5 -0
  40. package/minecraft-data/data/pc/common/protocolVersions.json +161 -0
  41. package/minecraft-data/doc/add-data-new-version.md +2 -0
  42. package/minecraft-data/doc/history.md +12 -0
  43. package/package.json +1 -1
  44. package/typings/index-template.d.ts +1 -1
@@ -49,5 +49,17 @@
49
49
  "minecraftVersion": "1.17.30",
50
50
  "majorVersion": "1.17",
51
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"
52
64
  }
53
65
  ]
@@ -7,5 +7,7 @@
7
7
  "1.16.220",
8
8
  "1.17.0",
9
9
  "1.17.10",
10
- "1.17.30"
10
+ "1.17.30",
11
+ "1.17.40",
12
+ "1.18.0"
11
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.30
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
@@ -389,6 +389,8 @@ packet_start_game:
389
389
  server_authoritative_inventory: bool
390
390
  # The server's engine version, used for telemetry
391
391
  engine: string
392
+ # A checksum to ensure block types between the server and client match
393
+ block_pallete_checksum: lu64
392
394
 
393
395
  packet_add_player:
394
396
  !id: 0x0c
@@ -671,6 +673,9 @@ packet_level_event:
671
673
  2031: particle_wax_off
672
674
  2032: particle_scrape
673
675
  2033: particle_electric_spark
676
+ 2034: particle_turtle_egg
677
+ 2035: particle_sculk_shriek
678
+ 2036: sculk_catalyst_bloom
674
679
 
675
680
  3001: start_rain
676
681
  3002: start_thunder
@@ -691,8 +696,9 @@ packet_level_event:
691
696
  3509: cauldron_clean_banner
692
697
  3600: block_start_break
693
698
  3601: block_stop_break
694
- 4000: set_data
699
+ 4000: set_data
695
700
  9800: players_sleeping
701
+ 9801: sleeping_players
696
702
  0x4000: add_particle_mask
697
703
  # 0x4000 | + particle ID
698
704
  16385: particle_bubble # 1
@@ -1554,7 +1560,7 @@ packet_show_credits:
1554
1560
  packet_available_commands:
1555
1561
  !id: 0x4c
1556
1562
  !bound: client
1557
- # 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
1558
1564
  values_len: varint
1559
1565
  # Not read from stream: instead calculated from the `values_len` field
1560
1566
  #
@@ -1564,7 +1570,7 @@ packet_available_commands:
1564
1570
  _enum_type: '["enum_size_based_on_values_len"]'
1565
1571
  # Here all the enum values for all of the possible commands are stored to one array palette
1566
1572
  enum_values: string[]$values_len
1567
- # 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:
1568
1574
  # /xp <amount: int> [player: target] <- here, the xp command gives experience points
1569
1575
  # /xp <amount: int>L [player: target] <- here, the xp command gives experience levels
1570
1576
  # This is the palette of suffixes
@@ -1586,12 +1592,12 @@ packet_available_commands:
1586
1592
  flags: lu16
1587
1593
  permission_level: u8
1588
1594
  alias: li32
1589
- # The list of overload paramaters for this command
1595
+ # The list of overload parameters for this command
1590
1596
  overloads: []varint
1591
- # Each of the paramaters gets an array of posible overloads
1597
+ # Each of the parameters gets an array of posible overloads
1592
1598
  _: []varint
1593
- # The name of the paramater shown to the user (the `amount` in `/xp <amount: int>`)
1594
- paramater_name: string
1599
+ # The name of the parameter shown to the user (the `amount` in `/xp <amount: int>`)
1600
+ parameter_name: string
1595
1601
  value_type: lu16 =>
1596
1602
  1: int
1597
1603
  2: float
@@ -1612,7 +1618,7 @@ packet_available_commands:
1612
1618
  0x20: enum
1613
1619
  0x100: suffixed
1614
1620
  0x400: soft_enum
1615
- # Is this paramater required?
1621
+ # Is this parameter required?
1616
1622
  optional: bool
1617
1623
  # Additinal options for this command (thanks macroshaft...)
1618
1624
  options: CommandFlags
@@ -1742,7 +1748,7 @@ packet_command_output:
1742
1748
  # Parameters is a list of parameters that serve to supply the message sent with additional information,
1743
1749
  # such as the position that a player was teleported to or the effect that was applied to an entity.
1744
1750
  # These parameters only apply for the Minecraft built-in command output.
1745
- paramaters: string[]varint
1751
+ parameters: string[]varint
1746
1752
  data_set: output_type ?
1747
1753
  if data_set: string
1748
1754
  default: void
@@ -3229,6 +3235,39 @@ packet_update_subchunk_blocks:
3229
3235
  # Extra contains each updated block change entry for the second layer, usually for waterlogged blocks.
3230
3236
  extra: BlockUpdate[]varint
3231
3237
 
3232
- packet_photo_info_request_packet:
3238
+ packet_photo_info_request:
3233
3239
  !id: 0xad
3234
- photo_id: zigzag64
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
@@ -792,62 +792,68 @@ ItemStackRequest:
792
792
  type_id: u8 =>
793
793
  # TakeStackRequestAction is sent by the client to the server to take x amount of items from one slot in a
794
794
  # container to the cursor.
795
- 0: take
795
+ - take
796
796
  # PlaceStackRequestAction is sent by the client to the server to place x amount of items from one slot into
797
797
  # another slot, such as when shift clicking an item in the inventory to move it around or when moving an item
798
798
  # in the cursor into a slot.
799
- 1: place
799
+ - place
800
800
  # SwapStackRequestAction is sent by the client to swap the item in its cursor with an item present in another
801
801
  # container. The two item stacks swap places.
802
- 2: swap
802
+ - swap
803
803
  # DropStackRequestAction is sent by the client when it drops an item out of the inventory when it has its
804
804
  # inventory opened. This action is not sent when a player drops an item out of the hotbar using the Q button
805
805
  # (or the equivalent on mobile). The InventoryTransaction packet is still used for that action, regardless of
806
806
  # whether the item stack network IDs are used or not.
807
- 3: drop
807
+ - drop
808
808
  # DestroyStackRequestAction is sent by the client when it destroys an item in creative mode by moving it
809
809
  # back into the creative inventory.
810
- 4: destroy
810
+ - destroy
811
811
  # ConsumeStackRequestAction is sent by the client when it uses an item to craft another item. The original
812
812
  # item is 'consumed'.
813
- 5: consume
813
+ - consume
814
814
  # CreateStackRequestAction is sent by the client when an item is created through being used as part of a
815
815
  # recipe. For example, when milk is used to craft a cake, the buckets are leftover. The buckets are moved to
816
816
  # the slot sent by the client here.
817
817
  # Note that before this is sent, an action for consuming all items in the crafting table/grid is sent. Items
818
818
  # that are not fully consumed when used for a recipe should not be destroyed there, but instead, should be
819
819
  # turned into their respective resulting items.
820
- 6: create
820
+ - create
821
821
  # LabTableCombineStackRequestAction is sent by the client when it uses a lab table to combine item stacks.
822
- 7: lab_table_combine
822
+ - lab_table_combine
823
823
  # BeaconPaymentStackRequestAction is sent by the client when it submits an item to enable effects from a
824
824
  # beacon. These items will have been moved into the beacon item slot in advance.
825
- 8: beacon_payment
825
+ - beacon_payment
826
826
  # MineBlockStackRequestAction is sent by the client when it breaks a block.
827
- 9: mine_block
827
+ - mine_block
828
828
  # CraftRecipeStackRequestAction is sent by the client the moment it begins crafting an item. This is the
829
829
  # first action sent, before the Consume and Create item stack request actions.
830
830
  # This action is also sent when an item is enchanted. Enchanting should be treated mostly the same way as
831
831
  # crafting, where the old item is consumed.
832
- 10: craft_recipe
832
+ - craft_recipe
833
833
  # AutoCraftRecipeStackRequestAction is sent by the client similarly to the CraftRecipeStackRequestAction. The
834
834
  # only difference is that the recipe is automatically created and crafted by shift clicking the recipe book.
835
- 11: craft_recipe_auto #recipe book?
835
+ - craft_recipe_auto #recipe book?
836
836
  # CraftCreativeStackRequestAction is sent by the client when it takes an item out fo the creative inventory.
837
837
  # The item is thus not really crafted, but instantly created.
838
- 12: craft_creative
838
+ - craft_creative
839
839
  # CraftRecipeOptionalStackRequestAction is sent when using an anvil. When this action is sent, the
840
840
  # CustomNames field in the respective stack request is non-empty and contains the name of the item created
841
841
  # using the anvil.
842
- 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
843
849
  # CraftNonImplementedStackRequestAction is an action sent for inventory actions that aren't yet implemented
844
850
  # in the new system. These include, for example, anvils.
845
- 14: non_implemented #anvils aren't fully implemented yet
851
+ - non_implemented # anvils aren't fully implemented yet
846
852
  # CraftResultsDeprecatedStackRequestAction is an additional, deprecated packet sent by the client after
847
853
  # crafting. It holds the final results and the amount of times the recipe was crafted. It shouldn't be used.
848
854
  # This action is also sent when an item is enchanted. Enchanting should be treated mostly the same way as
849
855
  # crafting, where the old item is consumed.
850
- 15: results_deprecated
856
+ - results_deprecated
851
857
  _: type_id ?
852
858
  if take or place:
853
859
  count: u8
@@ -903,6 +909,15 @@ ItemStackRequest:
903
909
  recipe_network_id: varint
904
910
  # Most likely the index in the request's filter strings that this action is using
905
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
906
921
  if non_implemented: void
907
922
  if results_deprecated:
908
923
  result_items: ItemLegacy[]varint
@@ -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": {
@@ -1079,6 +1082,44 @@
1079
1082
  "steve": "bedrock/1.16.201",
1080
1083
  "blocksB2J": "bedrock/1.17.10",
1081
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",
1082
1123
  "proto": "bedrock/latest",
1083
1124
  "types": "bedrock/latest"
1084
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
+ "minecraft:block": "position",
195
+ "minecraft: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",
@@ -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
+ "minecraft:block": "position",
195
+ "minecraft: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
  ]
@@ -5416,8 +5413,8 @@
5416
5413
  "0x1b": "entity_action",
5417
5414
  "0x1c": "steer_vehicle",
5418
5415
  "0x1d": "pong",
5419
- "0x1e": "displayed_recipe",
5420
- "0x1f": "recipe_book",
5416
+ "0x1e": "recipe_book",
5417
+ "0x1f": "displayed_recipe",
5421
5418
  "0x20": "name_item",
5422
5419
  "0x21": "resource_pack_receive",
5423
5420
  "0x22": "advancement_tab",