minecraft-data 3.91.0 → 3.93.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 +50 -1
- package/doc/history.md +8 -0
- package/index.d.ts +5 -2
- package/minecraft-data/README.md +1 -1
- package/minecraft-data/data/bedrock/1.21.90/proto.yml +4600 -0
- package/minecraft-data/data/bedrock/1.21.90/types.yml +2806 -0
- package/minecraft-data/data/bedrock/1.21.93/protocol.json +14314 -0
- package/minecraft-data/data/bedrock/1.21.93/version.json +6 -0
- package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
- package/minecraft-data/data/bedrock/common/versions.json +2 -1
- package/minecraft-data/data/bedrock/latest/proto.yml +1 -1
- package/minecraft-data/data/dataPaths.json +50 -1
- package/minecraft-data/data/pc/1.10/proto.yml +29 -35
- package/minecraft-data/data/pc/1.10/protocol.json +101 -86
- package/minecraft-data/data/pc/1.10-pre1/proto.yml +29 -35
- package/minecraft-data/data/pc/1.10-pre1/protocol.json +101 -86
- package/minecraft-data/data/pc/1.11/proto.yml +29 -35
- package/minecraft-data/data/pc/1.11/protocol.json +101 -86
- package/minecraft-data/data/pc/1.12/proto.yml +29 -35
- package/minecraft-data/data/pc/1.12/protocol.json +101 -86
- package/minecraft-data/data/pc/1.12-pre4/proto.yml +29 -35
- package/minecraft-data/data/pc/1.12-pre4/protocol.json +101 -86
- package/minecraft-data/data/pc/1.12.1/proto.yml +29 -35
- package/minecraft-data/data/pc/1.12.1/protocol.json +101 -86
- package/minecraft-data/data/pc/1.12.2/proto.yml +29 -35
- package/minecraft-data/data/pc/1.12.2/protocol.json +101 -86
- package/minecraft-data/data/pc/1.13/proto.yml +29 -35
- package/minecraft-data/data/pc/1.13/protocol.json +101 -86
- package/minecraft-data/data/pc/1.13.1/proto.yml +29 -35
- package/minecraft-data/data/pc/1.13.1/protocol.json +101 -86
- package/minecraft-data/data/pc/1.13.2/proto.yml +29 -35
- package/minecraft-data/data/pc/1.13.2/protocol.json +101 -86
- package/minecraft-data/data/pc/1.13.2-pre1/proto.yml +29 -35
- package/minecraft-data/data/pc/1.13.2-pre1/protocol.json +101 -86
- package/minecraft-data/data/pc/1.13.2-pre2/proto.yml +29 -35
- package/minecraft-data/data/pc/1.13.2-pre2/protocol.json +101 -86
- package/minecraft-data/data/pc/1.14/proto.yml +29 -35
- package/minecraft-data/data/pc/1.14/protocol.json +101 -86
- package/minecraft-data/data/pc/1.14.1/proto.yml +29 -35
- package/minecraft-data/data/pc/1.14.1/protocol.json +101 -86
- package/minecraft-data/data/pc/1.14.3/proto.yml +29 -35
- package/minecraft-data/data/pc/1.14.3/protocol.json +101 -86
- package/minecraft-data/data/pc/1.14.4/proto.yml +29 -35
- package/minecraft-data/data/pc/1.14.4/protocol.json +101 -86
- package/minecraft-data/data/pc/1.15/proto.yml +29 -35
- package/minecraft-data/data/pc/1.15/protocol.json +101 -86
- package/minecraft-data/data/pc/1.15.1/proto.yml +29 -35
- package/minecraft-data/data/pc/1.15.1/protocol.json +101 -86
- package/minecraft-data/data/pc/1.15.2/proto.yml +29 -35
- package/minecraft-data/data/pc/1.15.2/protocol.json +101 -86
- package/minecraft-data/data/pc/1.16/proto.yml +29 -35
- package/minecraft-data/data/pc/1.16/protocol.json +101 -86
- package/minecraft-data/data/pc/1.16-rc1/proto.yml +29 -35
- package/minecraft-data/data/pc/1.16-rc1/protocol.json +101 -86
- package/minecraft-data/data/pc/1.16.1/proto.yml +29 -35
- package/minecraft-data/data/pc/1.16.1/protocol.json +101 -86
- package/minecraft-data/data/pc/1.16.2/proto.yml +29 -35
- package/minecraft-data/data/pc/1.16.2/protocol.json +101 -86
- package/minecraft-data/data/pc/1.17/proto.yml +30 -36
- package/minecraft-data/data/pc/1.17/protocol.json +102 -87
- package/minecraft-data/data/pc/1.17.1/proto.yml +30 -36
- package/minecraft-data/data/pc/1.17.1/protocol.json +102 -87
- package/minecraft-data/data/pc/1.18/proto.yml +30 -36
- package/minecraft-data/data/pc/1.18/protocol.json +102 -87
- package/minecraft-data/data/pc/1.18.2/proto.yml +30 -36
- package/minecraft-data/data/pc/1.18.2/protocol.json +102 -87
- package/minecraft-data/data/pc/1.19/proto.yml +34 -67
- package/minecraft-data/data/pc/1.19/protocol.json +123 -127
- package/minecraft-data/data/pc/1.19.2/proto.yml +35 -68
- package/minecraft-data/data/pc/1.19.2/protocol.json +123 -127
- package/minecraft-data/data/pc/1.19.3/proto.yml +39 -309
- package/minecraft-data/data/pc/1.19.3/protocol.json +65 -324
- package/minecraft-data/data/pc/1.19.4/proto.yml +39 -309
- package/minecraft-data/data/pc/1.19.4/protocol.json +65 -324
- package/minecraft-data/data/pc/1.20/proto.yml +40 -310
- package/minecraft-data/data/pc/1.20/protocol.json +65 -324
- package/minecraft-data/data/pc/1.20.2/proto.yml +40 -310
- package/minecraft-data/data/pc/1.20.2/protocol.json +65 -324
- package/minecraft-data/data/pc/1.20.3/proto.yml +156 -327
- package/minecraft-data/data/pc/1.20.3/protocol.json +186 -369
- package/minecraft-data/data/pc/1.20.5/proto.yml +427 -845
- package/minecraft-data/data/pc/1.20.5/protocol.json +669 -931
- package/minecraft-data/data/pc/1.21.1/proto.yml +415 -898
- package/minecraft-data/data/pc/1.21.1/protocol.json +585 -1058
- package/minecraft-data/data/pc/1.21.3/proto.yml +429 -572
- package/minecraft-data/data/pc/1.21.3/protocol.json +760 -920
- package/minecraft-data/data/pc/1.21.4/materials.json +45 -45
- package/minecraft-data/data/pc/1.21.4/protocol.json +766 -917
- package/minecraft-data/data/pc/1.21.6/attributes.json +247 -0
- package/minecraft-data/data/pc/1.21.6/biomes.json +652 -0
- package/minecraft-data/data/pc/1.21.6/blockCollisionShapes.json +142541 -0
- package/minecraft-data/data/pc/1.21.6/blocks.json +41360 -0
- package/minecraft-data/data/pc/1.21.6/effects.json +236 -0
- package/minecraft-data/data/pc/1.21.6/enchantments.json +959 -0
- package/minecraft-data/data/pc/1.21.6/entities.json +1512 -0
- package/minecraft-data/data/pc/1.21.6/foods.json +402 -0
- package/minecraft-data/data/pc/1.21.6/instruments.json +94 -0
- package/minecraft-data/data/pc/1.21.6/items.json +9278 -0
- package/minecraft-data/data/pc/1.21.6/language.json +7389 -0
- package/minecraft-data/data/pc/1.21.6/materials.json +206 -0
- package/minecraft-data/data/pc/1.21.6/particles.json +458 -0
- package/minecraft-data/data/pc/1.21.6/recipes.json +30473 -0
- package/minecraft-data/data/pc/1.21.6/sounds.json +6910 -0
- package/minecraft-data/data/pc/1.21.6/tints.json +465 -0
- package/minecraft-data/data/pc/1.21.6/version.json +6 -0
- package/minecraft-data/data/pc/1.7/proto.yml +3 -6
- package/minecraft-data/data/pc/1.7/protocol.json +7 -0
- package/minecraft-data/data/pc/1.8/proto.yml +29 -35
- package/minecraft-data/data/pc/1.8/protocol.json +101 -86
- package/minecraft-data/data/pc/1.9/proto.yml +29 -35
- package/minecraft-data/data/pc/1.9/protocol.json +101 -86
- package/minecraft-data/data/pc/1.9.1-pre2/proto.yml +29 -35
- package/minecraft-data/data/pc/1.9.1-pre2/protocol.json +101 -86
- package/minecraft-data/data/pc/1.9.2/proto.yml +29 -35
- package/minecraft-data/data/pc/1.9.2/protocol.json +101 -86
- package/minecraft-data/data/pc/1.9.4/proto.yml +29 -35
- package/minecraft-data/data/pc/1.9.4/protocol.json +101 -86
- package/minecraft-data/data/pc/15w40b/proto.yml +29 -35
- package/minecraft-data/data/pc/15w40b/protocol.json +101 -86
- package/minecraft-data/data/pc/16w20a/proto.yml +29 -35
- package/minecraft-data/data/pc/16w20a/protocol.json +101 -86
- package/minecraft-data/data/pc/16w35a/proto.yml +29 -35
- package/minecraft-data/data/pc/16w35a/protocol.json +101 -86
- package/minecraft-data/data/pc/17w15a/proto.yml +29 -35
- package/minecraft-data/data/pc/17w15a/protocol.json +101 -86
- package/minecraft-data/data/pc/17w18b/proto.yml +29 -35
- package/minecraft-data/data/pc/17w18b/protocol.json +101 -86
- package/minecraft-data/data/pc/17w50a/proto.yml +29 -35
- package/minecraft-data/data/pc/17w50a/protocol.json +101 -86
- package/minecraft-data/data/pc/20w13b/proto.yml +29 -35
- package/minecraft-data/data/pc/20w13b/protocol.json +101 -86
- package/minecraft-data/data/pc/21w07a/proto.yml +29 -35
- package/minecraft-data/data/pc/21w07a/protocol.json +101 -86
- package/minecraft-data/data/pc/common/features.json +7 -2
- package/minecraft-data/data/pc/common/protocolVersions.json +9 -1
- package/minecraft-data/data/pc/latest/proto.yml +427 -572
- package/minecraft-data/doc/history.md +11 -0
- package/minecraft-data/doc/protocol.md +6 -4
- package/package.json +1 -1
- package/test/load.js +8 -0
|
@@ -34,12 +34,7 @@
|
|
|
34
34
|
registryEntryHolder: native
|
|
35
35
|
registryEntryHolderSet: native
|
|
36
36
|
ByteArray: ["buffer", { "countType": "varint" }]
|
|
37
|
-
string: [
|
|
38
|
-
"pstring",
|
|
39
|
-
{
|
|
40
|
-
"countType": "varint"
|
|
41
|
-
}
|
|
42
|
-
]
|
|
37
|
+
string: ["pstring", { "countType": "varint" }]
|
|
43
38
|
vec2f:
|
|
44
39
|
x: f32
|
|
45
40
|
y: f32
|
|
@@ -61,136 +56,77 @@
|
|
|
61
56
|
"otherwise": { name: "ids", type: "varint" }
|
|
62
57
|
}]
|
|
63
58
|
ContainerID: varint
|
|
64
|
-
SoundEvent:
|
|
65
|
-
soundName: string
|
|
66
|
-
fixedRange?: f32
|
|
67
|
-
RecipeDisplay:
|
|
68
|
-
type: varint =>
|
|
69
|
-
- crafting_shapeless
|
|
70
|
-
- crafting_shaped
|
|
71
|
-
- furnace
|
|
72
|
-
- stonecutter
|
|
73
|
-
- smithing
|
|
74
|
-
data: type ?
|
|
75
|
-
if crafting_shapeless:
|
|
76
|
-
ingredients: SlotDisplay[]varint
|
|
77
|
-
result: SlotDisplay
|
|
78
|
-
craftingStation: SlotDisplay
|
|
79
|
-
if crafting_shaped:
|
|
80
|
-
width: varint
|
|
81
|
-
height: varint
|
|
82
|
-
ingredients: SlotDisplay[]varint
|
|
83
|
-
result: SlotDisplay
|
|
84
|
-
craftingStation: SlotDisplay
|
|
85
|
-
if furnace:
|
|
86
|
-
ingredient: SlotDisplay
|
|
87
|
-
fuel: SlotDisplay
|
|
88
|
-
result: SlotDisplay
|
|
89
|
-
craftingStation: SlotDisplay
|
|
90
|
-
duration: varint
|
|
91
|
-
experience: f32
|
|
92
|
-
if stonecutter:
|
|
93
|
-
ingredient: SlotDisplay
|
|
94
|
-
result: SlotDisplay
|
|
95
|
-
craftingStation: SlotDisplay
|
|
96
|
-
if smithing:
|
|
97
|
-
template: SlotDisplay
|
|
98
|
-
base: SlotDisplay
|
|
99
|
-
addition: SlotDisplay
|
|
100
|
-
result: SlotDisplay
|
|
101
|
-
craftingStation: SlotDisplay
|
|
102
|
-
SlotDisplay:
|
|
103
|
-
type: varint =>
|
|
104
|
-
- empty
|
|
105
|
-
- any_fuel
|
|
106
|
-
- item
|
|
107
|
-
- item_stack
|
|
108
|
-
- tag
|
|
109
|
-
- smithing_trim
|
|
110
|
-
- with_remainder
|
|
111
|
-
- composite
|
|
112
|
-
data: type ?
|
|
113
|
-
if empty or any_fuel: void
|
|
114
|
-
if item: varint
|
|
115
|
-
if item_stack: Slot
|
|
116
|
-
if tag: string
|
|
117
|
-
if simthing_trim:
|
|
118
|
-
base: SlotDisplay
|
|
119
|
-
material: SlotDisplay
|
|
120
|
-
pattern: SlotDisplay
|
|
121
|
-
if with_remainder:
|
|
122
|
-
input: SlotDisplay
|
|
123
|
-
remainder: SlotDisplay
|
|
124
|
-
if composite: SlotDisplay[]varint
|
|
125
59
|
SlotComponentType: varint =>
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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
|
-
|
|
60
|
+
- custom_data
|
|
61
|
+
- max_stack_size
|
|
62
|
+
- max_damage
|
|
63
|
+
- damage
|
|
64
|
+
- unbreakable
|
|
65
|
+
- custom_name
|
|
66
|
+
- item_name
|
|
67
|
+
- item_model
|
|
68
|
+
- lore
|
|
69
|
+
- rarity
|
|
70
|
+
- enchantments
|
|
71
|
+
- can_place_on
|
|
72
|
+
- can_break
|
|
73
|
+
- attribute_modifiers
|
|
74
|
+
- custom_model_data
|
|
75
|
+
- hide_additional_tooltip
|
|
76
|
+
- hide_tooltip
|
|
77
|
+
- repair_cost
|
|
78
|
+
- creative_slot_lock
|
|
79
|
+
- enchantment_glint_override
|
|
80
|
+
- intangible_projectile
|
|
81
|
+
- food
|
|
82
|
+
- consumable
|
|
83
|
+
- use_remainder
|
|
84
|
+
- use_cooldown
|
|
85
|
+
- damage_resistant
|
|
86
|
+
- tool
|
|
87
|
+
- enchantable
|
|
88
|
+
- equippable
|
|
89
|
+
- repairable
|
|
90
|
+
- glider
|
|
91
|
+
- tooltip_style
|
|
92
|
+
- death_protection
|
|
93
|
+
- stored_enchantments
|
|
94
|
+
- dyed_color
|
|
95
|
+
- map_color
|
|
96
|
+
- map_id
|
|
97
|
+
- map_decorations
|
|
98
|
+
- map_post_processing
|
|
99
|
+
- charged_projectiles
|
|
100
|
+
- bundle_contents
|
|
101
|
+
- potion_contents
|
|
102
|
+
- suspicious_stew_effects
|
|
103
|
+
- writable_book_content
|
|
104
|
+
- written_book_content
|
|
105
|
+
- trim
|
|
106
|
+
- debug_stick_state
|
|
107
|
+
- entity_data
|
|
108
|
+
- bucket_entity_data
|
|
109
|
+
- block_entity_data
|
|
110
|
+
- instrument
|
|
111
|
+
- ominous_bottle_amplifier
|
|
112
|
+
- jukebox_playable
|
|
113
|
+
- recipes
|
|
114
|
+
- lodestone_tracker
|
|
115
|
+
- firework_explosion
|
|
116
|
+
- fireworks
|
|
117
|
+
- profile
|
|
118
|
+
- note_block_sound
|
|
119
|
+
- banner_patterns
|
|
120
|
+
- base_color
|
|
121
|
+
- pot_decorations
|
|
122
|
+
- container
|
|
123
|
+
- block_state
|
|
124
|
+
- bees
|
|
125
|
+
- lock
|
|
126
|
+
- container_loot
|
|
193
127
|
|
|
128
|
+
# Instead of sending NBT for items over the network, Minecraft since 1.20.5 sends a
|
|
129
|
+
# list of components that make up the item. This saves bandwidth by not encoding tag names.
|
|
194
130
|
SlotComponent:
|
|
195
131
|
type: SlotComponentType
|
|
196
132
|
## Ref: client/net/minecraft/core/component/DataComponents.java
|
|
@@ -216,7 +152,7 @@
|
|
|
216
152
|
level: varint
|
|
217
153
|
showTooltip: bool
|
|
218
154
|
if can_place_on or can_break:
|
|
219
|
-
predicates:
|
|
155
|
+
predicates: ItemBlockPredicate[]varint
|
|
220
156
|
showTooltip: bool
|
|
221
157
|
if attribute_modifiers:
|
|
222
158
|
attributes: []varint
|
|
@@ -239,13 +175,17 @@
|
|
|
239
175
|
- armor
|
|
240
176
|
- body
|
|
241
177
|
showTooltip: bool
|
|
242
|
-
if custom_model_data:
|
|
178
|
+
if custom_model_data:
|
|
179
|
+
floats: f32[]varint
|
|
180
|
+
flags: bool[]varint
|
|
181
|
+
strings: string[]varint
|
|
182
|
+
colors: i32[]varint
|
|
243
183
|
if hide_additional_tooltip: void
|
|
244
184
|
if hide_tooltip: void
|
|
245
185
|
if repair_cost: varint
|
|
246
186
|
if creative_slot_lock: void
|
|
247
187
|
if enchantment_glint_override: bool
|
|
248
|
-
if intangible_projectile:
|
|
188
|
+
if intangible_projectile: anonymousNbt
|
|
249
189
|
if food:
|
|
250
190
|
nutrition: varint
|
|
251
191
|
# How much saturation will be given after consuming the item.
|
|
@@ -265,12 +205,9 @@
|
|
|
265
205
|
- spyglass
|
|
266
206
|
- toot_horn
|
|
267
207
|
- brush
|
|
268
|
-
sound:
|
|
269
|
-
"baseName": "soundId",
|
|
270
|
-
"otherwise": { name: "data", type: "SoundEvent" }
|
|
271
|
-
}]
|
|
208
|
+
sound: ItemSoundHolder
|
|
272
209
|
makes_particles: bool
|
|
273
|
-
effects:
|
|
210
|
+
effects: ItemConsumeEffect[]varint
|
|
274
211
|
if use_remainder: Slot
|
|
275
212
|
if use_cooldown:
|
|
276
213
|
seconds: f32
|
|
@@ -297,10 +234,7 @@
|
|
|
297
234
|
- chest
|
|
298
235
|
- head
|
|
299
236
|
- body
|
|
300
|
-
sound:
|
|
301
|
-
"baseName": "soundId",
|
|
302
|
-
"otherwise": { name: "data", type: "SoundEvent" }
|
|
303
|
-
}]
|
|
237
|
+
sound: ItemSoundHolder
|
|
304
238
|
model?: string
|
|
305
239
|
cameraOverlay?: string
|
|
306
240
|
allowedEntities?: IDSet
|
|
@@ -309,9 +243,10 @@
|
|
|
309
243
|
damageable: bool
|
|
310
244
|
if repairable:
|
|
311
245
|
items: IDSet
|
|
246
|
+
if glider: void
|
|
312
247
|
if tooltip_style: string
|
|
313
248
|
if death_protection:
|
|
314
|
-
effects:
|
|
249
|
+
effects: ItemConsumeEffect[]varint
|
|
315
250
|
if stored_enchantments:
|
|
316
251
|
enchantments: []varint
|
|
317
252
|
# The ID of the enchantment in the enchantment registry.
|
|
@@ -320,11 +255,11 @@
|
|
|
320
255
|
# Whether the list of enchantments should be shown on the item's tooltip.
|
|
321
256
|
showInTooltip: bool
|
|
322
257
|
if dyed_color:
|
|
323
|
-
color:
|
|
258
|
+
color: i32
|
|
324
259
|
showTooltip: bool
|
|
325
|
-
if map_color:
|
|
260
|
+
if map_color: i32
|
|
326
261
|
if map_id: varint
|
|
327
|
-
if map_decorations:
|
|
262
|
+
if map_decorations: anonymousNbt
|
|
328
263
|
if map_post_processing: varint
|
|
329
264
|
if charged_projectiles:
|
|
330
265
|
projectiles: Slot[]varint
|
|
@@ -334,220 +269,77 @@
|
|
|
334
269
|
# True if this potion has an ID in the potion registry--it has the default effects associated with the potion type.
|
|
335
270
|
potionId?: varint
|
|
336
271
|
# The RGB components of the color, encoded as an integer.
|
|
337
|
-
customColor?:
|
|
338
|
-
customEffects:
|
|
339
|
-
customName
|
|
340
|
-
# Name Type Description
|
|
341
|
-
# Number Of Effects VarInt Number of elements in the following array.
|
|
342
|
-
# Effect Type ID Array VarInt Enum The ID of the effect in the potion effect type registry.
|
|
343
|
-
# Duration VarInt The duration of the effect.
|
|
272
|
+
customColor?: i32
|
|
273
|
+
customEffects: ItemPotionEffect[]varint
|
|
274
|
+
customName?: string
|
|
344
275
|
if suspicious_stew_effects:
|
|
345
276
|
effects: []varint
|
|
277
|
+
# The ID of the effect in the potion effect type registry.
|
|
346
278
|
effect: varint
|
|
279
|
+
# The duration of the effect.
|
|
347
280
|
duration: varint
|
|
348
|
-
# Name Type Description
|
|
349
|
-
# Number Of Pages VarInt Number of elements in the following array.
|
|
350
|
-
# Page Raw Content Array (100) String (1024) The raw text of the page.
|
|
351
|
-
# Has Filtered Content Boolean
|
|
352
|
-
# Filtered Content Optional String (1024) The content after passing through chat filters. Only present if Has Filtered Content is true.
|
|
353
281
|
if writable_book_content:
|
|
354
|
-
pages
|
|
355
|
-
|
|
356
|
-
# Raw Title String (32) The raw title of the book.
|
|
357
|
-
# Has Filtered Title Boolean
|
|
358
|
-
# Filtered Title Optional String (32) The title after going through chat filters. Only present if Has Filtered Title is true.
|
|
359
|
-
# Author String
|
|
360
|
-
# Generation VarInt
|
|
361
|
-
# Number Of Pages VarInt Number of elements in the following array.
|
|
362
|
-
# Page Raw Content Array (100) TextComponent (1024) The raw text of the page.
|
|
363
|
-
# Has Filtered Content Boolean
|
|
364
|
-
# Filtered Content Optional Text Component (1024) The content after passing through chat filters. Only present if Has Filtered Content is true.
|
|
365
|
-
# Resolved Boolean Whether entity selectors have already been resolved.
|
|
282
|
+
# Max 100 pages
|
|
283
|
+
pages: ItemBookPage[]varint
|
|
366
284
|
if written_book_content:
|
|
367
285
|
rawTitle: string
|
|
368
286
|
filteredTitle?: string
|
|
369
287
|
author: string
|
|
370
288
|
generation: varint
|
|
371
|
-
pages:
|
|
372
|
-
# Whether entity selectors have already been resolved.
|
|
289
|
+
pages: ItemWrittenBookPage[]varint
|
|
373
290
|
resolved: bool
|
|
374
|
-
# Name Type Description
|
|
375
|
-
# Trim Material Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
376
|
-
# 0 - Directly represents a trim material, with the necessary data following.
|
|
377
|
-
# Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1.
|
|
378
|
-
# Asset Name Optional String See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
379
|
-
# Ingredient Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
380
|
-
# Item Model Index Optional Float See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
381
|
-
# Number of Overrides Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
382
|
-
# Override Armor Material Type Optional Array VarInt Enum See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
383
|
-
# Overriden Asset Name String See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
384
|
-
# Description Optional Text Component See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
385
|
-
# Trim Pattern Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
386
|
-
# 0 - Directly represents a trim pattern, with the necessary data following.
|
|
387
|
-
# Anything else - References a trim pattern in its registry, by the ID of Trim Pattern Type - 1.
|
|
388
|
-
# Asset Name Optional String See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
389
|
-
# Template Item Optional VarInt See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
390
|
-
# Description Optional Text Component See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
391
|
-
# Decal Optional Boolean See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
392
|
-
# Show In Tooltip Boolean Whether the trim information should be shown on the item's tooltip.
|
|
393
291
|
if trim:
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
# Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1.
|
|
397
|
-
materialType: varint
|
|
398
|
-
_: materialType ?
|
|
399
|
-
if 0:
|
|
400
|
-
assetName: string
|
|
401
|
-
ingredientId: varint
|
|
402
|
-
itemModelIndex: f32
|
|
403
|
-
numberOfOverrides: optvarint
|
|
404
|
-
override: []varint
|
|
405
|
-
armorMaterialType: varint
|
|
406
|
-
overridenAssetName: string
|
|
407
|
-
description: string
|
|
408
|
-
trimPatternType: varint
|
|
409
|
-
_: trimPatternType ?
|
|
410
|
-
if 0:
|
|
411
|
-
assetName: string
|
|
412
|
-
templateItem: varint
|
|
413
|
-
description: string
|
|
414
|
-
decal: bool
|
|
292
|
+
material: ["registryEntryHolder", { "baseName": "materialId", "otherwise": { "name": "data", "type": "ArmorTrimMaterial" } }]
|
|
293
|
+
pattern: ["registryEntryHolder", { "baseName": "patternId", "otherwise": { "name": "data", "type": "ArmorTrimPattern" } }]
|
|
415
294
|
showInTooltip: bool
|
|
416
295
|
if debug_stick_state: anonymousNbt
|
|
417
296
|
if entity_data: anonymousNbt
|
|
418
297
|
if bucket_entity_data: anonymousNbt
|
|
419
298
|
if block_entity_data: anonymousNbt
|
|
420
|
-
|
|
421
|
-
# Instrument Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
422
|
-
# 0 - Directly represents an instrument, with the necessary data following.
|
|
423
|
-
# Anything else - References an instrument in its registry, by the ID of Instrument Type - 1.
|
|
424
|
-
# Sound Event Optional Sound Event The sound to be played. Only present if Instrument Type is 0.
|
|
425
|
-
# Use duration Optional Float The maximum range of the sound. Only present if Instrument Type is 0.
|
|
426
|
-
# Range Optional Float The range of the instrument. Only present if Instrument Type is 0.
|
|
427
|
-
if instrument:
|
|
428
|
-
instrumentType: varint
|
|
429
|
-
_: instrumentType ?
|
|
430
|
-
if 0:
|
|
431
|
-
soundEvent: string
|
|
432
|
-
useDuration: f32
|
|
433
|
-
range: f32
|
|
299
|
+
if instrument: ["registryEntryHolder", { "baseName": "instrumentId", "otherwise": { "name": "data", "type": "InstrumentData" } }]
|
|
434
300
|
if ominous_bottle_amplifier: varint
|
|
435
|
-
# Name Type Description
|
|
436
|
-
# Direct Mode Boolean Whether the jukebox song is specified directly, or just referenced by name.
|
|
437
|
-
# Jukebox Song Name Optional Identifier The name of the jukebox song in its respective registry. Only present if Direct Mode is false.
|
|
438
|
-
# Jukebox Song Type Optional VarInt Identifier used to determine the data that follows. It can be either:
|
|
439
|
-
# 0 - Directly represents a jukebox song, with the necessary data following.
|
|
440
|
-
# Anything else - References a jukebox song in its registry, by the ID of Jukebox Song Type - 1.
|
|
441
|
-
# Only present if Direct Mode is true.
|
|
442
|
-
# Sound Event Optional Sound Event The sound to be played. Only present if Direct Mode is true and Jukebox Song Type is 0.
|
|
443
|
-
# Description Optional Text Component The description shown in the item lore. Only present if Direct Mode is true and Jukebox Song Type is 0.
|
|
444
|
-
# 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.
|
|
445
|
-
# 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.
|
|
446
|
-
# Show In Tooltip Boolean Whether the song should be shown on the item's tooltip.
|
|
447
301
|
if jukebox_playable:
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
if true:
|
|
451
|
-
|
|
452
|
-
jukeboxSongType: varint
|
|
453
|
-
_: jukeboxSongType ?
|
|
454
|
-
if 0:
|
|
455
|
-
soundEvent:
|
|
456
|
-
soundEventType: varint
|
|
457
|
-
_: soundEventType ?
|
|
458
|
-
if 0:
|
|
459
|
-
soundName: string
|
|
460
|
-
fixedRange?: f32
|
|
461
|
-
description: anonymousNbt
|
|
462
|
-
duration: f32
|
|
463
|
-
output: varint
|
|
464
|
-
if false:
|
|
465
|
-
songLocation: string
|
|
302
|
+
hasHolder: bool
|
|
303
|
+
song: hasHolder ?
|
|
304
|
+
if true: ["registryEntryHolder", { "baseName": "songId", "otherwise": { "name": "data", "type": "JukeboxSongData" } }]
|
|
305
|
+
if false: string
|
|
466
306
|
showInTooltip: bool
|
|
467
307
|
if recipes: anonymousNbt
|
|
468
|
-
# Name Type Description
|
|
469
|
-
# Has Global Position Boolean Whether this lodestone points to a position, otherwise it spins randomly.
|
|
470
|
-
# Dimension Identifier The dimension the compass points to. Only present if Has Global Position is true.
|
|
471
|
-
# Position Position The position the compass points to. Only present if Has Global Position is true.
|
|
472
|
-
# Tracked Boolean Whether the component is removed when the associated lodestone is broken.
|
|
473
308
|
if lodestone_tracker:
|
|
309
|
+
# Specified if this lodestone points to a position; otherwise it spins randomly.
|
|
474
310
|
globalPosition?:
|
|
475
311
|
dimension: string
|
|
312
|
+
# The position the compass points to. Only present if Has Global Position is true.
|
|
476
313
|
position: position
|
|
314
|
+
# Whether the component is removed when the associated lodestone is broken.
|
|
477
315
|
tracked: bool
|
|
478
|
-
|
|
479
|
-
# Shape VarInt Enum Can be one of the following:
|
|
480
|
-
# 0 - Small ball
|
|
481
|
-
# 1 - Large ball
|
|
482
|
-
# 2 - Star
|
|
483
|
-
# 3 - Creeper
|
|
484
|
-
# 4 - Burst
|
|
485
|
-
# Number Of Colors VarInt The number of elements in the following array.
|
|
486
|
-
# Colors Array of Int The RGB components of the color, encoded as an integer.
|
|
487
|
-
# Number Of Fade Colors VarInt The number of elements in the following array.
|
|
488
|
-
# Fade Colors Array of Int The RGB components of the color, encoded as an integer.
|
|
489
|
-
# Has Trail Boolean
|
|
490
|
-
# Has Twinkle Boolean
|
|
491
|
-
if firework_explosion: FireworkExplosion
|
|
316
|
+
if firework_explosion: ItemFireworkExplosion
|
|
492
317
|
if fireworks:
|
|
493
318
|
flightDuration: varint
|
|
494
|
-
explosions:
|
|
495
|
-
# Name Type Description
|
|
496
|
-
# Has Name Boolean
|
|
497
|
-
# Name Optional String (16) Only present if Has Name is true.
|
|
498
|
-
# Has Unique ID Boolean
|
|
499
|
-
# Unique ID Optional UUID Only present if Has Unique ID is true.
|
|
500
|
-
# Number of Properties VarInt Number of elements in the following array.
|
|
501
|
-
# Property Name Array String (64)
|
|
502
|
-
# Value String
|
|
503
|
-
# Has Signature Boolean
|
|
504
|
-
# Signature String (1024) Only present if Has Signature is true.
|
|
319
|
+
explosions: ItemFireworkExplosion[]varint
|
|
505
320
|
if profile:
|
|
506
|
-
|
|
507
|
-
name
|
|
508
|
-
|
|
509
|
-
uniqueId: UUID
|
|
321
|
+
# If the profile has a name, max 16 characters.
|
|
322
|
+
name?: string
|
|
323
|
+
uuid?: UUID
|
|
510
324
|
properties: []varint
|
|
511
|
-
|
|
325
|
+
# Max 64 characters
|
|
326
|
+
name: string
|
|
512
327
|
value: string
|
|
513
|
-
|
|
514
|
-
signature
|
|
328
|
+
# Max 1024 characters
|
|
329
|
+
signature?: string
|
|
515
330
|
if note_block_sound: string
|
|
516
|
-
# Name Type Description
|
|
517
|
-
# Number of Layers VarInt Number of elements in the following array.
|
|
518
|
-
# Layer Pattern Type Array VarInt Identifier used to determine the data that follows. It can be either:
|
|
519
|
-
# 0 - Directly represents a pattern, with the necessary data following.
|
|
520
|
-
# Anything else - References a pattern in its registry, by the ID of Pattern Type - 1.
|
|
521
|
-
# Asset ID Optional Identifier Identifier of the asset. Only present if Pattern Type is 0.
|
|
522
|
-
# Translation Key Optional String Only present if Pattern Type is 0.
|
|
523
|
-
# Color Dye Color See Dye Color.
|
|
524
331
|
if banner_patterns:
|
|
525
|
-
layers: []varint
|
|
526
|
-
patternType: varint
|
|
527
|
-
_: patternType ?
|
|
528
|
-
if 0:
|
|
529
|
-
assetId: string
|
|
530
|
-
translationKey: string
|
|
531
|
-
color: varint
|
|
332
|
+
layers: BannerPatternLayer[]varint
|
|
532
333
|
if base_color: varint
|
|
533
334
|
if pot_decorations:
|
|
534
335
|
# The ID of the items in the item registry.
|
|
535
336
|
decorations: varint[]varint
|
|
536
337
|
if container:
|
|
537
338
|
contents: Slot[]varint
|
|
538
|
-
# Name Type Description
|
|
539
|
-
# Number of Properties VarInt Number of elements in the following array.
|
|
540
|
-
# Property Name Array String
|
|
541
|
-
# Value String
|
|
542
339
|
if block_state:
|
|
543
340
|
properties: []varint
|
|
544
|
-
|
|
341
|
+
name: string
|
|
545
342
|
value: string
|
|
546
|
-
# Name Type Description
|
|
547
|
-
# Number of Bees VarInt Number of elements in the following array.
|
|
548
|
-
# Bee Entity Data Array NBT
|
|
549
|
-
# Ticks In Hive VarInt
|
|
550
|
-
# Min Ticks In Hive VarInt
|
|
551
343
|
if bees:
|
|
552
344
|
bees: []varint
|
|
553
345
|
# Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component.
|
|
@@ -557,48 +349,71 @@
|
|
|
557
349
|
if lock: anonymousNbt
|
|
558
350
|
if container_loot: anonymousNbt
|
|
559
351
|
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
removedComponentCount: varint
|
|
569
|
-
components: SlotComponent[]$addedComponentCount
|
|
570
|
-
removeComponents: []$removedComponentCount
|
|
571
|
-
type: SlotComponentType
|
|
352
|
+
# TODO: add to ClientboundExplodePacket and ClientboundSoundEntityPacket and ClientboundSoundPacket (and maybe other) packet which also use HolderSet
|
|
353
|
+
ItemSoundEvent:
|
|
354
|
+
soundName: string
|
|
355
|
+
fixedRange?: f32
|
|
356
|
+
ItemSoundHolder: ["registryEntryHolder", {
|
|
357
|
+
"baseName": "soundId",
|
|
358
|
+
"otherwise": { name: "data", type: "ItemSoundEvent" }
|
|
359
|
+
}]
|
|
572
360
|
|
|
573
|
-
|
|
361
|
+
ItemFireworkExplosion:
|
|
574
362
|
shape: varint =>
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
363
|
+
- small_ball
|
|
364
|
+
- large_ball
|
|
365
|
+
- star
|
|
366
|
+
- creeper
|
|
367
|
+
- burst
|
|
368
|
+
# The RGB components of the color, encoded as an integer.
|
|
580
369
|
colors: i32[]varint
|
|
370
|
+
# The RGB components of the color, encoded as an integer.
|
|
581
371
|
fadeColors: i32[]varint
|
|
372
|
+
# Whether the firework has a trail.
|
|
582
373
|
hasTrail: bool
|
|
374
|
+
# Whether the firework has a twinkle effect.
|
|
583
375
|
hasTwinkle: bool
|
|
584
376
|
|
|
585
|
-
|
|
586
|
-
content: string
|
|
587
|
-
filteredContent?: string
|
|
588
|
-
|
|
589
|
-
EffectDetail:
|
|
377
|
+
ItemEffectDetail:
|
|
590
378
|
amplifier: varint
|
|
591
379
|
duration: varint
|
|
592
380
|
ambient: bool
|
|
593
381
|
showParticles: bool
|
|
594
382
|
showIcon: bool
|
|
595
|
-
hiddenEffect?:
|
|
383
|
+
hiddenEffect?: ItemEffectDetail
|
|
596
384
|
|
|
597
|
-
|
|
385
|
+
ItemPotionEffect:
|
|
598
386
|
id: varint
|
|
599
|
-
details:
|
|
387
|
+
details: ItemEffectDetail
|
|
600
388
|
|
|
601
|
-
|
|
389
|
+
ItemBlockProperty:
|
|
390
|
+
name: string
|
|
391
|
+
isExactMatch: bool
|
|
392
|
+
value: isExactMatch ?
|
|
393
|
+
if true:
|
|
394
|
+
exactValue: string
|
|
395
|
+
if false:
|
|
396
|
+
minValue: string
|
|
397
|
+
maxValue: string
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
ItemBlockPredicate:
|
|
401
|
+
blockSet?: ["registryEntryHolderSet", {
|
|
402
|
+
"base": { name: "name", type: "string" },
|
|
403
|
+
"otherwise": { name: "blockIds", type: "varint" }
|
|
404
|
+
}]
|
|
405
|
+
properties?: ItemBlockProperty[]varint
|
|
406
|
+
nbt: anonOptionalNbt
|
|
407
|
+
|
|
408
|
+
ItemBookPage:
|
|
409
|
+
# The raw text of the page. TextComponent, max 1024 characters.
|
|
410
|
+
content: string
|
|
411
|
+
filteredContent?: string
|
|
412
|
+
ItemWrittenBookPage:
|
|
413
|
+
content: anonymousNbt
|
|
414
|
+
filteredContent: anonOptionalNbt
|
|
415
|
+
|
|
416
|
+
ItemConsumeEffect: # 1.21.3
|
|
602
417
|
type: varint =>
|
|
603
418
|
- apply_effects
|
|
604
419
|
- remove_effects
|
|
@@ -607,7 +422,7 @@
|
|
|
607
422
|
- play_sound
|
|
608
423
|
_: type ?
|
|
609
424
|
if apply_effects:
|
|
610
|
-
effects:
|
|
425
|
+
effects: ItemPotionEffect[]varint
|
|
611
426
|
probability: f32
|
|
612
427
|
if remove_effects:
|
|
613
428
|
effects: IDSet
|
|
@@ -615,145 +430,168 @@
|
|
|
615
430
|
if teleport_randomly:
|
|
616
431
|
diameter: f32
|
|
617
432
|
if play_sound:
|
|
618
|
-
sound:
|
|
619
|
-
"baseName": "soundId",
|
|
620
|
-
"otherwise": { name: "data", type: "SoundEvent" }
|
|
621
|
-
}]
|
|
433
|
+
sound: ItemSoundHolder
|
|
622
434
|
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
# Minimum value of the block state property range. Only present in ranged match mode.
|
|
631
|
-
minValue?: string
|
|
632
|
-
# Maximum value of the block state property range. Only present in ranged match mode.
|
|
633
|
-
maxValue?: string
|
|
435
|
+
ArmorTrimMaterial:
|
|
436
|
+
assetName: string
|
|
437
|
+
ingredientId: varint
|
|
438
|
+
overrideArmorAssets: []varint
|
|
439
|
+
key: string
|
|
440
|
+
value: string
|
|
441
|
+
description: anonymousNbt
|
|
634
442
|
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
443
|
+
ArmorTrimPattern:
|
|
444
|
+
assetId: string
|
|
445
|
+
templateItemId: varint
|
|
446
|
+
description: anonymousNbt
|
|
447
|
+
decal: bool
|
|
448
|
+
|
|
449
|
+
InstrumentData:
|
|
450
|
+
soundEvent: ItemSoundHolder
|
|
451
|
+
useDuration: f32
|
|
452
|
+
range: f32
|
|
453
|
+
description: anonymousNbt
|
|
454
|
+
|
|
455
|
+
JukeboxSongData:
|
|
456
|
+
soundEvent: ItemSoundHolder
|
|
457
|
+
description: anonymousNbt
|
|
458
|
+
lengthInSeconds: f32
|
|
459
|
+
comparatorOutput: varint
|
|
460
|
+
|
|
461
|
+
BannerPattern:
|
|
462
|
+
assetId: string
|
|
463
|
+
translationKey: string
|
|
464
|
+
BannerPatternLayer:
|
|
465
|
+
pattern: ItemSoundHolder
|
|
466
|
+
colorId: varint
|
|
467
|
+
|
|
468
|
+
Slot:
|
|
469
|
+
itemCount: varint
|
|
470
|
+
_: itemCount ?
|
|
471
|
+
if 0: void
|
|
472
|
+
default:
|
|
473
|
+
itemId: varint
|
|
474
|
+
# https://wiki.vg/Slot_Data#Structured_components
|
|
475
|
+
addedComponentCount: varint
|
|
476
|
+
removedComponentCount: varint
|
|
477
|
+
components: SlotComponent[]$addedComponentCount
|
|
478
|
+
removeComponents: []$removedComponentCount
|
|
479
|
+
type: SlotComponentType
|
|
642
480
|
|
|
643
481
|
Particle:
|
|
644
482
|
# See client/net/minecraft/core/particles/ParticleTypes.java
|
|
645
483
|
type: varint =>
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
484
|
+
- angry_villager
|
|
485
|
+
- block
|
|
486
|
+
- block_marker
|
|
487
|
+
- bubble
|
|
488
|
+
- cloud
|
|
489
|
+
- crit
|
|
490
|
+
- damage_indicator
|
|
491
|
+
- dragon_breath
|
|
492
|
+
- dripping_lava
|
|
493
|
+
- falling_lava
|
|
494
|
+
- landing_lava
|
|
495
|
+
- dripping_water
|
|
496
|
+
- falling_water
|
|
497
|
+
- dust
|
|
498
|
+
- dust_color_transition
|
|
499
|
+
- effect
|
|
500
|
+
- elder_guardian
|
|
501
|
+
- enchanted_hit
|
|
502
|
+
- enchant
|
|
503
|
+
- end_rod
|
|
504
|
+
- entity_effect
|
|
505
|
+
- explosion_emitter
|
|
506
|
+
- explosion
|
|
507
|
+
- gust
|
|
508
|
+
- small_gust
|
|
509
|
+
- gust_emitter_large
|
|
510
|
+
- gust_emitter_small
|
|
511
|
+
- sonic_boom
|
|
512
|
+
- falling_dust
|
|
513
|
+
- firework
|
|
514
|
+
- fishing
|
|
515
|
+
- flame
|
|
516
|
+
- infested
|
|
517
|
+
- cherry_leaves
|
|
518
|
+
- sculk_soul
|
|
519
|
+
- sculk_charge
|
|
520
|
+
- sculk_charge_pop
|
|
521
|
+
- soul_fire_flame
|
|
522
|
+
- soul
|
|
523
|
+
- flash
|
|
524
|
+
- happy_villager
|
|
525
|
+
- composter
|
|
526
|
+
- heart
|
|
527
|
+
- instant_effect
|
|
528
|
+
- item
|
|
529
|
+
- vibration
|
|
530
|
+
- trail
|
|
531
|
+
- item_slime
|
|
532
|
+
- item_cobweb
|
|
533
|
+
- item_snowball
|
|
534
|
+
- large_smoke
|
|
535
|
+
- lava
|
|
536
|
+
- mycelium
|
|
537
|
+
- note
|
|
538
|
+
- poof
|
|
539
|
+
- portal
|
|
540
|
+
- rain
|
|
541
|
+
- smoke
|
|
542
|
+
- white_smoke
|
|
543
|
+
- sneeze
|
|
544
|
+
- spit
|
|
545
|
+
- squid_ink
|
|
546
|
+
- sweep_attack
|
|
547
|
+
- totem_of_undying
|
|
548
|
+
- underwater
|
|
549
|
+
- splash
|
|
550
|
+
- witch
|
|
551
|
+
- bubble_pop
|
|
552
|
+
- current_down
|
|
553
|
+
- bubble_column_up
|
|
554
|
+
- nautilus
|
|
555
|
+
- dolphin
|
|
556
|
+
- campfire_cosy_smoke
|
|
557
|
+
- campfire_signal_smoke
|
|
558
|
+
- dripping_honey
|
|
559
|
+
- falling_honey
|
|
560
|
+
- landing_honey
|
|
561
|
+
- falling_nectar
|
|
562
|
+
- falling_spore_blossom
|
|
563
|
+
- ash
|
|
564
|
+
- crimson_spore
|
|
565
|
+
- warped_spore
|
|
566
|
+
- spore_blossom_air
|
|
567
|
+
- dripping_obsidian_tear
|
|
568
|
+
- falling_obsidian_tear
|
|
569
|
+
- landing_obsidian_tear
|
|
570
|
+
- reverse_portal
|
|
571
|
+
- white_ash
|
|
572
|
+
- small_flame
|
|
573
|
+
- snowflake
|
|
574
|
+
- dripping_dripstone_lava
|
|
575
|
+
- falling_dripstone_lava
|
|
576
|
+
- dripping_dripstone_water
|
|
577
|
+
- falling_dripstone_water
|
|
578
|
+
- glow_squid_ink
|
|
579
|
+
- glow
|
|
580
|
+
- wax_on
|
|
581
|
+
- wax_off
|
|
582
|
+
- electric_spark
|
|
583
|
+
- scrape
|
|
584
|
+
- shriek
|
|
585
|
+
- egg_crack
|
|
586
|
+
- dust_plume
|
|
587
|
+
- trial_spawner_detected_player
|
|
588
|
+
- trial_spawner_detected_player_ominous
|
|
589
|
+
- vault_connection
|
|
590
|
+
- dust_pillar
|
|
591
|
+
- ominous_spawning
|
|
592
|
+
- raid_omen
|
|
593
|
+
- trial_omen
|
|
594
|
+
- block_crumble
|
|
757
595
|
## ## Tips for reviewing particle data (as of 1.20.5)
|
|
758
596
|
## Inside the registry code, each particle can have an associated "options" type and
|
|
759
597
|
## each options type can add additional data to be encoded.
|
|
@@ -788,14 +626,14 @@
|
|
|
788
626
|
if sculk_charge: f32
|
|
789
627
|
if shriek: varint
|
|
790
628
|
if vibration:
|
|
791
|
-
|
|
629
|
+
positionType: varint =>
|
|
792
630
|
- block
|
|
793
631
|
- entity
|
|
794
|
-
position:
|
|
632
|
+
position: positionType ?
|
|
795
633
|
if block: position
|
|
796
634
|
if entity:
|
|
797
635
|
entityId: varint
|
|
798
|
-
|
|
636
|
+
entityEyeHeight: f32
|
|
799
637
|
ticks: varint
|
|
800
638
|
if trail:
|
|
801
639
|
target: vec3f64
|
|
@@ -977,7 +815,7 @@
|
|
|
977
815
|
game_profile:
|
|
978
816
|
name: string
|
|
979
817
|
properties: []varint
|
|
980
|
-
|
|
818
|
+
name: string
|
|
981
819
|
value: string
|
|
982
820
|
signature?: string
|
|
983
821
|
command_node:
|
|
@@ -1277,6 +1115,20 @@
|
|
|
1277
1115
|
# These are packets that are shared between multiple states.
|
|
1278
1116
|
# They are defined here to avoid duplication.
|
|
1279
1117
|
# =====
|
|
1118
|
+
# MC: ServerboundClientInformationPacket
|
|
1119
|
+
packet_common_settings:
|
|
1120
|
+
locale: string
|
|
1121
|
+
viewDistance: i8
|
|
1122
|
+
chatFlags: varint
|
|
1123
|
+
chatColors: bool
|
|
1124
|
+
skinParts: u8
|
|
1125
|
+
mainHand: varint
|
|
1126
|
+
enableTextFiltering: bool
|
|
1127
|
+
enableServerListing: bool
|
|
1128
|
+
particleStatus: varint =>
|
|
1129
|
+
- all
|
|
1130
|
+
- decreased
|
|
1131
|
+
- minimal
|
|
1280
1132
|
# MC: ClientboundCookieRequestPacket
|
|
1281
1133
|
packet_common_cookie_request:
|
|
1282
1134
|
cookie: string
|
|
@@ -1316,16 +1168,16 @@
|
|
|
1316
1168
|
promptMessage?: anonymousNbt
|
|
1317
1169
|
|
|
1318
1170
|
ServerLinkType: varint =>
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1171
|
+
- bug_report
|
|
1172
|
+
- community_guidelines
|
|
1173
|
+
- support
|
|
1174
|
+
- status
|
|
1175
|
+
- feedback
|
|
1176
|
+
- community
|
|
1177
|
+
- website
|
|
1178
|
+
- forums
|
|
1179
|
+
- news
|
|
1180
|
+
- announcements
|
|
1329
1181
|
# MC: ClientboundServerLinksPacket
|
|
1330
1182
|
# This packet contains a list of links that the Notchian client will display in the menu
|
|
1331
1183
|
# available from the pause menu. Link labels can be built-in or custom (i.e., any text).
|
|
@@ -1553,17 +1405,7 @@
|
|
|
1553
1405
|
if custom_report_details: packet_common_custom_report_details
|
|
1554
1406
|
if server_links: packet_common_server_links
|
|
1555
1407
|
^configuration.toServer.types:
|
|
1556
|
-
|
|
1557
|
-
packet_settings:
|
|
1558
|
-
locale: string
|
|
1559
|
-
viewDistance: i8
|
|
1560
|
-
chatFlags: varint
|
|
1561
|
-
chatColors: bool
|
|
1562
|
-
skinParts: u8
|
|
1563
|
-
mainHand: varint
|
|
1564
|
-
enableTextFiltering: bool
|
|
1565
|
-
enableServerListing: bool
|
|
1566
|
-
particles: varint
|
|
1408
|
+
## (Settings is Common) ##
|
|
1567
1409
|
## (Cookie Response is Common) ##
|
|
1568
1410
|
# MC: ServerboundCustomPayloadPacket
|
|
1569
1411
|
packet_custom_payload:
|
|
@@ -1595,7 +1437,7 @@
|
|
|
1595
1437
|
- custom_report_details
|
|
1596
1438
|
- server_links
|
|
1597
1439
|
params: name ?
|
|
1598
|
-
if settings:
|
|
1440
|
+
if settings: packet_common_settings
|
|
1599
1441
|
if cookie_response: packet_common_cookie_response
|
|
1600
1442
|
if custom_payload: packet_custom_payload
|
|
1601
1443
|
if finish_configuration: packet_finish_configuration
|
|
@@ -1606,7 +1448,64 @@
|
|
|
1606
1448
|
if custom_report_details: packet_common_custom_report_details
|
|
1607
1449
|
if server_links: packet_common_server_links
|
|
1608
1450
|
^play.toClient.types:
|
|
1609
|
-
|
|
1451
|
+
SlotDisplay:
|
|
1452
|
+
type: varint =>
|
|
1453
|
+
- empty
|
|
1454
|
+
- any_fuel
|
|
1455
|
+
- item
|
|
1456
|
+
- item_stack
|
|
1457
|
+
- tag
|
|
1458
|
+
- smithing_trim
|
|
1459
|
+
- with_remainder
|
|
1460
|
+
- composite
|
|
1461
|
+
data: type ?
|
|
1462
|
+
if empty or any_fuel: void
|
|
1463
|
+
if item: varint
|
|
1464
|
+
if item_stack: Slot
|
|
1465
|
+
if tag: string
|
|
1466
|
+
if smithing_trim:
|
|
1467
|
+
base: SlotDisplay
|
|
1468
|
+
material: SlotDisplay
|
|
1469
|
+
pattern: SlotDisplay
|
|
1470
|
+
if with_remainder:
|
|
1471
|
+
input: SlotDisplay
|
|
1472
|
+
remainder: SlotDisplay
|
|
1473
|
+
if composite: SlotDisplay[]varint
|
|
1474
|
+
RecipeDisplay:
|
|
1475
|
+
type: varint =>
|
|
1476
|
+
- crafting_shapeless
|
|
1477
|
+
- crafting_shaped
|
|
1478
|
+
- furnace
|
|
1479
|
+
- stonecutter
|
|
1480
|
+
- smithing
|
|
1481
|
+
data: type ?
|
|
1482
|
+
if crafting_shapeless:
|
|
1483
|
+
ingredients: SlotDisplay[]varint
|
|
1484
|
+
result: SlotDisplay
|
|
1485
|
+
craftingStation: SlotDisplay
|
|
1486
|
+
if crafting_shaped:
|
|
1487
|
+
width: varint
|
|
1488
|
+
height: varint
|
|
1489
|
+
ingredients: SlotDisplay[]varint
|
|
1490
|
+
result: SlotDisplay
|
|
1491
|
+
craftingStation: SlotDisplay
|
|
1492
|
+
if furnace:
|
|
1493
|
+
ingredient: SlotDisplay
|
|
1494
|
+
fuel: SlotDisplay
|
|
1495
|
+
result: SlotDisplay
|
|
1496
|
+
craftingStation: SlotDisplay
|
|
1497
|
+
duration: varint
|
|
1498
|
+
experience: f32
|
|
1499
|
+
if stonecutter:
|
|
1500
|
+
ingredient: SlotDisplay
|
|
1501
|
+
result: SlotDisplay
|
|
1502
|
+
craftingStation: SlotDisplay
|
|
1503
|
+
if smithing:
|
|
1504
|
+
template: SlotDisplay
|
|
1505
|
+
base: SlotDisplay
|
|
1506
|
+
addition: SlotDisplay
|
|
1507
|
+
result: SlotDisplay
|
|
1508
|
+
craftingStation: SlotDisplay
|
|
1610
1509
|
# World state information for spawn and respawn packets
|
|
1611
1510
|
SpawnInfo:
|
|
1612
1511
|
dimension: varint
|
|
@@ -1806,18 +1705,14 @@
|
|
|
1806
1705
|
parameters: ChatTypeParameterType[]varint
|
|
1807
1706
|
style: anonymousNbt
|
|
1808
1707
|
ChatTypes:
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
if 0:
|
|
1813
|
-
chat: ChatType
|
|
1814
|
-
narration: ChatType
|
|
1815
|
-
default: void
|
|
1708
|
+
chat: ChatType
|
|
1709
|
+
narration: ChatType
|
|
1710
|
+
ChatTypesHolder: ["registryEntryHolder", { "baseName": "chatType", "otherwise": { name: "data", type: "ChatTypes" } }]
|
|
1816
1711
|
|
|
1817
1712
|
# MC: ClientboundDisguisedChatPacket
|
|
1818
1713
|
packet_profileless_chat:
|
|
1819
1714
|
message: anonymousNbt
|
|
1820
|
-
type:
|
|
1715
|
+
type: ChatTypesHolder
|
|
1821
1716
|
name: anonymousNbt
|
|
1822
1717
|
target?: anonymousNbt
|
|
1823
1718
|
# MC: ClientboundEntityEventPacket
|
|
@@ -1838,16 +1733,12 @@
|
|
|
1838
1733
|
onGround: bool
|
|
1839
1734
|
# MC: ClientboundExplodePacket
|
|
1840
1735
|
packet_explosion:
|
|
1841
|
-
|
|
1736
|
+
x: f64
|
|
1737
|
+
y: f64
|
|
1738
|
+
z: f64
|
|
1842
1739
|
playerKnockback?: vec3f
|
|
1843
1740
|
explosionParticle: Particle
|
|
1844
|
-
|
|
1845
|
-
_: soundId ?
|
|
1846
|
-
if 0:
|
|
1847
|
-
soundName: string
|
|
1848
|
-
range?: f32
|
|
1849
|
-
default:
|
|
1850
|
-
|
|
1741
|
+
sound: ItemSoundHolder
|
|
1851
1742
|
# MC: ClientboundForgetLevelChunkPacket
|
|
1852
1743
|
packet_unload_chunk:
|
|
1853
1744
|
chunkZ: i32
|
|
@@ -2014,7 +1905,7 @@
|
|
|
2014
1905
|
pitch: i8
|
|
2015
1906
|
onGround: bool
|
|
2016
1907
|
# MC: ClientboundMoveMinecartPacket
|
|
2017
|
-
packet_move_minecart:
|
|
1908
|
+
packet_move_minecart: # 1.21.3
|
|
2018
1909
|
entityId: varint
|
|
2019
1910
|
steps: []varint
|
|
2020
1911
|
position: vec3f
|
|
@@ -2081,7 +1972,7 @@
|
|
|
2081
1972
|
filterTypeMask: filterType ?
|
|
2082
1973
|
if 2: i64[]varint
|
|
2083
1974
|
default: void
|
|
2084
|
-
type:
|
|
1975
|
+
type: ChatTypesHolder
|
|
2085
1976
|
networkName: anonymousNbt
|
|
2086
1977
|
networkTargetName?: anonymousNbt
|
|
2087
1978
|
# MC: ClientboundPlayerCombatEndPacket
|
|
@@ -2099,6 +1990,7 @@
|
|
|
2099
1990
|
players: UUID[]varint
|
|
2100
1991
|
# MC: ClientboundPlayerInfoUpdatePacket
|
|
2101
1992
|
packet_player_info:
|
|
1993
|
+
## ClientboundPlayerInfoUpdatePacket.java#L160
|
|
2102
1994
|
action: ["bitflags", {
|
|
2103
1995
|
"type": "u8",
|
|
2104
1996
|
"flags": [
|
|
@@ -2108,7 +2000,7 @@
|
|
|
2108
2000
|
"update_listed",
|
|
2109
2001
|
"update_latency",
|
|
2110
2002
|
"update_display_name",
|
|
2111
|
-
"
|
|
2003
|
+
"update_list_order"
|
|
2112
2004
|
]
|
|
2113
2005
|
}]
|
|
2114
2006
|
data: []varint
|
|
@@ -2129,9 +2021,9 @@
|
|
|
2129
2021
|
if true: varint
|
|
2130
2022
|
default: void
|
|
2131
2023
|
displayName: ../action/update_display_name ?
|
|
2132
|
-
if true:
|
|
2024
|
+
if true: ["option", "anonymousNbt"]
|
|
2133
2025
|
default: void
|
|
2134
|
-
listPriority: ../action/
|
|
2026
|
+
listPriority: ../action/update_list_order ?
|
|
2135
2027
|
if true: varint
|
|
2136
2028
|
default: void
|
|
2137
2029
|
|
|
@@ -2154,19 +2046,6 @@
|
|
|
2154
2046
|
"type": "u32",
|
|
2155
2047
|
"flags": ["x", "y", "z", "yaw", "pitch", "dx", "dy", "dz", "yawDelta"]
|
|
2156
2048
|
}]
|
|
2157
|
-
# PositionUpdateRelatives: ["bitfield", [
|
|
2158
|
-
# # unused bits on top
|
|
2159
|
-
# { "name": "unused", "size": 23, "signed": false },
|
|
2160
|
-
# { "name": "yawDelta", "size": 1, "signed": false },
|
|
2161
|
-
# { "name": "dz", "size": 1, "signed": false },
|
|
2162
|
-
# { "name": "dy", "size": 1, "signed": false },
|
|
2163
|
-
# { "name": "dx", "size": 1, "signed": false },
|
|
2164
|
-
# { "name": "pitch", "size": 1, "signed": false },
|
|
2165
|
-
# { "name": "yaw", "size": 1, "signed": false },
|
|
2166
|
-
# { "name": "z", "size": 1, "signed": false },
|
|
2167
|
-
# { "name": "y", "size": 1, "signed": false },
|
|
2168
|
-
# { "name": "x", "size": 1, "signed": false },
|
|
2169
|
-
# ]]
|
|
2170
2049
|
# MC: ClientboundPlayerPositionPacket
|
|
2171
2050
|
packet_position:
|
|
2172
2051
|
teleportId: varint
|
|
@@ -2237,6 +2116,7 @@
|
|
|
2237
2116
|
packet_reset_score:
|
|
2238
2117
|
entity_name: string
|
|
2239
2118
|
objective_name?: string
|
|
2119
|
+
## (remove_resource_pack is common)
|
|
2240
2120
|
# MC: ClientboundRespawnPacket
|
|
2241
2121
|
packet_respawn:
|
|
2242
2122
|
worldState: SpawnInfo
|
|
@@ -2460,12 +2340,7 @@
|
|
|
2460
2340
|
fadeOut: i32
|
|
2461
2341
|
# MC: ClientboundSoundEntityPacket
|
|
2462
2342
|
packet_entity_sound_effect:
|
|
2463
|
-
|
|
2464
|
-
soundEvent: soundId ?
|
|
2465
|
-
if 0:
|
|
2466
|
-
resource: string
|
|
2467
|
-
range?: f32
|
|
2468
|
-
default: void
|
|
2343
|
+
sound: ItemSoundHolder
|
|
2469
2344
|
soundCategory: soundSource
|
|
2470
2345
|
entityId: varint
|
|
2471
2346
|
volume: f32
|
|
@@ -2473,12 +2348,7 @@
|
|
|
2473
2348
|
seed: i64
|
|
2474
2349
|
# MC: ClientboundSoundPacket
|
|
2475
2350
|
packet_sound_effect:
|
|
2476
|
-
|
|
2477
|
-
soundEvent: soundId ?
|
|
2478
|
-
if 0:
|
|
2479
|
-
resource: string
|
|
2480
|
-
range?: f32
|
|
2481
|
-
default: void
|
|
2351
|
+
sound: ItemSoundHolder
|
|
2482
2352
|
soundCategory: soundSource
|
|
2483
2353
|
x: i32
|
|
2484
2354
|
y: i32
|
|
@@ -2974,20 +2844,7 @@
|
|
|
2974
2844
|
# MC: ServerboundClientTickEndPacket
|
|
2975
2845
|
packet_tick_end:
|
|
2976
2846
|
# Empty
|
|
2977
|
-
|
|
2978
|
-
packet_settings:
|
|
2979
|
-
locale: string
|
|
2980
|
-
viewDistance: i8
|
|
2981
|
-
chatFlags: varint
|
|
2982
|
-
chatColors: bool
|
|
2983
|
-
skinParts: u8
|
|
2984
|
-
mainHand: varint
|
|
2985
|
-
enableTextFiltering: bool
|
|
2986
|
-
enableServerListing: bool
|
|
2987
|
-
particleStatus: varint =>
|
|
2988
|
-
- all
|
|
2989
|
-
- decreased
|
|
2990
|
-
- minimal
|
|
2847
|
+
## (Settings is common) ##
|
|
2991
2848
|
# MC: ServerboundCommandSuggestionPacket
|
|
2992
2849
|
packet_tab_complete:
|
|
2993
2850
|
transactionId: varint
|
|
@@ -3319,7 +3176,7 @@
|
|
|
3319
3176
|
if chunk_batch_received: packet_chunk_batch_received
|
|
3320
3177
|
if client_command: packet_client_command
|
|
3321
3178
|
if tick_end: packet_tick_end
|
|
3322
|
-
if settings:
|
|
3179
|
+
if settings: packet_common_settings
|
|
3323
3180
|
if tab_complete: packet_tab_complete
|
|
3324
3181
|
if configuration_acknowledged: packet_configuration_acknowledged
|
|
3325
3182
|
if enchant_item: packet_enchant_item
|
|
@@ -3365,4 +3222,4 @@
|
|
|
3365
3222
|
if arm_animation: packet_arm_animation
|
|
3366
3223
|
if spectate: packet_spectate
|
|
3367
3224
|
if block_place: packet_block_place
|
|
3368
|
-
if use_item: packet_use_item
|
|
3225
|
+
if use_item: packet_use_item
|