minecraft-data 3.69.0 → 3.71.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 +29 -2
- package/doc/history.md +8 -0
- package/index.d.ts +15 -0
- package/minecraft-data/README.md +10 -1
- package/minecraft-data/data/dataPaths.json +29 -2
- package/minecraft-data/data/pc/1.10/protocol.json +3 -3
- package/minecraft-data/data/pc/1.10-pre1/protocol.json +3 -3
- package/minecraft-data/data/pc/1.11/protocol.json +3 -3
- package/minecraft-data/data/pc/1.12/protocol.json +3 -3
- package/minecraft-data/data/pc/1.12-pre4/protocol.json +3 -3
- package/minecraft-data/data/pc/1.12.1/protocol.json +3 -3
- package/minecraft-data/data/pc/1.12.2/protocol.json +3 -3
- package/minecraft-data/data/pc/1.15/protocol.json +1 -1
- package/minecraft-data/data/pc/1.15.1/protocol.json +1 -1
- package/minecraft-data/data/pc/1.15.2/protocol.json +1 -1
- package/minecraft-data/data/pc/1.16/protocol.json +1 -1
- package/minecraft-data/data/pc/1.16-rc1/protocol.json +1 -1
- package/minecraft-data/data/pc/1.16.1/protocol.json +1 -1
- package/minecraft-data/data/pc/1.20.3/proto.yml +2762 -0
- package/minecraft-data/data/pc/1.20.5/enchantments.json +42 -42
- package/minecraft-data/data/pc/1.20.5/items.json +0 -248
- package/minecraft-data/data/pc/1.20.5/loginPacket.json +8264 -0
- package/minecraft-data/data/pc/1.20.5/protocol.json +8898 -0
- package/minecraft-data/data/pc/1.20.5/recipes.json +15144 -0
- package/minecraft-data/data/pc/1.20.5/version.json +6 -0
- package/minecraft-data/data/pc/1.8/protocol.json +3 -3
- package/minecraft-data/data/pc/1.9/protocol.json +3 -3
- package/minecraft-data/data/pc/1.9.1-pre2/protocol.json +3 -3
- package/minecraft-data/data/pc/1.9.2/protocol.json +3 -3
- package/minecraft-data/data/pc/1.9.4/protocol.json +3 -3
- package/minecraft-data/data/pc/15w40b/protocol.json +3 -3
- package/minecraft-data/data/pc/16w20a/protocol.json +3 -3
- package/minecraft-data/data/pc/16w35a/protocol.json +3 -3
- package/minecraft-data/data/pc/17w15a/protocol.json +3 -3
- package/minecraft-data/data/pc/17w18b/protocol.json +3 -3
- package/minecraft-data/data/pc/20w13b/protocol.json +1 -1
- package/minecraft-data/data/pc/common/features.json +25 -0
- package/minecraft-data/data/pc/common/protocolVersions.json +40 -0
- package/minecraft-data/data/pc/common/versions.json +3 -2
- package/minecraft-data/data/pc/latest/proto.yml +1274 -598
- package/minecraft-data/doc/history.md +12 -0
- package/minecraft-data/tools/js/test/audit_recipes.js +4 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!version: 1.20.
|
|
1
|
+
!version: 1.20.5
|
|
2
2
|
!StartDocs: true
|
|
3
3
|
|
|
4
4
|
^types:
|
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
restBuffer: native
|
|
31
31
|
anonymousNbt: native
|
|
32
32
|
anonOptionalNbt: native
|
|
33
|
+
arrayWithLengthOffset: native
|
|
34
|
+
ByteArray: ["buffer", { "countType": "varint" }]
|
|
33
35
|
string: [
|
|
34
36
|
"pstring",
|
|
35
37
|
{
|
|
@@ -49,62 +51,677 @@
|
|
|
49
51
|
x: f64
|
|
50
52
|
y: f64
|
|
51
53
|
z: f64
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
|
|
55
|
+
SlotComponentType: varint =>
|
|
56
|
+
- custom_data
|
|
57
|
+
- max_stack_size
|
|
58
|
+
- max_damage
|
|
59
|
+
- damage
|
|
60
|
+
- unbreakable
|
|
61
|
+
- custom_name
|
|
62
|
+
- item_name
|
|
63
|
+
- lore
|
|
64
|
+
- rarity
|
|
65
|
+
- enchantments
|
|
66
|
+
- can_place_on
|
|
67
|
+
- can_break
|
|
68
|
+
- attribute_modifiers
|
|
69
|
+
- custom_model_data
|
|
70
|
+
- hide_additional_tooltip
|
|
71
|
+
- hide_tooltip
|
|
72
|
+
- creative_slot_lock
|
|
73
|
+
- enchantment_glint_override
|
|
74
|
+
- intangible_projectile
|
|
75
|
+
- food
|
|
76
|
+
- fire_resistant
|
|
77
|
+
- tool
|
|
78
|
+
- stored_enchantments
|
|
79
|
+
- dyed_color
|
|
80
|
+
- map_color
|
|
81
|
+
- map_id
|
|
82
|
+
- map_decorations
|
|
83
|
+
- map_post_processing
|
|
84
|
+
- charged_projectiles
|
|
85
|
+
- bundle_contents
|
|
86
|
+
- potion_contents
|
|
87
|
+
- suspicious_stew_effects
|
|
88
|
+
- writable_book_content
|
|
89
|
+
- written_book_content
|
|
90
|
+
- trim
|
|
91
|
+
- debug_stick_state
|
|
92
|
+
- entity_data
|
|
93
|
+
- bucket_entity_data
|
|
94
|
+
- block_entity_data
|
|
95
|
+
- instrument
|
|
96
|
+
- ominous_bottle_amplifier
|
|
97
|
+
- jukebox_playable
|
|
98
|
+
- recipes
|
|
99
|
+
- lodestone_tracker
|
|
100
|
+
- firework_explosion
|
|
101
|
+
- fireworks
|
|
102
|
+
- profile
|
|
103
|
+
- note_block_sound
|
|
104
|
+
- banner_patterns
|
|
105
|
+
- base_color
|
|
106
|
+
- pot_decorations
|
|
107
|
+
- container
|
|
108
|
+
- block_state
|
|
109
|
+
- bees
|
|
110
|
+
- lock
|
|
111
|
+
- container_loot
|
|
112
|
+
|
|
113
|
+
SlotComponent:
|
|
114
|
+
type: SlotComponentType
|
|
115
|
+
data: type ?
|
|
116
|
+
# TODO: look into how nbt works here
|
|
117
|
+
if custom_data: anonymousNbt
|
|
118
|
+
if max_stack_size: varint
|
|
119
|
+
if max_damage: varint
|
|
120
|
+
if damage: varint
|
|
121
|
+
if unbreakable: bool
|
|
122
|
+
if custom_name: anonymousNbt
|
|
123
|
+
if item_name: anonymousNbt
|
|
124
|
+
if lore: anonOptionalNbt[]varint
|
|
125
|
+
if rarity: varint
|
|
126
|
+
if enchantments:
|
|
127
|
+
enchantments: []varint
|
|
128
|
+
id: varint
|
|
129
|
+
level: varint
|
|
130
|
+
showTooltip: bool
|
|
131
|
+
if can_place_on or can_break:
|
|
132
|
+
predicates: BlockPredicate[]varint
|
|
133
|
+
showTooltip: bool
|
|
134
|
+
if attribute_modifiers:
|
|
135
|
+
attributes: []varint
|
|
136
|
+
typeId: varint
|
|
137
|
+
uniqueId: UUID
|
|
138
|
+
name: string
|
|
139
|
+
value: f64
|
|
140
|
+
operation: varint =>
|
|
141
|
+
- add
|
|
142
|
+
- multiply_base
|
|
143
|
+
- multiply_total
|
|
144
|
+
slot: varint =>
|
|
145
|
+
- any
|
|
146
|
+
- main_hand
|
|
147
|
+
- off_hand
|
|
148
|
+
- hand
|
|
149
|
+
- feet
|
|
150
|
+
- legs
|
|
151
|
+
- chest
|
|
152
|
+
- head
|
|
153
|
+
- armor
|
|
154
|
+
- body
|
|
155
|
+
showTooltip: bool
|
|
156
|
+
if custom_model_data: varint
|
|
157
|
+
if hide_additional_tooltip: void
|
|
158
|
+
if hide_tooltip: void
|
|
159
|
+
if repair_cost: varint
|
|
160
|
+
if creative_slot_lock: void
|
|
161
|
+
if enchantment_glint_override: bool
|
|
162
|
+
if intangible_projectile: void
|
|
163
|
+
# Name Type Description
|
|
164
|
+
# Nutrition VarInt Non-negative
|
|
165
|
+
# Saturation Modifier Float How much saturation will be given after consuming the item.
|
|
166
|
+
# Can Always Eat Boolean Whether the item can always be eaten, even at full hunger.
|
|
167
|
+
# Seconds To Eat Float How long it takes to consume the item.
|
|
168
|
+
# Using converts to Slot Data This specifies the item produced after consuming the current item. In the Notchian server, this is used for stews, which turn into bowls. Set this to Air if the item should be consumed normally without leaving any other item after.
|
|
169
|
+
# Number of effects VarInt Number of elements in the following array.
|
|
170
|
+
# Effect Type ID Array Potion Effect The potion effect. See Potion Effect.
|
|
171
|
+
# Probability Float The probability for this effect to be chosen.
|
|
172
|
+
if food:
|
|
173
|
+
nutrition: varint
|
|
174
|
+
saturationModifier: f32
|
|
175
|
+
canAlwaysEat: bool
|
|
176
|
+
secondsToEat: f32
|
|
177
|
+
usingConvertsTo: Slot
|
|
178
|
+
effects: []varint
|
|
179
|
+
effect: varint
|
|
180
|
+
probability: f32
|
|
181
|
+
if fire_resistant: void
|
|
182
|
+
# Name Type Description
|
|
183
|
+
# Number of Rules VarInt The number of elements in the following array.
|
|
184
|
+
# Rule
|
|
185
|
+
# Blocks Array Block Set The block this rule applies to. See Block Set.
|
|
186
|
+
# Has Speed Boolean
|
|
187
|
+
# Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true.
|
|
188
|
+
# Has Correct Drop For Blocks Boolean
|
|
189
|
+
# Correct Drop For Blocks Optional Boolean Whether items should drop only if this is the correct tool. Only present if Has Correct Drop For Blocks is true.
|
|
190
|
+
# Default Mining Speed Float The mining speed in case none of the previous rule were matched.
|
|
191
|
+
# Damage Per Block VarInt The amount of damage the item takes per block break.
|
|
192
|
+
if tool:
|
|
193
|
+
rules: []varint
|
|
194
|
+
blocks: BlockSet[]varint
|
|
195
|
+
hasSpeed: bool
|
|
196
|
+
speed: f32
|
|
197
|
+
hasCorrectDropForBlocks: bool
|
|
198
|
+
correctDropForBlocks: bool
|
|
199
|
+
defaultMiningSpeed: f32
|
|
200
|
+
damagePerBlock: varint
|
|
201
|
+
# Name Type Description
|
|
202
|
+
# Number of enchantments VarInt Number of elements in the following array.
|
|
203
|
+
# Enchantment Type ID Array VarInt Enum The ID of the enchantment in the enchantment registry.
|
|
204
|
+
# Level VarInt The level of the enchantment.
|
|
205
|
+
# Show In Tooltip Boolean Whether the list of enchantments should be shown on the item's tooltip.
|
|
206
|
+
if stored_enchantments:
|
|
207
|
+
enchantments: []varint
|
|
208
|
+
id: varint
|
|
209
|
+
level: varint
|
|
210
|
+
showInTooltip: bool
|
|
211
|
+
if dyed_color:
|
|
212
|
+
color: varint
|
|
213
|
+
showTooltip: bool
|
|
214
|
+
if map_color: varint
|
|
215
|
+
if map_id: varint
|
|
216
|
+
if map_decorations: anonOptionalNbt
|
|
217
|
+
if map_post_processing: varint
|
|
218
|
+
if charged_projectiles:
|
|
219
|
+
projectiles: Slot[]varint
|
|
220
|
+
if bundle_contents:
|
|
221
|
+
contents: Slot[]varint
|
|
222
|
+
# Name Type Description
|
|
223
|
+
# Has Potion ID Boolean Whether this potion has an ID in the potion registry. If true, it has the default effects associated with the potion type.
|
|
224
|
+
# Potion ID Optional VarInt The ID of the potion type in the potion registry. Only present if Has Potion ID is true.
|
|
225
|
+
# Has Custom Color Boolean Whether this potion has a custom color. If false, it uses the default color associated with the potion type.
|
|
226
|
+
# Custom Color Optional Int The RGB components of the color, encoded as an integer. Only present if Has Custom Color is true.
|
|
227
|
+
# Number Of Custom Effects VarInt The number of elements in the following array.
|
|
228
|
+
# Custom Effects Array of Potion Effect Any custom effects the potion might have. See Potion Effect.
|
|
229
|
+
if potion_contents:
|
|
230
|
+
hasPotionId: bool
|
|
231
|
+
potionId: optvarint
|
|
232
|
+
hasCustomColor: bool
|
|
233
|
+
customColor: optvarint
|
|
234
|
+
customEffects: []varint
|
|
235
|
+
effect: varint
|
|
236
|
+
details: EffectDetail
|
|
237
|
+
# Name Type Description
|
|
238
|
+
# Number Of Effects VarInt Number of elements in the following array.
|
|
239
|
+
# Effect Type ID Array VarInt Enum The ID of the effect in the potion effect type registry.
|
|
240
|
+
# Duration VarInt The duration of the effect.
|
|
241
|
+
if suspicious_stew_effects:
|
|
242
|
+
effects: []varint
|
|
243
|
+
effect: varint
|
|
244
|
+
duration: varint
|
|
245
|
+
# Name Type Description
|
|
246
|
+
# Number Of Pages VarInt Number of elements in the following array.
|
|
247
|
+
# Page Raw Content Array (100) String (1024) The raw text of the page.
|
|
248
|
+
# Has Filtered Content Boolean
|
|
249
|
+
# Filtered Content Optional String (1024) The content after passing through chat filters. Only present if Has Filtered Content is true.
|
|
250
|
+
if writable_book_content:
|
|
251
|
+
pages: BookPage[]varint
|
|
252
|
+
# Name Type Description
|
|
253
|
+
# Raw Title String (32) The raw title of the book.
|
|
254
|
+
# Has Filtered Title Boolean
|
|
255
|
+
# Filtered Title Optional String (32) The title after going through chat filters. Only present if Has Filtered Title is true.
|
|
256
|
+
# Author String
|
|
257
|
+
# Generation VarInt
|
|
258
|
+
# Number Of Pages VarInt Number of elements in the following array.
|
|
259
|
+
# Page Raw Content Array (100) TextComponent (1024) The raw text of the page.
|
|
260
|
+
# Has Filtered Content Boolean
|
|
261
|
+
# Filtered Content Optional Text Component (1024) The content after passing through chat filters. Only present if Has Filtered Content is true.
|
|
262
|
+
# Resolved Boolean Whether entity selectors have already been resolved.
|
|
263
|
+
if written_book_content:
|
|
264
|
+
rawTitle: string
|
|
265
|
+
filteredTitle?: string
|
|
266
|
+
author: string
|
|
267
|
+
generation: varint
|
|
268
|
+
pages: BookPage[]varint
|
|
269
|
+
# Whether entity selectors have already been resolved.
|
|
270
|
+
resolved: bool
|
|
271
|
+
# Name Type Description
|
|
272
|
+
# Trim Material Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
273
|
+
# 0 - Directly represents a trim material, with the necessary data following.
|
|
274
|
+
# Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1.
|
|
275
|
+
# Asset Name Optional String See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
276
|
+
# Ingredient Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
277
|
+
# Item Model Index Optional Float See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
278
|
+
# Number of Overrides Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
279
|
+
# Override Armor Material Type Optional Array VarInt Enum See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
280
|
+
# Overriden Asset Name String See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
281
|
+
# Description Optional Text Component See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
282
|
+
# Trim Pattern Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
283
|
+
# 0 - Directly represents a trim pattern, with the necessary data following.
|
|
284
|
+
# Anything else - References a trim pattern in its registry, by the ID of Trim Pattern Type - 1.
|
|
285
|
+
# Asset Name Optional String See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
286
|
+
# Template Item Optional VarInt See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
287
|
+
# Description Optional Text Component See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
288
|
+
# Decal Optional Boolean See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
289
|
+
# Show In Tooltip Boolean Whether the trim information should be shown on the item's tooltip.
|
|
290
|
+
if trim:
|
|
291
|
+
# Identifier used to determine the data that follows. It can be either:
|
|
292
|
+
# 0 - Directly represents a trim material, with the necessary data following.
|
|
293
|
+
# Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1.
|
|
294
|
+
materialType: varint
|
|
295
|
+
_: materialType ?
|
|
296
|
+
if 0:
|
|
297
|
+
assetName: string
|
|
298
|
+
ingredientId: varint
|
|
299
|
+
itemModelIndex: f32
|
|
300
|
+
numberOfOverrides: optvarint
|
|
301
|
+
override: []varint
|
|
302
|
+
armorMaterialType: varint
|
|
303
|
+
overridenAssetName: string
|
|
304
|
+
description: string
|
|
305
|
+
trimPatternType: varint
|
|
306
|
+
_: trimPatternType ?
|
|
307
|
+
if 0:
|
|
308
|
+
assetName: string
|
|
309
|
+
templateItem: varint
|
|
310
|
+
description: string
|
|
311
|
+
decal: bool
|
|
312
|
+
showInTooltip: bool
|
|
313
|
+
if debug_stick_state: anonymousNbt
|
|
314
|
+
if entity_data: anonymousNbt
|
|
315
|
+
if bucket_entity_data: anonymousNbt
|
|
316
|
+
if block_entity_data: anonymousNbt
|
|
317
|
+
# Name Type Description
|
|
318
|
+
# Instrument Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
319
|
+
# 0 - Directly represents an instrument, with the necessary data following.
|
|
320
|
+
# Anything else - References an instrument in its registry, by the ID of Instrument Type - 1.
|
|
321
|
+
# Sound Event Optional Sound Event The sound to be played. Only present if Instrument Type is 0.
|
|
322
|
+
# Use duration Optional Float The maximum range of the sound. Only present if Instrument Type is 0.
|
|
323
|
+
# Range Optional Float The range of the instrument. Only present if Instrument Type is 0.
|
|
324
|
+
if instrument:
|
|
325
|
+
instrumentType: varint
|
|
326
|
+
_: instrumentType ?
|
|
327
|
+
if 0:
|
|
328
|
+
soundEvent: string
|
|
329
|
+
useDuration: f32
|
|
330
|
+
range: f32
|
|
331
|
+
if ominous_bottle_amplifier: varint
|
|
332
|
+
# Name Type Description
|
|
333
|
+
# Direct Mode Boolean Whether the jukebox song is specified directly, or just referenced by name.
|
|
334
|
+
# Jukebox Song Name Optional Identifier The name of the jukebox song in its respective registry. Only present if Direct Mode is false.
|
|
335
|
+
# Jukebox Song Type Optional VarInt Identifier used to determine the data that follows. It can be either:
|
|
336
|
+
# 0 - Directly represents a jukebox song, with the necessary data following.
|
|
337
|
+
# Anything else - References a jukebox song in its registry, by the ID of Jukebox Song Type - 1.
|
|
338
|
+
# Only present if Direct Mode is true.
|
|
339
|
+
# Sound Event Optional Sound Event The sound to be played. Only present if Direct Mode is true and Jukebox Song Type is 0.
|
|
340
|
+
# Description Optional Text Component The description shown in the item lore. Only present if Direct Mode is true and Jukebox Song Type is 0.
|
|
341
|
+
# Duration Optional Float The duration the songs should play for, in seconds. Only present if Direct Mode is true and Jukebox Song Type is 0.
|
|
342
|
+
# Output Optional VarInt The output strength given by a comparator. Between 0 and 15. Only present if Direct Mode is true and Jukebox Song Type is 0.
|
|
343
|
+
# Show In Tooltip Boolean Whether the song should be shown on the item's tooltip.
|
|
344
|
+
if jukebox_playable:
|
|
345
|
+
directMode: bool
|
|
346
|
+
_: directMode ?
|
|
347
|
+
if false:
|
|
348
|
+
jukeboxSongName: string
|
|
349
|
+
jukeboxSongType: varint
|
|
350
|
+
_: jukeboxSongType ?
|
|
351
|
+
if 0:
|
|
352
|
+
soundEvent:
|
|
353
|
+
soundEventType: varint
|
|
354
|
+
_: soundEventType ?
|
|
355
|
+
if 0:
|
|
356
|
+
soundName: string
|
|
357
|
+
fixedRange?: f32
|
|
358
|
+
description: anonymousNbt
|
|
359
|
+
duration: f32
|
|
360
|
+
output: varint
|
|
361
|
+
showInTooltip: bool
|
|
362
|
+
if recipes: anonymousNbt
|
|
363
|
+
# Name Type Description
|
|
364
|
+
# Has Global Position Boolean Whether this lodestone points to a position, otherwise it spins randomly.
|
|
365
|
+
# Dimension Identifier The dimension the compass points to. Only present if Has Global Position is true.
|
|
366
|
+
# Position Position The position the compass points to. Only present if Has Global Position is true.
|
|
367
|
+
# Tracked Boolean Whether the component is removed when the associated lodestone is broken.
|
|
368
|
+
if lodestone_tracker:
|
|
369
|
+
globalPosition?:
|
|
370
|
+
dimension: string
|
|
371
|
+
position: vec3f
|
|
372
|
+
tracked: bool
|
|
373
|
+
# Name Type Description
|
|
374
|
+
# Shape VarInt Enum Can be one of the following:
|
|
375
|
+
# 0 - Small ball
|
|
376
|
+
# 1 - Large ball
|
|
377
|
+
# 2 - Star
|
|
378
|
+
# 3 - Creeper
|
|
379
|
+
# 4 - Burst
|
|
380
|
+
# Number Of Colors VarInt The number of elements in the following array.
|
|
381
|
+
# Colors Array of Int The RGB components of the color, encoded as an integer.
|
|
382
|
+
# Number Of Fade Colors VarInt The number of elements in the following array.
|
|
383
|
+
# Fade Colors Array of Int The RGB components of the color, encoded as an integer.
|
|
384
|
+
# Has Trail Boolean
|
|
385
|
+
# Has Twinkle Boolean
|
|
386
|
+
if firework_explosion: FireworkExplosion
|
|
387
|
+
if fireworks:
|
|
388
|
+
flightDuration: varint
|
|
389
|
+
explosions: FireworkExplosion[]varint
|
|
390
|
+
# Name Type Description
|
|
391
|
+
# Has Name Boolean
|
|
392
|
+
# Name Optional String (16) Only present if Has Name is true.
|
|
393
|
+
# Has Unique ID Boolean
|
|
394
|
+
# Unique ID Optional UUID Only present if Has Unique ID is true.
|
|
395
|
+
# Number of Properties VarInt Number of elements in the following array.
|
|
396
|
+
# Property Name Array String (64)
|
|
397
|
+
# Value String
|
|
398
|
+
# Has Signature Boolean
|
|
399
|
+
# Signature String (1024) Only present if Has Signature is true.
|
|
400
|
+
if profile:
|
|
401
|
+
hasName: bool
|
|
402
|
+
name: string
|
|
403
|
+
hasUniqueId: bool
|
|
404
|
+
uniqueId: UUID
|
|
405
|
+
properties: []varint
|
|
406
|
+
property: string
|
|
407
|
+
value: string
|
|
408
|
+
hasSignature: bool
|
|
409
|
+
signature: string
|
|
410
|
+
if note_block_sound: string
|
|
411
|
+
# Name Type Description
|
|
412
|
+
# Number of Layers VarInt Number of elements in the following array.
|
|
413
|
+
# Layer Pattern Type Array VarInt Identifier used to determine the data that follows. It can be either:
|
|
414
|
+
# 0 - Directly represents a pattern, with the necessary data following.
|
|
415
|
+
# Anything else - References a pattern in its registry, by the ID of Pattern Type - 1.
|
|
416
|
+
# Asset ID Optional Identifier Identifier of the asset. Only present if Pattern Type is 0.
|
|
417
|
+
# Translation Key Optional String Only present if Pattern Type is 0.
|
|
418
|
+
# Color Dye Color See Dye Color.
|
|
419
|
+
if banner_patterns:
|
|
420
|
+
layers: []varint
|
|
421
|
+
patternType: varint
|
|
422
|
+
_: patternType ?
|
|
423
|
+
if 0:
|
|
424
|
+
assetId: string
|
|
425
|
+
translationKey: string
|
|
426
|
+
color: varint
|
|
427
|
+
if base_color: varint
|
|
428
|
+
if pot_decorations:
|
|
429
|
+
# The ID of the items in the item registry.
|
|
430
|
+
decorations: varint[]varint
|
|
431
|
+
if container:
|
|
432
|
+
contents: Slot[]varint
|
|
433
|
+
# Name Type Description
|
|
434
|
+
# Number of Properties VarInt Number of elements in the following array.
|
|
435
|
+
# Property Name Array String
|
|
436
|
+
# Value String
|
|
437
|
+
if block_state:
|
|
438
|
+
properties: []varint
|
|
439
|
+
property: string
|
|
440
|
+
value: string
|
|
441
|
+
# Name Type Description
|
|
442
|
+
# Number of Bees VarInt Number of elements in the following array.
|
|
443
|
+
# Bee Entity Data Array NBT
|
|
444
|
+
# Ticks In Hive VarInt
|
|
445
|
+
# Min Ticks In Hive VarInt
|
|
446
|
+
if bees:
|
|
447
|
+
bees: []varint
|
|
448
|
+
# Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component.
|
|
449
|
+
nbtData: anonymousNbt
|
|
450
|
+
ticksInHive: varint
|
|
451
|
+
minTicksInHive: varint
|
|
452
|
+
if lock: anonymousNbt
|
|
453
|
+
if container_loot: anonymousNbt
|
|
454
|
+
|
|
455
|
+
Slot:
|
|
456
|
+
itemCount: i8
|
|
457
|
+
_: itemCount ?
|
|
458
|
+
if 0: void
|
|
459
|
+
default:
|
|
57
460
|
itemId: varint
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
461
|
+
# https://wiki.vg/Slot_Data#Structured_components
|
|
462
|
+
# + public static final DataComponentType<CompoundTag> CUSTOM_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
463
|
+
# + public static final IntComponentType MAX_STACK_SIZE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
464
|
+
# + public static final IntComponentType MAX_DAMAGE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
465
|
+
# + public static final IntComponentType DAMAGE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
466
|
+
# + public static final BooleanComponentType UNBREAKABLE = new BooleanComponentType(ByteBuf::readBoolean, ByteBuf::writeBoolean, BooleanDataComponent::new);
|
|
467
|
+
# + public static final DataComponentType<Component> CUSTOM_NAME = new DataComponentType<>(ItemCodecHelper::readComponent, ItemCodecHelper::writeComponent, ObjectDataComponent::new);
|
|
468
|
+
# + public static final DataComponentType<Component> ITEM_NAME = new DataComponentType<>(ItemCodecHelper::readComponent, ItemCodecHelper::writeComponent, ObjectDataComponent::new);
|
|
469
|
+
# + public static final DataComponentType<List<Component>> LORE = new DataComponentType<>(listReader(ItemCodecHelper::readComponent), listWriter(ItemCodecHelper::writeComponent), ObjectDataComponent::new);
|
|
470
|
+
# + public static final IntComponentType RARITY = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
471
|
+
# + public static final DataComponentType<ItemEnchantments> ENCHANTMENTS = new DataComponentType<>(ItemCodecHelper::readItemEnchantments, ItemCodecHelper::writeItemEnchantments, ObjectDataComponent::new);
|
|
472
|
+
# + public static final DataComponentType<AdventureModePredicate> CAN_PLACE_ON = new DataComponentType<>(ItemCodecHelper::readAdventureModePredicate, ItemCodecHelper::writeAdventureModePredicate, ObjectDataComponent::new);
|
|
473
|
+
# + public static final DataComponentType<AdventureModePredicate> CAN_BREAK = new DataComponentType<>(ItemCodecHelper::readAdventureModePredicate, ItemCodecHelper::writeAdventureModePredicate, ObjectDataComponent::new);
|
|
474
|
+
# + public static final DataComponentType<ItemAttributeModifiers> ATTRIBUTE_MODIFIERS = new DataComponentType<>(ItemCodecHelper::readItemAttributeModifiers, ItemCodecHelper::writeItemAttributeModifiers, ObjectDataComponent::new);
|
|
475
|
+
# + public static final IntComponentType CUSTOM_MODEL_DATA = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
476
|
+
# + public static final DataComponentType<Unit> HIDE_ADDITIONAL_TOOLTIP = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new);
|
|
477
|
+
# + public static final DataComponentType<Unit> HIDE_TOOLTIP = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new);
|
|
478
|
+
# + public static final IntComponentType REPAIR_COST = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
479
|
+
# + public static final DataComponentType<Unit> CREATIVE_SLOT_LOCK = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new);
|
|
480
|
+
# + public static final BooleanComponentType ENCHANTMENT_GLINT_OVERRIDE = new BooleanComponentType(ByteBuf::readBoolean, ByteBuf::writeBoolean, BooleanDataComponent::new);
|
|
481
|
+
# + public static final DataComponentType<CompoundTag> INTANGIBLE_PROJECTILE = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
482
|
+
# + public static final DataComponentType<FoodProperties> FOOD = new DataComponentType<>(ItemCodecHelper::readFoodProperties, ItemCodecHelper::writeFoodProperties, ObjectDataComponent::new);
|
|
483
|
+
# + public static final DataComponentType<Unit> FIRE_RESISTANT = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new);
|
|
484
|
+
# + public static final DataComponentType<ToolData> TOOL = new DataComponentType<>(ItemCodecHelper::readToolData, ItemCodecHelper::writeToolData, ObjectDataComponent::new);
|
|
485
|
+
# + public static final DataComponentType<ItemEnchantments> STORED_ENCHANTMENTS = new DataComponentType<>(ItemCodecHelper::readItemEnchantments, ItemCodecHelper::writeItemEnchantments, ObjectDataComponent::new);
|
|
486
|
+
# + public static final DataComponentType<DyedItemColor> DYED_COLOR = new DataComponentType<>(ItemCodecHelper::readDyedItemColor, ItemCodecHelper::writeDyedItemColor, ObjectDataComponent::new);
|
|
487
|
+
# + public static final IntComponentType MAP_COLOR = new IntComponentType((helper, input) -> input.readInt(), (helper, output, value) -> output.writeInt(value), IntDataComponent::new);
|
|
488
|
+
# + public static final IntComponentType MAP_ID = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
489
|
+
# + public static final DataComponentType<CompoundTag> MAP_DECORATIONS = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
490
|
+
# + public static final IntComponentType MAP_POST_PROCESSING = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
491
|
+
# + public static final DataComponentType<List<ItemStack>> CHARGED_PROJECTILES = new DataComponentType<>(listReader(ItemCodecHelper::readItemStack), listWriter(ItemCodecHelper::writeItemStack), ObjectDataComponent::new);
|
|
492
|
+
# + public static final DataComponentType<List<ItemStack>> BUNDLE_CONTENTS = new DataComponentType<>(listReader(ItemCodecHelper::readItemStack), listWriter(ItemCodecHelper::writeItemStack), ObjectDataComponent::new);
|
|
493
|
+
# + public static final DataComponentType<PotionContents> POTION_CONTENTS = new DataComponentType<>(ItemCodecHelper::readPotionContents, ItemCodecHelper::writePotionContents, ObjectDataComponent::new);
|
|
494
|
+
# + public static final DataComponentType<List<SuspiciousStewEffect>> SUSPICIOUS_STEW_EFFECTS = new DataComponentType<>(listReader(ItemCodecHelper::readStewEffect), listWriter(ItemCodecHelper::writeStewEffect), ObjectDataComponent::new);
|
|
495
|
+
# + public static final DataComponentType<WritableBookContent> WRITABLE_BOOK_CONTENT = new DataComponentType<>(ItemCodecHelper::readWritableBookContent, ItemCodecHelper::writeWritableBookContent, ObjectDataComponent::new);
|
|
496
|
+
# + public static final DataComponentType<WrittenBookContent> WRITTEN_BOOK_CONTENT = new DataComponentType<>(ItemCodecHelper::readWrittenBookContent, ItemCodecHelper::writeWrittenBookContent, ObjectDataComponent::new);
|
|
497
|
+
# + public static final DataComponentType<ArmorTrim> TRIM = new DataComponentType<>(ItemCodecHelper::readArmorTrim, ItemCodecHelper::writeArmorTrim, ObjectDataComponent::new);
|
|
498
|
+
# + public static final DataComponentType<CompoundTag> DEBUG_STICK_STATE = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
499
|
+
# + public static final DataComponentType<CompoundTag> ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
500
|
+
# + public static final DataComponentType<CompoundTag> BUCKET_ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
501
|
+
# + public static final DataComponentType<CompoundTag> BLOCK_ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
502
|
+
# + public static final DataComponentType<Holder<Instrument>> INSTRUMENT = new DataComponentType<>(ItemCodecHelper::readInstrument, ItemCodecHelper::writeInstrument, ObjectDataComponent::new);
|
|
503
|
+
# + public static final IntComponentType OMINOUS_BOTTLE_AMPLIFIER = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
504
|
+
# + public static final DataComponentType<ListTag> RECIPES = new DataComponentType<>(ItemCodecHelper::readRecipes, ItemCodecHelper::writeRecipes, ObjectDataComponent::new);
|
|
505
|
+
# + public static final DataComponentType<LodestoneTracker> LODESTONE_TRACKER = new DataComponentType<>(ItemCodecHelper::readLodestoneTarget, ItemCodecHelper::writeLodestoneTarget, ObjectDataComponent::new);
|
|
506
|
+
# + public static final DataComponentType<Fireworks.FireworkExplosion> FIREWORK_EXPLOSION = new DataComponentType<>(ItemCodecHelper::readFireworkExplosion, ItemCodecHelper::writeFireworkExplosion, ObjectDataComponent::new);
|
|
507
|
+
# + public static final DataComponentType<Fireworks> FIREWORKS = new DataComponentType<>(ItemCodecHelper::readFireworks, ItemCodecHelper::writeFireworks, ObjectDataComponent::new);
|
|
508
|
+
# + public static final DataComponentType<GameProfile> PROFILE = new DataComponentType<>(ItemCodecHelper::readResolvableProfile, ItemCodecHelper::writeResolvableProfile, ObjectDataComponent::new);
|
|
509
|
+
# + public static final DataComponentType<String> NOTE_BLOCK_SOUND = new DataComponentType<>(ItemCodecHelper::readResourceLocation, ItemCodecHelper::writeResourceLocation, ObjectDataComponent::new);
|
|
510
|
+
# + public static final DataComponentType<List<BannerPatternLayer>> BANNER_PATTERNS = new DataComponentType<>(listReader(ItemCodecHelper::readBannerPatternLayer), listWriter(ItemCodecHelper::writeBannerPatternLayer), ObjectDataComponent::new);
|
|
511
|
+
# + public static final IntComponentType BASE_COLOR = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
512
|
+
# + public static final DataComponentType<List<Integer>> POT_DECORATIONS = new DataComponentType<>(listReader(ItemCodecHelper::readVarInt), listWriter(ItemCodecHelper::writeVarInt), ObjectDataComponent::new);
|
|
513
|
+
# + public static final DataComponentType<List<ItemStack>> CONTAINER = new DataComponentType<>(listReader(ItemCodecHelper::readOptionalItemStack), listWriter(MinecraftCodecHelper::writeOptionalItemStack), ObjectDataComponent::new);
|
|
514
|
+
# + public static final DataComponentType<BlockStateProperties> BLOCK_STATE = new DataComponentType<>(ItemCodecHelper::readBlockStateProperties, ItemCodecHelper::writeBlockStateProperties, ObjectDataComponent::new);
|
|
515
|
+
# + public static final DataComponentType<List<BeehiveOccupant>> BEES = new DataComponentType<>(listReader(ItemCodecHelper::readBeehiveOccupant), listWriter(ItemCodecHelper::writeBeehiveOccupant), ObjectDataComponent::new);
|
|
516
|
+
# + public static final DataComponentType<StringTag> LOCK = new DataComponentType<>(ItemCodecHelper::readLock, ItemCodecHelper::writeLock, ObjectDataComponent::new);
|
|
517
|
+
# + public static final DataComponentType<CompoundTag> CONTAINER_LOOT = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
518
|
+
addedComponentCount: varint
|
|
519
|
+
removedComponentCount: varint
|
|
520
|
+
components: SlotComponent[]$addedComponentCount
|
|
521
|
+
removeComponents: []$removedComponentCount
|
|
522
|
+
type: SlotComponentType
|
|
523
|
+
|
|
524
|
+
FireworkExplosion:
|
|
525
|
+
shape: varint =>
|
|
526
|
+
- small_ball
|
|
527
|
+
- large_ball
|
|
528
|
+
- star
|
|
529
|
+
- creeper
|
|
530
|
+
- burst
|
|
531
|
+
colors: i32[]varint
|
|
532
|
+
fadeColors: i32[]varint
|
|
533
|
+
hasTrail: bool
|
|
534
|
+
hasTwinkle: bool
|
|
535
|
+
|
|
536
|
+
BookPage:
|
|
537
|
+
content: string
|
|
538
|
+
filteredContent?: string
|
|
539
|
+
|
|
540
|
+
EffectDetail:
|
|
541
|
+
amplifier: varint
|
|
542
|
+
duration: varint
|
|
543
|
+
ambient: bool
|
|
544
|
+
showParticles: bool
|
|
545
|
+
showIcon: bool
|
|
546
|
+
hiddenEffect?: EffectDetail
|
|
547
|
+
|
|
548
|
+
BlockSet:
|
|
549
|
+
type: varint
|
|
550
|
+
name: type ?
|
|
551
|
+
if 0: string
|
|
552
|
+
default: void
|
|
553
|
+
# TODO: This will require a custom type ; we need type - 1 length of blockIds
|
|
554
|
+
blockIds: type ?
|
|
555
|
+
if 0: void
|
|
556
|
+
#default: varint[]varint
|
|
557
|
+
default: ["arrayWithLengthOffset", {"count": "type", "type": "varint"}]
|
|
558
|
+
|
|
559
|
+
BlockProperty:
|
|
560
|
+
# Name of the block state property.
|
|
561
|
+
name: string
|
|
562
|
+
# Whether this is an exact value match, as opposed to ranged.
|
|
563
|
+
isExactMatch: bool
|
|
564
|
+
# Value of the block state property. Only present in exact match mode.
|
|
565
|
+
exactValue?: string
|
|
566
|
+
# Minimum value of the block state property range. Only present in ranged match mode.
|
|
567
|
+
minValue?: string
|
|
568
|
+
# Maximum value of the block state property range. Only present in ranged match mode.
|
|
569
|
+
maxValue?: string
|
|
570
|
+
|
|
571
|
+
BlockPredicate:
|
|
572
|
+
blockSet?: BlockSet[]varint
|
|
573
|
+
properties?: BlockProperty[]varint
|
|
574
|
+
nbt: anonOptionalNbt
|
|
575
|
+
|
|
576
|
+
Particle:
|
|
577
|
+
# See client/net/minecraft/core/particles/ParticleTypes.java
|
|
578
|
+
type: varint =>
|
|
579
|
+
- angry_villager
|
|
580
|
+
- block
|
|
581
|
+
- block_marker
|
|
582
|
+
- bubble
|
|
583
|
+
- cloud
|
|
584
|
+
- crit
|
|
585
|
+
- damage_indicator
|
|
586
|
+
- dragon_breath
|
|
587
|
+
- dripping_lava
|
|
588
|
+
- falling_lava
|
|
589
|
+
- landing_lava
|
|
590
|
+
- dripping_water
|
|
591
|
+
- falling_water
|
|
592
|
+
- dust
|
|
593
|
+
- dust_color_transition
|
|
594
|
+
- effect
|
|
595
|
+
- elder_guardian
|
|
596
|
+
- enchanted_hit
|
|
597
|
+
- enchant
|
|
598
|
+
- end_rod
|
|
599
|
+
- entity_effect
|
|
600
|
+
- explosion_emitter
|
|
601
|
+
- explosion
|
|
602
|
+
- gust
|
|
603
|
+
- small_gust
|
|
604
|
+
- gust_emitter_large
|
|
605
|
+
- gust_emitter_small
|
|
606
|
+
- sonic_boom
|
|
607
|
+
- falling_dust
|
|
608
|
+
- firework
|
|
609
|
+
- fishing
|
|
610
|
+
- flame
|
|
611
|
+
- infested
|
|
612
|
+
- cherry_leaves
|
|
613
|
+
- sculk_soul
|
|
614
|
+
- sculk_charge
|
|
615
|
+
- sculk_charge_pop
|
|
616
|
+
- soul_fire_flame
|
|
617
|
+
- soul
|
|
618
|
+
- flash
|
|
619
|
+
- happy_villager
|
|
620
|
+
- composter
|
|
621
|
+
- heart
|
|
622
|
+
- instant_effect
|
|
623
|
+
- item
|
|
624
|
+
- vibration
|
|
625
|
+
- item_slime
|
|
626
|
+
- item_cobweb
|
|
627
|
+
- item_snowball
|
|
628
|
+
- large_smoke
|
|
629
|
+
- lava
|
|
630
|
+
- mycelium
|
|
631
|
+
- note
|
|
632
|
+
- poof
|
|
633
|
+
- portal
|
|
634
|
+
- rain
|
|
635
|
+
- smoke
|
|
636
|
+
- white_smoke
|
|
637
|
+
- sneeze
|
|
638
|
+
- spit
|
|
639
|
+
- squid_ink
|
|
640
|
+
- sweep_attack
|
|
641
|
+
- totem_of_undying
|
|
642
|
+
- underwater
|
|
643
|
+
- splash
|
|
644
|
+
- witch
|
|
645
|
+
- bubble_pop
|
|
646
|
+
- current_down
|
|
647
|
+
- bubble_column_up
|
|
648
|
+
- nautilus
|
|
649
|
+
- dolphin
|
|
650
|
+
- campfire_cosy_smoke
|
|
651
|
+
- campfire_signal_smoke
|
|
652
|
+
- dripping_honey
|
|
653
|
+
- falling_honey
|
|
654
|
+
- landing_honey
|
|
655
|
+
- falling_nectar
|
|
656
|
+
- falling_spore_blossom
|
|
657
|
+
- ash
|
|
658
|
+
- crimson_spore
|
|
659
|
+
- warped_spore
|
|
660
|
+
- spore_blossom_air
|
|
661
|
+
- dripping_obsidian_tear
|
|
662
|
+
- falling_obsidian_tear
|
|
663
|
+
- landing_obsidian_tear
|
|
664
|
+
- reverse_portal
|
|
665
|
+
- white_ash
|
|
666
|
+
- small_flame
|
|
667
|
+
- snowflake
|
|
668
|
+
- dripping_dripstone_lava
|
|
669
|
+
- falling_dripstone_lava
|
|
670
|
+
- dripping_dripstone_water
|
|
671
|
+
- falling_dripstone_water
|
|
672
|
+
- glow_squid_ink
|
|
673
|
+
- glow
|
|
674
|
+
- wax_on
|
|
675
|
+
- wax_off
|
|
676
|
+
- electric_spark
|
|
677
|
+
- scrape
|
|
678
|
+
- shriek
|
|
679
|
+
- egg_crack
|
|
680
|
+
- dust_plume
|
|
681
|
+
- trial_spawner_detected_player
|
|
682
|
+
- trial_spawner_detected_player_ominous
|
|
683
|
+
- vault_connection
|
|
684
|
+
- dust_pillar
|
|
685
|
+
- ominous_spawning
|
|
686
|
+
- raid_omen
|
|
687
|
+
- trial_omen
|
|
688
|
+
## ## Tips for reviewing particle data (as of 1.20.5)
|
|
689
|
+
## Inside the registry code, each particle can have an associated "options" type and
|
|
690
|
+
## each options type can add additional data to be encoded.
|
|
691
|
+
## For example, this line
|
|
692
|
+
## public static final ParticleType<BlockParticleOption> BLOCK = register("block", false, BlockParticleOption::codec, BlockParticleOption::streamCodec);
|
|
693
|
+
## will read the stream codec from BlockParticleOption.java's streamCodec member; then we see
|
|
694
|
+
## return ByteBufCodecs.idMapper(Block.BLOCK_STATE_REGISTRY).map(var1 -> new BlockParticleOption(var0, var1), var0x -> var0x.state);
|
|
695
|
+
## this encodes with the ByteBufCodecs.idMapper function. Inside this function we find
|
|
696
|
+
## public void encode(ByteBuf var1x, T var2) {
|
|
697
|
+
## int var3 = var1.applyAsInt(var2);
|
|
698
|
+
## VarInt.write(var1x, var3);
|
|
699
|
+
## }
|
|
700
|
+
## which as we can see writes the varint to the buffer.
|
|
701
|
+
## If you want to see all the serializers try regexp searching "StreamCodec.*Particle"
|
|
702
|
+
data: type ?
|
|
703
|
+
if block or block_marker or falling_dust or dust_pillar: varint
|
|
704
|
+
if dust:
|
|
705
|
+
red: f32
|
|
706
|
+
green: f32
|
|
707
|
+
blue: f32
|
|
708
|
+
scale: f32
|
|
709
|
+
if dust_color_transition:
|
|
710
|
+
fromRed: f32
|
|
711
|
+
fromGreen: f32
|
|
712
|
+
fromBlue: f32
|
|
713
|
+
scale: f32
|
|
714
|
+
toRed: f32
|
|
715
|
+
toGreen: f32
|
|
716
|
+
toBlue: f32
|
|
717
|
+
if entity_effect: i32
|
|
718
|
+
if item: Slot
|
|
719
|
+
if sculk_charge: f32
|
|
720
|
+
if shriek: varint
|
|
721
|
+
if vibration:
|
|
722
|
+
position: string
|
|
723
|
+
entityId: varint
|
|
724
|
+
ingredient: Slot[]varint
|
|
108
725
|
position: [
|
|
109
726
|
"bitfield",
|
|
110
727
|
[
|
|
@@ -149,123 +766,86 @@
|
|
|
149
766
|
}
|
|
150
767
|
]
|
|
151
768
|
default: void
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
"
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
"
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
"8": "boolean",
|
|
226
|
-
"9": "rotations",
|
|
227
|
-
"10": "block_pos",
|
|
228
|
-
"11": "optional_block_pos",
|
|
229
|
-
"12": "direction",
|
|
230
|
-
"13": "optional_uuid",
|
|
231
|
-
"14": "block_state",
|
|
232
|
-
"15": "optional_block_state",
|
|
233
|
-
"16": "compound_tag",
|
|
234
|
-
"17": "particle",
|
|
235
|
-
"18": "villager_data",
|
|
236
|
-
"19": "optional_unsigned_int",
|
|
237
|
-
"20": "pose",
|
|
238
|
-
"21": "cat_variant",
|
|
239
|
-
"22": "frog_variant",
|
|
240
|
-
"23": "optional_global_pos",
|
|
241
|
-
"24": "painting_variant",
|
|
242
|
-
"25": "sniffer_state",
|
|
243
|
-
"26": "vector3",
|
|
244
|
-
"27": "quaternion"
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
]
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
"name": "value",
|
|
251
|
-
"type": [
|
|
252
|
-
"entityMetadataItem",
|
|
253
|
-
{
|
|
254
|
-
"compareTo": "type"
|
|
255
|
-
}
|
|
256
|
-
]
|
|
257
|
-
}
|
|
258
|
-
]
|
|
259
|
-
]
|
|
260
|
-
}
|
|
261
|
-
]
|
|
769
|
+
entityMetadataEntry:
|
|
770
|
+
key: u8
|
|
771
|
+
type: varint =>
|
|
772
|
+
- byte
|
|
773
|
+
- int
|
|
774
|
+
- long
|
|
775
|
+
- float
|
|
776
|
+
- string
|
|
777
|
+
- component
|
|
778
|
+
- optional_component
|
|
779
|
+
- item_stack
|
|
780
|
+
- boolean
|
|
781
|
+
- rotations
|
|
782
|
+
- block_pos
|
|
783
|
+
- optional_block_pos
|
|
784
|
+
- direction
|
|
785
|
+
- optional_uuid
|
|
786
|
+
- block_state
|
|
787
|
+
- optional_block_state
|
|
788
|
+
- compound_tag
|
|
789
|
+
- particle
|
|
790
|
+
- particles
|
|
791
|
+
- villager_data
|
|
792
|
+
- optional_unsigned_int
|
|
793
|
+
- pose
|
|
794
|
+
- cat_variant
|
|
795
|
+
- wolf_variant
|
|
796
|
+
- frog_variant
|
|
797
|
+
- optional_global_pos
|
|
798
|
+
- painting_variant
|
|
799
|
+
- sniffer_state
|
|
800
|
+
- armadillo_state
|
|
801
|
+
- vector3
|
|
802
|
+
- quaternion
|
|
803
|
+
value: type ?
|
|
804
|
+
if byte: i8
|
|
805
|
+
if int: varint
|
|
806
|
+
if long: varlong
|
|
807
|
+
if float: f32
|
|
808
|
+
if string: string
|
|
809
|
+
if component: anonymousNbt
|
|
810
|
+
if optional_component: ["option", "anonymousNbt"]
|
|
811
|
+
if item_stack: Slot
|
|
812
|
+
if boolean: bool
|
|
813
|
+
if rotations:
|
|
814
|
+
pitch: f32
|
|
815
|
+
yaw: f32
|
|
816
|
+
roll: f32
|
|
817
|
+
if block_pos: position
|
|
818
|
+
if optional_block_pos: ["option", "position"]
|
|
819
|
+
if direction: varint
|
|
820
|
+
if optional_uuid: ["option", "UUID"]
|
|
821
|
+
if block_state: varint
|
|
822
|
+
if optional_block_state: optvarint
|
|
823
|
+
if compound_tag: anonymousNbt
|
|
824
|
+
if particle: Particle
|
|
825
|
+
if particles: Particle[]varint
|
|
826
|
+
if villager_data:
|
|
827
|
+
villagerType: varint
|
|
828
|
+
villagerProfession: varint
|
|
829
|
+
level: varint
|
|
830
|
+
if optional_unsigned_int: optvarint
|
|
831
|
+
if pose: varint
|
|
832
|
+
if cat_variant: varint
|
|
833
|
+
if wolf_variant: varint
|
|
834
|
+
if frog_variant: varint
|
|
835
|
+
if optional_global_pos: ["option", "string"]
|
|
836
|
+
if painting_variant: varint
|
|
837
|
+
if sniffer_state: varint
|
|
838
|
+
if armadillo_state: varint
|
|
839
|
+
if vector3: vec3f
|
|
840
|
+
if quaternion: vec4f
|
|
841
|
+
entityMetadata: ["entityMetadataLoop", { "endVal": 255, "type": "entityMetadataEntry" }]
|
|
262
842
|
minecraft_simple_recipe_format:
|
|
263
843
|
category: varint
|
|
264
844
|
minecraft_smelting_format:
|
|
265
845
|
group: string
|
|
266
846
|
category: varint
|
|
267
847
|
ingredient: ingredient
|
|
268
|
-
result:
|
|
848
|
+
result: Slot
|
|
269
849
|
experience: f32
|
|
270
850
|
cookTime: varint
|
|
271
851
|
tags: []varint
|
|
@@ -354,56 +934,60 @@
|
|
|
354
934
|
if 2:
|
|
355
935
|
name: string
|
|
356
936
|
parser: varint =>
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
937
|
+
- brigadier:bool
|
|
938
|
+
- brigadier:float
|
|
939
|
+
- brigadier:double
|
|
940
|
+
- brigadier:integer
|
|
941
|
+
- brigadier:long
|
|
942
|
+
- brigadier:string
|
|
943
|
+
- minecraft:entity
|
|
944
|
+
- minecraft:game_profile
|
|
945
|
+
- minecraft:block_pos
|
|
946
|
+
- minecraft:column_pos
|
|
947
|
+
- minecraft:vec3
|
|
948
|
+
- minecraft:vec2
|
|
949
|
+
- minecraft:block_state
|
|
950
|
+
- minecraft:block_predicate
|
|
951
|
+
- minecraft:item_stack
|
|
952
|
+
- minecraft:item_predicate
|
|
953
|
+
- minecraft:color
|
|
954
|
+
- minecraft:component
|
|
955
|
+
- minecraft:style
|
|
956
|
+
- minecraft:message
|
|
957
|
+
- minecraft:nbt
|
|
958
|
+
- minecraft:nbt_tag
|
|
959
|
+
- minecraft:nbt_path
|
|
960
|
+
- minecraft:objective
|
|
961
|
+
- minecraft:objective_criteria
|
|
962
|
+
- minecraft:operation
|
|
963
|
+
- minecraft:particle
|
|
964
|
+
- minecraft:angle
|
|
965
|
+
- minecraft:rotation
|
|
966
|
+
- minecraft:scoreboard_slot
|
|
967
|
+
- minecraft:score_holder
|
|
968
|
+
- minecraft:swizzle
|
|
969
|
+
- minecraft:team
|
|
970
|
+
- minecraft:item_slot
|
|
971
|
+
- minecraft:item_slots # 1.20.5
|
|
972
|
+
- minecraft:resource_location
|
|
973
|
+
- minecraft:function
|
|
974
|
+
- minecraft:entity_anchor
|
|
975
|
+
- minecraft:int_range
|
|
976
|
+
- minecraft:float_range
|
|
977
|
+
- minecraft:dimension
|
|
978
|
+
- minecraft:gamemode
|
|
979
|
+
- minecraft:time
|
|
980
|
+
- minecraft:resource_or_tag
|
|
981
|
+
- minecraft:resource_or_tag_key
|
|
982
|
+
- minecraft:resource
|
|
983
|
+
- minecraft:resource_key
|
|
984
|
+
- minecraft:template_mirror
|
|
985
|
+
- minecraft:template_rotation
|
|
986
|
+
- minecraft:heightmap
|
|
987
|
+
- minecraft:loot_table # 1.20.5
|
|
988
|
+
- minecraft:loot_predicate # 1.20.5
|
|
989
|
+
- minecraft:loot_modifier # 1.20.5
|
|
990
|
+
- minecraft:uuid
|
|
407
991
|
properties: parser ?
|
|
408
992
|
if brigadier:bool: void
|
|
409
993
|
if brigadier:float:
|
|
@@ -601,6 +1185,33 @@
|
|
|
601
1185
|
suggestionType: ../flags/has_custom_suggestions ?
|
|
602
1186
|
if 1: string
|
|
603
1187
|
default: void
|
|
1188
|
+
# # Shared Packets
|
|
1189
|
+
# These are packets that are shared between multiple states.
|
|
1190
|
+
# They are defined here to avoid duplication.
|
|
1191
|
+
# =====
|
|
1192
|
+
# MC: ClientboundCookieRequestPacket
|
|
1193
|
+
packet_common_cookie_request:
|
|
1194
|
+
cookie: string
|
|
1195
|
+
# MC: ClientboundStoreCookiePacket
|
|
1196
|
+
packet_common_store_cookie:
|
|
1197
|
+
key: string
|
|
1198
|
+
value: ByteArray
|
|
1199
|
+
# MC: ClientboundTransferPacket
|
|
1200
|
+
packet_common_transfer:
|
|
1201
|
+
host: string
|
|
1202
|
+
port: varint
|
|
1203
|
+
# MC: ServerboundCookieResponsePacket
|
|
1204
|
+
packet_common_cookie_response:
|
|
1205
|
+
key: string
|
|
1206
|
+
value: ByteArray
|
|
1207
|
+
# MC: ServerboundSelectKnownPacks
|
|
1208
|
+
# MC: ClientboundSelectKnownPacks
|
|
1209
|
+
packet_common_select_known_packs:
|
|
1210
|
+
packs: []varint
|
|
1211
|
+
namespace: string
|
|
1212
|
+
id: string
|
|
1213
|
+
version: string
|
|
1214
|
+
|
|
604
1215
|
^handshaking.toClient.types:
|
|
605
1216
|
packet:
|
|
606
1217
|
name: varint =>
|
|
@@ -667,6 +1278,7 @@
|
|
|
667
1278
|
"countType": "varint"
|
|
668
1279
|
}
|
|
669
1280
|
]
|
|
1281
|
+
shouldAuthenticate: bool
|
|
670
1282
|
# MC: ClientboundGameProfilePacket
|
|
671
1283
|
packet_success:
|
|
672
1284
|
uuid: UUID
|
|
@@ -675,6 +1287,7 @@
|
|
|
675
1287
|
name: string
|
|
676
1288
|
value: string
|
|
677
1289
|
signature?: string
|
|
1290
|
+
strictErrorHandling: bool
|
|
678
1291
|
# MC: ClientboundLoginCompressionPacket
|
|
679
1292
|
packet_compress:
|
|
680
1293
|
threshold: varint
|
|
@@ -683,6 +1296,7 @@
|
|
|
683
1296
|
messageId: varint
|
|
684
1297
|
channel: string
|
|
685
1298
|
data: restBuffer
|
|
1299
|
+
## (Cookie Request is Common) ##
|
|
686
1300
|
packet:
|
|
687
1301
|
name: varint =>
|
|
688
1302
|
- disconnect
|
|
@@ -690,12 +1304,14 @@
|
|
|
690
1304
|
- success
|
|
691
1305
|
- compress
|
|
692
1306
|
- login_plugin_request
|
|
1307
|
+
- cookie_request
|
|
693
1308
|
params: name ?
|
|
694
1309
|
if disconnect: packet_disconnect
|
|
695
1310
|
if encryption_begin: packet_encryption_begin
|
|
696
1311
|
if success: packet_success
|
|
697
1312
|
if compress: packet_compress
|
|
698
1313
|
if login_plugin_request: packet_login_plugin_request
|
|
1314
|
+
if cookie_request: packet_common_cookie_request
|
|
699
1315
|
^login.toServer.types:
|
|
700
1316
|
# MC: ServerboundHelloPacket
|
|
701
1317
|
packet_login_start:
|
|
@@ -722,18 +1338,22 @@
|
|
|
722
1338
|
# MC: ServerboundLoginAcknowledgedPacket
|
|
723
1339
|
packet_login_acknowledged:
|
|
724
1340
|
# Empty
|
|
1341
|
+
## (Cookie Response is Common) ##
|
|
725
1342
|
packet:
|
|
726
1343
|
name: varint =>
|
|
727
1344
|
- login_start
|
|
728
1345
|
- encryption_begin
|
|
729
1346
|
- login_plugin_response
|
|
730
1347
|
- login_acknowledged
|
|
1348
|
+
- cookie_response
|
|
731
1349
|
params: name ?
|
|
732
1350
|
if login_start: packet_login_start
|
|
733
1351
|
if encryption_begin: packet_encryption_begin
|
|
734
1352
|
if login_plugin_response: packet_login_plugin_response
|
|
735
1353
|
if login_acknowledged: packet_login_acknowledged
|
|
1354
|
+
if cookie_response: packet_common_cookie_response
|
|
736
1355
|
^configuration.toClient.types:
|
|
1356
|
+
## (Cookie Request is common)
|
|
737
1357
|
# MC: ClientboundCustomPayloadPacket
|
|
738
1358
|
packet_custom_payload:
|
|
739
1359
|
channel: string
|
|
@@ -750,9 +1370,16 @@
|
|
|
750
1370
|
# MC: ClientboundPingPacket
|
|
751
1371
|
packet_ping:
|
|
752
1372
|
id: i32
|
|
1373
|
+
# MC: ClientboundResetChatPacket
|
|
1374
|
+
packet_reset_chat:
|
|
1375
|
+
# Empty
|
|
753
1376
|
# MC: ClientboundRegistryDataPacket
|
|
754
1377
|
packet_registry_data:
|
|
755
|
-
|
|
1378
|
+
# The server can send multiple registries
|
|
1379
|
+
id: string
|
|
1380
|
+
entries: []varint
|
|
1381
|
+
key: string
|
|
1382
|
+
value?: anonymousNbt
|
|
756
1383
|
# MC: ClientboundResourcePackPopPacket
|
|
757
1384
|
packet_remove_resource_pack:
|
|
758
1385
|
uuid?: UUID
|
|
@@ -763,6 +1390,7 @@
|
|
|
763
1390
|
hash: string
|
|
764
1391
|
forced: bool
|
|
765
1392
|
promptMessage?: anonymousNbt
|
|
1393
|
+
## (Store cookie and Transfer are Common) ##
|
|
766
1394
|
# MC: ClientboundUpdateEnabledFeaturesPacket
|
|
767
1395
|
packet_feature_flags:
|
|
768
1396
|
features: string[]varint
|
|
@@ -771,29 +1399,40 @@
|
|
|
771
1399
|
tags: []varint
|
|
772
1400
|
tagType: string
|
|
773
1401
|
tags: tags
|
|
1402
|
+
## (Select known packs is common)
|
|
774
1403
|
packet:
|
|
775
1404
|
name: varint =>
|
|
1405
|
+
- cookie_request
|
|
776
1406
|
- custom_payload
|
|
777
1407
|
- disconnect
|
|
778
1408
|
- finish_configuration
|
|
779
1409
|
- keep_alive
|
|
780
1410
|
- ping
|
|
1411
|
+
- reset_chat
|
|
781
1412
|
- registry_data
|
|
782
1413
|
- remove_resource_pack
|
|
783
1414
|
- add_resource_pack
|
|
1415
|
+
- store_cookie
|
|
1416
|
+
- transfer
|
|
784
1417
|
- feature_flags
|
|
785
1418
|
- tags
|
|
1419
|
+
- select_known_packs
|
|
786
1420
|
params: name ?
|
|
1421
|
+
if cookie_request: packet_common_cookie_request
|
|
787
1422
|
if custom_payload: packet_custom_payload
|
|
788
1423
|
if disconnect: packet_disconnect
|
|
789
1424
|
if finish_configuration: packet_finish_configuration
|
|
790
1425
|
if keep_alive: packet_keep_alive
|
|
791
1426
|
if ping: packet_ping
|
|
1427
|
+
if reset_chat: packet_reset_chat
|
|
792
1428
|
if registry_data: packet_registry_data
|
|
793
1429
|
if remove_resource_pack: packet_remove_resource_pack
|
|
794
1430
|
if add_resource_pack: packet_add_resource_pack
|
|
1431
|
+
if store_cookie: packet_common_store_cookie
|
|
1432
|
+
if transfer: packet_common_transfer
|
|
795
1433
|
if feature_flags: packet_feature_flags
|
|
796
1434
|
if tags: packet_tags
|
|
1435
|
+
if select_known_packs: packet_common_select_known_packs
|
|
797
1436
|
^configuration.toServer.types:
|
|
798
1437
|
# MC: ServerboundClientInformationPacket
|
|
799
1438
|
packet_settings:
|
|
@@ -805,6 +1444,7 @@
|
|
|
805
1444
|
mainHand: varint
|
|
806
1445
|
enableTextFiltering: bool
|
|
807
1446
|
enableServerListing: bool
|
|
1447
|
+
## (Cookie Response is Common) ##
|
|
808
1448
|
# MC: ServerboundCustomPayloadPacket
|
|
809
1449
|
packet_custom_payload:
|
|
810
1450
|
channel: string
|
|
@@ -825,19 +1465,41 @@
|
|
|
825
1465
|
packet:
|
|
826
1466
|
name: varint =>
|
|
827
1467
|
- settings
|
|
1468
|
+
- cookie_response
|
|
828
1469
|
- custom_payload
|
|
829
1470
|
- finish_configuration
|
|
830
1471
|
- keep_alive
|
|
831
1472
|
- pong
|
|
832
1473
|
- resource_pack_receive
|
|
1474
|
+
- select_known_packs
|
|
833
1475
|
params: name ?
|
|
834
1476
|
if settings: packet_settings
|
|
1477
|
+
if cookie_response: packet_common_cookie_response
|
|
835
1478
|
if custom_payload: packet_custom_payload
|
|
836
1479
|
if finish_configuration: packet_finish_configuration
|
|
837
1480
|
if keep_alive: packet_keep_alive
|
|
838
1481
|
if pong: packet_pong
|
|
839
1482
|
if resource_pack_receive: packet_resource_pack_receive
|
|
1483
|
+
if select_known_packs: packet_common_select_known_packs
|
|
840
1484
|
^play.toClient.types:
|
|
1485
|
+
# World state information for spawn and respawn packets
|
|
1486
|
+
SpawnInfo:
|
|
1487
|
+
dimension: varint
|
|
1488
|
+
name: string
|
|
1489
|
+
hashedSeed: i64
|
|
1490
|
+
gamemode: i8 =>
|
|
1491
|
+
- survival
|
|
1492
|
+
- creative
|
|
1493
|
+
- adventure
|
|
1494
|
+
- spectator
|
|
1495
|
+
previousGamemode: u8
|
|
1496
|
+
isDebug: bool
|
|
1497
|
+
isFlat: bool
|
|
1498
|
+
death?:
|
|
1499
|
+
dimensionName: string
|
|
1500
|
+
location: position
|
|
1501
|
+
portalCooldown: varint
|
|
1502
|
+
|
|
841
1503
|
# MC: ClientboundAddEntityPacket
|
|
842
1504
|
packet_spawn_entity:
|
|
843
1505
|
entityId: varint
|
|
@@ -870,57 +1532,9 @@
|
|
|
870
1532
|
categoryId: varint
|
|
871
1533
|
statisticId: varint
|
|
872
1534
|
value: varint
|
|
873
|
-
# MC:
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
advancementMapping: []varint
|
|
877
|
-
key: string
|
|
878
|
-
value:
|
|
879
|
-
parentId?: string
|
|
880
|
-
displayData?:
|
|
881
|
-
title: anonymousNbt
|
|
882
|
-
description: anonymousNbt
|
|
883
|
-
icon: slot
|
|
884
|
-
frameType: varint
|
|
885
|
-
flags: [
|
|
886
|
-
"bitfield",
|
|
887
|
-
[
|
|
888
|
-
{
|
|
889
|
-
"name": "_unused",
|
|
890
|
-
"size": 29,
|
|
891
|
-
"signed": false
|
|
892
|
-
},
|
|
893
|
-
{
|
|
894
|
-
"name": "hidden",
|
|
895
|
-
"size": 1,
|
|
896
|
-
"signed": false
|
|
897
|
-
},
|
|
898
|
-
{
|
|
899
|
-
"name": "show_toast",
|
|
900
|
-
"size": 1,
|
|
901
|
-
"signed": false
|
|
902
|
-
},
|
|
903
|
-
{
|
|
904
|
-
"name": "has_background_texture",
|
|
905
|
-
"size": 1,
|
|
906
|
-
"signed": false
|
|
907
|
-
}
|
|
908
|
-
]
|
|
909
|
-
]
|
|
910
|
-
backgroundTexture: flags/has_background_texture ?
|
|
911
|
-
if 1: string
|
|
912
|
-
default: void
|
|
913
|
-
xCord: f32
|
|
914
|
-
yCord: f32
|
|
915
|
-
requirements: []varint
|
|
916
|
-
_: string[]varint
|
|
917
|
-
sendsTelemtryData: bool
|
|
918
|
-
identifiers: string[]varint
|
|
919
|
-
progressMapping: []varint
|
|
920
|
-
key: string
|
|
921
|
-
value: []varint
|
|
922
|
-
criterionIdentifier: string
|
|
923
|
-
criterionProgress?: i64
|
|
1535
|
+
# MC: ClientboundBlockChangedAckPacket
|
|
1536
|
+
packet_acknowledge_player_digging:
|
|
1537
|
+
sequenceId: varint
|
|
924
1538
|
# MC: ClientboundBlockDestructionPacket
|
|
925
1539
|
packet_block_break_animation:
|
|
926
1540
|
entityId: varint
|
|
@@ -975,6 +1589,14 @@
|
|
|
975
1589
|
# MC: ClientboundChunkBatchStartPacket
|
|
976
1590
|
packet_chunk_batch_start:
|
|
977
1591
|
# Empty
|
|
1592
|
+
# MC: ClientboundChunksBiomesPacket
|
|
1593
|
+
packet_chunk_biomes:
|
|
1594
|
+
biomes: []varint
|
|
1595
|
+
position: packedChunkPos
|
|
1596
|
+
data: ByteArray
|
|
1597
|
+
# MC: ClientboundClearTitlesPacket
|
|
1598
|
+
packet_clear_titles:
|
|
1599
|
+
reset: bool
|
|
978
1600
|
# MC: ClientboundCommandSuggestionsPacket
|
|
979
1601
|
packet_tab_complete:
|
|
980
1602
|
transactionId: varint
|
|
@@ -987,60 +1609,15 @@
|
|
|
987
1609
|
packet_declare_commands:
|
|
988
1610
|
nodes: command_node[]varint
|
|
989
1611
|
rootIndex: varint
|
|
990
|
-
# MC: ClientboundPlayerLookAtPacket
|
|
991
|
-
packet_face_player:
|
|
992
|
-
feet_eyes: varint
|
|
993
|
-
x: f64
|
|
994
|
-
y: f64
|
|
995
|
-
z: f64
|
|
996
|
-
isEntity: bool
|
|
997
|
-
entityId: isEntity ?
|
|
998
|
-
if true: varint
|
|
999
|
-
default: void
|
|
1000
|
-
entity_feet_eyes: isEntity ?
|
|
1001
|
-
if true: varint
|
|
1002
|
-
default: void
|
|
1003
|
-
# MC: ClientboundTagQueryPacket
|
|
1004
|
-
packet_nbt_query_response:
|
|
1005
|
-
transactionId: varint
|
|
1006
|
-
nbt: anonOptionalNbt
|
|
1007
|
-
# MC: ClientboundSectionBlocksUpdatePacket
|
|
1008
|
-
packet_multi_block_change:
|
|
1009
|
-
chunkCoordinates: [
|
|
1010
|
-
"bitfield",
|
|
1011
|
-
[
|
|
1012
|
-
{
|
|
1013
|
-
"name": "x",
|
|
1014
|
-
"size": 22,
|
|
1015
|
-
"signed": true
|
|
1016
|
-
},
|
|
1017
|
-
{
|
|
1018
|
-
"name": "z",
|
|
1019
|
-
"size": 22,
|
|
1020
|
-
"signed": true
|
|
1021
|
-
},
|
|
1022
|
-
{
|
|
1023
|
-
"name": "y",
|
|
1024
|
-
"size": 20,
|
|
1025
|
-
"signed": true
|
|
1026
|
-
}
|
|
1027
|
-
]
|
|
1028
|
-
]
|
|
1029
|
-
records: varint[]varint
|
|
1030
1612
|
# MC: ClientboundContainerClosePacket
|
|
1031
1613
|
packet_close_window:
|
|
1032
1614
|
windowId: u8
|
|
1033
|
-
# MC: ClientboundOpenScreenPacket
|
|
1034
|
-
packet_open_window:
|
|
1035
|
-
windowId: varint
|
|
1036
|
-
inventoryType: varint
|
|
1037
|
-
windowTitle: anonymousNbt
|
|
1038
1615
|
# MC: ClientboundContainerSetContentPacket
|
|
1039
1616
|
packet_window_items:
|
|
1040
1617
|
windowId: u8
|
|
1041
1618
|
stateId: varint
|
|
1042
|
-
items:
|
|
1043
|
-
carriedItem:
|
|
1619
|
+
items: Slot[]varint
|
|
1620
|
+
carriedItem: Slot
|
|
1044
1621
|
# MC: ClientboundContainerSetDataPacket
|
|
1045
1622
|
packet_craft_progress_bar:
|
|
1046
1623
|
windowId: u8
|
|
@@ -1051,7 +1628,8 @@
|
|
|
1051
1628
|
windowId: i8
|
|
1052
1629
|
stateId: varint
|
|
1053
1630
|
slot: i16
|
|
1054
|
-
item:
|
|
1631
|
+
item: Slot
|
|
1632
|
+
## (Cookie Request is Common)
|
|
1055
1633
|
# MC: ClientboundCooldownPacket
|
|
1056
1634
|
packet_set_cooldown:
|
|
1057
1635
|
itemID: varint
|
|
@@ -1064,6 +1642,17 @@
|
|
|
1064
1642
|
packet_custom_payload:
|
|
1065
1643
|
channel: string
|
|
1066
1644
|
data: restBuffer
|
|
1645
|
+
# MC: ClientboundDamageEventPacket
|
|
1646
|
+
packet_damage_event:
|
|
1647
|
+
entityId: varint
|
|
1648
|
+
sourceTypeId: varint
|
|
1649
|
+
sourceCauseId: varint
|
|
1650
|
+
sourceDirectId: varint
|
|
1651
|
+
sourcePosition?: vec3f64
|
|
1652
|
+
# MC: ClientboundDebugSamplePacket
|
|
1653
|
+
packet_debug_sample:
|
|
1654
|
+
sample: i64[]varint
|
|
1655
|
+
type: varint
|
|
1067
1656
|
# MC: ClientboundDeleteChatPacket
|
|
1068
1657
|
packet_hide_message:
|
|
1069
1658
|
id: varint
|
|
@@ -1102,8 +1691,8 @@
|
|
|
1102
1691
|
playerMotionY: f32
|
|
1103
1692
|
playerMotionZ: f32
|
|
1104
1693
|
block_interaction_type: varint
|
|
1105
|
-
small_explosion_particle:
|
|
1106
|
-
large_explosion_particle:
|
|
1694
|
+
small_explosion_particle: Particle
|
|
1695
|
+
large_explosion_particle: Particle
|
|
1107
1696
|
explosion_sound_name: string
|
|
1108
1697
|
sound_range?: f32
|
|
1109
1698
|
# MC: ClientboundForgetLevelChunkPacket
|
|
@@ -1119,6 +1708,20 @@
|
|
|
1119
1708
|
windowId: u8
|
|
1120
1709
|
nbSlots: varint
|
|
1121
1710
|
entityId: i32
|
|
1711
|
+
# MC: ClientboundHurtAnimationPacket
|
|
1712
|
+
packet_hurt_animation:
|
|
1713
|
+
entityId: varint
|
|
1714
|
+
yaw: f32
|
|
1715
|
+
# MC: ClientboundInitializeBorderPacket
|
|
1716
|
+
packet_initialize_world_border:
|
|
1717
|
+
x: f64
|
|
1718
|
+
z: f64
|
|
1719
|
+
oldDiameter: f64
|
|
1720
|
+
newDiameter: f64
|
|
1721
|
+
speed: varint
|
|
1722
|
+
portalTeleportBoundary: varint
|
|
1723
|
+
warningBlocks: varint
|
|
1724
|
+
warningTime: varint
|
|
1122
1725
|
# MC: ClientboundKeepAlivePacket
|
|
1123
1726
|
packet_keep_alive:
|
|
1124
1727
|
keepAliveId: i64
|
|
@@ -1150,7 +1753,6 @@
|
|
|
1150
1753
|
global: bool
|
|
1151
1754
|
# MC: ClientboundLevelParticlesPacket
|
|
1152
1755
|
packet_world_particles:
|
|
1153
|
-
particleId: varint
|
|
1154
1756
|
longDistance: bool
|
|
1155
1757
|
x: f64
|
|
1156
1758
|
y: f64
|
|
@@ -1158,14 +1760,9 @@
|
|
|
1158
1760
|
offsetX: f32
|
|
1159
1761
|
offsetY: f32
|
|
1160
1762
|
offsetZ: f32
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
"particleData",
|
|
1165
|
-
{
|
|
1166
|
-
"compareTo": "particleId"
|
|
1167
|
-
}
|
|
1168
|
-
]
|
|
1763
|
+
velocityOffset: f32
|
|
1764
|
+
amount: i32
|
|
1765
|
+
particle: Particle
|
|
1169
1766
|
# MC: ClientboundLightUpdatePacket
|
|
1170
1767
|
packet_update_light:
|
|
1171
1768
|
chunkX: varint
|
|
@@ -1189,17 +1786,8 @@
|
|
|
1189
1786
|
reducedDebugInfo: bool
|
|
1190
1787
|
enableRespawnScreen: bool
|
|
1191
1788
|
doLimitedCrafting: bool
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
hashedSeed: i64
|
|
1195
|
-
gameMode: u8
|
|
1196
|
-
previousGameMode: i8
|
|
1197
|
-
isDebug: bool
|
|
1198
|
-
isFlat: bool
|
|
1199
|
-
death?:
|
|
1200
|
-
dimensionName: string
|
|
1201
|
-
location: position
|
|
1202
|
-
portalCooldown: varint
|
|
1789
|
+
worldState: SpawnInfo
|
|
1790
|
+
enforcesSecureChat: bool
|
|
1203
1791
|
# MC: ClientboundMapItemDataPacket
|
|
1204
1792
|
packet_map:
|
|
1205
1793
|
itemDamage: varint
|
|
@@ -1232,10 +1820,19 @@
|
|
|
1232
1820
|
# MC: ClientboundMerchantOffersPacket
|
|
1233
1821
|
packet_trade_list:
|
|
1234
1822
|
windowId: varint
|
|
1823
|
+
## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.20.5/client/net/minecraft/world/item/trading/MerchantOffer.java#L210
|
|
1235
1824
|
trades: []varint
|
|
1236
|
-
inputItem1:
|
|
1237
|
-
|
|
1238
|
-
|
|
1825
|
+
inputItem1:
|
|
1826
|
+
itemId: varint
|
|
1827
|
+
itemCount: varint
|
|
1828
|
+
addedComponentCount: varint
|
|
1829
|
+
components: SlotComponent[]$addedComponentCount
|
|
1830
|
+
outputItem: Slot
|
|
1831
|
+
inputItem2?:
|
|
1832
|
+
itemId: varint
|
|
1833
|
+
itemCount: varint
|
|
1834
|
+
addedComponentCount: varint
|
|
1835
|
+
components: SlotComponent[]$addedComponentCount
|
|
1239
1836
|
tradeDisabled: bool
|
|
1240
1837
|
nbTradeUses: i32
|
|
1241
1838
|
maximumNbTradeUses: i32
|
|
@@ -1279,10 +1876,21 @@
|
|
|
1279
1876
|
# MC: ClientboundOpenBookPacket
|
|
1280
1877
|
packet_open_book:
|
|
1281
1878
|
hand: varint
|
|
1879
|
+
# MC: ClientboundOpenScreenPacket
|
|
1880
|
+
packet_open_window:
|
|
1881
|
+
windowId: varint
|
|
1882
|
+
inventoryType: varint
|
|
1883
|
+
windowTitle: anonymousNbt
|
|
1282
1884
|
# MC: ClientboundOpenSignEditorPacket
|
|
1283
1885
|
packet_open_sign_entity:
|
|
1284
1886
|
location: position
|
|
1285
1887
|
isFrontText: bool
|
|
1888
|
+
# MC: ClientboundPingPacket
|
|
1889
|
+
packet_ping:
|
|
1890
|
+
id: i32
|
|
1891
|
+
# MC: ClientboundPongResponsePacket
|
|
1892
|
+
packet_ping_response:
|
|
1893
|
+
id: i64
|
|
1286
1894
|
# MC: ClientboundPlaceGhostRecipePacket
|
|
1287
1895
|
packet_craft_recipe_response:
|
|
1288
1896
|
windowId: i8
|
|
@@ -1632,6 +2240,19 @@
|
|
|
1632
2240
|
"anonymousNbt"
|
|
1633
2241
|
]
|
|
1634
2242
|
default: void
|
|
2243
|
+
# MC: ClientboundPlayerLookAtPacket
|
|
2244
|
+
packet_face_player:
|
|
2245
|
+
feet_eyes: varint
|
|
2246
|
+
x: f64
|
|
2247
|
+
y: f64
|
|
2248
|
+
z: f64
|
|
2249
|
+
isEntity: bool
|
|
2250
|
+
entityId: isEntity ?
|
|
2251
|
+
if true: varint
|
|
2252
|
+
default: void
|
|
2253
|
+
entity_feet_eyes: isEntity ?
|
|
2254
|
+
if true: varint
|
|
2255
|
+
default: void
|
|
1635
2256
|
# MC: ClientboundPlayerPositionPacket
|
|
1636
2257
|
packet_position:
|
|
1637
2258
|
x: f64
|
|
@@ -1679,22 +2300,48 @@
|
|
|
1679
2300
|
promptMessage?: anonymousNbt
|
|
1680
2301
|
# MC: ClientboundRespawnPacket
|
|
1681
2302
|
packet_respawn:
|
|
1682
|
-
|
|
1683
|
-
worldName: string
|
|
1684
|
-
hashedSeed: i64
|
|
1685
|
-
gamemode: i8
|
|
1686
|
-
previousGamemode: u8
|
|
1687
|
-
isDebug: bool
|
|
1688
|
-
isFlat: bool
|
|
1689
|
-
death?:
|
|
1690
|
-
dimensionName: string
|
|
1691
|
-
location: position
|
|
1692
|
-
portalCooldown: varint
|
|
2303
|
+
worldState: SpawnInfo
|
|
1693
2304
|
copyMetadata: bool
|
|
1694
2305
|
# MC: ClientboundRotateHeadPacket
|
|
1695
2306
|
packet_entity_head_rotation:
|
|
1696
2307
|
entityId: varint
|
|
1697
2308
|
headYaw: i8
|
|
2309
|
+
# MC: ClientboundSectionBlocksUpdatePacket
|
|
2310
|
+
packet_multi_block_change:
|
|
2311
|
+
chunkCoordinates: [ "bitfield", [
|
|
2312
|
+
{ "name": "x", "size": 22, "signed": true },
|
|
2313
|
+
{ "name": "z", "size": 22, "signed": true },
|
|
2314
|
+
{ "name": "y", "size": 20, "signed": true }
|
|
2315
|
+
]]
|
|
2316
|
+
records: varint[]varint
|
|
2317
|
+
# MC: ClientboundSelectAdvancementsTabPacket
|
|
2318
|
+
packet_select_advancement_tab:
|
|
2319
|
+
id?: string
|
|
2320
|
+
# MC: ClientboundServerDataPacket
|
|
2321
|
+
packet_server_data:
|
|
2322
|
+
motd: anonymousNbt
|
|
2323
|
+
iconBytes?: ByteArray
|
|
2324
|
+
# MC: ClientboundSetActionBarTextPacket
|
|
2325
|
+
packet_action_bar:
|
|
2326
|
+
text: anonymousNbt
|
|
2327
|
+
# MC: ClientboundSetBorderCenterPacket
|
|
2328
|
+
packet_world_border_center:
|
|
2329
|
+
x: f64
|
|
2330
|
+
z: f64
|
|
2331
|
+
# MC: ClientboundSetBorderLerpSizePacket
|
|
2332
|
+
packet_world_border_lerp_size:
|
|
2333
|
+
oldDiameter: f64
|
|
2334
|
+
newDiameter: f64
|
|
2335
|
+
speed: varint
|
|
2336
|
+
# MC: ClientboundSetBorderSizePacket
|
|
2337
|
+
packet_world_border_size:
|
|
2338
|
+
diameter: f64
|
|
2339
|
+
# MC: ClientboundSetBorderWarningDelayPacket
|
|
2340
|
+
packet_world_border_warning_delay:
|
|
2341
|
+
warningTime: varint
|
|
2342
|
+
# MC: ClientboundSetBorderWarningDistancePacket
|
|
2343
|
+
packet_world_border_warning_reach:
|
|
2344
|
+
warningBlocks: varint
|
|
1698
2345
|
# MC: ClientboundSetCameraPacket
|
|
1699
2346
|
packet_camera:
|
|
1700
2347
|
cameraId: varint
|
|
@@ -1708,6 +2355,10 @@
|
|
|
1708
2355
|
# MC: ClientboundSetChunkCacheRadiusPacket
|
|
1709
2356
|
packet_update_view_distance:
|
|
1710
2357
|
viewDistance: varint
|
|
2358
|
+
# MC: ClientboundSetDefaultSpawnPositionPacket
|
|
2359
|
+
packet_spawn_position:
|
|
2360
|
+
location: position
|
|
2361
|
+
angle: f32
|
|
1711
2362
|
# MC: ClientboundSetDisplayObjectivePacket
|
|
1712
2363
|
packet_scoreboard_display_objective:
|
|
1713
2364
|
position: varint
|
|
@@ -1741,7 +2392,7 @@
|
|
|
1741
2392
|
},
|
|
1742
2393
|
{
|
|
1743
2394
|
"name": "item",
|
|
1744
|
-
"type": "
|
|
2395
|
+
"type": "Slot"
|
|
1745
2396
|
}
|
|
1746
2397
|
]
|
|
1747
2398
|
]
|
|
@@ -1841,14 +2492,24 @@
|
|
|
1841
2492
|
if 1: anonymousNbt
|
|
1842
2493
|
if 2: anonymousNbt
|
|
1843
2494
|
default: void
|
|
1844
|
-
# MC:
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
2495
|
+
# MC: ClientboundSetSimulationDistancePacket
|
|
2496
|
+
packet_simulation_distance:
|
|
2497
|
+
distance: varint
|
|
2498
|
+
# MC: ClientboundSetSubtitleTextPacket
|
|
2499
|
+
packet_set_title_subtitle:
|
|
2500
|
+
text: anonymousNbt
|
|
2501
|
+
# MC: ClientboundSetTimePacket
|
|
2502
|
+
packet_update_time:
|
|
2503
|
+
age: i64
|
|
2504
|
+
time: i64
|
|
2505
|
+
# MC: ClientboundSetTitleTextPacket
|
|
2506
|
+
packet_set_title_text:
|
|
2507
|
+
text: anonymousNbt
|
|
2508
|
+
# MC: ClientboundSetTitlesAnimationPacket
|
|
2509
|
+
packet_set_title_time:
|
|
2510
|
+
fadeIn: i32
|
|
2511
|
+
stay: i32
|
|
2512
|
+
fadeOut: i32
|
|
1852
2513
|
# MC: ClientboundSoundEntityPacket
|
|
1853
2514
|
packet_entity_sound_effect:
|
|
1854
2515
|
soundId: varint
|
|
@@ -1862,17 +2523,6 @@
|
|
|
1862
2523
|
volume: f32
|
|
1863
2524
|
pitch: f32
|
|
1864
2525
|
seed: i64
|
|
1865
|
-
# MC: ClientboundStopSoundPacket
|
|
1866
|
-
packet_stop_sound:
|
|
1867
|
-
flags: i8
|
|
1868
|
-
source: flags ?
|
|
1869
|
-
if 1: varint
|
|
1870
|
-
if 3: varint
|
|
1871
|
-
default: void
|
|
1872
|
-
sound: flags ?
|
|
1873
|
-
if 2: string
|
|
1874
|
-
if 3: string
|
|
1875
|
-
default: void
|
|
1876
2526
|
# MC: ClientboundSoundPacket
|
|
1877
2527
|
packet_sound_effect:
|
|
1878
2528
|
soundId: varint
|
|
@@ -1888,6 +2538,21 @@
|
|
|
1888
2538
|
volume: f32
|
|
1889
2539
|
pitch: f32
|
|
1890
2540
|
seed: i64
|
|
2541
|
+
# MC: ClientboundStartConfigurationPacket
|
|
2542
|
+
packet_start_configuration:
|
|
2543
|
+
# Empty
|
|
2544
|
+
# MC: ClientboundStopSoundPacket
|
|
2545
|
+
packet_stop_sound:
|
|
2546
|
+
flags: i8
|
|
2547
|
+
source: flags ?
|
|
2548
|
+
if 1: varint
|
|
2549
|
+
if 3: varint
|
|
2550
|
+
default: void
|
|
2551
|
+
sound: flags ?
|
|
2552
|
+
if 2: string
|
|
2553
|
+
if 3: string
|
|
2554
|
+
default: void
|
|
2555
|
+
## (Store Cookie is Common)
|
|
1891
2556
|
# MC: ClientboundSystemChatPacket
|
|
1892
2557
|
packet_system_chat:
|
|
1893
2558
|
content: anonymousNbt
|
|
@@ -1896,6 +2561,10 @@
|
|
|
1896
2561
|
packet_playerlist_header:
|
|
1897
2562
|
header: anonymousNbt
|
|
1898
2563
|
footer: anonymousNbt
|
|
2564
|
+
# MC: ClientboundTagQueryPacket
|
|
2565
|
+
packet_nbt_query_response:
|
|
2566
|
+
transactionId: varint
|
|
2567
|
+
nbt: anonOptionalNbt
|
|
1899
2568
|
# MC: ClientboundTakeItemEntityPacket
|
|
1900
2569
|
packet_collect:
|
|
1901
2570
|
collectedEntityId: varint
|
|
@@ -1910,11 +2579,73 @@
|
|
|
1910
2579
|
yaw: i8
|
|
1911
2580
|
pitch: i8
|
|
1912
2581
|
onGround: bool
|
|
2582
|
+
# MC: ClientboundTickingStatePacket
|
|
2583
|
+
packet_set_ticking_state:
|
|
2584
|
+
tick_rate: f32
|
|
2585
|
+
is_frozen: bool
|
|
2586
|
+
# MC: ClientboundTickingStepPacket
|
|
2587
|
+
packet_step_tick:
|
|
2588
|
+
tick_steps: varint
|
|
2589
|
+
## (Transfer is common)
|
|
2590
|
+
# MC: ClientboundUpdateAdvancementsPacket
|
|
2591
|
+
packet_advancements:
|
|
2592
|
+
reset: bool
|
|
2593
|
+
advancementMapping: []varint
|
|
2594
|
+
key: string
|
|
2595
|
+
value:
|
|
2596
|
+
parentId?: string
|
|
2597
|
+
displayData?:
|
|
2598
|
+
title: anonymousNbt
|
|
2599
|
+
description: anonymousNbt
|
|
2600
|
+
icon: Slot
|
|
2601
|
+
frameType: varint
|
|
2602
|
+
flags: ["bitfield", [
|
|
2603
|
+
{ "name": "unused", "size": 29, "signed": false },
|
|
2604
|
+
{ "name": "hidden", "size": 1, "signed": false },
|
|
2605
|
+
{ "name": "show_toast", "size": 1, "signed": false },
|
|
2606
|
+
{ "name": "has_background_texture", "size": 1, "signed": false }
|
|
2607
|
+
]]
|
|
2608
|
+
backgroundTexture: flags/has_background_texture ?
|
|
2609
|
+
if 1: string
|
|
2610
|
+
default: void
|
|
2611
|
+
xCord: f32
|
|
2612
|
+
yCord: f32
|
|
2613
|
+
requirements: []varint
|
|
2614
|
+
_: string[]varint
|
|
2615
|
+
sendsTelemtryData: bool
|
|
2616
|
+
identifiers: string[]varint
|
|
2617
|
+
progressMapping: []varint
|
|
2618
|
+
key: string
|
|
2619
|
+
value: []varint
|
|
2620
|
+
criterionIdentifier: string
|
|
2621
|
+
criterionProgress?: i64
|
|
1913
2622
|
# MC: ClientboundUpdateAttributesPacket
|
|
1914
2623
|
packet_entity_update_attributes:
|
|
1915
2624
|
entityId: varint
|
|
1916
2625
|
properties: []varint
|
|
1917
|
-
key:
|
|
2626
|
+
key: varint =>
|
|
2627
|
+
- generic.armor
|
|
2628
|
+
- generic.armor_toughness
|
|
2629
|
+
- generic.attack_damage
|
|
2630
|
+
- generic.attack_knockback
|
|
2631
|
+
- generic.attack_speed
|
|
2632
|
+
- player.block_break_speed
|
|
2633
|
+
- player.block_interaction_range
|
|
2634
|
+
- player.entity_interaction_range
|
|
2635
|
+
- generic.fall_damage_multiplier
|
|
2636
|
+
- generic.flying_speed
|
|
2637
|
+
- generic.follow_range
|
|
2638
|
+
- generic.gravity
|
|
2639
|
+
- generic.jump_strength
|
|
2640
|
+
- generic.knockback_resistance
|
|
2641
|
+
- generic.luck
|
|
2642
|
+
- generic.max_absorption
|
|
2643
|
+
- generic.max_health
|
|
2644
|
+
- generic.movement_speed
|
|
2645
|
+
- generic.safe_fall_distance
|
|
2646
|
+
- generic.scale
|
|
2647
|
+
- zombie.spawn_reinforcements
|
|
2648
|
+
- generic.step_height
|
|
1918
2649
|
value: f64
|
|
1919
2650
|
modifiers: []varint
|
|
1920
2651
|
uuid: UUID
|
|
@@ -1924,34 +2655,51 @@
|
|
|
1924
2655
|
packet_entity_effect:
|
|
1925
2656
|
entityId: varint
|
|
1926
2657
|
effectId: varint
|
|
1927
|
-
amplifier:
|
|
2658
|
+
amplifier: varint
|
|
1928
2659
|
duration: varint
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
"buffer",
|
|
1939
|
-
{
|
|
1940
|
-
"countType": "varint"
|
|
1941
|
-
}
|
|
1942
|
-
]
|
|
1943
|
-
enforcesSecureChat: bool
|
|
2660
|
+
# a bitfield of 0x01 for ambient, 0x02 for show particles
|
|
2661
|
+
# flags: ["bitfield", [
|
|
2662
|
+
# { "name": "unused", "size": 4 },
|
|
2663
|
+
# { "name": "ambient", "size": 1 },
|
|
2664
|
+
# { "name": "showParticles", "size": 1 },
|
|
2665
|
+
# { "name": "showIcon", "size": 1 },
|
|
2666
|
+
# { "name": "blend", "size": 1 }
|
|
2667
|
+
# ]]
|
|
2668
|
+
flags: u8
|
|
1944
2669
|
# MC: ClientboundUpdateRecipesPacket
|
|
1945
2670
|
packet_declare_recipes:
|
|
1946
2671
|
recipes: []varint
|
|
1947
|
-
|
|
1948
|
-
|
|
2672
|
+
name: string
|
|
2673
|
+
type: varint =>
|
|
2674
|
+
- minecraft:crafting_shaped
|
|
2675
|
+
- minecraft:crafting_shapeless
|
|
2676
|
+
- minecraft:crafting_special_armordye
|
|
2677
|
+
- minecraft:crafting_special_bookcloning
|
|
2678
|
+
- minecraft:crafting_special_mapcloning
|
|
2679
|
+
- minecraft:crafting_special_mapextending
|
|
2680
|
+
- minecraft:crafting_special_firework_rocket
|
|
2681
|
+
- minecraft:crafting_special_firework_star
|
|
2682
|
+
- minecraft:crafting_special_firework_star_fade
|
|
2683
|
+
- minecraft:crafting_special_tippedarrow
|
|
2684
|
+
- minecraft:crafting_special_bannerduplicate
|
|
2685
|
+
- minecraft:crafting_special_shielddecoration
|
|
2686
|
+
- minecraft:crafting_special_shulkerboxcoloring
|
|
2687
|
+
- minecraft:crafting_special_suspiciousstew
|
|
2688
|
+
- minecraft:crafting_special_repairitem
|
|
2689
|
+
- minecraft:smelting
|
|
2690
|
+
- minecraft:blasting
|
|
2691
|
+
- minecraft:smoking
|
|
2692
|
+
- minecraft:campfire_cooking
|
|
2693
|
+
- minecraft:stonecutting
|
|
2694
|
+
- minecraft:smithing_transform
|
|
2695
|
+
- minecraft:smithing_trim
|
|
2696
|
+
- minecraft:crafting_decorated_pot
|
|
1949
2697
|
data: type ?
|
|
1950
2698
|
if minecraft:crafting_shapeless:
|
|
1951
2699
|
group: string
|
|
1952
2700
|
category: varint
|
|
1953
2701
|
ingredients: ingredient[]varint
|
|
1954
|
-
result:
|
|
2702
|
+
result: Slot
|
|
1955
2703
|
if minecraft:crafting_shaped:
|
|
1956
2704
|
group: string
|
|
1957
2705
|
category: varint
|
|
@@ -1959,7 +2707,7 @@
|
|
|
1959
2707
|
height: varint
|
|
1960
2708
|
ingredients: []$width
|
|
1961
2709
|
_: ingredient[]$height
|
|
1962
|
-
result:
|
|
2710
|
+
result: Slot
|
|
1963
2711
|
showNotification: bool
|
|
1964
2712
|
if minecraft:crafting_special_armordye: minecraft_simple_recipe_format
|
|
1965
2713
|
if minecraft:crafting_special_bookcloning: minecraft_simple_recipe_format
|
|
@@ -1982,12 +2730,12 @@
|
|
|
1982
2730
|
if minecraft:stonecutting:
|
|
1983
2731
|
group: string
|
|
1984
2732
|
ingredient: ingredient
|
|
1985
|
-
result:
|
|
2733
|
+
result: Slot
|
|
1986
2734
|
if minecraft:smithing_transform:
|
|
1987
2735
|
template: ingredient
|
|
1988
2736
|
base: ingredient
|
|
1989
2737
|
addition: ingredient
|
|
1990
|
-
result:
|
|
2738
|
+
result: Slot
|
|
1991
2739
|
if minecraft:smithing_trim:
|
|
1992
2740
|
template: ingredient
|
|
1993
2741
|
base: ingredient
|
|
@@ -1998,94 +2746,11 @@
|
|
|
1998
2746
|
tags: []varint
|
|
1999
2747
|
tagType: string
|
|
2000
2748
|
tags: tags
|
|
2001
|
-
# MC:
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
reset: bool
|
|
2007
|
-
# MC: ClientboundInitializeBorderPacket
|
|
2008
|
-
packet_initialize_world_border:
|
|
2009
|
-
x: f64
|
|
2010
|
-
z: f64
|
|
2011
|
-
oldDiameter: f64
|
|
2012
|
-
newDiameter: f64
|
|
2013
|
-
speed: varint
|
|
2014
|
-
portalTeleportBoundary: varint
|
|
2015
|
-
warningBlocks: varint
|
|
2016
|
-
warningTime: varint
|
|
2017
|
-
# MC: ClientboundSetActionBarTextPacket
|
|
2018
|
-
packet_action_bar:
|
|
2019
|
-
text: anonymousNbt
|
|
2020
|
-
# MC: ClientboundSetBorderCenterPacket
|
|
2021
|
-
packet_world_border_center:
|
|
2022
|
-
x: f64
|
|
2023
|
-
z: f64
|
|
2024
|
-
# MC: ClientboundSetBorderLerpSizePacket
|
|
2025
|
-
packet_world_border_lerp_size:
|
|
2026
|
-
oldDiameter: f64
|
|
2027
|
-
newDiameter: f64
|
|
2028
|
-
speed: varint
|
|
2029
|
-
# MC: ClientboundSetBorderSizePacket
|
|
2030
|
-
packet_world_border_size:
|
|
2031
|
-
diameter: f64
|
|
2032
|
-
# MC: ClientboundSetBorderWarningDelayPacket
|
|
2033
|
-
packet_world_border_warning_delay:
|
|
2034
|
-
warningTime: varint
|
|
2035
|
-
# MC: ClientboundSetBorderWarningDistancePacket
|
|
2036
|
-
packet_world_border_warning_reach:
|
|
2037
|
-
warningBlocks: varint
|
|
2038
|
-
# MC: ClientboundPingPacket
|
|
2039
|
-
packet_ping:
|
|
2040
|
-
id: i32
|
|
2041
|
-
# MC: ClientboundPongResponsePacket
|
|
2042
|
-
packet_ping_response:
|
|
2043
|
-
id: i64
|
|
2044
|
-
# MC: ClientboundSetSubtitleTextPacket
|
|
2045
|
-
packet_set_title_subtitle:
|
|
2046
|
-
text: anonymousNbt
|
|
2047
|
-
# MC: ClientboundSetTitleTextPacket
|
|
2048
|
-
packet_set_title_text:
|
|
2049
|
-
text: anonymousNbt
|
|
2050
|
-
# MC: ClientboundSetTitlesAnimationPacket
|
|
2051
|
-
packet_set_title_time:
|
|
2052
|
-
fadeIn: i32
|
|
2053
|
-
stay: i32
|
|
2054
|
-
fadeOut: i32
|
|
2055
|
-
# MC: ClientboundSetSimulationDistancePacket
|
|
2056
|
-
packet_simulation_distance:
|
|
2057
|
-
distance: varint
|
|
2058
|
-
# MC: ClientboundChunksBiomesPacket
|
|
2059
|
-
packet_chunk_biomes:
|
|
2060
|
-
biomes: []varint
|
|
2061
|
-
position: packedChunkPos
|
|
2062
|
-
data: [
|
|
2063
|
-
"buffer",
|
|
2064
|
-
{
|
|
2065
|
-
"countType": "varint"
|
|
2066
|
-
}
|
|
2067
|
-
]
|
|
2068
|
-
# MC: ClientboundDamageEventPacket
|
|
2069
|
-
packet_damage_event:
|
|
2070
|
-
entityId: varint
|
|
2071
|
-
sourceTypeId: varint
|
|
2072
|
-
sourceCauseId: varint
|
|
2073
|
-
sourceDirectId: varint
|
|
2074
|
-
sourcePosition?: vec3f64
|
|
2075
|
-
# MC: ClientboundHurtAnimationPacket
|
|
2076
|
-
packet_hurt_animation:
|
|
2077
|
-
entityId: varint
|
|
2078
|
-
yaw: f32
|
|
2079
|
-
# MC: ClientboundStartConfigurationPacket
|
|
2080
|
-
packet_start_configuration:
|
|
2081
|
-
# Empty
|
|
2082
|
-
# MC: ClientboundTickingStatePacket
|
|
2083
|
-
packet_set_ticking_state:
|
|
2084
|
-
tick_rate: f32
|
|
2085
|
-
is_frozen: bool
|
|
2086
|
-
# MC: ClientboundTickingStepPacket
|
|
2087
|
-
packet_step_tick:
|
|
2088
|
-
tick_steps: varint
|
|
2749
|
+
# MC: ClientboundProjectilePowerPacket
|
|
2750
|
+
packet_set_projectile_power:
|
|
2751
|
+
id: varint
|
|
2752
|
+
power: vec3f64
|
|
2753
|
+
|
|
2089
2754
|
packet:
|
|
2090
2755
|
name: varint =>
|
|
2091
2756
|
- bundle_delimiter
|
|
@@ -2110,10 +2775,12 @@
|
|
|
2110
2775
|
- window_items
|
|
2111
2776
|
- craft_progress_bar
|
|
2112
2777
|
- set_slot
|
|
2778
|
+
- cookie_request
|
|
2113
2779
|
- set_cooldown
|
|
2114
2780
|
- chat_suggestions
|
|
2115
2781
|
- custom_payload
|
|
2116
2782
|
- damage_event
|
|
2783
|
+
- debug_sample
|
|
2117
2784
|
- hide_message
|
|
2118
2785
|
- kick_disconnect
|
|
2119
2786
|
- profileless_chat
|
|
@@ -2193,6 +2860,7 @@
|
|
|
2193
2860
|
- sound_effect
|
|
2194
2861
|
- start_configuration
|
|
2195
2862
|
- stop_sound
|
|
2863
|
+
- store_cookie
|
|
2196
2864
|
- system_chat
|
|
2197
2865
|
- playerlist_header
|
|
2198
2866
|
- nbt_query_response
|
|
@@ -2200,6 +2868,7 @@
|
|
|
2200
2868
|
- entity_teleport
|
|
2201
2869
|
- set_ticking_state
|
|
2202
2870
|
- step_tick
|
|
2871
|
+
- transfer
|
|
2203
2872
|
- advancements
|
|
2204
2873
|
- entity_update_attributes
|
|
2205
2874
|
- entity_effect
|
|
@@ -2228,10 +2897,12 @@
|
|
|
2228
2897
|
if window_items: packet_window_items
|
|
2229
2898
|
if craft_progress_bar: packet_craft_progress_bar
|
|
2230
2899
|
if set_slot: packet_set_slot
|
|
2900
|
+
if cookie_request: packet_common_cookie_request
|
|
2231
2901
|
if set_cooldown: packet_set_cooldown
|
|
2232
2902
|
if chat_suggestions: packet_chat_suggestions
|
|
2233
2903
|
if custom_payload: packet_custom_payload
|
|
2234
2904
|
if damage_event: packet_damage_event
|
|
2905
|
+
if debug_sample: packet_debug_sample
|
|
2235
2906
|
if hide_message: packet_hide_message
|
|
2236
2907
|
if kick_disconnect: packet_kick_disconnect
|
|
2237
2908
|
if profileless_chat: packet_profileless_chat
|
|
@@ -2311,29 +2982,41 @@
|
|
|
2311
2982
|
if sound_effect: packet_sound_effect
|
|
2312
2983
|
if start_configuration: packet_start_configuration
|
|
2313
2984
|
if stop_sound: packet_stop_sound
|
|
2985
|
+
if store_cookie: packet_common_store_cookie
|
|
2314
2986
|
if system_chat: packet_system_chat
|
|
2315
2987
|
if playerlist_header: packet_playerlist_header
|
|
2316
2988
|
if nbt_query_response: packet_nbt_query_response
|
|
2317
2989
|
if collect: packet_collect
|
|
2318
2990
|
if entity_teleport: packet_entity_teleport
|
|
2991
|
+
if set_ticking_state: packet_set_ticking_state
|
|
2992
|
+
if step_tick: packet_step_tick
|
|
2993
|
+
if transfer: packet_common_transfer
|
|
2319
2994
|
if advancements: packet_advancements
|
|
2320
2995
|
if entity_update_attributes: packet_entity_update_attributes
|
|
2321
2996
|
if entity_effect: packet_entity_effect
|
|
2322
2997
|
if declare_recipes: packet_declare_recipes
|
|
2323
2998
|
if tags: packet_tags
|
|
2324
|
-
|
|
2325
|
-
if step_tick: packet_step_tick
|
|
2999
|
+
|
|
2326
3000
|
^play.toServer.types:
|
|
2327
3001
|
# MC: ServerboundAcceptTeleportationPacket
|
|
2328
3002
|
packet_teleport_confirm:
|
|
2329
3003
|
teleportId: varint
|
|
2330
|
-
# MC:
|
|
3004
|
+
# MC: ServerboundBlockEntityTagQueryPacket
|
|
2331
3005
|
packet_query_block_nbt:
|
|
2332
3006
|
transactionId: varint
|
|
2333
3007
|
location: position
|
|
3008
|
+
# MC: ServerboundChangeDifficultyPacket
|
|
3009
|
+
packet_set_difficulty:
|
|
3010
|
+
newDifficulty: u8
|
|
3011
|
+
# MC: ServerboundChatAckPacket
|
|
3012
|
+
packet_message_acknowledgement:
|
|
3013
|
+
count: varint
|
|
2334
3014
|
# MC: ServerboundChatCommandPacket
|
|
2335
3015
|
packet_chat_command:
|
|
2336
3016
|
command: string
|
|
3017
|
+
# MC: ServerboundChatCommandSignedPacket
|
|
3018
|
+
packet_chat_command_signed:
|
|
3019
|
+
command: string
|
|
2337
3020
|
timestamp: i64
|
|
2338
3021
|
salt: i64
|
|
2339
3022
|
argumentSignatures: []varint
|
|
@@ -2369,67 +3052,15 @@
|
|
|
2369
3052
|
"count": 3
|
|
2370
3053
|
}
|
|
2371
3054
|
]
|
|
2372
|
-
# MC:
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
# MC:
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
pages: string[]varint
|
|
2382
|
-
title?: string
|
|
2383
|
-
# MC: ServerboundEntityTagQuery
|
|
2384
|
-
packet_query_entity_nbt:
|
|
2385
|
-
transactionId: varint
|
|
2386
|
-
entityId: varint
|
|
2387
|
-
# MC: ServerboundPickItemPacket
|
|
2388
|
-
packet_pick_item:
|
|
2389
|
-
slot: varint
|
|
2390
|
-
# MC: ServerboundRenameItemPacket
|
|
2391
|
-
packet_name_item:
|
|
2392
|
-
name: string
|
|
2393
|
-
# MC: ServerboundSelectTradePacket
|
|
2394
|
-
packet_select_trade:
|
|
2395
|
-
slot: varint
|
|
2396
|
-
# MC: ServerboundSetBeaconPacket
|
|
2397
|
-
packet_set_beacon_effect:
|
|
2398
|
-
primary_effect?: varint
|
|
2399
|
-
secondary_effect?: varint
|
|
2400
|
-
# MC: ServerboundSetCommandBlockPacket
|
|
2401
|
-
packet_update_command_block:
|
|
2402
|
-
location: position
|
|
2403
|
-
command: string
|
|
2404
|
-
mode: varint
|
|
2405
|
-
flags: u8
|
|
2406
|
-
# MC: ServerboundSetCommandMinecartPacket
|
|
2407
|
-
packet_update_command_block_minecart:
|
|
2408
|
-
entityId: varint
|
|
2409
|
-
command: string
|
|
2410
|
-
track_output: bool
|
|
2411
|
-
# MC: ServerboundSetStructureBlockPacket
|
|
2412
|
-
packet_update_structure_block:
|
|
2413
|
-
location: position
|
|
2414
|
-
action: varint
|
|
2415
|
-
mode: varint
|
|
2416
|
-
name: string
|
|
2417
|
-
offset_x: i8
|
|
2418
|
-
offset_y: i8
|
|
2419
|
-
offset_z: i8
|
|
2420
|
-
size_x: i8
|
|
2421
|
-
size_y: i8
|
|
2422
|
-
size_z: i8
|
|
2423
|
-
mirror: varint
|
|
2424
|
-
rotation: varint
|
|
2425
|
-
metadata: string
|
|
2426
|
-
integrity: f32
|
|
2427
|
-
seed: varint
|
|
2428
|
-
flags: u8
|
|
2429
|
-
# MC: ServerboundCommandSuggestionPacket
|
|
2430
|
-
packet_tab_complete:
|
|
2431
|
-
transactionId: varint
|
|
2432
|
-
text: string
|
|
3055
|
+
# MC: ServerboundChatSessionUpdatePacket
|
|
3056
|
+
packet_chat_session_update:
|
|
3057
|
+
sessionUUID: UUID
|
|
3058
|
+
expireTime: i64
|
|
3059
|
+
publicKey: ByteArray
|
|
3060
|
+
signature: ByteArray
|
|
3061
|
+
# MC: ServerboundChunkBatchReceivedPacket
|
|
3062
|
+
packet_chunk_batch_received:
|
|
3063
|
+
chunksPerTick: f32
|
|
2433
3064
|
# MC: ServerboundClientCommandPacket
|
|
2434
3065
|
packet_client_command:
|
|
2435
3066
|
actionId: varint
|
|
@@ -2443,6 +3074,13 @@
|
|
|
2443
3074
|
mainHand: varint
|
|
2444
3075
|
enableTextFiltering: bool
|
|
2445
3076
|
enableServerListing: bool
|
|
3077
|
+
# MC: ServerboundCommandSuggestionPacket
|
|
3078
|
+
packet_tab_complete:
|
|
3079
|
+
transactionId: varint
|
|
3080
|
+
text: string
|
|
3081
|
+
# MC: ServerboundConfigurationAcknowledgedPacket
|
|
3082
|
+
packet_configuration_acknowledged:
|
|
3083
|
+
# Empty
|
|
2446
3084
|
# MC: ServerboundContainerButtonClickPacket
|
|
2447
3085
|
packet_enchant_item:
|
|
2448
3086
|
windowId: i8
|
|
@@ -2456,15 +3094,32 @@
|
|
|
2456
3094
|
mode: varint
|
|
2457
3095
|
changedSlots: []varint
|
|
2458
3096
|
location: i16
|
|
2459
|
-
item:
|
|
2460
|
-
cursorItem:
|
|
3097
|
+
item: Slot
|
|
3098
|
+
cursorItem: Slot
|
|
2461
3099
|
# MC: ServerboundContainerClosePacket
|
|
2462
3100
|
packet_close_window:
|
|
2463
3101
|
windowId: u8
|
|
3102
|
+
# MC: ServerboundContainerSlotStateChangedPacket
|
|
3103
|
+
packet_set_slot_state:
|
|
3104
|
+
slot_id: varint
|
|
3105
|
+
window_id: varint
|
|
3106
|
+
state: bool
|
|
2464
3107
|
# MC: ServerboundCustomPayloadPacket
|
|
2465
3108
|
packet_custom_payload:
|
|
2466
3109
|
channel: string
|
|
2467
3110
|
data: restBuffer
|
|
3111
|
+
# MC: ServerboundDebugSampleSubscriptionPacket
|
|
3112
|
+
packet_debug_sample_subscription:
|
|
3113
|
+
type: varint
|
|
3114
|
+
# MC: ServerboundEditBookPacket
|
|
3115
|
+
packet_edit_book:
|
|
3116
|
+
hand: varint
|
|
3117
|
+
pages: string[]varint
|
|
3118
|
+
title?: string
|
|
3119
|
+
# MC: ServerboundEntityTagQuery
|
|
3120
|
+
packet_query_entity_nbt:
|
|
3121
|
+
transactionId: varint
|
|
3122
|
+
entityId: varint
|
|
2468
3123
|
# MC: ServerboundInteractPacket
|
|
2469
3124
|
packet_use_entity:
|
|
2470
3125
|
target: varint
|
|
@@ -2527,6 +3182,12 @@
|
|
|
2527
3182
|
packet_steer_boat:
|
|
2528
3183
|
leftPaddle: bool
|
|
2529
3184
|
rightPaddle: bool
|
|
3185
|
+
# MC: ServerboundPickItemPacket
|
|
3186
|
+
packet_pick_item:
|
|
3187
|
+
slot: varint
|
|
3188
|
+
# MC: ServerboundPingRequestPacket
|
|
3189
|
+
packet_ping_request:
|
|
3190
|
+
id: i64
|
|
2530
3191
|
# MC: ServerboundPlaceRecipePacket
|
|
2531
3192
|
packet_craft_recipe_request:
|
|
2532
3193
|
windowId: i8
|
|
@@ -2551,25 +3212,55 @@
|
|
|
2551
3212
|
sideways: f32
|
|
2552
3213
|
forward: f32
|
|
2553
3214
|
jump: u8
|
|
2554
|
-
# MC:
|
|
2555
|
-
|
|
2556
|
-
|
|
3215
|
+
# MC: ServerboundPongPacket
|
|
3216
|
+
packet_pong:
|
|
3217
|
+
id: i32
|
|
2557
3218
|
# MC: ServerboundRecipeBookChangeSettingsPacket
|
|
2558
3219
|
packet_recipe_book:
|
|
2559
3220
|
bookId: varint
|
|
2560
3221
|
bookOpen: bool
|
|
2561
3222
|
filterActive: bool
|
|
3223
|
+
# MC: ServerboundRecipeBookSeenRecipePacket
|
|
3224
|
+
packet_displayed_recipe:
|
|
3225
|
+
recipeId: string
|
|
3226
|
+
# MC: ServerboundRenameItemPacket
|
|
3227
|
+
packet_name_item:
|
|
3228
|
+
name: string
|
|
2562
3229
|
# MC: ServerboundResourcePackPacket
|
|
2563
3230
|
packet_resource_pack_receive:
|
|
2564
3231
|
uuid: UUID
|
|
2565
3232
|
result: varint
|
|
3233
|
+
# MC: ServerboundSeenAdvancementsPacket
|
|
3234
|
+
packet_advancement_tab:
|
|
3235
|
+
action: varint
|
|
3236
|
+
tabId: action ?
|
|
3237
|
+
if 0: string
|
|
3238
|
+
if 1: void
|
|
3239
|
+
# MC: ServerboundSelectTradePacket
|
|
3240
|
+
packet_select_trade:
|
|
3241
|
+
slot: varint
|
|
3242
|
+
# MC: ServerboundSetBeaconPacket
|
|
3243
|
+
packet_set_beacon_effect:
|
|
3244
|
+
primary_effect?: varint
|
|
3245
|
+
secondary_effect?: varint
|
|
2566
3246
|
# MC: ServerboundSetCarriedItemPacket
|
|
2567
3247
|
packet_held_item_slot:
|
|
2568
3248
|
slotId: i16
|
|
3249
|
+
# MC: ServerboundSetCommandBlockPacket
|
|
3250
|
+
packet_update_command_block:
|
|
3251
|
+
location: position
|
|
3252
|
+
command: string
|
|
3253
|
+
mode: varint
|
|
3254
|
+
flags: u8
|
|
3255
|
+
# MC: ServerboundSetCommandMinecartPacket
|
|
3256
|
+
packet_update_command_block_minecart:
|
|
3257
|
+
entityId: varint
|
|
3258
|
+
command: string
|
|
3259
|
+
track_output: bool
|
|
2569
3260
|
# MC: ServerboundSetCreativeModeSlotPacket
|
|
2570
3261
|
packet_set_creative_slot:
|
|
2571
3262
|
slot: i16
|
|
2572
|
-
item:
|
|
3263
|
+
item: Slot
|
|
2573
3264
|
# MC: ServerboundSetJigsawBlockPacket
|
|
2574
3265
|
packet_update_jigsaw_block:
|
|
2575
3266
|
location: position
|
|
@@ -2580,6 +3271,24 @@
|
|
|
2580
3271
|
jointType: string
|
|
2581
3272
|
selection_priority: varint
|
|
2582
3273
|
placement_priority: varint
|
|
3274
|
+
# MC: ServerboundSetStructureBlockPacket
|
|
3275
|
+
packet_update_structure_block:
|
|
3276
|
+
location: position
|
|
3277
|
+
action: varint
|
|
3278
|
+
mode: varint
|
|
3279
|
+
name: string
|
|
3280
|
+
offset_x: i8
|
|
3281
|
+
offset_y: i8
|
|
3282
|
+
offset_z: i8
|
|
3283
|
+
size_x: i8
|
|
3284
|
+
size_y: i8
|
|
3285
|
+
size_z: i8
|
|
3286
|
+
mirror: varint
|
|
3287
|
+
rotation: varint
|
|
3288
|
+
metadata: string
|
|
3289
|
+
integrity: f32
|
|
3290
|
+
seed: varint
|
|
3291
|
+
flags: u8
|
|
2583
3292
|
# MC: ServerboundSignUpdatePacket
|
|
2584
3293
|
packet_update_sign:
|
|
2585
3294
|
location: position
|
|
@@ -2608,45 +3317,7 @@
|
|
|
2608
3317
|
packet_use_item:
|
|
2609
3318
|
hand: varint
|
|
2610
3319
|
sequence: varint
|
|
2611
|
-
|
|
2612
|
-
packet_advancement_tab:
|
|
2613
|
-
action: varint
|
|
2614
|
-
tabId: action ?
|
|
2615
|
-
if 0: string
|
|
2616
|
-
if 1: void
|
|
2617
|
-
# MC: ServerboundPongPacket
|
|
2618
|
-
packet_pong:
|
|
2619
|
-
id: i32
|
|
2620
|
-
# MC: ServerboundChatSessionUpdatePacket
|
|
2621
|
-
packet_chat_session_update:
|
|
2622
|
-
sessionUUID: UUID
|
|
2623
|
-
expireTime: i64
|
|
2624
|
-
publicKey: [
|
|
2625
|
-
"buffer",
|
|
2626
|
-
{
|
|
2627
|
-
"countType": "varint"
|
|
2628
|
-
}
|
|
2629
|
-
]
|
|
2630
|
-
signature: [
|
|
2631
|
-
"buffer",
|
|
2632
|
-
{
|
|
2633
|
-
"countType": "varint"
|
|
2634
|
-
}
|
|
2635
|
-
]
|
|
2636
|
-
# MC: ServerboundChunkBatchReceivedPacket
|
|
2637
|
-
packet_chunk_batch_received:
|
|
2638
|
-
chunksPerTick: f32
|
|
2639
|
-
# MC: ServerboundConfigurationAcknowledgedPacket
|
|
2640
|
-
packet_configuration_acknowledged:
|
|
2641
|
-
# Empty
|
|
2642
|
-
# MC: ServerboundPingRequestPacket
|
|
2643
|
-
packet_ping_request:
|
|
2644
|
-
id: i64
|
|
2645
|
-
# MC: ServerboundContainerSlotStateChangedPacket
|
|
2646
|
-
packet_set_slot_state:
|
|
2647
|
-
slot_id: varint
|
|
2648
|
-
window_id: varint
|
|
2649
|
-
state: bool
|
|
3320
|
+
|
|
2650
3321
|
packet:
|
|
2651
3322
|
name: varint =>
|
|
2652
3323
|
- teleport_confirm
|
|
@@ -2654,6 +3325,7 @@
|
|
|
2654
3325
|
- set_difficulty
|
|
2655
3326
|
- message_acknowledgement
|
|
2656
3327
|
- chat_command
|
|
3328
|
+
- chat_command_signed
|
|
2657
3329
|
- chat_message
|
|
2658
3330
|
- chat_session_update
|
|
2659
3331
|
- chunk_batch_received
|
|
@@ -2665,7 +3337,9 @@
|
|
|
2665
3337
|
- window_click
|
|
2666
3338
|
- close_window
|
|
2667
3339
|
- set_slot_state
|
|
3340
|
+
- cookie_response
|
|
2668
3341
|
- custom_payload
|
|
3342
|
+
- debug_sample_subscription
|
|
2669
3343
|
- edit_book
|
|
2670
3344
|
- query_entity_nbt
|
|
2671
3345
|
- use_entity
|
|
@@ -2710,13 +3384,19 @@
|
|
|
2710
3384
|
if set_difficulty: packet_set_difficulty
|
|
2711
3385
|
if message_acknowledgement: packet_message_acknowledgement
|
|
2712
3386
|
if chat_command: packet_chat_command
|
|
3387
|
+
if chat_command_signed: packet_chat_command_signed
|
|
2713
3388
|
if chat_message: packet_chat_message
|
|
3389
|
+
if chat_session_update: packet_chat_session_update
|
|
3390
|
+
if chunk_batch_received: packet_chunk_batch_received
|
|
2714
3391
|
if client_command: packet_client_command
|
|
2715
3392
|
if settings: packet_settings
|
|
2716
3393
|
if tab_complete: packet_tab_complete
|
|
3394
|
+
if configuration_acknowledged: packet_configuration_acknowledged
|
|
2717
3395
|
if enchant_item: packet_enchant_item
|
|
2718
3396
|
if window_click: packet_window_click
|
|
2719
3397
|
if close_window: packet_close_window
|
|
3398
|
+
if set_slot_state: packet_set_slot_state
|
|
3399
|
+
if cookie_response: packet_common_cookie_response
|
|
2720
3400
|
if custom_payload: packet_custom_payload
|
|
2721
3401
|
if edit_book: packet_edit_book
|
|
2722
3402
|
if query_entity_nbt: packet_query_entity_nbt
|
|
@@ -2731,13 +3411,13 @@
|
|
|
2731
3411
|
if vehicle_move: packet_vehicle_move
|
|
2732
3412
|
if steer_boat: packet_steer_boat
|
|
2733
3413
|
if pick_item: packet_pick_item
|
|
3414
|
+
if ping_request: packet_ping_request
|
|
2734
3415
|
if craft_recipe_request: packet_craft_recipe_request
|
|
2735
3416
|
if abilities: packet_abilities
|
|
2736
3417
|
if block_dig: packet_block_dig
|
|
2737
3418
|
if entity_action: packet_entity_action
|
|
2738
3419
|
if steer_vehicle: packet_steer_vehicle
|
|
2739
3420
|
if pong: packet_pong
|
|
2740
|
-
if chat_session_update: packet_chat_session_update
|
|
2741
3421
|
if recipe_book: packet_recipe_book
|
|
2742
3422
|
if displayed_recipe: packet_displayed_recipe
|
|
2743
3423
|
if name_item: packet_name_item
|
|
@@ -2756,7 +3436,3 @@
|
|
|
2756
3436
|
if spectate: packet_spectate
|
|
2757
3437
|
if block_place: packet_block_place
|
|
2758
3438
|
if use_item: packet_use_item
|
|
2759
|
-
if chunk_batch_received: packet_chunk_batch_received
|
|
2760
|
-
if configuration_acknowledged: packet_configuration_acknowledged
|
|
2761
|
-
if ping_request: packet_ping_request
|
|
2762
|
-
if set_slot_state: packet_set_slot_state
|