minecraft-data 3.4.0 → 3.6.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 (38) hide show
  1. package/.github/workflows/npm-publish.yml +1 -1
  2. package/data.js +46 -1
  3. package/doc/history.md +9 -0
  4. package/index.d.ts +21 -1
  5. package/minecraft-data/README.md +2 -2
  6. package/minecraft-data/data/bedrock/1.19.1/proto.yml +3575 -0
  7. package/minecraft-data/data/bedrock/1.19.1/types.yml +1887 -0
  8. package/minecraft-data/data/bedrock/1.19.10/protocol.json +10458 -0
  9. package/minecraft-data/data/bedrock/1.19.10/version.json +6 -0
  10. package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
  11. package/minecraft-data/data/bedrock/common/versions.json +2 -1
  12. package/minecraft-data/data/bedrock/latest/proto.yml +127 -21
  13. package/minecraft-data/data/bedrock/latest/types.yml +71 -3
  14. package/minecraft-data/data/dataPaths.json +46 -1
  15. package/minecraft-data/data/pc/1.18/blockLoot.json +3783 -1868
  16. package/minecraft-data/data/pc/1.18/entityLoot.json +23 -2
  17. package/minecraft-data/data/pc/1.18/language.json +436 -93
  18. package/minecraft-data/data/pc/1.19/biomes.json +695 -0
  19. package/minecraft-data/data/pc/1.19/blockCollisionShapes.json +120584 -0
  20. package/minecraft-data/data/pc/1.19/blockLoot.json +12419 -0
  21. package/minecraft-data/data/pc/1.19/blocks.json +34097 -0
  22. package/minecraft-data/data/pc/1.19/effects.json +200 -0
  23. package/minecraft-data/data/pc/1.19/enchantments.json +875 -0
  24. package/minecraft-data/data/pc/1.19/entities.json +1182 -0
  25. package/minecraft-data/data/pc/1.19/entityLoot.json +1218 -0
  26. package/minecraft-data/data/pc/1.19/foods.json +402 -0
  27. package/minecraft-data/data/pc/1.19/instruments.json +66 -0
  28. package/minecraft-data/data/pc/1.19/items.json +7613 -0
  29. package/minecraft-data/data/pc/1.19/language.json +5338 -0
  30. package/minecraft-data/data/pc/1.19/materials.json +154 -0
  31. package/minecraft-data/data/pc/1.19/particles.json +374 -0
  32. package/minecraft-data/data/pc/1.19/tints.json +429 -0
  33. package/minecraft-data/data/pc/1.19/version.json +5 -0
  34. package/minecraft-data/data/pc/common/protocolVersions.json +49 -0
  35. package/minecraft-data/data/pc/common/versions.json +2 -1
  36. package/minecraft-data/doc/history.md +28 -18
  37. package/minecraft-data/schemas/biomes_schema.json +0 -1
  38. package/package.json +3 -3
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 534,
3
+ "minecraftVersion": "1.19.10",
4
+ "majorVersion": "1.19",
5
+ "releaseType": "release"
6
+ }
@@ -1,4 +1,10 @@
1
1
  [
2
+ {
3
+ "version": 534,
4
+ "minecraftVersion": "1.19.10",
5
+ "majorVersion": "1.19",
6
+ "releaseType": "release"
7
+ },
2
8
  {
3
9
  "version": 527,
4
10
  "minecraftVersion": "1.19.1",
@@ -12,5 +12,6 @@
12
12
  "1.18.0",
13
13
  "1.18.11",
14
14
  "1.18.30",
15
- "1.19.1"
15
+ "1.19.1",
16
+ "1.19.10"
16
17
  ]
@@ -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.19.1
4
+ !version: 1.19.10
5
5
 
6
6
  # Some ProtoDef aliases
7
7
  string: ["pstring",{"countType":"varint"}] # String / array types
@@ -85,6 +85,10 @@ packet_play_status:
85
85
  6: failed_edu_vanilla
86
86
  # Displays "Wow this server is popular! Check back later to see if space opens up. Server Full"
87
87
  7: failed_server_full
88
+ # Cannot join a vanilla game on editor
89
+ 8: failed_editor_vanilla_mismatch
90
+ # Cannot join an editor game on vanilla
91
+ 9: failed_vanilla_editor_mismatch
88
92
 
89
93
 
90
94
  packet_server_to_client_handshake:
@@ -257,6 +261,9 @@ packet_start_game:
257
261
  # to true while the player's or the world's game mode is creative, and it's recommended to simply
258
262
  # always set this to false as a server.
259
263
  achievements_disabled: bool
264
+ # EditorWorld is a value to dictate if the world is in editor mode, a special mode recently introduced adding
265
+ # "powerful tools for editing worlds, intended for experienced creators."
266
+ editor_world: bool
260
267
  # The time at which the day cycle was locked if the day cycle is disabled using the respective
261
268
  # game rule. The client will maIntain this time as Boolean as the day cycle is disabled.
262
269
  day_cycle_stop_time: zigzag32
@@ -302,7 +309,7 @@ packet_start_game:
302
309
  map_enabled: bool
303
310
  # The permission level of the player. It is a value from 0-3, with 0 being visitor,
304
311
  # 1 being member, 2 being operator and 3 being custom.
305
- permission_level: zigzag32
312
+ permission_level: PermissionLevel
306
313
  # The radius around the player in which chunks are ticked. Most servers set this value
307
314
  # to a fixed number, as it does not necessarily affect anything client-side.
308
315
  server_chunk_tick_range: li32
@@ -411,48 +418,97 @@ packet_add_player:
411
418
  # Username is the name of the player. This username is the username that will be
412
419
  # set as the initial name tag of the player.
413
420
  username: string
414
- # The unique ID of the player. The unique ID is a value that remains consistent
415
- # across different sessions of the same world, but most unoffical servers simply
416
- # fill the runtime ID of the player out for this field.
417
- unique_entity_id: zigzag64
418
421
  # The runtime ID of the player. The runtime ID is unique for each world session,
419
422
  # and entities are generally identified in packets using this runtime ID.
420
- runtime_entity_id: varint64
423
+ runtime_id: varint64
421
424
  # An identifier only set for particular platforms when chatting (presumably only for
422
425
  # Nintendo Switch). It is otherwise an empty string, and is used to decide which players
423
426
  # are able to chat with each other.
424
427
  platform_chat_id: string
428
+ # Position is the position to spawn the player on. If the player is on a distance that the viewer cannot
429
+ # see it, the player will still show up if the viewer moves closer.
425
430
  position: vec3f
431
+ # Velocity is the initial velocity the player spawns with. This velocity will initiate client side
432
+ # movement of the player.
426
433
  velocity: vec3f
434
+ # Pitch is the vertical rotation of the player. Facing straight forward yields a pitch of 0. Pitch is
435
+ # measured in degrees.
427
436
  pitch: lf32
437
+ # Yaw is the horizontal rotation of the player. Yaw is also measured in degrees.
428
438
  yaw: lf32
439
+ # HeadYaw is the same as Yaw, except that it applies specifically to the head of the player. A different
440
+ # value for HeadYaw than Yaw means that the player will have its head turned.
429
441
  head_yaw: lf32
442
+ body_yaw: lf32
443
+ # HeldItem is the item that the player is holding. The item is shown to the viewer as soon as the player
444
+ # itself shows up. Needless to say that this field is rather pointless, as additional packets still must
445
+ # be sent for armour to show up.
430
446
  held_item: Item
447
+ # GameType is the game type of the player. If set to GameTypeSpectator, the player will not be shown to viewers.
431
448
  gamemode: GameMode
449
+ # EntityMetadata is a map of entity metadata, which includes flags and data properties that alter in
450
+ # particular the way the player looks. Flags include ones such as 'on fire' and 'sprinting'.
451
+ # The metadata values are indexed by their property key.
432
452
  metadata: MetadataDictionary
433
- flags: varint
434
- command_permission: varint
435
- action_permissions: varint
436
- permission_level: varint
437
- custom_stored_permissions: varint
438
- user_id: li64
453
+ # The unique ID of the player. The unique ID is a value that remains consistent
454
+ # across different sessions of the same world, but most unoffical servers simply
455
+ # fill the runtime ID of the player out for this field.
456
+ unique_id: li64
457
+ permission_level: PermissionLevel
458
+ command_permission: CommandPermissionLevel
459
+ # AbilityLayer represents the abilities of a specific layer, such as the base layer or the spectator layer.
460
+ abilities: AbilityLayers[]u8
461
+ # EntityLinks is a list of entity links that are currently active on the player. These links alter the
462
+ # way the player shows up when first spawned in terms of it shown as riding an entity. Setting these
463
+ # links is important for new viewers to see the player is riding another entity.
439
464
  links: Links
465
+ # DeviceID is the device ID set in one of the files found in the storage of the device of the player. It
466
+ # may be changed freely, so it should not be relied on for anything.
440
467
  device_id: string
468
+ # BuildPlatform is the build platform/device OS of the player that is about to be added, as it sent in
469
+ # the Login packet when joining.
441
470
  device_os: DeviceOS
442
471
 
443
472
  packet_add_entity:
444
473
  !id: 0x0d
445
474
  !bound: client
446
- entity_id_self: zigzag64
447
- runtime_entity_id: varint64
475
+ # EntityUniqueID is the unique ID of the entity. The unique ID is a value that remains consistent across
476
+ # different sessions of the same world, but most servers simply fill the runtime ID of the entity out for
477
+ unique_id: zigzag64
478
+ # EntityRuntimeID is the runtime ID of the entity. The runtime ID is unique for each world session, and
479
+ # entities are generally identified in packets using this runtime ID.
480
+ runtime_id: varint64
481
+ # EntityType is the string entity type of the entity, for example 'minecraft:skeleton'. A list of these
482
+ # entities may be found online.
448
483
  entity_type: string
484
+ # Position is the position to spawn the entity on. If the entity is on a distance that the player cannot
485
+ # see it, the entity will still show up if the player moves closer.
449
486
  position: vec3f
487
+ # Velocity is the initial velocity the entity spawns with. This velocity will initiate client side
488
+ # movement of the entity.
450
489
  velocity: vec3f
490
+ # Pitch is the vertical rotation of the entity. Facing straight forward yields a pitch of 0. Pitch is
491
+ # measured in degrees.
451
492
  pitch: lf32
493
+ # Yaw is the horizontal rotation of the entity. Yaw is also measured in degrees.
452
494
  yaw: lf32
495
+ # HeadYaw is the same as Yaw, except that it applies specifically to the head of the entity. A different value for
496
+ # HeadYaw than Yaw means that the entity will have its head turned.
453
497
  head_yaw: lf32
498
+ # BodyYaw is the same as Yaw, except that it applies specifically to the body of the entity. A different value for
499
+ # BodyYaw than HeadYaw means that the entity will have its body turned, although it is unclear what the difference
500
+ # between BodyYaw and Yaw is.
501
+ body_yaw: lf32
502
+ # Attributes is a slice of attributes that the entity has. It includes attributes such as its health,
503
+ # movement speed, etc.
454
504
  attributes: EntityAttributes
505
+ # EntityMetadata is a map of entity metadata, which includes flags and data properties that alter in
506
+ # particular the way the entity looks. Flags include ones such as 'on fire' and 'sprinting'.
507
+ # The metadata values are indexed by their property key.
455
508
  metadata: MetadataDictionary
509
+ # EntityLinks is a list of entity links that are currently active on the entity. These links alter the
510
+ # way the entity shows up when first spawned in terms of it shown as riding an entity. Setting these
511
+ # links is important for new viewers to see the entity is riding another entity.
456
512
  links: Links
457
513
 
458
514
  packet_remove_entity:
@@ -875,6 +931,7 @@ packet_entity_event:
875
931
  75: fall
876
932
  76: grow_up
877
933
  77: vibration_detected
934
+ 78: drink_milk
878
935
  data: zigzag32
879
936
 
880
937
  packet_mob_effect:
@@ -1215,12 +1272,7 @@ packet_adventure_settings:
1215
1272
  flags: AdventureFlags
1216
1273
  # CommandPermissionLevel is a permission level that specifies the kind of commands that the player is
1217
1274
  # allowed to use.
1218
- command_permission: varint =>
1219
- 0: normal
1220
- 1: operator
1221
- 2: host
1222
- 3: automation
1223
- 4: admin
1275
+ command_permission: CommandPermissionLevelVarint
1224
1276
  # ActionPermissions is, much like Flags, a set of flags that specify actions that the player is allowed
1225
1277
  # to undertake, such as whether it is allowed to edit blocks, open doors etc. It is a combination of the
1226
1278
  # ActionPermission constants above.
@@ -3568,8 +3620,62 @@ RequestPermissions: [ "bitflags",
3568
3620
  # are the same as the ones seen when, for example, loading a new resource pack or obtaining an achievement.
3569
3621
  packet_toast_request:
3570
3622
  !id: 0xba
3623
+ !bound: client
3571
3624
  # Title is the title of the toast.
3572
3625
  title: string
3573
3626
  # Message is the message that the toast may contain alongside the title.
3574
3627
  message: string
3575
3628
 
3629
+ # UpdateAbilities is a packet sent from the server to the client to update the abilities of the player. It, along with
3630
+ # the UpdateAdventureSettings packet, are replacements of the AdventureSettings packet since v1.19.10.
3631
+ packet_update_abilities:
3632
+ !id: 0xbb
3633
+ !bound: client
3634
+ # EntityUniqueID is the unique ID of the player. The unique ID is a value that remains consistent across
3635
+ # different sessions of the same world, but most servers simply fill the runtime ID of the entity out for
3636
+ # this field.
3637
+ entity_unique_id: li64
3638
+ # PlayerPermissions is the permission level of the player. It is a value from 0-3, with 0 being visitor,
3639
+ # 1 being member, 2 being operator and 3 being custom.
3640
+ permission_level: PermissionLevel
3641
+ # CommandPermissions is a permission level that specifies the kind of commands that the player is
3642
+ # allowed to use. It is one of the CommandPermissionLevel constants in the AdventureSettings packet.
3643
+ command_permission: CommandPermissionLevel
3644
+ # Layers contains all ability layers and their potential values. This should at least have one entry, being the
3645
+ # base layer.
3646
+ abilities: AbilityLayers[]u8
3647
+
3648
+ # UpdateAdventureSettings is a packet sent from the server to the client to update the adventure settings of the player.
3649
+ # It, along with the UpdateAbilities packet, are replacements of the AdventureSettings packet since v1.19.10.
3650
+ packet_update_adventure_settings:
3651
+ !id: 0xbc
3652
+ !bound: client
3653
+ # NoPvM is a boolean indicating whether the player is allowed to fight mobs or not.
3654
+ no_pvm: bool
3655
+ # NoMvP is a boolean indicating whether mobs are allowed to fight the player or not. It is unclear why this is sent
3656
+ # to the client.
3657
+ no_mvp: bool
3658
+ # ImmutableWorld is a boolean indicating whether the player is allowed to modify the world or not.
3659
+ immutable_world: bool
3660
+ # ShowNameTags is a boolean indicating whether player name tags are shown or not.
3661
+ show_name_tags: bool
3662
+ # AutoJump is a boolean indicating whether the player is allowed to jump automatically or not.
3663
+ auto_jump: bool
3664
+
3665
+ # DeathInfo is a packet sent from the server to the client expected to be sent when a player dies. It contains messages
3666
+ # related to the player's death, which are shown on the death screen as of v1.19.10.
3667
+ packet_death_info:
3668
+ !id: 0xbd
3669
+ !bound: client
3670
+ # Cause is the cause of the player's death, such as "suffocation" or "suicide".
3671
+ cause: string
3672
+ # Messages is a list of death messages to be shown on the death screen.
3673
+ messages: string[]varint
3674
+
3675
+ # EditorNetwork is a packet sent from the server to the client and vise-versa to communicate editor-mode related
3676
+ # information. It carries a single compound tag containing the relevant information.
3677
+ packet_editor_network:
3678
+ !id: 0xbe
3679
+ !bound: client
3680
+ # Payload is a network little endian compound tag holding data relevant to the editor.
3681
+ payload: nbt
@@ -1153,12 +1153,33 @@ MaterialReducer:
1153
1153
  network_id: zigzag32
1154
1154
  count: zigzag32
1155
1155
 
1156
- PermissionLevel: varint =>
1156
+ ## Permissions
1157
+
1158
+ # The permission level of a player, for example whether they are an Server Operator or not.
1159
+ PermissionLevel: u8 =>
1157
1160
  0: visitor
1158
1161
  1: member
1159
1162
  2: operator
1160
1163
  3: custom
1161
1164
 
1165
+ # The command permission level, for example if being run by a Player, an Op, or a Command Block.
1166
+ CommandPermissionLevel: u8 =>
1167
+ 0: normal
1168
+ 1: operator
1169
+ 2: automation
1170
+ 3: host
1171
+ 4: owner
1172
+ 5: internal
1173
+
1174
+ # The command permission level, for example if being run by a Player, an Op, or a Command Block.
1175
+ CommandPermissionLevelVarint: u8 =>
1176
+ 0: normal
1177
+ 1: operator
1178
+ 2: automation
1179
+ 3: host
1180
+ 4: owner
1181
+ 5: internal
1182
+
1162
1183
  # List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
1163
1184
  # Below window IDs are hard-coded and created when the game starts and the server does not
1164
1185
  # send a `container_open` for them.
@@ -1754,7 +1775,7 @@ SoundType: varint =>
1754
1775
  - ItemTaken
1755
1776
  - Disappeared
1756
1777
  - Reappeared
1757
- - _
1778
+ - DrinkMilk
1758
1779
  - FrogspawnHatched
1759
1780
  - LaySpawn
1760
1781
  - FrogspawnBreak
@@ -1763,6 +1784,9 @@ SoundType: varint =>
1763
1784
  - SoundeventItemThrown
1764
1785
  - Record5
1765
1786
  - ConvertToFrog
1787
+ - RecordPlaying
1788
+ - DrinkMilk
1789
+ - RecordPlaying
1766
1790
  - Undefined
1767
1791
 
1768
1792
  # TODO: remove?
@@ -1884,4 +1908,48 @@ DeviceOS: li32 =>
1884
1908
  - NintendoSwitch
1885
1909
  - Xbox
1886
1910
  - WindowsPhone
1887
- - Linux
1911
+ - Linux
1912
+
1913
+
1914
+ AbilitySet: ["bitflags",
1915
+ {
1916
+ "type": "lu32",
1917
+ "flags": {
1918
+ "build": 1,
1919
+ "mine": 2,
1920
+ "doors_and_switches": 4,
1921
+ "open_containers": 8,
1922
+ "attack_players": 16,
1923
+ "attack_mobs": 32,
1924
+ "operator_commands": 64,
1925
+ "teleport": 128,
1926
+ "invulnerable": 256,
1927
+ "flying": 512,
1928
+ "may_fly": 1024,
1929
+ "instant_build": 2048,
1930
+ "lightning": 4096,
1931
+ "fly_speed": 8192,
1932
+ "walk_speed": 16384,
1933
+ "muted": 32768,
1934
+ "world_builder": 65536,
1935
+ "no_clip": 131072
1936
+ }
1937
+ }
1938
+ ]
1939
+
1940
+ # AbilityLayer represents the abilities of a specific layer, such as the base layer or the spectator layer.
1941
+ AbilityLayers:
1942
+ # Type represents the type of the layer. This is one of the AbilityLayerType constants defined above.
1943
+ type: lu16 =>
1944
+ - cache
1945
+ - base
1946
+ - spectator
1947
+ - commands
1948
+ # The abilities that can be toggled between
1949
+ allowed: AbilitySet
1950
+ # The abilities that are currently active
1951
+ enabled: AbilitySet
1952
+ # FlySpeed is the default fly speed of the layer.
1953
+ fly_speed: lf32
1954
+ # WalkSpeed is the default walk speed of the layer.
1955
+ walk_speed: lf32
@@ -1104,6 +1104,30 @@
1104
1104
  "loginPacket": "pc/1.18.2",
1105
1105
  "tints": "pc/1.17",
1106
1106
  "mapIcons": "pc/1.16"
1107
+ },
1108
+ "1.19": {
1109
+ "attributes": "pc/1.17",
1110
+ "blocks": "pc/1.19",
1111
+ "blockCollisionShapes": "pc/1.19",
1112
+ "biomes": "pc/1.19",
1113
+ "effects": "pc/1.19",
1114
+ "items": "pc/1.19",
1115
+ "enchantments": "pc/1.19",
1116
+ "recipes": "pc/1.18",
1117
+ "instruments": "pc/1.19",
1118
+ "materials": "pc/1.19",
1119
+ "language": "pc/1.19",
1120
+ "entities": "pc/1.19",
1121
+ "protocol": "pc/1.18.2",
1122
+ "windows": "pc/1.16.1",
1123
+ "version": "pc/1.19",
1124
+ "foods": "pc/1.19",
1125
+ "particles": "pc/1.19",
1126
+ "blockLoot": "pc/1.19",
1127
+ "entityLoot": "pc/1.19",
1128
+ "loginPacket": "pc/1.18.2",
1129
+ "tints": "pc/1.19",
1130
+ "mapIcons": "pc/1.16"
1107
1131
  }
1108
1132
  },
