minecraft-data 3.91.0 → 3.92.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 +27 -0
- package/doc/history.md +4 -0
- package/index.d.ts +5 -2
- package/minecraft-data/data/dataPaths.json +27 -0
- 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/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 +6 -0
- package/minecraft-data/doc/protocol.md +6 -4
- package/package.json +1 -1
- package/test/load.js +8 -0
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
entityMetadataLoop: native
|
|
24
24
|
topBitSetTerminatedArray: native
|
|
25
25
|
bitfield: native
|
|
26
|
+
bitflags: native
|
|
26
27
|
container: native
|
|
27
28
|
switch: native
|
|
28
29
|
void: native
|
|
@@ -30,14 +31,10 @@
|
|
|
30
31
|
restBuffer: native
|
|
31
32
|
anonymousNbt: native
|
|
32
33
|
anonOptionalNbt: native
|
|
33
|
-
|
|
34
|
+
registryEntryHolder: native
|
|
35
|
+
registryEntryHolderSet: native
|
|
34
36
|
ByteArray: ["buffer", { "countType": "varint" }]
|
|
35
|
-
string: [
|
|
36
|
-
"pstring",
|
|
37
|
-
{
|
|
38
|
-
"countType": "varint"
|
|
39
|
-
}
|
|
40
|
-
]
|
|
37
|
+
string: ["pstring", { "countType": "varint" }]
|
|
41
38
|
vec3f:
|
|
42
39
|
x: f32
|
|
43
40
|
y: f32
|
|
@@ -51,69 +48,74 @@
|
|
|
51
48
|
x: f64
|
|
52
49
|
y: f64
|
|
53
50
|
z: f64
|
|
54
|
-
|
|
51
|
+
IDSet: ["registryEntryHolderSet", {
|
|
52
|
+
"base": { name: "name", type: "string" },
|
|
53
|
+
"otherwise": { name: "ids", type: "varint" }
|
|
54
|
+
}]
|
|
55
|
+
ContainerID: u8
|
|
55
56
|
SlotComponentType: varint =>
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
57
|
+
- custom_data
|
|
58
|
+
- max_stack_size
|
|
59
|
+
- max_damage
|
|
60
|
+
- damage
|
|
61
|
+
- unbreakable
|
|
62
|
+
- custom_name
|
|
63
|
+
- item_name
|
|
64
|
+
- lore
|
|
65
|
+
- rarity
|
|
66
|
+
- enchantments
|
|
67
|
+
- can_place_on
|
|
68
|
+
- can_break
|
|
69
|
+
- attribute_modifiers
|
|
70
|
+
- custom_model_data
|
|
71
|
+
- hide_additional_tooltip
|
|
72
|
+
- hide_tooltip
|
|
73
|
+
- repair_cost
|
|
74
|
+
- creative_slot_lock
|
|
75
|
+
- enchantment_glint_override
|
|
76
|
+
- intangible_projectile
|
|
77
|
+
- food
|
|
78
|
+
- fire_resistant
|
|
79
|
+
- tool
|
|
80
|
+
- stored_enchantments
|
|
81
|
+
- dyed_color
|
|
82
|
+
- map_color
|
|
83
|
+
- map_id
|
|
84
|
+
- map_decorations
|
|
85
|
+
- map_post_processing
|
|
86
|
+
- charged_projectiles
|
|
87
|
+
- bundle_contents
|
|
88
|
+
- potion_contents
|
|
89
|
+
- suspicious_stew_effects
|
|
90
|
+
- writable_book_content
|
|
91
|
+
- written_book_content
|
|
92
|
+
- trim
|
|
93
|
+
- debug_stick_state
|
|
94
|
+
- entity_data
|
|
95
|
+
- bucket_entity_data
|
|
96
|
+
- block_entity_data
|
|
97
|
+
- instrument
|
|
98
|
+
- ominous_bottle_amplifier
|
|
99
|
+
- recipes
|
|
100
|
+
- lodestone_tracker
|
|
101
|
+
- firework_explosion
|
|
102
|
+
- fireworks
|
|
103
|
+
- profile
|
|
104
|
+
- note_block_sound
|
|
105
|
+
- banner_patterns
|
|
106
|
+
- base_color
|
|
107
|
+
- pot_decorations
|
|
108
|
+
- container
|
|
109
|
+
- block_state
|
|
110
|
+
- bees
|
|
111
|
+
- lock
|
|
112
|
+
- container_loot
|
|
112
113
|
|
|
113
114
|
SlotComponent:
|
|
114
115
|
type: SlotComponentType
|
|
116
|
+
## Ref: client/net/minecraft/core/component/DataComponents.java
|
|
115
117
|
data: type ?
|
|
116
|
-
|
|
118
|
+
## TODO: look into how nbt works here
|
|
117
119
|
if custom_data: anonymousNbt
|
|
118
120
|
if max_stack_size: varint
|
|
119
121
|
if max_damage: varint
|
|
@@ -133,12 +135,12 @@
|
|
|
133
135
|
level: varint
|
|
134
136
|
showTooltip: bool
|
|
135
137
|
if can_place_on or can_break:
|
|
136
|
-
predicates:
|
|
138
|
+
predicates: ItemBlockPredicate[]varint
|
|
137
139
|
showTooltip: bool
|
|
138
140
|
if attribute_modifiers:
|
|
139
141
|
attributes: []varint
|
|
140
142
|
typeId: varint
|
|
141
|
-
|
|
143
|
+
uuid: UUID
|
|
142
144
|
name: string
|
|
143
145
|
value: f64
|
|
144
146
|
operation: varint =>
|
|
@@ -163,19 +165,12 @@
|
|
|
163
165
|
if repair_cost: varint
|
|
164
166
|
if creative_slot_lock: void
|
|
165
167
|
if enchantment_glint_override: bool
|
|
166
|
-
if intangible_projectile:
|
|
167
|
-
# Name Type Description
|
|
168
|
-
# Nutrition VarInt Non-negative
|
|
169
|
-
# Saturation Modifier Float How much saturation will be given after consuming the item.
|
|
170
|
-
# Can Always Eat Boolean Whether the item can always be eaten, even at full hunger.
|
|
171
|
-
# Seconds To Eat Float How long it takes to consume the item.
|
|
172
|
-
# 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.
|
|
173
|
-
# Number of effects VarInt Number of elements in the following array.
|
|
174
|
-
# Effect Type ID Array Potion Effect The potion effect. See Potion Effect.
|
|
175
|
-
# Probability Float The probability for this effect to be chosen.
|
|
168
|
+
if intangible_projectile: anonymousNbt
|
|
176
169
|
if food:
|
|
177
170
|
nutrition: varint
|
|
171
|
+
# How much saturation will be given after consuming the item.
|
|
178
172
|
saturationModifier: f32
|
|
173
|
+
# Whether the item can always be eaten, even at full hunger.
|
|
179
174
|
canAlwaysEat: bool
|
|
180
175
|
secondsToEat: f32
|
|
181
176
|
usingConvertsTo: Slot
|
|
@@ -183,240 +178,103 @@
|
|
|
183
178
|
effect: varint
|
|
184
179
|
probability: f32
|
|
185
180
|
if fire_resistant: void
|
|
186
|
-
# Name Type Description
|
|
187
|
-
# Number of Rules VarInt The number of elements in the following array.
|
|
188
|
-
# Rule
|
|
189
|
-
# Blocks Array Block Set The block this rule applies to. See Block Set.
|
|
190
|
-
# Has Speed Boolean
|
|
191
|
-
# Speed Optional Float The speed at which the tool breaks this rules' blocks. Only present if Has Speed is true.
|
|
192
|
-
# Has Correct Drop For Blocks Boolean
|
|
193
|
-
# 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.
|
|
194
|
-
# Default Mining Speed Float The mining speed in case none of the previous rule were matched.
|
|
195
|
-
# Damage Per Block VarInt The amount of damage the item takes per block break.
|
|
196
181
|
if tool:
|
|
197
182
|
rules: []varint
|
|
198
|
-
blocks:
|
|
199
|
-
|
|
200
|
-
speed
|
|
201
|
-
|
|
202
|
-
correctDropForBlocks
|
|
183
|
+
blocks: IDSet
|
|
184
|
+
# The speed at which the tool breaks this rules' blocks.
|
|
185
|
+
speed?: f32
|
|
186
|
+
# Whether items should drop only if this is the correct tool.
|
|
187
|
+
correctDropForBlocks?: bool
|
|
188
|
+
# The mining speed in case none of the previous rule were matched.
|
|
203
189
|
defaultMiningSpeed: f32
|
|
204
190
|
damagePerBlock: varint
|
|
205
|
-
# Name Type Description
|
|
206
|
-
# Number of enchantments VarInt Number of elements in the following array.
|
|
207
|
-
# Enchantment Type ID Array VarInt Enum The ID of the enchantment in the enchantment registry.
|
|
208
|
-
# Level VarInt The level of the enchantment.
|
|
209
|
-
# Show In Tooltip Boolean Whether the list of enchantments should be shown on the item's tooltip.
|
|
210
191
|
if stored_enchantments:
|
|
211
192
|
enchantments: []varint
|
|
193
|
+
# The ID of the enchantment in the enchantment registry.
|
|
212
194
|
id: varint
|
|
213
195
|
level: varint
|
|
196
|
+
# Whether the list of enchantments should be shown on the item's tooltip.
|
|
214
197
|
showInTooltip: bool
|
|
215
198
|
if dyed_color:
|
|
216
|
-
color:
|
|
199
|
+
color: i32
|
|
217
200
|
showTooltip: bool
|
|
218
|
-
if map_color:
|
|
201
|
+
if map_color: i32
|
|
219
202
|
if map_id: varint
|
|
220
|
-
if map_decorations:
|
|
203
|
+
if map_decorations: anonymousNbt
|
|
221
204
|
if map_post_processing: varint
|
|
222
205
|
if charged_projectiles:
|
|
223
206
|
projectiles: Slot[]varint
|
|
224
207
|
if bundle_contents:
|
|
225
208
|
contents: Slot[]varint
|
|
226
|
-
# Name Type Description
|
|
227
|
-
# 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.
|
|
228
|
-
# Potion ID Optional VarInt The ID of the potion type in the potion registry. Only present if Has Potion ID is true.
|
|
229
|
-
# Has Custom Color Boolean Whether this potion has a custom color. If false, it uses the default color associated with the potion type.
|
|
230
|
-
# Custom Color Optional Int The RGB components of the color, encoded as an integer. Only present if Has Custom Color is true.
|
|
231
|
-
# Number Of Custom Effects VarInt The number of elements in the following array.
|
|
232
|
-
# Custom Effects Array of Potion Effect Any custom effects the potion might have. See Potion Effect.
|
|
233
209
|
if potion_contents:
|
|
234
|
-
|
|
235
|
-
potionId
|
|
236
|
-
|
|
237
|
-
customColor
|
|
238
|
-
customEffects: []varint
|
|
239
|
-
|
|
240
|
-
details: EffectDetail
|
|
241
|
-
# Name Type Description
|
|
242
|
-
# Number Of Effects VarInt Number of elements in the following array.
|
|
243
|
-
# Effect Type ID Array VarInt Enum The ID of the effect in the potion effect type registry.
|
|
244
|
-
# Duration VarInt The duration of the effect.
|
|
210
|
+
# True if this potion has an ID in the potion registry--it has the default effects associated with the potion type.
|
|
211
|
+
potionId?: varint
|
|
212
|
+
# The RGB components of the color, encoded as an integer.
|
|
213
|
+
customColor?: i32
|
|
214
|
+
customEffects: ItemPotionEffect[]varint
|
|
215
|
+
customName?: string
|
|
245
216
|
if suspicious_stew_effects:
|
|
246
217
|
effects: []varint
|
|
218
|
+
# The ID of the effect in the potion effect type registry.
|
|
247
219
|
effect: varint
|
|
220
|
+
# The duration of the effect.
|
|
248
221
|
duration: varint
|
|
249
|
-
# Name Type Description
|
|
250
|
-
# Number Of Pages VarInt Number of elements in the following array.
|
|
251
|
-
# Page Raw Content Array (100) String (1024) The raw text of the page.
|
|
252
|
-
# Has Filtered Content Boolean
|
|
253
|
-
# Filtered Content Optional String (1024) The content after passing through chat filters. Only present if Has Filtered Content is true.
|
|
254
222
|
if writable_book_content:
|
|
255
|
-
pages
|
|
256
|
-
|
|
257
|
-
# Raw Title String (32) The raw title of the book.
|
|
258
|
-
# Has Filtered Title Boolean
|
|
259
|
-
# Filtered Title Optional String (32) The title after going through chat filters. Only present if Has Filtered Title is true.
|
|
260
|
-
# Author String
|
|
261
|
-
# Generation VarInt
|
|
262
|
-
# Number Of Pages VarInt Number of elements in the following array.
|
|
263
|
-
# Page Raw Content Array (100) TextComponent (1024) The raw text of the page.
|
|
264
|
-
# Has Filtered Content Boolean
|
|
265
|
-
# Filtered Content Optional Text Component (1024) The content after passing through chat filters. Only present if Has Filtered Content is true.
|
|
266
|
-
# Resolved Boolean Whether entity selectors have already been resolved.
|
|
223
|
+
# Max 100 pages
|
|
224
|
+
pages: ItemBookPage[]varint
|
|
267
225
|
if written_book_content:
|
|
268
226
|
rawTitle: string
|
|
269
227
|
filteredTitle?: string
|
|
270
228
|
author: string
|
|
271
229
|
generation: varint
|
|
272
|
-
pages:
|
|
273
|
-
# Whether entity selectors have already been resolved.
|
|
230
|
+
pages: ItemWrittenBookPage[]varint
|
|
274
231
|
resolved: bool
|
|
275
|
-
# Name Type Description
|
|
276
|
-
# Trim Material Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
277
|
-
# 0 - Directly represents a trim material, with the necessary data following.
|
|
278
|
-
# Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1.
|
|
279
|
-
# Asset Name Optional String See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
280
|
-
# Ingredient Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
281
|
-
# Item Model Index Optional Float See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
282
|
-
# Number of Overrides Optional VarInt See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
283
|
-
# Override Armor Material Type Optional Array VarInt Enum See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
284
|
-
# Overriden Asset Name String See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
285
|
-
# Description Optional Text Component See Armor Trim Material Registry. Only present if Trim Material Type is 0.
|
|
286
|
-
# Trim Pattern Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
287
|
-
# 0 - Directly represents a trim pattern, with the necessary data following.
|
|
288
|
-
# Anything else - References a trim pattern in its registry, by the ID of Trim Pattern Type - 1.
|
|
289
|
-
# Asset Name Optional String See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
290
|
-
# Template Item Optional VarInt See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
291
|
-
# Description Optional Text Component See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
292
|
-
# Decal Optional Boolean See Armor Trim Pattern Registry. Only present if Trim Pattern Type is 0.
|
|
293
|
-
# Show In Tooltip Boolean Whether the trim information should be shown on the item's tooltip.
|
|
294
232
|
if trim:
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
# Anything else - References a trim material in its registry, by the ID of Trim Material Type - 1.
|
|
298
|
-
materialType: varint
|
|
299
|
-
_: materialType ?
|
|
300
|
-
if 0:
|
|
301
|
-
assetName: string
|
|
302
|
-
ingredientId: varint
|
|
303
|
-
itemModelIndex: f32
|
|
304
|
-
numberOfOverrides: optvarint
|
|
305
|
-
override: []varint
|
|
306
|
-
armorMaterialType: varint
|
|
307
|
-
overridenAssetName: string
|
|
308
|
-
description: string
|
|
309
|
-
trimPatternType: varint
|
|
310
|
-
_: trimPatternType ?
|
|
311
|
-
if 0:
|
|
312
|
-
assetName: string
|
|
313
|
-
templateItem: varint
|
|
314
|
-
description: string
|
|
315
|
-
decal: bool
|
|
233
|
+
material: ["registryEntryHolder", { "baseName": "materialId", "otherwise": { "name": "data", "type": "ArmorTrimMaterial" } }]
|
|
234
|
+
pattern: ["registryEntryHolder", { "baseName": "patternId", "otherwise": { "name": "data", "type": "ArmorTrimPattern" } }]
|
|
316
235
|
showInTooltip: bool
|
|
317
236
|
if debug_stick_state: anonymousNbt
|
|
318
237
|
if entity_data: anonymousNbt
|
|
319
238
|
if bucket_entity_data: anonymousNbt
|
|
320
239
|
if block_entity_data: anonymousNbt
|
|
321
|
-
|
|
322
|
-
# Instrument Type VarInt Identifier used to determine the data that follows. It can be either:
|
|
323
|
-
# 0 - Directly represents an instrument, with the necessary data following.
|
|
324
|
-
# Anything else - References an instrument in its registry, by the ID of Instrument Type - 1.
|
|
325
|
-
# Sound Event Optional Sound Event The sound to be played. Only present if Instrument Type is 0.
|
|
326
|
-
# Use duration Optional Float The maximum range of the sound. Only present if Instrument Type is 0.
|
|
327
|
-
# Range Optional Float The range of the instrument. Only present if Instrument Type is 0.
|
|
328
|
-
if instrument:
|
|
329
|
-
instrumentType: varint
|
|
330
|
-
_: instrumentType ?
|
|
331
|
-
if 0:
|
|
332
|
-
soundEvent: string
|
|
333
|
-
useDuration: f32
|
|
334
|
-
range: f32
|
|
240
|
+
if instrument: ["registryEntryHolder", { "baseName": "instrumentId", "otherwise": { "name": "data", "type": "InstrumentData" } }]
|
|
335
241
|
if ominous_bottle_amplifier: varint
|
|
336
242
|
if recipes: anonymousNbt
|
|
337
|
-
# Name Type Description
|
|
338
|
-
# Has Global Position Boolean Whether this lodestone points to a position, otherwise it spins randomly.
|
|
339
|
-
# Dimension Identifier The dimension the compass points to. Only present if Has Global Position is true.
|
|
340
|
-
# Position Position The position the compass points to. Only present if Has Global Position is true.
|
|
341
|
-
# Tracked Boolean Whether the component is removed when the associated lodestone is broken.
|
|
342
243
|
if lodestone_tracker:
|
|
244
|
+
# Specified if this lodestone points to a position; otherwise it spins randomly.
|
|
343
245
|
globalPosition?:
|
|
344
246
|
dimension: string
|
|
345
|
-
position
|
|
247
|
+
# The position the compass points to. Only present if Has Global Position is true.
|
|
248
|
+
position: position
|
|
249
|
+
# Whether the component is removed when the associated lodestone is broken.
|
|
346
250
|
tracked: bool
|
|
347
|
-
|
|
348
|
-
# Shape VarInt Enum Can be one of the following:
|
|
349
|
-
# 0 - Small ball
|
|
350
|
-
# 1 - Large ball
|
|
351
|
-
# 2 - Star
|
|
352
|
-
# 3 - Creeper
|
|
353
|
-
# 4 - Burst
|
|
354
|
-
# Number Of Colors VarInt The number of elements in the following array.
|
|
355
|
-
# Colors Array of Int The RGB components of the color, encoded as an integer.
|
|
356
|
-
# Number Of Fade Colors VarInt The number of elements in the following array.
|
|
357
|
-
# Fade Colors Array of Int The RGB components of the color, encoded as an integer.
|
|
358
|
-
# Has Trail Boolean
|
|
359
|
-
# Has Twinkle Boolean
|
|
360
|
-
if firework_explosion: FireworkExplosion
|
|
251
|
+
if firework_explosion: ItemFireworkExplosion
|
|
361
252
|
if fireworks:
|
|
362
253
|
flightDuration: varint
|
|
363
|
-
explosions:
|
|
364
|
-
# Name Type Description
|
|
365
|
-
# Has Name Boolean
|
|
366
|
-
# Name Optional String (16) Only present if Has Name is true.
|
|
367
|
-
# Has Unique ID Boolean
|
|
368
|
-
# Unique ID Optional UUID Only present if Has Unique ID is true.
|
|
369
|
-
# Number of Properties VarInt Number of elements in the following array.
|
|
370
|
-
# Property Name Array String (64)
|
|
371
|
-
# Value String
|
|
372
|
-
# Has Signature Boolean
|
|
373
|
-
# Signature String (1024) Only present if Has Signature is true.
|
|
254
|
+
explosions: ItemFireworkExplosion[]varint
|
|
374
255
|
if profile:
|
|
375
|
-
|
|
376
|
-
name
|
|
377
|
-
|
|
378
|
-
uniqueId: UUID
|
|
256
|
+
# If the profile has a name, max 16 characters.
|
|
257
|
+
name?: string
|
|
258
|
+
uuid?: UUID
|
|
379
259
|
properties: []varint
|
|
380
|
-
|
|
260
|
+
# Max 64 characters
|
|
261
|
+
name: string
|
|
381
262
|
value: string
|
|
382
|
-
|
|
383
|
-
signature
|
|
263
|
+
# Max 1024 characters
|
|
264
|
+
signature?: string
|
|
384
265
|
if note_block_sound: string
|
|
385
|
-
# Name Type Description
|
|
386
|
-
# Number of Layers VarInt Number of elements in the following array.
|
|
387
|
-
# Layer Pattern Type Array VarInt Identifier used to determine the data that follows. It can be either:
|
|
388
|
-
# 0 - Directly represents a pattern, with the necessary data following.
|
|
389
|
-
# Anything else - References a pattern in its registry, by the ID of Pattern Type - 1.
|
|
390
|
-
# Asset ID Optional Identifier Identifier of the asset. Only present if Pattern Type is 0.
|
|
391
|
-
# Translation Key Optional String Only present if Pattern Type is 0.
|
|
392
|
-
# Color Dye Color See Dye Color.
|
|
393
266
|
if banner_patterns:
|
|
394
|
-
layers: []varint
|
|
395
|
-
patternType: varint
|
|
396
|
-
_: patternType ?
|
|
397
|
-
if 0:
|
|
398
|
-
assetId: string
|
|
399
|
-
translationKey: string
|
|
400
|
-
color: varint
|
|
267
|
+
layers: BannerPatternLayer[]varint
|
|
401
268
|
if base_color: varint
|
|
402
269
|
if pot_decorations:
|
|
403
270
|
# The ID of the items in the item registry.
|
|
404
271
|
decorations: varint[]varint
|
|
405
272
|
if container:
|
|
406
273
|
contents: Slot[]varint
|
|
407
|
-
# Name Type Description
|
|
408
|
-
# Number of Properties VarInt Number of elements in the following array.
|
|
409
|
-
# Property Name Array String
|
|
410
|
-
# Value String
|
|
411
274
|
if block_state:
|
|
412
275
|
properties: []varint
|
|
413
|
-
|
|
276
|
+
name: string
|
|
414
277
|
value: string
|
|
415
|
-
# Name Type Description
|
|
416
|
-
# Number of Bees VarInt Number of elements in the following array.
|
|
417
|
-
# Bee Entity Data Array NBT
|
|
418
|
-
# Ticks In Hive VarInt
|
|
419
|
-
# Min Ticks In Hive VarInt
|
|
420
278
|
if bees:
|
|
421
279
|
bees: []varint
|
|
422
280
|
# Custom data for the entity, always a Compound Tag. Same structure as the minecraft:custom_data component.
|
|
@@ -426,238 +284,221 @@
|
|
|
426
284
|
if lock: anonymousNbt
|
|
427
285
|
if container_loot: anonymousNbt
|
|
428
286
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
# + public static final DataComponentType<CompoundTag> CUSTOM_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
437
|
-
# + public static final IntComponentType MAX_STACK_SIZE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
438
|
-
# + public static final IntComponentType MAX_DAMAGE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
439
|
-
# + public static final IntComponentType DAMAGE = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
440
|
-
# + public static final BooleanComponentType UNBREAKABLE = new BooleanComponentType(ByteBuf::readBoolean, ByteBuf::writeBoolean, BooleanDataComponent::new);
|
|
441
|
-
# + public static final DataComponentType<Component> CUSTOM_NAME = new DataComponentType<>(ItemCodecHelper::readComponent, ItemCodecHelper::writeComponent, ObjectDataComponent::new);
|
|
442
|
-
# + public static final DataComponentType<Component> ITEM_NAME = new DataComponentType<>(ItemCodecHelper::readComponent, ItemCodecHelper::writeComponent, ObjectDataComponent::new);
|
|
443
|
-
# + public static final DataComponentType<List<Component>> LORE = new DataComponentType<>(listReader(ItemCodecHelper::readComponent), listWriter(ItemCodecHelper::writeComponent), ObjectDataComponent::new);
|
|
444
|
-
# + public static final IntComponentType RARITY = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
445
|
-
# + public static final DataComponentType<ItemEnchantments> ENCHANTMENTS = new DataComponentType<>(ItemCodecHelper::readItemEnchantments, ItemCodecHelper::writeItemEnchantments, ObjectDataComponent::new);
|
|
446
|
-
# + public static final DataComponentType<AdventureModePredicate> CAN_PLACE_ON = new DataComponentType<>(ItemCodecHelper::readAdventureModePredicate, ItemCodecHelper::writeAdventureModePredicate, ObjectDataComponent::new);
|
|
447
|
-
# + public static final DataComponentType<AdventureModePredicate> CAN_BREAK = new DataComponentType<>(ItemCodecHelper::readAdventureModePredicate, ItemCodecHelper::writeAdventureModePredicate, ObjectDataComponent::new);
|
|
448
|
-
# + public static final DataComponentType<ItemAttributeModifiers> ATTRIBUTE_MODIFIERS = new DataComponentType<>(ItemCodecHelper::readItemAttributeModifiers, ItemCodecHelper::writeItemAttributeModifiers, ObjectDataComponent::new);
|
|
449
|
-
# + public static final IntComponentType CUSTOM_MODEL_DATA = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
450
|
-
# + public static final DataComponentType<Unit> HIDE_ADDITIONAL_TOOLTIP = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new);
|
|
451
|
-
# + public static final DataComponentType<Unit> HIDE_TOOLTIP = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new);
|
|
452
|
-
# + public static final IntComponentType REPAIR_COST = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
453
|
-
# + public static final DataComponentType<Unit> CREATIVE_SLOT_LOCK = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new);
|
|
454
|
-
# + public static final BooleanComponentType ENCHANTMENT_GLINT_OVERRIDE = new BooleanComponentType(ByteBuf::readBoolean, ByteBuf::writeBoolean, BooleanDataComponent::new);
|
|
455
|
-
# + public static final DataComponentType<CompoundTag> INTANGIBLE_PROJECTILE = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
456
|
-
# + public static final DataComponentType<FoodProperties> FOOD = new DataComponentType<>(ItemCodecHelper::readFoodProperties, ItemCodecHelper::writeFoodProperties, ObjectDataComponent::new);
|
|
457
|
-
# + public static final DataComponentType<Unit> FIRE_RESISTANT = new DataComponentType<>(unitReader(), unitWriter(), ObjectDataComponent::new);
|
|
458
|
-
# + public static final DataComponentType<ToolData> TOOL = new DataComponentType<>(ItemCodecHelper::readToolData, ItemCodecHelper::writeToolData, ObjectDataComponent::new);
|
|
459
|
-
# + public static final DataComponentType<ItemEnchantments> STORED_ENCHANTMENTS = new DataComponentType<>(ItemCodecHelper::readItemEnchantments, ItemCodecHelper::writeItemEnchantments, ObjectDataComponent::new);
|
|
460
|
-
# + public static final DataComponentType<DyedItemColor> DYED_COLOR = new DataComponentType<>(ItemCodecHelper::readDyedItemColor, ItemCodecHelper::writeDyedItemColor, ObjectDataComponent::new);
|
|
461
|
-
# + public static final IntComponentType MAP_COLOR = new IntComponentType((helper, input) -> input.readInt(), (helper, output, value) -> output.writeInt(value), IntDataComponent::new);
|
|
462
|
-
# + public static final IntComponentType MAP_ID = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
463
|
-
# + public static final DataComponentType<CompoundTag> MAP_DECORATIONS = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
464
|
-
# + public static final IntComponentType MAP_POST_PROCESSING = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
465
|
-
# + public static final DataComponentType<List<ItemStack>> CHARGED_PROJECTILES = new DataComponentType<>(listReader(ItemCodecHelper::readItemStack), listWriter(ItemCodecHelper::writeItemStack), ObjectDataComponent::new);
|
|
466
|
-
# + public static final DataComponentType<List<ItemStack>> BUNDLE_CONTENTS = new DataComponentType<>(listReader(ItemCodecHelper::readItemStack), listWriter(ItemCodecHelper::writeItemStack), ObjectDataComponent::new);
|
|
467
|
-
# + public static final DataComponentType<PotionContents> POTION_CONTENTS = new DataComponentType<>(ItemCodecHelper::readPotionContents, ItemCodecHelper::writePotionContents, ObjectDataComponent::new);
|
|
468
|
-
# + public static final DataComponentType<List<SuspiciousStewEffect>> SUSPICIOUS_STEW_EFFECTS = new DataComponentType<>(listReader(ItemCodecHelper::readStewEffect), listWriter(ItemCodecHelper::writeStewEffect), ObjectDataComponent::new);
|
|
469
|
-
# + public static final DataComponentType<WritableBookContent> WRITABLE_BOOK_CONTENT = new DataComponentType<>(ItemCodecHelper::readWritableBookContent, ItemCodecHelper::writeWritableBookContent, ObjectDataComponent::new);
|
|
470
|
-
# + public static final DataComponentType<WrittenBookContent> WRITTEN_BOOK_CONTENT = new DataComponentType<>(ItemCodecHelper::readWrittenBookContent, ItemCodecHelper::writeWrittenBookContent, ObjectDataComponent::new);
|
|
471
|
-
# + public static final DataComponentType<ArmorTrim> TRIM = new DataComponentType<>(ItemCodecHelper::readArmorTrim, ItemCodecHelper::writeArmorTrim, ObjectDataComponent::new);
|
|
472
|
-
# + public static final DataComponentType<CompoundTag> DEBUG_STICK_STATE = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
473
|
-
# + public static final DataComponentType<CompoundTag> ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
474
|
-
# + public static final DataComponentType<CompoundTag> BUCKET_ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
475
|
-
# + public static final DataComponentType<CompoundTag> BLOCK_ENTITY_DATA = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
476
|
-
# + public static final DataComponentType<Holder<Instrument>> INSTRUMENT = new DataComponentType<>(ItemCodecHelper::readInstrument, ItemCodecHelper::writeInstrument, ObjectDataComponent::new);
|
|
477
|
-
# + public static final IntComponentType OMINOUS_BOTTLE_AMPLIFIER = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
478
|
-
# + public static final DataComponentType<ListTag> RECIPES = new DataComponentType<>(ItemCodecHelper::readRecipes, ItemCodecHelper::writeRecipes, ObjectDataComponent::new);
|
|
479
|
-
# + public static final DataComponentType<LodestoneTracker> LODESTONE_TRACKER = new DataComponentType<>(ItemCodecHelper::readLodestoneTarget, ItemCodecHelper::writeLodestoneTarget, ObjectDataComponent::new);
|
|
480
|
-
# + public static final DataComponentType<Fireworks.FireworkExplosion> FIREWORK_EXPLOSION = new DataComponentType<>(ItemCodecHelper::readFireworkExplosion, ItemCodecHelper::writeFireworkExplosion, ObjectDataComponent::new);
|
|
481
|
-
# + public static final DataComponentType<Fireworks> FIREWORKS = new DataComponentType<>(ItemCodecHelper::readFireworks, ItemCodecHelper::writeFireworks, ObjectDataComponent::new);
|
|
482
|
-
# + public static final DataComponentType<GameProfile> PROFILE = new DataComponentType<>(ItemCodecHelper::readResolvableProfile, ItemCodecHelper::writeResolvableProfile, ObjectDataComponent::new);
|
|
483
|
-
# + public static final DataComponentType<String> NOTE_BLOCK_SOUND = new DataComponentType<>(ItemCodecHelper::readResourceLocation, ItemCodecHelper::writeResourceLocation, ObjectDataComponent::new);
|
|
484
|
-
# + public static final DataComponentType<List<BannerPatternLayer>> BANNER_PATTERNS = new DataComponentType<>(listReader(ItemCodecHelper::readBannerPatternLayer), listWriter(ItemCodecHelper::writeBannerPatternLayer), ObjectDataComponent::new);
|
|
485
|
-
# + public static final IntComponentType BASE_COLOR = new IntComponentType(ItemCodecHelper::readVarInt, ItemCodecHelper::writeVarInt, IntDataComponent::new);
|
|
486
|
-
# + public static final DataComponentType<List<Integer>> POT_DECORATIONS = new DataComponentType<>(listReader(ItemCodecHelper::readVarInt), listWriter(ItemCodecHelper::writeVarInt), ObjectDataComponent::new);
|
|
487
|
-
# + public static final DataComponentType<List<ItemStack>> CONTAINER = new DataComponentType<>(listReader(ItemCodecHelper::readOptionalItemStack), listWriter(MinecraftCodecHelper::writeOptionalItemStack), ObjectDataComponent::new);
|
|
488
|
-
# + public static final DataComponentType<BlockStateProperties> BLOCK_STATE = new DataComponentType<>(ItemCodecHelper::readBlockStateProperties, ItemCodecHelper::writeBlockStateProperties, ObjectDataComponent::new);
|
|
489
|
-
# + public static final DataComponentType<List<BeehiveOccupant>> BEES = new DataComponentType<>(listReader(ItemCodecHelper::readBeehiveOccupant), listWriter(ItemCodecHelper::writeBeehiveOccupant), ObjectDataComponent::new);
|
|
490
|
-
# + public static final DataComponentType<StringTag> LOCK = new DataComponentType<>(ItemCodecHelper::readLock, ItemCodecHelper::writeLock, ObjectDataComponent::new);
|
|
491
|
-
# + public static final DataComponentType<CompoundTag> CONTAINER_LOOT = new DataComponentType<>(ItemCodecHelper::readAnyTag, ItemCodecHelper::writeAnyTag, ObjectDataComponent::new);
|
|
492
|
-
addedComponentCount: varint
|
|
493
|
-
removedComponentCount: varint
|
|
494
|
-
components: SlotComponent[]$addedComponentCount
|
|
495
|
-
removeComponents: []$removedComponentCount
|
|
496
|
-
type: SlotComponentType
|
|
287
|
+
ItemSoundEvent:
|
|
288
|
+
soundName: string
|
|
289
|
+
fixedRange?: f32
|
|
290
|
+
ItemSoundHolder: ["registryEntryHolder", {
|
|
291
|
+
"baseName": "soundId",
|
|
292
|
+
"otherwise": { name: "data", type: "ItemSoundEvent" }
|
|
293
|
+
}]
|
|
497
294
|
|
|
498
|
-
|
|
295
|
+
ItemFireworkExplosion:
|
|
499
296
|
shape: varint =>
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
297
|
+
- small_ball
|
|
298
|
+
- large_ball
|
|
299
|
+
- star
|
|
300
|
+
- creeper
|
|
301
|
+
- burst
|
|
302
|
+
# The RGB components of the color, encoded as an integer.
|
|
505
303
|
colors: i32[]varint
|
|
304
|
+
# The RGB components of the color, encoded as an integer.
|
|
506
305
|
fadeColors: i32[]varint
|
|
306
|
+
# Whether the firework has a trail.
|
|
507
307
|
hasTrail: bool
|
|
308
|
+
# Whether the firework has a twinkle effect.
|
|
508
309
|
hasTwinkle: bool
|
|
509
310
|
|
|
510
|
-
|
|
511
|
-
content: string
|
|
512
|
-
filteredContent?: string
|
|
513
|
-
|
|
514
|
-
EffectDetail:
|
|
311
|
+
ItemEffectDetail:
|
|
515
312
|
amplifier: varint
|
|
516
313
|
duration: varint
|
|
517
314
|
ambient: bool
|
|
518
315
|
showParticles: bool
|
|
519
316
|
showIcon: bool
|
|
520
|
-
hiddenEffect?:
|
|
317
|
+
hiddenEffect?: ItemEffectDetail
|
|
521
318
|
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
if 0: string
|
|
526
|
-
default: void
|
|
527
|
-
# TODO: This will require a custom type ; we need type - 1 length of blockIds
|
|
528
|
-
blockIds: type ?
|
|
529
|
-
if 0: void
|
|
530
|
-
default: ["arrayWithLengthOffset", {"count": "type", "type": "varint", "lengthOffset": -1}]
|
|
319
|
+
ItemPotionEffect:
|
|
320
|
+
id: varint
|
|
321
|
+
details: ItemEffectDetail
|
|
531
322
|
|
|
532
|
-
|
|
533
|
-
# Name of the block state property.
|
|
323
|
+
ItemBlockProperty:
|
|
534
324
|
name: string
|
|
535
|
-
# Whether this is an exact value match, as opposed to ranged.
|
|
536
325
|
isExactMatch: bool
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
326
|
+
value: isExactMatch ?
|
|
327
|
+
if true:
|
|
328
|
+
exactValue: string
|
|
329
|
+
if false:
|
|
330
|
+
minValue: string
|
|
331
|
+
maxValue: string
|
|
332
|
+
|
|
543
333
|
|
|
544
|
-
|
|
545
|
-
blockSet?:
|
|
546
|
-
|
|
334
|
+
ItemBlockPredicate:
|
|
335
|
+
blockSet?: ["registryEntryHolderSet", {
|
|
336
|
+
"base": { name: "name", type: "string" },
|
|
337
|
+
"otherwise": { name: "blockIds", type: "varint" }
|
|
338
|
+
}]
|
|
339
|
+
properties?: ItemBlockProperty[]varint
|
|
547
340
|
nbt: anonOptionalNbt
|
|
548
341
|
|
|
342
|
+
ItemBookPage:
|
|
343
|
+
# The raw text of the page. TextComponent, max 1024 characters.
|
|
344
|
+
content: string
|
|
345
|
+
filteredContent?: string
|
|
346
|
+
ItemWrittenBookPage:
|
|
347
|
+
content: anonymousNbt
|
|
348
|
+
filteredContent: anonOptionalNbt
|
|
349
|
+
|
|
350
|
+
ArmorTrimMaterial:
|
|
351
|
+
assetName: string
|
|
352
|
+
ingredientId: varint
|
|
353
|
+
overrideArmorAssets: []varint
|
|
354
|
+
key: string
|
|
355
|
+
value: string
|
|
356
|
+
description: anonymousNbt
|
|
357
|
+
|
|
358
|
+
ArmorTrimPattern:
|
|
359
|
+
assetId: string
|
|
360
|
+
templateItemId: varint
|
|
361
|
+
description: anonymousNbt
|
|
362
|
+
decal: bool
|
|
363
|
+
|
|
364
|
+
InstrumentData:
|
|
365
|
+
soundEvent: ItemSoundHolder
|
|
366
|
+
useDuration: f32
|
|
367
|
+
range: f32
|
|
368
|
+
description: anonymousNbt
|
|
369
|
+
|
|
370
|
+
BannerPattern:
|
|
371
|
+
assetId: string
|
|
372
|
+
translationKey: string
|
|
373
|
+
BannerPatternLayer:
|
|
374
|
+
pattern: ["registryEntryHolder", { "baseName": "patternId", "otherwise": { "name": "data", "type": "BannerPattern" } }]
|
|
375
|
+
colorId: varint
|
|
376
|
+
|
|
377
|
+
Slot:
|
|
378
|
+
itemCount: i8
|
|
379
|
+
_: itemCount ?
|
|
380
|
+
if 0: void
|
|
381
|
+
default:
|
|
382
|
+
itemId: varint
|
|
383
|
+
# https://wiki.vg/Slot_Data#Structured_components
|
|
384
|
+
addedComponentCount: varint
|
|
385
|
+
removedComponentCount: varint
|
|
386
|
+
components: SlotComponent[]$addedComponentCount
|
|
387
|
+
removeComponents: []$removedComponentCount
|
|
388
|
+
type: SlotComponentType
|
|
389
|
+
|
|
549
390
|
Particle:
|
|
550
391
|
# See client/net/minecraft/core/particles/ParticleTypes.java
|
|
551
392
|
type: varint =>
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
393
|
+
- angry_villager
|
|
394
|
+
- block
|
|
395
|
+
- block_marker
|
|
396
|
+
- bubble
|
|
397
|
+
- cloud
|
|
398
|
+
- crit
|
|
399
|
+
- damage_indicator
|
|
400
|
+
- dragon_breath
|
|
401
|
+
- dripping_lava
|
|
402
|
+
- falling_lava
|
|
403
|
+
- landing_lava
|
|
404
|
+
- dripping_water
|
|
405
|
+
- falling_water
|
|
406
|
+
- dust
|
|
407
|
+
- dust_color_transition
|
|
408
|
+
- effect
|
|
409
|
+
- elder_guardian
|
|
410
|
+
- enchanted_hit
|
|
411
|
+
- enchant
|
|
412
|
+
- end_rod
|
|
413
|
+
- entity_effect
|
|
414
|
+
- explosion_emitter
|
|
415
|
+
- explosion
|
|
416
|
+
- gust
|
|
417
|
+
- small_gust
|
|
418
|
+
- gust_emitter_large
|
|
419
|
+
- gust_emitter_small
|
|
420
|
+
- sonic_boom
|
|
421
|
+
- falling_dust
|
|
422
|
+
- firework
|
|
423
|
+
- fishing
|
|
424
|
+
- flame
|
|
425
|
+
- infested
|
|
426
|
+
- cherry_leaves
|
|
427
|
+
- sculk_soul
|
|
428
|
+
- sculk_charge
|
|
429
|
+
- sculk_charge_pop
|
|
430
|
+
- soul_fire_flame
|
|
431
|
+
- soul
|
|
432
|
+
- flash
|
|
433
|
+
- happy_villager
|
|
434
|
+
- composter
|
|
435
|
+
- heart
|
|
436
|
+
- instant_effect
|
|
437
|
+
- item
|
|
438
|
+
- vibration
|
|
439
|
+
- item_slime
|
|
440
|
+
- item_cobweb
|
|
441
|
+
- item_snowball
|
|
442
|
+
- large_smoke
|
|
443
|
+
- lava
|
|
444
|
+
- mycelium
|
|
445
|
+
- note
|
|
446
|
+
- poof
|
|
447
|
+
- portal
|
|
448
|
+
- rain
|
|
449
|
+
- smoke
|
|
450
|
+
- white_smoke
|
|
451
|
+
- sneeze
|
|
452
|
+
- spit
|
|
453
|
+
- squid_ink
|
|
454
|
+
- sweep_attack
|
|
455
|
+
- totem_of_undying
|
|
456
|
+
- underwater
|
|
457
|
+
- splash
|
|
458
|
+
- witch
|
|
459
|
+
- bubble_pop
|
|
460
|
+
- current_down
|
|
461
|
+
- bubble_column_up
|
|
462
|
+
- nautilus
|
|
463
|
+
- dolphin
|
|
464
|
+
- campfire_cosy_smoke
|
|
465
|
+
- campfire_signal_smoke
|
|
466
|
+
- dripping_honey
|
|
467
|
+
- falling_honey
|
|
468
|
+
- landing_honey
|
|
469
|
+
- falling_nectar
|
|
470
|
+
- falling_spore_blossom
|
|
471
|
+
- ash
|
|
472
|
+
- crimson_spore
|
|
473
|
+
- warped_spore
|
|
474
|
+
- spore_blossom_air
|
|
475
|
+
- dripping_obsidian_tear
|
|
476
|
+
- falling_obsidian_tear
|
|
477
|
+
- landing_obsidian_tear
|
|
478
|
+
- reverse_portal
|
|
479
|
+
- white_ash
|
|
480
|
+
- small_flame
|
|
481
|
+
- snowflake
|
|
482
|
+
- dripping_dripstone_lava
|
|
483
|
+
- falling_dripstone_lava
|
|
484
|
+
- dripping_dripstone_water
|
|
485
|
+
- falling_dripstone_water
|
|
486
|
+
- glow_squid_ink
|
|
487
|
+
- glow
|
|
488
|
+
- wax_on
|
|
489
|
+
- wax_off
|
|
490
|
+
- electric_spark
|
|
491
|
+
- scrape
|
|
492
|
+
- shriek
|
|
493
|
+
- egg_crack
|
|
494
|
+
- dust_plume
|
|
495
|
+
- trial_spawner_detected_player
|
|
496
|
+
- trial_spawner_detected_player_ominous
|
|
497
|
+
- vault_connection
|
|
498
|
+
- dust_pillar
|
|
499
|
+
- ominous_spawning
|
|
500
|
+
- raid_omen
|
|
501
|
+
- trial_omen
|
|
661
502
|
## ## Tips for reviewing particle data (as of 1.20.5)
|
|
662
503
|
## Inside the registry code, each particle can have an associated "options" type and
|
|
663
504
|
## each options type can add additional data to be encoded.
|
|
@@ -692,8 +533,15 @@
|
|
|
692
533
|
if sculk_charge: f32
|
|
693
534
|
if shriek: varint
|
|
694
535
|
if vibration:
|
|
695
|
-
|
|
696
|
-
|
|
536
|
+
positionType: varint =>
|
|
537
|
+
- block
|
|
538
|
+
- entity
|
|
539
|
+
position: positionType ?
|
|
540
|
+
if block: position
|
|
541
|
+
if entity:
|
|
542
|
+
entityId: varint
|
|
543
|
+
entityEyeHeight: f32
|
|
544
|
+
ticks: varint
|
|
697
545
|
ingredient: Slot[]varint
|
|
698
546
|
position: [
|
|
699
547
|
"bitfield",
|
|
@@ -803,14 +651,32 @@
|
|
|
803
651
|
if optional_unsigned_int: optvarint
|
|
804
652
|
if pose: varint
|
|
805
653
|
if cat_variant: varint
|
|
806
|
-
if wolf_variant:
|
|
654
|
+
if wolf_variant: ["registryEntryHolder", {
|
|
655
|
+
"baseName": "variantId",
|
|
656
|
+
"otherwise": { name: "variantData", type: "EntityMetadataWolfVariant" }
|
|
657
|
+
}]
|
|
807
658
|
if frog_variant: varint
|
|
808
659
|
if optional_global_pos: ["option", "string"]
|
|
809
|
-
if painting_variant:
|
|
660
|
+
if painting_variant: ["registryEntryHolder", {
|
|
661
|
+
"baseName": "variantId",
|
|
662
|
+
"otherwise": { name: "variantData", type: "EntityMetadataPaintingVariant" }
|
|
663
|
+
}]
|
|
810
664
|
if sniffer_state: varint
|
|
811
665
|
if armadillo_state: varint
|
|
812
666
|
if vector3: vec3f
|
|
813
667
|
if quaternion: vec4f
|
|
668
|
+
EntityMetadataPaintingVariant:
|
|
669
|
+
width: i32
|
|
670
|
+
height: i32
|
|
671
|
+
assetId: string
|
|
672
|
+
title?: anonymousNbt
|
|
673
|
+
author?: anonymousNbt
|
|
674
|
+
EntityMetadataWolfVariant:
|
|
675
|
+
wildTexture: string
|
|
676
|
+
tameTexture: string
|
|
677
|
+
angryTexture: string
|
|
678
|
+
biome: IDSet
|
|
679
|
+
|
|
814
680
|
entityMetadata: ["entityMetadataLoop", { "endVal": 255, "type": "entityMetadataEntry" }]
|
|
815
681
|
minecraft_simple_recipe_format:
|
|
816
682
|
category: varint
|
|
@@ -862,7 +728,7 @@
|
|
|
862
728
|
game_profile:
|
|
863
729
|
name: string
|
|
864
730
|
properties: []varint
|
|
865
|
-
|
|
731
|
+
name: string
|
|
866
732
|
value: string
|
|
867
733
|
signature?: string
|
|
868
734
|
command_node:
|
|
@@ -1162,6 +1028,16 @@
|
|
|
1162
1028
|
# These are packets that are shared between multiple states.
|
|
1163
1029
|
# They are defined here to avoid duplication.
|
|
1164
1030
|
# =====
|
|
1031
|
+
# MC: ServerboundClientInformationPacket
|
|
1032
|
+
packet_common_settings:
|
|
1033
|
+
locale: string
|
|
1034
|
+
viewDistance: i8
|
|
1035
|
+
chatFlags: varint
|
|
1036
|
+
chatColors: bool
|
|
1037
|
+
skinParts: u8
|
|
1038
|
+
mainHand: varint
|
|
1039
|
+
enableTextFiltering: bool
|
|
1040
|
+
enableServerListing: bool
|
|
1165
1041
|
# MC: ClientboundCookieRequestPacket
|
|
1166
1042
|
packet_common_cookie_request:
|
|
1167
1043
|
cookie: string
|
|
@@ -1184,6 +1060,16 @@
|
|
|
1184
1060
|
namespace: string
|
|
1185
1061
|
id: string
|
|
1186
1062
|
version: string
|
|
1063
|
+
# MC: ClientboundResourcePackPopPacket
|
|
1064
|
+
packet_common_remove_resource_pack:
|
|
1065
|
+
uuid?: UUID
|
|
1066
|
+
# MC: ClientboundResourcePackPushPacket
|
|
1067
|
+
packet_common_add_resource_pack:
|
|
1068
|
+
uuid: UUID
|
|
1069
|
+
url: string
|
|
1070
|
+
hash: string
|
|
1071
|
+
forced: bool
|
|
1072
|
+
promptMessage?: anonymousNbt
|
|
1187
1073
|
|
|
1188
1074
|
^handshaking.toClient.types:
|
|
1189
1075
|
packet:
|
|
@@ -1353,16 +1239,6 @@
|
|
|
1353
1239
|
entries: []varint
|
|
1354
1240
|
key: string
|
|
1355
1241
|
value?: anonymousNbt
|
|
1356
|
-
# MC: ClientboundResourcePackPopPacket
|
|
1357
|
-
packet_remove_resource_pack:
|
|
1358
|
-
uuid?: UUID
|
|
1359
|
-
# MC: ClientboundResourcePackPushPacket
|
|
1360
|
-
packet_add_resource_pack:
|
|
1361
|
-
uuid: UUID
|
|
1362
|
-
url: string
|
|
1363
|
-
hash: string
|
|
1364
|
-
forced: bool
|
|
1365
|
-
promptMessage?: anonymousNbt
|
|
1366
1242
|
## (Store cookie and Transfer are Common) ##
|
|
1367
1243
|
# MC: ClientboundUpdateEnabledFeaturesPacket
|
|
1368
1244
|
packet_feature_flags:
|
|
@@ -1399,24 +1275,15 @@
|
|
|
1399
1275
|
if ping: packet_ping
|
|
1400
1276
|
if reset_chat: packet_reset_chat
|
|
1401
1277
|
if registry_data: packet_registry_data
|
|
1402
|
-
if remove_resource_pack:
|
|
1403
|
-
if add_resource_pack:
|
|
1278
|
+
if remove_resource_pack: packet_common_remove_resource_pack
|
|
1279
|
+
if add_resource_pack: packet_common_add_resource_pack
|
|
1404
1280
|
if store_cookie: packet_common_store_cookie
|
|
1405
1281
|
if transfer: packet_common_transfer
|
|
1406
1282
|
if feature_flags: packet_feature_flags
|
|
1407
1283
|
if tags: packet_tags
|
|
1408
1284
|
if select_known_packs: packet_common_select_known_packs
|
|
1409
1285
|
^configuration.toServer.types:
|
|
1410
|
-
|
|
1411
|
-
packet_settings:
|
|
1412
|
-
locale: string
|
|
1413
|
-
viewDistance: i8
|
|
1414
|
-
chatFlags: varint
|
|
1415
|
-
chatColors: bool
|
|
1416
|
-
skinParts: u8
|
|
1417
|
-
mainHand: varint
|
|
1418
|
-
enableTextFiltering: bool
|
|
1419
|
-
enableServerListing: bool
|
|
1286
|
+
## (Settings is Common) ##
|
|
1420
1287
|
## (Cookie Response is Common) ##
|
|
1421
1288
|
# MC: ServerboundCustomPayloadPacket
|
|
1422
1289
|
packet_custom_payload:
|
|
@@ -1446,7 +1313,7 @@
|
|
|
1446
1313
|
- resource_pack_receive
|
|
1447
1314
|
- select_known_packs
|
|
1448
1315
|
params: name ?
|
|
1449
|
-
if settings:
|
|
1316
|
+
if settings: packet_common_settings
|
|
1450
1317
|
if cookie_response: packet_common_cookie_response
|
|
1451
1318
|
if custom_payload: packet_custom_payload
|
|
1452
1319
|
if finish_configuration: packet_finish_configuration
|
|
@@ -1584,21 +1451,21 @@
|
|
|
1584
1451
|
rootIndex: varint
|
|
1585
1452
|
# MC: ClientboundContainerClosePacket
|
|
1586
1453
|
packet_close_window:
|
|
1587
|
-
windowId:
|
|
1454
|
+
windowId: ContainerID
|
|
1588
1455
|
# MC: ClientboundContainerSetContentPacket
|
|
1589
1456
|
packet_window_items:
|
|
1590
|
-
windowId:
|
|
1457
|
+
windowId: ContainerID
|
|
1591
1458
|
stateId: varint
|
|
1592
1459
|
items: Slot[]varint
|
|
1593
1460
|
carriedItem: Slot
|
|
1594
1461
|
# MC: ClientboundContainerSetDataPacket
|
|
1595
1462
|
packet_craft_progress_bar:
|
|
1596
|
-
windowId:
|
|
1463
|
+
windowId: ContainerID
|
|
1597
1464
|
property: i16
|
|
1598
1465
|
value: i16
|
|
1599
1466
|
# MC: ClientboundContainerSetSlotPacket
|
|
1600
1467
|
packet_set_slot:
|
|
1601
|
-
windowId:
|
|
1468
|
+
windowId: ContainerID
|
|
1602
1469
|
stateId: varint
|
|
1603
1470
|
slot: i16
|
|
1604
1471
|
item: Slot
|
|
@@ -1640,6 +1507,21 @@
|
|
|
1640
1507
|
# MC: ClientboundDisconnectPacket
|
|
1641
1508
|
packet_kick_disconnect:
|
|
1642
1509
|
reason: anonymousNbt
|
|
1510
|
+
|
|
1511
|
+
## client\net\minecraft\network\chat\ChatTypeDecoration.java
|
|
1512
|
+
## via client\net\minecraft\network\chat\ChatType.java
|
|
1513
|
+
ChatTypeParameterType: varint =>
|
|
1514
|
+
- content
|
|
1515
|
+
- sender
|
|
1516
|
+
- target
|
|
1517
|
+
ChatType:
|
|
1518
|
+
translationKey: string
|
|
1519
|
+
parameters: ChatTypeParameterType[]varint
|
|
1520
|
+
style: anonymousNbt
|
|
1521
|
+
ChatTypes:
|
|
1522
|
+
chat: ChatType
|
|
1523
|
+
narration: ChatType
|
|
1524
|
+
|
|
1643
1525
|
# MC: ClientboundDisguisedChatPacket
|
|
1644
1526
|
packet_profileless_chat:
|
|
1645
1527
|
message: anonymousNbt
|
|
@@ -1666,13 +1548,7 @@
|
|
|
1666
1548
|
block_interaction_type: varint
|
|
1667
1549
|
small_explosion_particle: Particle
|
|
1668
1550
|
large_explosion_particle: Particle
|
|
1669
|
-
|
|
1670
|
-
_: soundId ?
|
|
1671
|
-
if 0:
|
|
1672
|
-
soundName: string
|
|
1673
|
-
range?: f32
|
|
1674
|
-
default:
|
|
1675
|
-
|
|
1551
|
+
sound: ItemSoundHolder
|
|
1676
1552
|
# MC: ClientboundForgetLevelChunkPacket
|
|
1677
1553
|
packet_unload_chunk:
|
|
1678
1554
|
chunkZ: i32
|
|
@@ -1683,7 +1559,7 @@
|
|
|
1683
1559
|
gameMode: f32
|
|
1684
1560
|
# MC: ClientboundHorseScreenOpenPacket
|
|
1685
1561
|
packet_open_horse_window:
|
|
1686
|
-
windowId:
|
|
1562
|
+
windowId: ContainerID
|
|
1687
1563
|
nbSlots: varint
|
|
1688
1564
|
entityId: i32
|
|
1689
1565
|
# MC: ClientboundHurtAnimationPacket
|
|
@@ -1797,7 +1673,7 @@
|
|
|
1797
1673
|
]
|
|
1798
1674
|
# MC: ClientboundMerchantOffersPacket
|
|
1799
1675
|
packet_trade_list:
|
|
1800
|
-
windowId:
|
|
1676
|
+
windowId: ContainerID
|
|
1801
1677
|
## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.20.5/client/net/minecraft/world/item/trading/MerchantOffer.java#L210
|
|
1802
1678
|
trades: []varint
|
|
1803
1679
|
inputItem1:
|
|
@@ -1871,7 +1747,7 @@
|
|
|
1871
1747
|
id: i64
|
|
1872
1748
|
# MC: ClientboundPlaceGhostRecipePacket
|
|
1873
1749
|
packet_craft_recipe_response:
|
|
1874
|
-
windowId:
|
|
1750
|
+
windowId: ContainerID
|
|
1875
1751
|
recipe: string
|
|
1876
1752
|
# MC: ClientboundPlayerAbilitiesPacket
|
|
1877
1753
|
packet_abilities:
|
|
@@ -1915,308 +1791,37 @@
|
|
|
1915
1791
|
players: UUID[]varint
|
|
1916
1792
|
# MC: ClientboundPlayerInfoUpdatePacket
|
|
1917
1793
|
packet_player_info:
|
|
1918
|
-
|
|
1794
|
+
## ClientboundPlayerInfoUpdatePacket.java#L160
|
|
1795
|
+
action: ["bitflags", {
|
|
1796
|
+
"type": "u8",
|
|
1797
|
+
"flags": [
|
|
1798
|
+
"add_player",
|
|
1799
|
+
"initialize_chat",
|
|
1800
|
+
"update_game_mode",
|
|
1801
|
+
"update_listed",
|
|
1802
|
+
"update_latency",
|
|
1803
|
+
"update_display_name"
|
|
1804
|
+
]
|
|
1805
|
+
}]
|
|
1919
1806
|
data: []varint
|
|
1920
1807
|
uuid: UUID
|
|
1921
|
-
player: ../action ?
|
|
1922
|
-
if
|
|
1923
|
-
if 3: game_profile
|
|
1924
|
-
if 5: game_profile
|
|
1925
|
-
if 7: game_profile
|
|
1926
|
-
if 9: game_profile
|
|
1927
|
-
if 11: game_profile
|
|
1928
|
-
if 13: game_profile
|
|
1929
|
-
if 15: game_profile
|
|
1930
|
-
if 17: game_profile
|
|
1931
|
-
if 19: game_profile
|
|
1932
|
-
if 21: game_profile
|
|
1933
|
-
if 23: game_profile
|
|
1934
|
-
if 25: game_profile
|
|
1935
|
-
if 27: game_profile
|
|
1936
|
-
if 29: game_profile
|
|
1937
|
-
if 31: game_profile
|
|
1938
|
-
if 33: game_profile
|
|
1939
|
-
if 35: game_profile
|
|
1940
|
-
if 37: game_profile
|
|
1941
|
-
if 39: game_profile
|
|
1942
|
-
if 41: game_profile
|
|
1943
|
-
if 43: game_profile
|
|
1944
|
-
if 45: game_profile
|
|
1945
|
-
if 47: game_profile
|
|
1946
|
-
if 49: game_profile
|
|
1947
|
-
if 51: game_profile
|
|
1948
|
-
if 53: game_profile
|
|
1949
|
-
if 55: game_profile
|
|
1950
|
-
if 57: game_profile
|
|
1951
|
-
if 59: game_profile
|
|
1952
|
-
if 61: game_profile
|
|
1953
|
-
if 63: game_profile
|
|
1808
|
+
player: ../action/add_player ?
|
|
1809
|
+
if true: game_profile
|
|
1954
1810
|
default: void
|
|
1955
|
-
chatSession: ../action ?
|
|
1956
|
-
if
|
|
1957
|
-
if 3: chat_session
|
|
1958
|
-
if 6: chat_session
|
|
1959
|
-
if 7: chat_session
|
|
1960
|
-
if 10: chat_session
|
|
1961
|
-
if 11: chat_session
|
|
1962
|
-
if 14: chat_session
|
|
1963
|
-
if 15: chat_session
|
|
1964
|
-
if 18: chat_session
|
|
1965
|
-
if 19: chat_session
|
|
1966
|
-
if 22: chat_session
|
|
1967
|
-
if 23: chat_session
|
|
1968
|
-
if 26: chat_session
|
|
1969
|
-
if 27: chat_session
|
|
1970
|
-
if 30: chat_session
|
|
1971
|
-
if 31: chat_session
|
|
1972
|
-
if 34: chat_session
|
|
1973
|
-
if 35: chat_session
|
|
1974
|
-
if 38: chat_session
|
|
1975
|
-
if 39: chat_session
|
|
1976
|
-
if 42: chat_session
|
|
1977
|
-
if 43: chat_session
|
|
1978
|
-
if 46: chat_session
|
|
1979
|
-
if 47: chat_session
|
|
1980
|
-
if 50: chat_session
|
|
1981
|
-
if 51: chat_session
|
|
1982
|
-
if 54: chat_session
|
|
1983
|
-
if 55: chat_session
|
|
1984
|
-
if 58: chat_session
|
|
1985
|
-
if 59: chat_session
|
|
1986
|
-
if 62: chat_session
|
|
1987
|
-
if 63: chat_session
|
|
1811
|
+
chatSession: ../action/initialize_chat ?
|
|
1812
|
+
if true: chat_session
|
|
1988
1813
|
default: void
|
|
1989
|
-
gamemode: ../action ?
|
|
1990
|
-
if
|
|
1991
|
-
if 5: varint
|
|
1992
|
-
if 6: varint
|
|
1993
|
-
if 7: varint
|
|
1994
|
-
if 12: varint
|
|
1995
|
-
if 13: varint
|
|
1996
|
-
if 14: varint
|
|
1997
|
-
if 15: varint
|
|
1998
|
-
if 20: varint
|
|
1999
|
-
if 21: varint
|
|
2000
|
-
if 22: varint
|
|
2001
|
-
if 23: varint
|
|
2002
|
-
if 28: varint
|
|
2003
|
-
if 29: varint
|
|
2004
|
-
if 30: varint
|
|
2005
|
-
if 31: varint
|
|
2006
|
-
if 36: varint
|
|
2007
|
-
if 37: varint
|
|
2008
|
-
if 38: varint
|
|
2009
|
-
if 39: varint
|
|
2010
|
-
if 44: varint
|
|
2011
|
-
if 45: varint
|
|
2012
|
-
if 46: varint
|
|
2013
|
-
if 47: varint
|
|
2014
|
-
if 52: varint
|
|
2015
|
-
if 53: varint
|
|
2016
|
-
if 54: varint
|
|
2017
|
-
if 55: varint
|
|
2018
|
-
if 60: varint
|
|
2019
|
-
if 61: varint
|
|
2020
|
-
if 62: varint
|
|
2021
|
-
if 63: varint
|
|
1814
|
+
gamemode: ../action/update_game_mode ?
|
|
1815
|
+
if true: varint
|
|
2022
1816
|
default: void
|
|
2023
|
-
listed: ../action ?
|
|
2024
|
-
if
|
|
2025
|
-
if 9: bool
|
|
2026
|
-
if 10: bool
|
|
2027
|
-
if 11: bool
|
|
2028
|
-
if 12: bool
|
|
2029
|
-
if 13: bool
|
|
2030
|
-
if 14: bool
|
|
2031
|
-
if 15: bool
|
|
2032
|
-
if 24: bool
|
|
2033
|
-
if 25: bool
|
|
2034
|
-
if 26: bool
|
|
2035
|
-
if 27: bool
|
|
2036
|
-
if 28: bool
|
|
2037
|
-
if 29: bool
|
|
2038
|
-
if 30: bool
|
|
2039
|
-
if 31: bool
|
|
2040
|
-
if 40: bool
|
|
2041
|
-
if 41: bool
|
|
2042
|
-
if 42: bool
|
|
2043
|
-
if 43: bool
|
|
2044
|
-
if 44: bool
|
|
2045
|
-
if 45: bool
|
|
2046
|
-
if 46: bool
|
|
2047
|
-
if 47: bool
|
|
2048
|
-
if 56: bool
|
|
2049
|
-
if 57: bool
|
|
2050
|
-
if 58: bool
|
|
2051
|
-
if 59: bool
|
|
2052
|
-
if 60: bool
|
|
2053
|
-
if 61: bool
|
|
2054
|
-
if 62: bool
|
|
2055
|
-
if 63: bool
|
|
1817
|
+
listed: ../action/update_listed ?
|
|
1818
|
+
if true: varint
|
|
2056
1819
|
default: void
|
|
2057
|
-
latency: ../action ?
|
|
2058
|
-
if
|
|
2059
|
-
if 17: varint
|
|
2060
|
-
if 18: varint
|
|
2061
|
-
if 19: varint
|
|
2062
|
-
if 20: varint
|
|
2063
|
-
if 21: varint
|
|
2064
|
-
if 22: varint
|
|
2065
|
-
if 23: varint
|
|
2066
|
-
if 24: varint
|
|
2067
|
-
if 25: varint
|
|
2068
|
-
if 26: varint
|
|
2069
|
-
if 27: varint
|
|
2070
|
-
if 28: varint
|
|
2071
|
-
if 29: varint
|
|
2072
|
-
if 30: varint
|
|
2073
|
-
if 31: varint
|
|
2074
|
-
if 48: varint
|
|
2075
|
-
if 49: varint
|
|
2076
|
-
if 50: varint
|
|
2077
|
-
if 51: varint
|
|
2078
|
-
if 52: varint
|
|
2079
|
-
if 53: varint
|
|
2080
|
-
if 54: varint
|
|
2081
|
-
if 55: varint
|
|
2082
|
-
if 56: varint
|
|
2083
|
-
if 57: varint
|
|
2084
|
-
if 58: varint
|
|
2085
|
-
if 59: varint
|
|
2086
|
-
if 60: varint
|
|
2087
|
-
if 61: varint
|
|
2088
|
-
if 62: varint
|
|
2089
|
-
if 63: varint
|
|
1820
|
+
latency: ../action/update_latency ?
|
|
1821
|
+
if true: varint
|
|
2090
1822
|
default: void
|
|
2091
|
-
displayName: ../action ?
|
|
2092
|
-
if
|
|
2093
|
-
"option",
|
|
2094
|
-
"anonymousNbt"
|
|
2095
|
-
]
|
|
2096
|
-
if 33: [
|
|
2097
|
-
"option",
|
|
2098
|
-
"anonymousNbt"
|
|
2099
|
-
]
|
|
2100
|
-
if 34: [
|
|
2101
|
-
"option",
|
|
2102
|
-
"anonymousNbt"
|
|
2103
|
-
]
|
|
2104
|
-
if 35: [
|
|
2105
|
-
"option",
|
|
2106
|
-
"anonymousNbt"
|
|
2107
|
-
]
|
|
2108
|
-
if 36: [
|
|
2109
|
-
"option",
|
|
2110
|
-
"anonymousNbt"
|
|
2111
|
-
]
|
|
2112
|
-
if 37: [
|
|
2113
|
-
"option",
|
|
2114
|
-
"anonymousNbt"
|
|
2115
|
-
]
|
|
2116
|
-
if 38: [
|
|
2117
|
-
"option",
|
|
2118
|
-
"anonymousNbt"
|
|
2119
|
-
]
|
|
2120
|
-
if 39: [
|
|
2121
|
-
"option",
|
|
2122
|
-
"anonymousNbt"
|
|
2123
|
-
]
|
|
2124
|
-
if 40: [
|
|
2125
|
-
"option",
|
|
2126
|
-
"anonymousNbt"
|
|
2127
|
-
]
|
|
2128
|
-
if 41: [
|
|
2129
|
-
"option",
|
|
2130
|
-
"anonymousNbt"
|
|
2131
|
-
]
|
|
2132
|
-
if 42: [
|
|
2133
|
-
"option",
|
|
2134
|
-
"anonymousNbt"
|
|
2135
|
-
]
|
|
2136
|
-
if 43: [
|
|
2137
|
-
"option",
|
|
2138
|
-
"anonymousNbt"
|
|
2139
|
-
]
|
|
2140
|
-
if 44: [
|
|
2141
|
-
"option",
|
|
2142
|
-
"anonymousNbt"
|
|
2143
|
-
]
|
|
2144
|
-
if 45: [
|
|
2145
|
-
"option",
|
|
2146
|
-
"anonymousNbt"
|
|
2147
|
-
]
|
|
2148
|
-
if 46: [
|
|
2149
|
-
"option",
|
|
2150
|
-
"anonymousNbt"
|
|
2151
|
-
]
|
|
2152
|
-
if 47: [
|
|
2153
|
-
"option",
|
|
2154
|
-
"anonymousNbt"
|
|
2155
|
-
]
|
|
2156
|
-
if 48: [
|
|
2157
|
-
"option",
|
|
2158
|
-
"anonymousNbt"
|
|
2159
|
-
]
|
|
2160
|
-
if 49: [
|
|
2161
|
-
"option",
|
|
2162
|
-
"anonymousNbt"
|
|
2163
|
-
]
|
|
2164
|
-
if 50: [
|
|
2165
|
-
"option",
|
|
2166
|
-
"anonymousNbt"
|
|
2167
|
-
]
|
|
2168
|
-
if 51: [
|
|
2169
|
-
"option",
|
|
2170
|
-
"anonymousNbt"
|
|
2171
|
-
]
|
|
2172
|
-
if 52: [
|
|
2173
|
-
"option",
|
|
2174
|
-
"anonymousNbt"
|
|
2175
|
-
]
|
|
2176
|
-
if 53: [
|
|
2177
|
-
"option",
|
|
2178
|
-
"anonymousNbt"
|
|
2179
|
-
]
|
|
2180
|
-
if 54: [
|
|
2181
|
-
"option",
|
|
2182
|
-
"anonymousNbt"
|
|
2183
|
-
]
|
|
2184
|
-
if 55: [
|
|
2185
|
-
"option",
|
|
2186
|
-
"anonymousNbt"
|
|
2187
|
-
]
|
|
2188
|
-
if 56: [
|
|
2189
|
-
"option",
|
|
2190
|
-
"anonymousNbt"
|
|
2191
|
-
]
|
|
2192
|
-
if 57: [
|
|
2193
|
-
"option",
|
|
2194
|
-
"anonymousNbt"
|
|
2195
|
-
]
|
|
2196
|
-
if 58: [
|
|
2197
|
-
"option",
|
|
2198
|
-
"anonymousNbt"
|
|
2199
|
-
]
|
|
2200
|
-
if 59: [
|
|
2201
|
-
"option",
|
|
2202
|
-
"anonymousNbt"
|
|
2203
|
-
]
|
|
2204
|
-
if 60: [
|
|
2205
|
-
"option",
|
|
2206
|
-
"anonymousNbt"
|
|
2207
|
-
]
|
|
2208
|
-
if 61: [
|
|
2209
|
-
"option",
|
|
2210
|
-
"anonymousNbt"
|
|
2211
|
-
]
|
|
2212
|
-
if 62: [
|
|
2213
|
-
"option",
|
|
2214
|
-
"anonymousNbt"
|
|
2215
|
-
]
|
|
2216
|
-
if 63: [
|
|
2217
|
-
"option",
|
|
2218
|
-
"anonymousNbt"
|
|
2219
|
-
]
|
|
1823
|
+
displayName: ../action/update_display_name ?
|
|
1824
|
+
if true: ["option", "anonymousNbt"]
|
|
2220
1825
|
default: void
|
|
2221
1826
|
# MC: ClientboundPlayerLookAtPacket
|
|
2222
1827
|
packet_face_player:
|
|
@@ -2231,6 +1836,12 @@
|
|
|
2231
1836
|
entity_feet_eyes: isEntity ?
|
|
2232
1837
|
if true: varint
|
|
2233
1838
|
default: void
|
|
1839
|
+
|
|
1840
|
+
# Relative.java
|
|
1841
|
+
PositionUpdateRelatives: ["bitflags", {
|
|
1842
|
+
"type": "u8",
|
|
1843
|
+
"flags": ["x", "y", "z", "yaw", "pitch"]
|
|
1844
|
+
}]
|
|
2234
1845
|
# MC: ClientboundPlayerPositionPacket
|
|
2235
1846
|
packet_position:
|
|
2236
1847
|
x: f64
|
|
@@ -2238,7 +1849,7 @@
|
|
|
2238
1849
|
z: f64
|
|
2239
1850
|
yaw: f32
|
|
2240
1851
|
pitch: f32
|
|
2241
|
-
flags:
|
|
1852
|
+
flags: PositionUpdateRelatives
|
|
2242
1853
|
teleportId: varint
|
|
2243
1854
|
# MC: ClientboundRecipePacket
|
|
2244
1855
|
packet_unlock_recipes:
|
|
@@ -2266,20 +1877,11 @@
|
|
|
2266
1877
|
packet_reset_score:
|
|
2267
1878
|
entity_name: string
|
|
2268
1879
|
objective_name?: string
|
|
2269
|
-
# MC: ClientboundResourcePackPopPacket
|
|
2270
|
-
packet_remove_resource_pack:
|
|
2271
|
-
uuid?: UUID
|
|
2272
|
-
# MC: ClientboundResourcePackPushPacket
|
|
2273
|
-
packet_add_resource_pack:
|
|
2274
|
-
uuid: UUID
|
|
2275
|
-
url: string
|
|
2276
|
-
hash: string
|
|
2277
|
-
forced: bool
|
|
2278
|
-
promptMessage?: anonymousNbt
|
|
2279
1880
|
# MC: ClientboundRespawnPacket
|
|
2280
1881
|
packet_respawn:
|
|
2281
1882
|
worldState: SpawnInfo
|
|
2282
|
-
|
|
1883
|
+
# Bit field: 0b1 - KEEP_ATTRIBUTE_MODIFIERS, 0b10 - KEEP_ENTITY_DATA
|
|
1884
|
+
copyMetadata: u8
|
|
2283
1885
|
# MC: ClientboundRotateHeadPacket
|
|
2284
1886
|
packet_entity_head_rotation:
|
|
2285
1887
|
entityId: varint
|
|
@@ -2490,12 +2092,7 @@
|
|
|
2490
2092
|
fadeOut: i32
|
|
2491
2093
|
# MC: ClientboundSoundEntityPacket
|
|
2492
2094
|
packet_entity_sound_effect:
|
|
2493
|
-
|
|
2494
|
-
soundEvent: soundId ?
|
|
2495
|
-
if 0:
|
|
2496
|
-
resource: string
|
|
2497
|
-
range?: f32
|
|
2498
|
-
default: void
|
|
2095
|
+
sound: ItemSoundHolder
|
|
2499
2096
|
soundCategory: soundSource
|
|
2500
2097
|
entityId: varint
|
|
2501
2098
|
volume: f32
|
|
@@ -2503,13 +2100,7 @@
|
|
|
2503
2100
|
seed: i64
|
|
2504
2101
|
# MC: ClientboundSoundPacket
|
|
2505
2102
|
packet_sound_effect:
|
|
2506
|
-
|
|
2507
|
-
soundEvent: soundId ?
|
|
2508
|
-
if 0:
|
|
2509
|
-
resource: string
|
|
2510
|
-
range?: f32
|
|
2511
|
-
default:
|
|
2512
|
-
|
|
2103
|
+
sound: ItemSoundHolder
|
|
2513
2104
|
soundCategory: soundSource
|
|
2514
2105
|
x: i32
|
|
2515
2106
|
y: i32
|
|
@@ -2682,10 +2273,10 @@
|
|
|
2682
2273
|
if minecraft:crafting_shaped:
|
|
2683
2274
|
group: string
|
|
2684
2275
|
category: varint
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
ingredients: []$
|
|
2688
|
-
_: ingredient[]$
|
|
2276
|
+
gridWidth: varint
|
|
2277
|
+
gridHeight: varint
|
|
2278
|
+
ingredients: []$gridWidth
|
|
2279
|
+
_: ingredient[]$gridHeight
|
|
2689
2280
|
result: Slot
|
|
2690
2281
|
showNotification: bool
|
|
2691
2282
|
if minecraft:crafting_special_armordye: minecraft_simple_recipe_format
|
|
@@ -2923,8 +2514,8 @@
|
|
|
2923
2514
|
if entity_destroy: packet_entity_destroy
|
|
2924
2515
|
if remove_entity_effect: packet_remove_entity_effect
|
|
2925
2516
|
if reset_score: packet_reset_score
|
|
2926
|
-
if remove_resource_pack:
|
|
2927
|
-
if add_resource_pack:
|
|
2517
|
+
if remove_resource_pack: packet_common_remove_resource_pack
|
|
2518
|
+
if add_resource_pack: packet_common_add_resource_pack
|
|
2928
2519
|
if respawn: packet_respawn
|
|
2929
2520
|
if entity_head_rotation: packet_entity_head_rotation
|
|
2930
2521
|
if multi_block_change: packet_multi_block_change
|
|
@@ -3043,16 +2634,7 @@
|
|
|
3043
2634
|
# MC: ServerboundClientCommandPacket
|
|
3044
2635
|
packet_client_command:
|
|
3045
2636
|
actionId: varint
|
|
3046
|
-
|
|
3047
|
-
packet_settings:
|
|
3048
|
-
locale: string
|
|
3049
|
-
viewDistance: i8
|
|
3050
|
-
chatFlags: varint
|
|
3051
|
-
chatColors: bool
|
|
3052
|
-
skinParts: u8
|
|
3053
|
-
mainHand: varint
|
|
3054
|
-
enableTextFiltering: bool
|
|
3055
|
-
enableServerListing: bool
|
|
2637
|
+
## (Settings is common) ##
|
|
3056
2638
|
# MC: ServerboundCommandSuggestionPacket
|
|
3057
2639
|
packet_tab_complete:
|
|
3058
2640
|
transactionId: varint
|
|
@@ -3066,7 +2648,7 @@
|
|
|
3066
2648
|
enchantment: i8
|
|
3067
2649
|
# MC: ServerboundContainerClickPacket
|
|
3068
2650
|
packet_window_click:
|
|
3069
|
-
windowId:
|
|
2651
|
+
windowId: ContainerID
|
|
3070
2652
|
stateId: varint
|
|
3071
2653
|
slot: i16
|
|
3072
2654
|
mouseButton: i8
|
|
@@ -3077,7 +2659,7 @@
|
|
|
3077
2659
|
cursorItem: Slot
|
|
3078
2660
|
# MC: ServerboundContainerClosePacket
|
|
3079
2661
|
packet_close_window:
|
|
3080
|
-
windowId:
|
|
2662
|
+
windowId: ContainerID
|
|
3081
2663
|
# MC: ServerboundContainerSlotStateChangedPacket
|
|
3082
2664
|
packet_set_slot_state:
|
|
3083
2665
|
slot_id: varint
|
|
@@ -3368,7 +2950,7 @@
|
|
|
3368
2950
|
if chat_session_update: packet_chat_session_update
|
|
3369
2951
|
if chunk_batch_received: packet_chunk_batch_received
|
|
3370
2952
|
if client_command: packet_client_command
|
|
3371
|
-
if settings:
|
|
2953
|
+
if settings: packet_common_settings
|
|
3372
2954
|
if tab_complete: packet_tab_complete
|
|
3373
2955
|
if configuration_acknowledged: packet_configuration_acknowledged
|
|
3374
2956
|
if enchant_item: packet_enchant_item
|