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.
- package/data.js +60 -0
- package/doc/history.md +12 -0
- package/index.d.ts +1 -1
- package/minecraft-data/README.md +3 -3
- package/minecraft-data/data/bedrock/1.16.201/proto.yml +9 -9
- package/minecraft-data/data/bedrock/1.16.201/protocol.json +5 -5
- package/minecraft-data/data/bedrock/1.16.210/proto.yml +9 -9
- package/minecraft-data/data/bedrock/1.16.210/protocol.json +5 -5
- package/minecraft-data/data/bedrock/1.16.220/proto.yml +9 -9
- package/minecraft-data/data/bedrock/1.16.220/protocol.json +5 -5
- package/minecraft-data/data/bedrock/1.17.0/proto.yml +9 -9
- package/minecraft-data/data/bedrock/1.17.0/protocol.json +5 -5
- package/minecraft-data/data/bedrock/1.17.10/proto.yml +3171 -0
- package/minecraft-data/data/bedrock/1.17.10/protocol.json +5 -5
- package/minecraft-data/data/bedrock/1.17.10/types.yml +1703 -0
- package/minecraft-data/data/bedrock/1.17.30/proto.yml +3234 -0
- package/minecraft-data/data/bedrock/1.17.30/protocol.json +9366 -0
- package/minecraft-data/data/bedrock/1.17.30/types.yml +1749 -0
- package/minecraft-data/data/bedrock/1.17.40/proto.yml +3267 -0
- package/minecraft-data/data/bedrock/1.17.40/protocol.json +9493 -0
- package/minecraft-data/data/bedrock/1.17.40/types.yml +1764 -0
- package/minecraft-data/data/bedrock/1.18.0/biomes.json +968 -0
- package/minecraft-data/data/bedrock/1.18.0/blockCollisionShapes.json +862 -0
- package/minecraft-data/data/bedrock/1.18.0/blockStates.json +157214 -0
- package/minecraft-data/data/bedrock/1.18.0/blocks.json +12506 -0
- package/minecraft-data/data/bedrock/1.18.0/blocksB2J.json +6845 -0
- package/minecraft-data/data/bedrock/1.18.0/blocksJ2B.json +20344 -0
- package/minecraft-data/data/bedrock/1.18.0/items.json +9565 -0
- package/minecraft-data/data/bedrock/1.18.0/protocol.json +9515 -0
- package/minecraft-data/data/bedrock/1.18.0/recipes.json +16648 -0
- package/minecraft-data/data/bedrock/common/protocolVersions.json +18 -0
- package/minecraft-data/data/bedrock/common/versions.json +4 -1
- package/minecraft-data/data/bedrock/latest/proto.yml +124 -22
- package/minecraft-data/data/bedrock/latest/types.yml +80 -19
- package/minecraft-data/data/dataPaths.json +60 -0
- package/minecraft-data/data/pc/1.16.2/protocol.json +2 -2
- package/minecraft-data/data/pc/1.17/protocol.json +18 -21
- package/minecraft-data/data/pc/1.17.1/protocol.json +18 -21
- package/minecraft-data/data/pc/1.18/protocol.json +5622 -0
- package/minecraft-data/data/pc/1.18/version.json +5 -0
- package/minecraft-data/data/pc/common/protocolVersions.json +154 -0
- package/minecraft-data/doc/add-data-new-version.md +2 -0
- package/minecraft-data/doc/history.md +12 -0
- package/minecraft-data/tools/js/compileProtocol.js +2 -2
- package/package.json +1 -1
- package/test/load.js +0 -6
- 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
|
]
|
|
@@ -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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
1595
|
+
# The list of overload parameters for this command
|
|
1578
1596
|
overloads: []varint
|
|
1579
|
-
# Each of the
|
|
1597
|
+
# Each of the parameters gets an array of posible overloads
|
|
1580
1598
|
_: []varint
|
|
1581
|
-
# The name of the
|
|
1582
|
-
|
|
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
|
|
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":
|
|
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": "
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
820
|
+
- create
|
|
816
821
|
# LabTableCombineStackRequestAction is sent by the client when it uses a lab table to combine item stacks.
|
|
817
|
-
|
|
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
|
-
|
|
825
|
+
- beacon_payment
|
|
821
826
|
# MineBlockStackRequestAction is sent by the client when it breaks a block.
|
|
822
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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": "
|
|
5069
|
-
"0x1f": "
|
|
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": "
|
|
181
|
-
"type": "
|
|
180
|
+
"name": "origin",
|
|
181
|
+
"type": "position"
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
|
-
"name": "
|
|
185
|
-
"type": "
|
|
184
|
+
"name": "positionType",
|
|
185
|
+
"type": "string"
|
|
186
186
|
},
|
|
187
187
|
{
|
|
188
|
-
"name": "
|
|
189
|
-
"type":
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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": "
|
|
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": "
|
|
5389
|
-
"0x1f": "
|
|
5385
|
+
"0x1e": "recipe_book",
|
|
5386
|
+
"0x1f": "displayed_recipe",
|
|
5390
5387
|
"0x20": "name_item",
|
|
5391
5388
|
"0x21": "resource_pack_receive",
|
|
5392
5389
|
"0x22": "advancement_tab",
|