1109
1133
  "bedrock": {
@@ -1317,9 +1341,30 @@
1317
1341
  "steve": "bedrock/1.16.201",
1318
1342
  "blocksB2J": "bedrock/1.18.30",
1319
1343
  "blocksJ2B": "bedrock/1.18.30",
1344
+ "proto": "bedrock/1.19.1",
1345
+ "types": "bedrock/1.19.1",
1346
+ "version": "bedrock/1.19.1"
1347
+ },
1348
+ "1.19.10": {
1349
+ "blocks": "bedrock/1.18.30",
1350
+ "blockStates": "bedrock/1.18.30",
1351
+ "blockCollisionShapes": "bedrock/1.18.30",
1352
+ "biomes": "bedrock/1.18.0",
1353
+ "entities": "bedrock/1.18.11",
1354
+ "items": "bedrock/1.18.30",
1355
+ "recipes": "bedrock/1.18.30",
1356
+ "instruments": "bedrock/1.17.0",
1357
+ "materials": "pc/1.17",
1358
+ "enchantments": "pc/1.17",
1359
+ "effects": "pc/1.17",
1360
+ "protocol": "bedrock/1.19.10",
1361
+ "windows": "bedrock/1.16.201",
1362
+ "steve": "bedrock/1.16.201",
1363
+ "blocksB2J": "bedrock/1.18.30",
1364
+ "blocksJ2B": "bedrock/1.18.30",
1320
1365
  "proto": "bedrock/latest",
1321
1366
  "types": "bedrock/latest",
1322
- "version": "bedrock/1.19.1"
1367
+ "version": "bedrock/1.19.10"
1323
1368
  }
1324
1369
  }
1325
1370
  }