minecraft-data 3.107.0 → 3.108.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 +23 -1
- package/doc/history.md +4 -0
- package/minecraft-data/.github/workflows/bedrock-ci.yml +1 -1
- package/minecraft-data/.github/workflows/ci.yml +1 -1
- package/minecraft-data/README.md +1 -1
- package/minecraft-data/data/bedrock/1.26.0/proto.yml +4673 -0
- package/minecraft-data/data/bedrock/1.26.0/types.yml +3070 -0
- package/minecraft-data/data/bedrock/26.10/protocol.json +16251 -0
- package/minecraft-data/data/bedrock/26.10/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 +81 -45
- package/minecraft-data/data/bedrock/latest/types.yml +204 -12
- package/minecraft-data/data/dataPaths.json +23 -1
- package/minecraft-data/doc/history.md +6 -0
- package/package.json +1 -1
|
@@ -0,0 +1,3070 @@
|
|
|
1
|
+
!StartDocs: Types
|
|
2
|
+
|
|
3
|
+
TexturePackInfos: []li16
|
|
4
|
+
uuid: uuid
|
|
5
|
+
version: string
|
|
6
|
+
size: lu64
|
|
7
|
+
content_key: string
|
|
8
|
+
sub_pack_name: string
|
|
9
|
+
content_identity: string
|
|
10
|
+
has_scripts: bool
|
|
11
|
+
addon_pack: bool
|
|
12
|
+
rtx_enabled: bool
|
|
13
|
+
# cdn_url is a URL that the client can use to download the pack instead of the server sending it in
|
|
14
|
+
# chunks, which it will continue to do if this field is left empty.
|
|
15
|
+
cdn_url: string
|
|
16
|
+
|
|
17
|
+
ResourcePackIdVersions: []varint
|
|
18
|
+
# The ID of the resource pack.
|
|
19
|
+
uuid: string
|
|
20
|
+
# The version of the resource pack.
|
|
21
|
+
version: string
|
|
22
|
+
# The subpack name of the resource pack.
|
|
23
|
+
name: string
|
|
24
|
+
|
|
25
|
+
ResourcePackIds: string[]li16
|
|
26
|
+
|
|
27
|
+
Experiment:
|
|
28
|
+
name: string
|
|
29
|
+
enabled: bool
|
|
30
|
+
|
|
31
|
+
Experiments: Experiment[]li32
|
|
32
|
+
|
|
33
|
+
GameMode: zigzag32 =>
|
|
34
|
+
0: survival
|
|
35
|
+
1: creative
|
|
36
|
+
2: adventure
|
|
37
|
+
3: survival_spectator
|
|
38
|
+
4: creative_spectator
|
|
39
|
+
5: fallback
|
|
40
|
+
6: spectator
|
|
41
|
+
|
|
42
|
+
GameRuleI32:
|
|
43
|
+
name: string
|
|
44
|
+
editable: bool
|
|
45
|
+
type: varint =>
|
|
46
|
+
1: bool
|
|
47
|
+
2: int
|
|
48
|
+
3: float
|
|
49
|
+
value: type?
|
|
50
|
+
if bool: bool
|
|
51
|
+
if int: li32
|
|
52
|
+
if float: lf32
|
|
53
|
+
|
|
54
|
+
GameRuleVarint:
|
|
55
|
+
name: string
|
|
56
|
+
editable: bool
|
|
57
|
+
type: varint =>
|
|
58
|
+
1: bool
|
|
59
|
+
2: int
|
|
60
|
+
3: float
|
|
61
|
+
value: type?
|
|
62
|
+
if bool: bool
|
|
63
|
+
if int: varint
|
|
64
|
+
if float: lf32
|
|
65
|
+
|
|
66
|
+
# CacheBlob represents a blob as used in the client side blob cache protocol. It holds a hash of its data and
|
|
67
|
+
# the full data of it.
|
|
68
|
+
Blob:
|
|
69
|
+
# Hash is the hash of the blob. The hash is computed using xxHash, and must be deterministic for the same
|
|
70
|
+
# chunk data.
|
|
71
|
+
hash: lu64
|
|
72
|
+
# Payload is the data of the blob. When sent, the client will associate the Hash of the blob with the
|
|
73
|
+
# Payload in it.
|
|
74
|
+
payload: ByteArray
|
|
75
|
+
|
|
76
|
+
BlockProperties: []varint
|
|
77
|
+
name: string
|
|
78
|
+
state: nbt
|
|
79
|
+
|
|
80
|
+
Itemstates: []varint
|
|
81
|
+
name: string
|
|
82
|
+
runtime_id: li16
|
|
83
|
+
component_based: bool
|
|
84
|
+
# Version is the version of the item entry which is used by the client to determine how to handle the
|
|
85
|
+
# item entry. It is one of the constants above.
|
|
86
|
+
version: zigzag32 =>
|
|
87
|
+
- legacy
|
|
88
|
+
- data_driven
|
|
89
|
+
- none
|
|
90
|
+
# Components on the item
|
|
91
|
+
nbt: nbt
|
|
92
|
+
|
|
93
|
+
ItemExtraDataWithBlockingTick:
|
|
94
|
+
has_nbt: lu16 =>
|
|
95
|
+
0xffff: 'true'
|
|
96
|
+
0x0000: 'false'
|
|
97
|
+
nbt: has_nbt ?
|
|
98
|
+
if true:
|
|
99
|
+
version: u8
|
|
100
|
+
nbt: lnbt
|
|
101
|
+
default: void
|
|
102
|
+
can_place_on: ShortString[]li32
|
|
103
|
+
can_destroy: ShortString[]li32
|
|
104
|
+
blocking_tick: li64
|
|
105
|
+
|
|
106
|
+
ItemExtraDataWithoutBlockingTick:
|
|
107
|
+
has_nbt: lu16 =>
|
|
108
|
+
0xffff: 'true'
|
|
109
|
+
0x0000: 'false'
|
|
110
|
+
nbt: has_nbt ?
|
|
111
|
+
if true:
|
|
112
|
+
version: u8
|
|
113
|
+
nbt: lnbt
|
|
114
|
+
default: void
|
|
115
|
+
can_place_on: ShortString[]li32
|
|
116
|
+
can_destroy: ShortString[]li32
|
|
117
|
+
|
|
118
|
+
# Same as below but without a "networkStackID" boolean
|
|
119
|
+
ItemLegacy:
|
|
120
|
+
network_id: zigzag32
|
|
121
|
+
_: network_id?
|
|
122
|
+
if 0: void
|
|
123
|
+
default:
|
|
124
|
+
count: lu16
|
|
125
|
+
metadata: varint
|
|
126
|
+
block_runtime_id: zigzag32
|
|
127
|
+
extra: network_id ?
|
|
128
|
+
# The Shield Item ID is sent in the StartGame packet. It is usually 355 in vanilla.
|
|
129
|
+
if /ShieldItemID: '["encapsulated", { "lengthType": "varint", "type": "ItemExtraDataWithBlockingTick" }]'
|
|
130
|
+
default: '["encapsulated", { "lengthType": "varint", "type": "ItemExtraDataWithoutBlockingTick" }]'
|
|
131
|
+
|
|
132
|
+
# An "ItemStack" here represents an Item instance. You can think about it like a pointer
|
|
133
|
+
# to an item class. The data for the class gets updated with the data in the `item` field
|
|
134
|
+
# As of 1.16.220, now functionally the same as `Item` just without an extra boolean when
|
|
135
|
+
# server auth inventories is disabled.
|
|
136
|
+
Item:
|
|
137
|
+
network_id: zigzag32
|
|
138
|
+
_: network_id?
|
|
139
|
+
if 0: void
|
|
140
|
+
default:
|
|
141
|
+
count: lu16
|
|
142
|
+
metadata: varint
|
|
143
|
+
# When server authoritative inventory is enabled, all allocated items have a unique ID used to identify
|
|
144
|
+
# a specifc item instance.
|
|
145
|
+
has_stack_id: u8
|
|
146
|
+
# StackNetworkID is the network ID of this item *instance*. If the stack is empty, 0 is always written for this
|
|
147
|
+
# field. If not, the field should be set to 1 if the server authoritative inventories are disabled in the
|
|
148
|
+
# StartGame packet, or to a unique stack ID if it is enabled.
|
|
149
|
+
stack_id: has_stack_id ?
|
|
150
|
+
if 0: void
|
|
151
|
+
default: zigzag32
|
|
152
|
+
block_runtime_id: zigzag32
|
|
153
|
+
extra: network_id ?
|
|
154
|
+
# The Shield Item ID is sent in the StartGame packet. It is usually 355 in vanilla.
|
|
155
|
+
## Really bad compiler hack to allow us to use a global variable
|
|
156
|
+
if /ShieldItemID: '["encapsulated", { "lengthType": "varint", "type": "ItemExtraDataWithBlockingTick" }]'
|
|
157
|
+
default: '["encapsulated", { "lengthType": "varint", "type": "ItemExtraDataWithoutBlockingTick" }]'
|
|
158
|
+
|
|
159
|
+
vec3i:
|
|
160
|
+
x: zigzag32
|
|
161
|
+
y: zigzag32
|
|
162
|
+
z: zigzag32
|
|
163
|
+
|
|
164
|
+
vec3li:
|
|
165
|
+
x: li32
|
|
166
|
+
y: li32
|
|
167
|
+
z: li32
|
|
168
|
+
|
|
169
|
+
vec3u:
|
|
170
|
+
x: varint
|
|
171
|
+
y: varint
|
|
172
|
+
z: varint
|
|
173
|
+
|
|
174
|
+
vec3f:
|
|
175
|
+
x: lf32
|
|
176
|
+
y: lf32
|
|
177
|
+
z: lf32
|
|
178
|
+
|
|
179
|
+
vec2f:
|
|
180
|
+
x: lf32
|
|
181
|
+
z: lf32
|
|
182
|
+
|
|
183
|
+
Vec3fopts:
|
|
184
|
+
x?: lf32
|
|
185
|
+
y?: lf32
|
|
186
|
+
z?: lf32
|
|
187
|
+
|
|
188
|
+
Vec2fopts:
|
|
189
|
+
x?: lf32
|
|
190
|
+
y?: lf32
|
|
191
|
+
|
|
192
|
+
MetadataDictionary: []varint
|
|
193
|
+
# https://github.com/pmmp/PocketMine-MP/blob/stable/src/pocketmine/entity/Entity.php#L101
|
|
194
|
+
key: varint =>
|
|
195
|
+
0: flags
|
|
196
|
+
1: health #int (minecart/boat)
|
|
197
|
+
2: variant #int
|
|
198
|
+
3: color #byte
|
|
199
|
+
4: nametag #string
|
|
200
|
+
5: owner_eid #long
|
|
201
|
+
6: target_eid #long
|
|
202
|
+
7: air #short
|
|
203
|
+
8: potion_color #int (ARGB!)
|
|
204
|
+
9: potion_ambient #byte
|
|
205
|
+
10: jump_duration #long
|
|
206
|
+
11: hurt_time #int (minecart/boat)
|
|
207
|
+
12: hurt_direction #int (minecart/boat)
|
|
208
|
+
13: paddle_time_left #float
|
|
209
|
+
14: paddle_time_right #float
|
|
210
|
+
15: experience_value #int (xp orb)
|
|
211
|
+
16: minecart_display_block #int (id | (data << 16))
|
|
212
|
+
17: minecart_display_offset #int
|
|
213
|
+
18: minecart_has_display #byte (must be 1 for minecart to show block inside)
|
|
214
|
+
19: horse_type
|
|
215
|
+
20: creeper_swell
|
|
216
|
+
21: creeper_swell_direction
|
|
217
|
+
22: charge_amount
|
|
218
|
+
23: enderman_held_runtime_id #short
|
|
219
|
+
24: entity_age #short
|
|
220
|
+
26: player_flags
|
|
221
|
+
27: player_index
|
|
222
|
+
28: player_bed_position #block coords
|
|
223
|
+
29: fireball_power_x #float
|
|
224
|
+
30: fireball_power_y
|
|
225
|
+
31: fireball_power_z
|
|
226
|
+
32: aux_power
|
|
227
|
+
33: fish_x
|
|
228
|
+
34: fish_z
|
|
229
|
+
35: fish_angle
|
|
230
|
+
36: potion_aux_value #short
|
|
231
|
+
37: lead_holder_eid #long
|
|
232
|
+
38: scale
|
|
233
|
+
39: interactive_tag #string
|
|
234
|
+
40: npc_skin_id #string
|
|
235
|
+
41: url_tag #string
|
|
236
|
+
42: max_airdata_max_air
|
|
237
|
+
43: mark_variant #int
|
|
238
|
+
44: container_type #byte
|
|
239
|
+
45: container_base_size #int
|
|
240
|
+
46: container_extra_slots_per_strength #int
|
|
241
|
+
47: block_target
|
|
242
|
+
48: wither_invulnerable_ticks #int
|
|
243
|
+
49: wither_target_1 #long
|
|
244
|
+
50: wither_target_2 #long
|
|
245
|
+
51: wither_target_3 #long
|
|
246
|
+
52: wither_aerial_attack
|
|
247
|
+
53: boundingbox_width
|
|
248
|
+
54: boundingbox_height
|
|
249
|
+
55: fuse_length
|
|
250
|
+
56: rider_seat_position #vector3f
|
|
251
|
+
57: rider_rotation_locked #byte
|
|
252
|
+
58: rider_max_rotation #float
|
|
253
|
+
59: rider_min_rotation #float
|
|
254
|
+
60: rider_seat_rotation_offset
|
|
255
|
+
61: area_effect_cloud_radius #float
|
|
256
|
+
62: area_effect_cloud_waiting #int
|
|
257
|
+
63: area_effect_cloud_particle_id #int
|
|
258
|
+
64: shulker_peek_id #int
|
|
259
|
+
65: shulker_attach_face #byte
|
|
260
|
+
66: shulker_attached #short
|
|
261
|
+
67: shulker_attach_pos
|
|
262
|
+
68: trading_player_eid #long
|
|
263
|
+
69: trading_career
|
|
264
|
+
70: has_command_block
|
|
265
|
+
71: command_block_command #string
|
|
266
|
+
72: command_block_last_output #string
|
|
267
|
+
73: command_block_track_output #byte
|
|
268
|
+
74: controlling_rider_seat_number #byte
|
|
269
|
+
75: strength #int
|
|
270
|
+
76: max_strength #int
|
|
271
|
+
77: evoker_spell_casting_color #int
|
|
272
|
+
78: limited_life
|
|
273
|
+
79: armor_stand_pose_index # int
|
|
274
|
+
80: ender_crystal_time_offset # int
|
|
275
|
+
81: always_show_nametag # byte
|
|
276
|
+
82: color_2 # byte
|
|
277
|
+
83: name_author
|
|
278
|
+
84: score_tag #String
|
|
279
|
+
85: balloon_attached_entity # long
|
|
280
|
+
86: pufferfish_size
|
|
281
|
+
87: bubble_time
|
|
282
|
+
88: agent
|
|
283
|
+
89: sitting_amount
|
|
284
|
+
90: sitting_amount_previous
|
|
285
|
+
91: eating_counter
|
|
286
|
+
92: flags_extended
|
|
287
|
+
93: laying_amount
|
|
288
|
+
94: laying_amount_previous
|
|
289
|
+
95: area_effect_cloud_duration
|
|
290
|
+
96: area_effect_cloud_spawn_time
|
|
291
|
+
97: area_effect_cloud_change_rate
|
|
292
|
+
98: area_effect_cloud_change_on_pickup
|
|
293
|
+
99: area_effect_cloud_pickup_count
|
|
294
|
+
100: interact_text
|
|
295
|
+
101: trade_tier
|
|
296
|
+
102: max_trade_tier
|
|
297
|
+
103: trade_experience
|
|
298
|
+
104: skin_id
|
|
299
|
+
105: spawning_frames
|
|
300
|
+
106: command_block_tick_delay
|
|
301
|
+
107: command_block_execute_on_first_tick
|
|
302
|
+
108: ambient_sound_interval
|
|
303
|
+
109: ambient_sound_interval_range
|
|
304
|
+
110: ambient_sound_event_name
|
|
305
|
+
111: fall_damage_multiplier
|
|
306
|
+
112: name_raw_text
|
|
307
|
+
113: can_ride_target
|
|
308
|
+
114: low_tier_cured_discount
|
|
309
|
+
115: high_tier_cured_discount
|
|
310
|
+
116: nearby_cured_discount
|
|
311
|
+
117: nearby_cured_discount_timestamp
|
|
312
|
+
118: hitbox
|
|
313
|
+
119: is_buoyant
|
|
314
|
+
120: freezing_effect_strength
|
|
315
|
+
121: buoyancy_data
|
|
316
|
+
122: goat_horn_count
|
|
317
|
+
123: update_properties
|
|
318
|
+
124: movement_sound_distance_offset
|
|
319
|
+
125: heartbeat_interval_ticks
|
|
320
|
+
126: heartbeat_sound_event
|
|
321
|
+
127: player_last_death_position
|
|
322
|
+
128: player_last_death_dimension
|
|
323
|
+
129: player_has_died
|
|
324
|
+
130: collision_box
|
|
325
|
+
131: visible_mob_effects # long
|
|
326
|
+
132: filtered_name # string
|
|
327
|
+
133: bed_enter_position # blockpos
|
|
328
|
+
134: seat_third_person_camera_radius
|
|
329
|
+
135: seat_camera_relax_distance_smoothing
|
|
330
|
+
136: aim_assist_priority_preset_id
|
|
331
|
+
137: aim_assist_priority_category_id
|
|
332
|
+
138: aim_assist_priority_actor_id
|
|
333
|
+
type: varint =>
|
|
334
|
+
0: byte
|
|
335
|
+
1: short
|
|
336
|
+
2: int
|
|
337
|
+
3: float
|
|
338
|
+
4: string
|
|
339
|
+
5: compound
|
|
340
|
+
6: vec3i
|
|
341
|
+
7: long
|
|
342
|
+
8: vec3f
|
|
343
|
+
value: key ?
|
|
344
|
+
if flags: MetadataFlags1
|
|
345
|
+
if flags_extended: MetadataFlags2
|
|
346
|
+
if seat_third_person_camera_radius: lf32
|
|
347
|
+
if seat_camera_relax_distance_smoothing: lf32
|
|
348
|
+
default: type ?
|
|
349
|
+
if byte: i8
|
|
350
|
+
if short: li16
|
|
351
|
+
if int: zigzag32
|
|
352
|
+
if float: lf32
|
|
353
|
+
if string: string
|
|
354
|
+
if compound: nbt
|
|
355
|
+
if vec3i: vec3i
|
|
356
|
+
if long: zigzag64
|
|
357
|
+
if vec3f: vec3f
|
|
358
|
+
|
|
359
|
+
MetadataFlags1: [ "bitflags", {
|
|
360
|
+
"type": "zigzag64",
|
|
361
|
+
"big": true,
|
|
362
|
+
"flags": [
|
|
363
|
+
"onfire",
|
|
364
|
+
"sneaking",
|
|
365
|
+
"riding",
|
|
366
|
+
"sprinting",
|
|
367
|
+
"action",
|
|
368
|
+
"invisible",
|
|
369
|
+
"tempted",
|
|
370
|
+
"inlove",
|
|
371
|
+
"saddled",
|
|
372
|
+
"powered",
|
|
373
|
+
"ignited",
|
|
374
|
+
"baby",
|
|
375
|
+
"converting",
|
|
376
|
+
"critical",
|
|
377
|
+
"can_show_nametag",
|
|
378
|
+
"always_show_nametag",
|
|
379
|
+
"no_ai",
|
|
380
|
+
"silent",
|
|
381
|
+
"wallclimbing",
|
|
382
|
+
"can_climb",
|
|
383
|
+
"swimmer",
|
|
384
|
+
"can_fly",
|
|
385
|
+
"walker",
|
|
386
|
+
"resting",
|
|
387
|
+
"sitting",
|
|
388
|
+
"angry",
|
|
389
|
+
"interested",
|
|
390
|
+
"charged",
|
|
391
|
+
"tamed",
|
|
392
|
+
"orphaned",
|
|
393
|
+
"leashed",
|
|
394
|
+
"sheared",
|
|
395
|
+
"gliding",
|
|
396
|
+
"elder",
|
|
397
|
+
"moving",
|
|
398
|
+
"breathing",
|
|
399
|
+
"chested",
|
|
400
|
+
"stackable",
|
|
401
|
+
"showbase",
|
|
402
|
+
"rearing",
|
|
403
|
+
"vibrating",
|
|
404
|
+
"idling",
|
|
405
|
+
"evoker_spell",
|
|
406
|
+
"charge_attack",
|
|
407
|
+
"wasd_controlled",
|
|
408
|
+
"can_power_jump",
|
|
409
|
+
"can_dash",
|
|
410
|
+
"linger",
|
|
411
|
+
"has_collision",
|
|
412
|
+
"affected_by_gravity",
|
|
413
|
+
"fire_immune",
|
|
414
|
+
"dancing",
|
|
415
|
+
"enchanted",
|
|
416
|
+
"show_trident_rope", # tridents show an animated rope when enchanted with loyalty after they are thrown and return to their owner. to be combined with data_owner_eid
|
|
417
|
+
"container_private", #inventory is private, doesn't drop contents when killed if true
|
|
418
|
+
"transforming",
|
|
419
|
+
"spin_attack",
|
|
420
|
+
"swimming",
|
|
421
|
+
"bribed", #dolphins have this set when they go to find treasure for the player
|
|
422
|
+
"pregnant",
|
|
423
|
+
"laying_egg",
|
|
424
|
+
"rider_can_pick", #???
|
|
425
|
+
"transition_sitting",
|
|
426
|
+
"eating",
|
|
427
|
+
"laying_down"
|
|
428
|
+
]
|
|
429
|
+
}]
|
|
430
|
+
|
|
431
|
+
MetadataFlags2: [ "bitflags", {
|
|
432
|
+
"type": "zigzag64",
|
|
433
|
+
"big": true,
|
|
434
|
+
"flags": [
|
|
435
|
+
"sneezing",
|
|
436
|
+
"trusting",
|
|
437
|
+
"rolling",
|
|
438
|
+
"scared",
|
|
439
|
+
"in_scaffolding",
|
|
440
|
+
"over_scaffolding",
|
|
441
|
+
"fall_through_scaffolding",
|
|
442
|
+
"blocking", #shield
|
|
443
|
+
"transition_blocking",
|
|
444
|
+
"blocked_using_shield",
|
|
445
|
+
"blocked_using_damaged_shield",
|
|
446
|
+
"sleeping",
|
|
447
|
+
"wants_to_wake",
|
|
448
|
+
"trade_interest",
|
|
449
|
+
"door_breaker", #...
|
|
450
|
+
"breaking_obstruction",
|
|
451
|
+
"door_opener", #...
|
|
452
|
+
"illager_captain",
|
|
453
|
+
"stunned",
|
|
454
|
+
"roaring",
|
|
455
|
+
"delayed_attacking",
|
|
456
|
+
"avoiding_mobs",
|
|
457
|
+
"avoiding_block",
|
|
458
|
+
"facing_target_to_range_attack",
|
|
459
|
+
"hidden_when_invisible", #??????????????????
|
|
460
|
+
"is_in_ui",
|
|
461
|
+
"stalking",
|
|
462
|
+
"emoting",
|
|
463
|
+
"celebrating",
|
|
464
|
+
"admiring",
|
|
465
|
+
"celebrating_special",
|
|
466
|
+
"unknown95", # 95
|
|
467
|
+
"ram_attack",
|
|
468
|
+
"playing_dead",
|
|
469
|
+
"in_ascendable_block",
|
|
470
|
+
"over_descendable_block",
|
|
471
|
+
"croaking",
|
|
472
|
+
"eat_mob",
|
|
473
|
+
"jump_goal_jump",
|
|
474
|
+
"emerging",
|
|
475
|
+
"sniffing",
|
|
476
|
+
"digging",
|
|
477
|
+
"sonic_boom",
|
|
478
|
+
"has_dash_cooldown",
|
|
479
|
+
"push_towards_closest_space",
|
|
480
|
+
"scenting",
|
|
481
|
+
"rising",
|
|
482
|
+
"feeling_happy",
|
|
483
|
+
"searching",
|
|
484
|
+
"crawling",
|
|
485
|
+
"timer_flag_1",
|
|
486
|
+
"timer_flag_2",
|
|
487
|
+
"timer_flag_3",
|
|
488
|
+
"body_rotation_blocked",
|
|
489
|
+
"render_when_invisible",
|
|
490
|
+
"body_rotation_axis_aligned",
|
|
491
|
+
"collidable",
|
|
492
|
+
"wasd_air_controlled",
|
|
493
|
+
"does_server_auth_only_dismount",
|
|
494
|
+
"body_rotation_always_follows_head",
|
|
495
|
+
"can_use_vertical_movement_action",
|
|
496
|
+
"rotation_locked_to_vehicle"
|
|
497
|
+
]
|
|
498
|
+
}]
|
|
499
|
+
|
|
500
|
+
Link:
|
|
501
|
+
ridden_entity_id: zigzag64
|
|
502
|
+
rider_entity_id: zigzag64
|
|
503
|
+
type: u8
|
|
504
|
+
immediate: bool
|
|
505
|
+
rider_initiated: bool
|
|
506
|
+
# angular velocity of the vehicle that the rider is riding.
|
|
507
|
+
angular_velocity: lf32
|
|
508
|
+
|
|
509
|
+
Links: Link[]varint
|
|
510
|
+
|
|
511
|
+
EntityAttributes: []varint
|
|
512
|
+
name: string
|
|
513
|
+
min: lf32
|
|
514
|
+
value: lf32
|
|
515
|
+
max: lf32
|
|
516
|
+
|
|
517
|
+
EntityProperties:
|
|
518
|
+
ints: []varint
|
|
519
|
+
index: varint
|
|
520
|
+
value: zigzag32
|
|
521
|
+
floats: []varint
|
|
522
|
+
index: varint
|
|
523
|
+
value: lf32
|
|
524
|
+
|
|
525
|
+
Rotation:
|
|
526
|
+
yaw: byterot
|
|
527
|
+
pitch: byterot
|
|
528
|
+
head_yaw: byterot
|
|
529
|
+
|
|
530
|
+
BlockCoordinates: # mojang...
|
|
531
|
+
x: zigzag32
|
|
532
|
+
y: varint
|
|
533
|
+
z: zigzag32
|
|
534
|
+
|
|
535
|
+
PlayerAttributes: []varint
|
|
536
|
+
min: lf32
|
|
537
|
+
max: lf32
|
|
538
|
+
current: lf32
|
|
539
|
+
default_min: lf32
|
|
540
|
+
default_max: lf32
|
|
541
|
+
default: lf32
|
|
542
|
+
name: string
|
|
543
|
+
modifiers: []varint
|
|
544
|
+
id: string
|
|
545
|
+
name: string
|
|
546
|
+
amount: lf32
|
|
547
|
+
operation: li32
|
|
548
|
+
operand: li32
|
|
549
|
+
serializable: bool
|
|
550
|
+
|
|
551
|
+
# UseItemTransactionData represents an inventory transaction data object sent when the client uses an item on
|
|
552
|
+
# a block. Also used in PlayerAuthoritativeInput packet
|
|
553
|
+
TransactionUseItem:
|
|
554
|
+
# ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
|
|
555
|
+
# and specifies the way the player interacted with the block.
|
|
556
|
+
action_type: varint =>
|
|
557
|
+
# Right click item use on a surface like placing a block
|
|
558
|
+
0: click_block
|
|
559
|
+
# Start right click and hold style item use or potentially interact with nothing.
|
|
560
|
+
# If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
|
|
561
|
+
# While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
|
|
562
|
+
1: click_air
|
|
563
|
+
# Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
|
|
564
|
+
# Instead, block actions are supplied in Player Auth Input.
|
|
565
|
+
2: break_block
|
|
566
|
+
3: attack
|
|
567
|
+
# TriggerType is the type of the trigger that caused the inventory transaction. It is one of the trigger
|
|
568
|
+
# types found in the constants above. If TriggerType is TriggerTypePlayerInput, the transaction is from
|
|
569
|
+
# the initial input of the player. If it is TriggerTypeSimulationTick, the transaction is from a simulation
|
|
570
|
+
# tick when the player is holding down the input.
|
|
571
|
+
trigger_type: varint =>
|
|
572
|
+
- unknown
|
|
573
|
+
- player_input
|
|
574
|
+
- simulation_tick
|
|
575
|
+
# BlockPosition is the position of the block that was interacted with. This is only really a correct
|
|
576
|
+
# block position if ActionType is not UseItemActionClickAir.
|
|
577
|
+
block_position: BlockCoordinates
|
|
578
|
+
# BlockFace is the face of the block that was interacted with. When clicking the block, it is the face
|
|
579
|
+
# clicked. When breaking the block, it is the face that was last being hit until the block broke.
|
|
580
|
+
face: zigzag32
|
|
581
|
+
# HotBarSlot is the hot bar slot that the player was holding while clicking the block. It should be used
|
|
582
|
+
# to ensure that the hot bar slot and held item are correctly synchronised with the server.
|
|
583
|
+
hotbar_slot: zigzag32
|
|
584
|
+
# HeldItem is the item that was held to interact with the block. The server should check if this item
|
|
585
|
+
# is actually present in the HotBarSlot.
|
|
586
|
+
held_item: Item
|
|
587
|
+
# Position is the position of the player at the time of interaction. For clicking a block, this is the
|
|
588
|
+
# position at that time, whereas for breaking the block it is the position at the time of breaking.
|
|
589
|
+
player_pos: vec3f
|
|
590
|
+
# ClickedPosition is the position that was clicked relative to the block's base coordinate. It can be
|
|
591
|
+
# used to find out exactly where a player clicked the block.
|
|
592
|
+
click_pos: vec3f
|
|
593
|
+
# BlockRuntimeID is the runtime ID of the block that was clicked. It may be used by the server to verify
|
|
594
|
+
# that the player's world client-side is synchronised with the server's.
|
|
595
|
+
block_runtime_id: varint
|
|
596
|
+
# ClientPrediction is the client's prediction on the output of the transaction.
|
|
597
|
+
client_prediction: varint =>
|
|
598
|
+
- failure
|
|
599
|
+
- success
|
|
600
|
+
|
|
601
|
+
# Actions is a list of actions that took place, that form the inventory transaction together. Each of
|
|
602
|
+
# these actions hold one slot in which one item was changed to another. In general, the combination of
|
|
603
|
+
# all of these actions results in a balanced inventory transaction. This should be checked to ensure that
|
|
604
|
+
# no items are cheated into the inventory.
|
|
605
|
+
TransactionActions: []varint
|
|
606
|
+
source_type: varint =>
|
|
607
|
+
0: container
|
|
608
|
+
1: global
|
|
609
|
+
2: world_interaction
|
|
610
|
+
3: creative
|
|
611
|
+
100: craft_slot
|
|
612
|
+
99999: craft
|
|
613
|
+
_: source_type?
|
|
614
|
+
if container or craft:
|
|
615
|
+
inventory_id: WindowIDZigzag32
|
|
616
|
+
if world_interaction:
|
|
617
|
+
flags: varint
|
|
618
|
+
if craft or craft_slot:
|
|
619
|
+
action: varint
|
|
620
|
+
default: void
|
|
621
|
+
slot: varint
|
|
622
|
+
old_item: Item
|
|
623
|
+
new_item: Item
|
|
624
|
+
|
|
625
|
+
# The Minecraft bedrock inventory system was refactored, but not all inventory actions use the new packet.
|
|
626
|
+
# This data structure holds actions that have not been updated to the new system.
|
|
627
|
+
TransactionLegacy:
|
|
628
|
+
# LegacyRequestID is an ID that is only non-zero at times when sent by the client. The server should
|
|
629
|
+
# always send 0 for this. When this field is not 0, the LegacySetItemSlots slice below will have values
|
|
630
|
+
# in it.
|
|
631
|
+
# LegacyRequestID ties in with the ItemStackResponse packet. If this field is non-0, the server should
|
|
632
|
+
# respond with an ItemStackResponse packet. Some inventory actions such as dropping an item out of the
|
|
633
|
+
# hotbar are still one using this packet, and the ItemStackResponse packet needs to tie in with it.
|
|
634
|
+
legacy_request_id: zigzag32
|
|
635
|
+
# `legacy_transactions` are only present if the LegacyRequestID is non-zero. These item slots inform the
|
|
636
|
+
# server of the slots that were changed during the inventory transaction, and the server should send
|
|
637
|
+
# back an ItemStackResponse packet with these slots present in it. (Or false with no slots, if rejected.)
|
|
638
|
+
legacy_transactions: legacy_request_id?
|
|
639
|
+
if 0: void
|
|
640
|
+
default: []varint
|
|
641
|
+
container_id: u8
|
|
642
|
+
changed_slots: []varint
|
|
643
|
+
slot_id: u8
|
|
644
|
+
|
|
645
|
+
Transaction:
|
|
646
|
+
# Old transaction system data
|
|
647
|
+
legacy: TransactionLegacy
|
|
648
|
+
# What type of transaction took place
|
|
649
|
+
transaction_type: varint =>
|
|
650
|
+
# Sent for container UI operations depending on if ItemStackNetManager is enabled
|
|
651
|
+
0: normal
|
|
652
|
+
# Sent from server to client to reject a transaction
|
|
653
|
+
1: inventory_mismatch
|
|
654
|
+
# Sent for a player performing right click style item use.
|
|
655
|
+
# See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
|
|
656
|
+
2: item_use
|
|
657
|
+
# Sent for a player right clicking on an entity or attacking them.
|
|
658
|
+
# See ItemUseInventoryTransaction::ActionType for which it is.
|
|
659
|
+
3: item_use_on_entity
|
|
660
|
+
# Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
|
|
661
|
+
# This is different than canceling item use early which would be in Player Auth Input.
|
|
662
|
+
# See ItemReleaseInventoryTransaction::ActionType for which it is.
|
|
663
|
+
4: item_release
|
|
664
|
+
# The list of inventory internal actions in this packet, e.g. inventory GUI actions
|
|
665
|
+
actions: TransactionActions
|
|
666
|
+
# Extra data if an intenal inventory transaction did not take place, e.g. use of an item
|
|
667
|
+
transaction_data: transaction_type?
|
|
668
|
+
if normal or inventory_mismatch: void
|
|
669
|
+
# UseItemTransactionData represents an inventory transaction data object sent when the client uses an item on
|
|
670
|
+
# a block.
|
|
671
|
+
if item_use: TransactionUseItem
|
|
672
|
+
# UseItemOnEntityTransactionData represents an inventory transaction data object sent when the client uses
|
|
673
|
+
# an item on an entity.
|
|
674
|
+
if item_use_on_entity:
|
|
675
|
+
# TargetEntityRuntimeID is the entity runtime ID of the target that was clicked. It is the runtime ID
|
|
676
|
+
# that was assigned to it in the AddEntity packet.
|
|
677
|
+
entity_runtime_id: varint64
|
|
678
|
+
# ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
|
|
679
|
+
# found in the constants above, and specifies the way the player interacted with the entity.
|
|
680
|
+
action_type: varint =>
|
|
681
|
+
# Right click interact with actor.
|
|
682
|
+
0: interact
|
|
683
|
+
# Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
|
|
684
|
+
1: attack
|
|
685
|
+
# HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
|
|
686
|
+
# to ensure that the hot bar slot and held item are correctly synchronised with the server.
|
|
687
|
+
hotbar_slot: zigzag32
|
|
688
|
+
# HeldItem is the item that was held to interact with the entity. The server should check if this item
|
|
689
|
+
# is actually present in the HotBarSlot.
|
|
690
|
+
held_item: Item
|
|
691
|
+
# Position is the position of the player at the time of clicking the entity.
|
|
692
|
+
player_pos: vec3f
|
|
693
|
+
# ClickedPosition is the position that was clicked relative to the entity's base coordinate. It can be
|
|
694
|
+
# used to find out exactly where a player clicked the entity.
|
|
695
|
+
click_pos: vec3f
|
|
696
|
+
# ReleaseItemTransactionData represents an inventory transaction data object sent when the client releases
|
|
697
|
+
# the item it was using, for example when stopping while eating or stopping the charging of a bow.
|
|
698
|
+
if item_release:
|
|
699
|
+
# ActionType is the type of the ReleaseItem inventory transaction. It is one of the action types found
|
|
700
|
+
# in the constants above, and specifies the way the item was released.
|
|
701
|
+
# As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
|
|
702
|
+
# it) or releasing a bow (to shoot an arrow) is essentially the same.
|
|
703
|
+
action_type: varint =>
|
|
704
|
+
# Release right click and hold style item use, like firing a bow
|
|
705
|
+
0: release
|
|
706
|
+
# Finish right click and hold style item use, like charging a crossbow
|
|
707
|
+
1: consume
|
|
708
|
+
# HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
|
|
709
|
+
# to ensure that the hot bar slot and held item are correctly synchronised with the server.
|
|
710
|
+
hotbar_slot: zigzag32
|
|
711
|
+
# HeldItem is the item that was released. The server should check if this item is actually present in the
|
|
712
|
+
# HotBarSlot.
|
|
713
|
+
held_item: Item
|
|
714
|
+
# HeadPosition is the position of the player's head at the time of releasing the item. This is used
|
|
715
|
+
# mainly for purposes such as spawning eating particles at that position.
|
|
716
|
+
head_pos: vec3f
|
|
717
|
+
|
|
718
|
+
ItemStacks: Item[]varint
|
|
719
|
+
|
|
720
|
+
RecipeIngredient:
|
|
721
|
+
type: u8 =>
|
|
722
|
+
0: invalid
|
|
723
|
+
# DefaultItemDescriptor represents an item descriptor for regular items.
|
|
724
|
+
1: int_id_meta
|
|
725
|
+
# MoLangItemDescriptor represents an item descriptor for items that use MoLang (e.g. behaviour packs).
|
|
726
|
+
2: molang
|
|
727
|
+
# ItemTagItemDescriptor represents an item descriptor that uses item tagging. This should be used to reduce duplicative
|
|
728
|
+
# entries for items that can be grouped under a single tag.
|
|
729
|
+
3: item_tag
|
|
730
|
+
# DeferredItemDescriptor represents an item descriptor that uses a namespace and metadata value to identify the item.
|
|
731
|
+
# There is no clear benefit of using this item descriptor.
|
|
732
|
+
4: string_id_meta
|
|
733
|
+
# ComplexAliasItemDescriptor represents an item descriptor that uses a single name to identify the item. There is no
|
|
734
|
+
# clear benefit of using this item descriptor and only seem to be used for specific recipes.
|
|
735
|
+
5: complex_alias
|
|
736
|
+
_: type ?
|
|
737
|
+
if int_id_meta:
|
|
738
|
+
# NetworkID is the numerical network ID of the item. This is sometimes a positive ID, and sometimes a
|
|
739
|
+
# negative ID, depending on what item it concerns.
|
|
740
|
+
network_id: li16
|
|
741
|
+
metadata: network_id ?
|
|
742
|
+
if 0: void
|
|
743
|
+
default: li16
|
|
744
|
+
if molang:
|
|
745
|
+
# Expression represents the MoLang expression used to identify the item/it's associated tag.
|
|
746
|
+
expression: string
|
|
747
|
+
# Version represents the version of MoLang to use.
|
|
748
|
+
version: u8
|
|
749
|
+
if item_tag:
|
|
750
|
+
# Tag represents the tag that the item is part of.
|
|
751
|
+
tag: string
|
|
752
|
+
if string_id_meta:
|
|
753
|
+
# Name is the name of the item, which is a name like 'minecraft:stick'.
|
|
754
|
+
name: string
|
|
755
|
+
# MetadataValue is the metadata value of the item. For some items, this is the damage value, whereas for
|
|
756
|
+
# other items it is simply an identifier of a variant of the item.
|
|
757
|
+
metadata: li16
|
|
758
|
+
if complex_alias:
|
|
759
|
+
# Name is the name of the item, which is a name like 'minecraft:stick'.
|
|
760
|
+
name: string
|
|
761
|
+
count: zigzag32
|
|
762
|
+
|
|
763
|
+
PotionTypeRecipes: []varint
|
|
764
|
+
input_item_id: zigzag32
|
|
765
|
+
input_item_meta: zigzag32
|
|
766
|
+
ingredient_id: zigzag32
|
|
767
|
+
ingredient_meta: zigzag32
|
|
768
|
+
output_item_id: zigzag32
|
|
769
|
+
output_item_meta: zigzag32
|
|
770
|
+
|
|
771
|
+
PotionContainerChangeRecipes: []varint
|
|
772
|
+
input_item_id: zigzag32
|
|
773
|
+
ingredient_id: zigzag32
|
|
774
|
+
output_item_id: zigzag32
|
|
775
|
+
|
|
776
|
+
Recipes: []varint
|
|
777
|
+
type: zigzag32 =>
|
|
778
|
+
0: shapeless #'ENTRY_SHAPELESS',
|
|
779
|
+
1: shaped #'ENTRY_SHAPED',
|
|
780
|
+
2: furnace # 'ENTRY_FURNACE',
|
|
781
|
+
# `furnace_with_metadata` is a recipe specifically used for furnace-type crafting stations. It is equal to
|
|
782
|
+
# `furnace`, except it has an input item with a specific metadata value, instead of any metadata value.
|
|
783
|
+
3: furnace_with_metadata # 'ENTRY_FURNACE_DATA', // has metadata
|
|
784
|
+
4: multi #'ENTRY_MULTI', //TODO
|
|
785
|
+
5: shulker_box #'ENTRY_SHULKER_BOX', //TODO
|
|
786
|
+
6: shapeless_chemistry #'ENTRY_SHAPELESS_CHEMISTRY', //TODO
|
|
787
|
+
7: shaped_chemistry #'ENTRY_SHAPED_CHEMISTRY', //TODO
|
|
788
|
+
# SmithingTransformRecipe is a recipe specifically used for smithing tables. It has two input items and adds them
|
|
789
|
+
# together, resulting in a new item.
|
|
790
|
+
8: smithing_transform
|
|
791
|
+
9: smithing_trim
|
|
792
|
+
recipe: type?
|
|
793
|
+
if shapeless or shulker_box or shapeless_chemistry:
|
|
794
|
+
recipe_id: LatinString
|
|
795
|
+
input: RecipeIngredient[]varint
|
|
796
|
+
output: ItemLegacy[]varint
|
|
797
|
+
uuid: uuid
|
|
798
|
+
block: string
|
|
799
|
+
priority: zigzag32
|
|
800
|
+
unlocking_requirement: RecipeUnlockingRequirement
|
|
801
|
+
network_id: varint
|
|
802
|
+
if shaped or shaped_chemistry:
|
|
803
|
+
recipe_id: LatinString
|
|
804
|
+
width: zigzag32
|
|
805
|
+
height: zigzag32
|
|
806
|
+
# 2D input array, size of width*height
|
|
807
|
+
input: []$width
|
|
808
|
+
_: RecipeIngredient[]$height
|
|
809
|
+
output: ItemLegacy[]varint
|
|
810
|
+
uuid: uuid
|
|
811
|
+
block: string
|
|
812
|
+
priority: zigzag32
|
|
813
|
+
assume_symmetry: bool
|
|
814
|
+
unlocking_requirement: RecipeUnlockingRequirement
|
|
815
|
+
network_id: varint
|
|
816
|
+
if furnace:
|
|
817
|
+
input_id: zigzag32
|
|
818
|
+
output: ItemLegacy
|
|
819
|
+
block: string
|
|
820
|
+
if furnace_with_metadata:
|
|
821
|
+
input_id: zigzag32
|
|
822
|
+
input_meta: zigzag32
|
|
823
|
+
output: ItemLegacy
|
|
824
|
+
block: string
|
|
825
|
+
if multi:
|
|
826
|
+
uuid: uuid
|
|
827
|
+
network_id: varint
|
|
828
|
+
if smithing_transform:
|
|
829
|
+
# RecipeID is a unique ID of the recipe. This ID must be unique amongst all other types of recipes too,
|
|
830
|
+
# but its functionality is not exactly known.
|
|
831
|
+
recipe_id: LatinString
|
|
832
|
+
template: RecipeIngredient
|
|
833
|
+
# Base is the item that the Addition is being applied to in the smithing table.
|
|
834
|
+
base: RecipeIngredient
|
|
835
|
+
# Addition is the item that is being added to the Base item to result in a modified item.
|
|
836
|
+
addition: RecipeIngredient
|
|
837
|
+
# Result is the resulting item from the two items being added together.
|
|
838
|
+
result: ItemLegacy
|
|
839
|
+
# Tag is a serialized compound tag in the network little endian format.
|
|
840
|
+
tag: string
|
|
841
|
+
# RecipeNetworkID is a unique ID used to identify the recipe over network. Each recipe must have a unique
|
|
842
|
+
# network ID. Recommended is to just increment a variable for each unique recipe registered.
|
|
843
|
+
# This field must never be 0.
|
|
844
|
+
network_id: varint
|
|
845
|
+
if smithing_trim:
|
|
846
|
+
recipe_id: LatinString
|
|
847
|
+
template: RecipeIngredient
|
|
848
|
+
input: RecipeIngredient
|
|
849
|
+
addition: RecipeIngredient
|
|
850
|
+
block: string
|
|
851
|
+
network_id: varint
|
|
852
|
+
|
|
853
|
+
RecipeUnlockingRequirement:
|
|
854
|
+
context: u8 =>
|
|
855
|
+
- none
|
|
856
|
+
- always_unlocked
|
|
857
|
+
- player_in_water
|
|
858
|
+
- player_has_many_items
|
|
859
|
+
ingredients: context?
|
|
860
|
+
if none: RecipeIngredient[]varint
|
|
861
|
+
|
|
862
|
+
SkinImage:
|
|
863
|
+
width: li32
|
|
864
|
+
height: li32
|
|
865
|
+
data: ByteArray
|
|
866
|
+
|
|
867
|
+
Skin:
|
|
868
|
+
skin_id: string
|
|
869
|
+
play_fab_id: string
|
|
870
|
+
skin_resource_pack: string
|
|
871
|
+
skin_data: SkinImage
|
|
872
|
+
animations: []li32
|
|
873
|
+
skin_image: SkinImage
|
|
874
|
+
animation_type: li32
|
|
875
|
+
animation_frames: lf32
|
|
876
|
+
expression_type: lf32
|
|
877
|
+
cape_data: SkinImage
|
|
878
|
+
geometry_data: string
|
|
879
|
+
geometry_data_version: string
|
|
880
|
+
animation_data: string
|
|
881
|
+
|
|
882
|
+
cape_id: string
|
|
883
|
+
full_skin_id: string
|
|
884
|
+
arm_size: string
|
|
885
|
+
skin_color: string
|
|
886
|
+
personal_pieces: []li32
|
|
887
|
+
piece_id: string
|
|
888
|
+
piece_type: string
|
|
889
|
+
pack_id: string
|
|
890
|
+
is_default_piece: bool
|
|
891
|
+
product_id: string
|
|
892
|
+
piece_tint_colors: []li32
|
|
893
|
+
piece_type: string
|
|
894
|
+
colors: string[]li32
|
|
895
|
+
premium: bool
|
|
896
|
+
persona: bool
|
|
897
|
+
# PersonaCapeOnClassicSkin specifies if the skin had a Persona cape (in-game skin creator cape) equipped
|
|
898
|
+
# on a classic skin.
|
|
899
|
+
cape_on_classic: bool
|
|
900
|
+
primary_user: bool
|
|
901
|
+
overriding_player_appearance: bool
|
|
902
|
+
|
|
903
|
+
PlayerRecords:
|
|
904
|
+
type: u8 =>
|
|
905
|
+
0: add
|
|
906
|
+
1: remove
|
|
907
|
+
records_count: varint
|
|
908
|
+
records: []$records_count
|
|
909
|
+
_: type?
|
|
910
|
+
if add:
|
|
911
|
+
uuid: uuid
|
|
912
|
+
entity_unique_id: zigzag64
|
|
913
|
+
username: string
|
|
914
|
+
xbox_user_id: string
|
|
915
|
+
platform_chat_id: string
|
|
916
|
+
build_platform: li32
|
|
917
|
+
skin_data: Skin
|
|
918
|
+
is_teacher: bool
|
|
919
|
+
is_host: bool
|
|
920
|
+
is_subclient: bool
|
|
921
|
+
# PlayerColour is the colour of the player that is shown in UI elements, currently only used for the
|
|
922
|
+
# player locator bar.
|
|
923
|
+
player_color: li32
|
|
924
|
+
if remove:
|
|
925
|
+
uuid: uuid
|
|
926
|
+
verified: type ?
|
|
927
|
+
if add: bool[]$records_count
|
|
928
|
+
|
|
929
|
+
Enchant:
|
|
930
|
+
id: u8
|
|
931
|
+
level: u8
|
|
932
|
+
|
|
933
|
+
EnchantOption:
|
|
934
|
+
cost: varint
|
|
935
|
+
slot_flags: li32
|
|
936
|
+
equip_enchants: Enchant[]varint
|
|
937
|
+
held_enchants: Enchant[]varint
|
|
938
|
+
self_enchants: Enchant[]varint
|
|
939
|
+
name: string
|
|
940
|
+
option_id: zigzag32
|
|
941
|
+
|
|
942
|
+
Action: zigzag32 =>
|
|
943
|
+
0: start_break
|
|
944
|
+
1: abort_break
|
|
945
|
+
2: stop_break
|
|
946
|
+
3: get_updated_block
|
|
947
|
+
4: drop_item
|
|
948
|
+
5: start_sleeping
|
|
949
|
+
6: stop_sleeping
|
|
950
|
+
7: respawn
|
|
951
|
+
8: jump
|
|
952
|
+
9: start_sprint
|
|
953
|
+
10: stop_sprint
|
|
954
|
+
11: start_sneak
|
|
955
|
+
12: stop_sneak
|
|
956
|
+
13: creative_player_destroy_block
|
|
957
|
+
# sent when spawning in a different dimension to tell the server we spawned
|
|
958
|
+
14: dimension_change_ack
|
|
959
|
+
15: start_glide
|
|
960
|
+
16: stop_glide
|
|
961
|
+
17: build_denied
|
|
962
|
+
18: crack_break
|
|
963
|
+
19: change_skin
|
|
964
|
+
# no longer used
|
|
965
|
+
20: set_enchatnment_seed
|
|
966
|
+
21: swimming
|
|
967
|
+
22: stop_swimming
|
|
968
|
+
23: start_spin_attack
|
|
969
|
+
24: stop_spin_attack
|
|
970
|
+
25: interact_block
|
|
971
|
+
26: predict_break
|
|
972
|
+
27: continue_break
|
|
973
|
+
28: start_item_use_on
|
|
974
|
+
29: stop_item_use_on
|
|
975
|
+
30: handled_teleport
|
|
976
|
+
31: missed_swing
|
|
977
|
+
32: start_crawling
|
|
978
|
+
33: stop_crawling
|
|
979
|
+
34: start_flying
|
|
980
|
+
35: stop_flying
|
|
981
|
+
# Deprecated. Corresponds to Player Auth Input InputData::ClientAckServerData bit 44 Not sent when using server authoritative movement as specified in StartGamePacket. This is now deprecated because only server authoritative movement exists.
|
|
982
|
+
36: received_server_data
|
|
983
|
+
37: start_using_item
|
|
984
|
+
|
|
985
|
+
# Source and Destination point to the source slot from which Count of the item stack were taken and the
|
|
986
|
+
# destination slot to which this item was moved.
|
|
987
|
+
StackRequestSlotInfo:
|
|
988
|
+
# ContainerID is the ID of the container that the slot was in.
|
|
989
|
+
slot_type: FullContainerName
|
|
990
|
+
# Slot is the index of the slot within the container with the ContainerID above.
|
|
991
|
+
slot: u8
|
|
992
|
+
# StackNetworkID is the unique stack ID that the client assumes to be present in this slot. The server
|
|
993
|
+
# must check if these IDs match. If they do not match, servers should reject the stack request that the
|
|
994
|
+
# action holding this info was in.
|
|
995
|
+
stack_id: zigzag32
|
|
996
|
+
|
|
997
|
+
# ItemStackRequest is sent by the client to change item stacks in an inventory. It is essentially a
|
|
998
|
+
# replacement of the InventoryTransaction packet added in 1.16 for inventory specific actions, such as moving
|
|
999
|
+
# items around or crafting. The InventoryTransaction packet is still used for actions such as placing blocks
|
|
1000
|
+
# and interacting with entities.
|
|
1001
|
+
ItemStackRequest:
|
|
1002
|
+
# RequestID is a unique ID for the request. This ID is used by the server to send a response for this
|
|
1003
|
+
# specific request in the ItemStackResponse packet.
|
|
1004
|
+
request_id: zigzag32
|
|
1005
|
+
actions: []varint
|
|
1006
|
+
type_id: u8 =>
|
|
1007
|
+
# TakeStackRequestAction is sent by the client to the server to take x amount of items from one slot in a
|
|
1008
|
+
# container to the cursor.
|
|
1009
|
+
- take
|
|
1010
|
+
# PlaceStackRequestAction is sent by the client to the server to place x amount of items from one slot into
|
|
1011
|
+
# another slot, such as when shift clicking an item in the inventory to move it around or when moving an item
|
|
1012
|
+
# in the cursor into a slot.
|
|
1013
|
+
- place
|
|
1014
|
+
# SwapStackRequestAction is sent by the client to swap the item in its cursor with an item present in another
|
|
1015
|
+
# container. The two item stacks swap places.
|
|
1016
|
+
- swap
|
|
1017
|
+
# DropStackRequestAction is sent by the client when it drops an item out of the inventory when it has its
|
|
1018
|
+
# inventory opened. This action is not sent when a player drops an item out of the hotbar using the Q button
|
|
1019
|
+
# (or the equivalent on mobile). The InventoryTransaction packet is still used for that action, regardless of
|
|
1020
|
+
# whether the item stack network IDs are used or not.
|
|
1021
|
+
- drop
|
|
1022
|
+
# DestroyStackRequestAction is sent by the client when it destroys an item in creative mode by moving it
|
|
1023
|
+
# back into the creative inventory.
|
|
1024
|
+
- destroy
|
|
1025
|
+
# ConsumeStackRequestAction is sent by the client when it uses an item to craft another item. The original
|
|
1026
|
+
# item is 'consumed'.
|
|
1027
|
+
- consume
|
|
1028
|
+
# CreateStackRequestAction is sent by the client when an item is created through being used as part of a
|
|
1029
|
+
# recipe. For example, when milk is used to craft a cake, the buckets are leftover. The buckets are moved to
|
|
1030
|
+
# the slot sent by the client here.
|
|
1031
|
+
# Note that before this is sent, an action for consuming all items in the crafting table/grid is sent. Items
|
|
1032
|
+
# that are not fully consumed when used for a recipe should not be destroyed there, but instead, should be
|
|
1033
|
+
# turned into their respective resulting items.
|
|
1034
|
+
- create
|
|
1035
|
+
# (as of 1.18.10) Not currently used
|
|
1036
|
+
- place_in_container
|
|
1037
|
+
# (as of 1.18.10) Not currently used
|
|
1038
|
+
- take_out_container
|
|
1039
|
+
# LabTableCombineStackRequestAction is sent by the client when it uses a lab table to combine item stacks.
|
|
1040
|
+
- lab_table_combine
|
|
1041
|
+
# BeaconPaymentStackRequestAction is sent by the client when it submits an item to enable effects from a
|
|
1042
|
+
# beacon. These items will have been moved into the beacon item slot in advance.
|
|
1043
|
+
- beacon_payment
|
|
1044
|
+
# MineBlockStackRequestAction is sent by the client when it breaks a block.
|
|
1045
|
+
- mine_block
|
|
1046
|
+
# CraftRecipeStackRequestAction is sent by the client the moment it begins crafting an item. This is the
|
|
1047
|
+
# first action sent, before the Consume and Create item stack request actions.
|
|
1048
|
+
# This action is also sent when an item is enchanted. Enchanting should be treated mostly the same way as
|
|
1049
|
+
# crafting, where the old item is consumed.
|
|
1050
|
+
- craft_recipe
|
|
1051
|
+
# AutoCraftRecipeStackRequestAction is sent by the client similarly to the CraftRecipeStackRequestAction. The
|
|
1052
|
+
# only difference is that the recipe is automatically created and crafted by shift clicking the recipe book.
|
|
1053
|
+
- craft_recipe_auto #recipe book?
|
|
1054
|
+
# CraftCreativeStackRequestAction is sent by the client when it takes an item out fo the creative inventory.
|
|
1055
|
+
# The item is thus not really crafted, but instantly created.
|
|
1056
|
+
- craft_creative
|
|
1057
|
+
# CraftRecipeOptionalStackRequestAction is sent when using an anvil. When this action is sent, the
|
|
1058
|
+
# CustomNames field in the respective stack request is non-empty and contains the name of the item created
|
|
1059
|
+
# using the anvil.
|
|
1060
|
+
- optional
|
|
1061
|
+
# CraftGrindstoneRecipeStackRequestAction is sent when a grindstone recipe is crafted. It contains the RecipeNetworkID
|
|
1062
|
+
# to identify the recipe crafted, and the cost for crafting the recipe.
|
|
1063
|
+
- craft_grindstone_request
|
|
1064
|
+
# CraftLoomRecipeStackRequestAction is sent when a loom recipe is crafted. It simply contains the
|
|
1065
|
+
# pattern identifier to figure out what pattern is meant to be applied to the item.
|
|
1066
|
+
- craft_loom_request
|
|
1067
|
+
# CraftNonImplementedStackRequestAction is an action sent for inventory actions that aren't yet implemented
|
|
1068
|
+
# in the new system. These include, for example, anvils.
|
|
1069
|
+
- non_implemented # anvils aren't fully implemented yet
|
|
1070
|
+
# CraftResultsDeprecatedStackRequestAction is an additional, deprecated packet sent by the client after
|
|
1071
|
+
# crafting. It holds the final results and the amount of times the recipe was crafted. It shouldn't be used.
|
|
1072
|
+
# This action is also sent when an item is enchanted. Enchanting should be treated mostly the same way as
|
|
1073
|
+
# crafting, where the old item is consumed.
|
|
1074
|
+
- results_deprecated
|
|
1075
|
+
_: type_id ?
|
|
1076
|
+
if take or place or place_in_container or take_out_container:
|
|
1077
|
+
count: u8
|
|
1078
|
+
source: StackRequestSlotInfo
|
|
1079
|
+
destination: StackRequestSlotInfo
|
|
1080
|
+
if swap:
|
|
1081
|
+
# Source and Destination point to the source slot from which Count of the item stack were taken and the
|
|
1082
|
+
# destination slot to which this item was moved.
|
|
1083
|
+
source: StackRequestSlotInfo
|
|
1084
|
+
destination: StackRequestSlotInfo
|
|
1085
|
+
if drop:
|
|
1086
|
+
# Count is the count of the item in the source slot that was taken towards the destination slot.
|
|
1087
|
+
count: u8
|
|
1088
|
+
# Source is the source slot from which items were dropped to the ground.
|
|
1089
|
+
source: StackRequestSlotInfo
|
|
1090
|
+
# Randomly seems to be set to false in most cases. I'm not entirely sure what this does, but this is what
|
|
1091
|
+
# vanilla calls this field.
|
|
1092
|
+
randomly: bool
|
|
1093
|
+
if destroy or consume:
|
|
1094
|
+
# Count is the count of the item in the source slot that was destroyed.
|
|
1095
|
+
count: u8
|
|
1096
|
+
# Source is the source slot from which items came that were destroyed by moving them into the creative
|
|
1097
|
+
# inventory.
|
|
1098
|
+
source: StackRequestSlotInfo
|
|
1099
|
+
if create:
|
|
1100
|
+
# ResultsSlot is the slot in the inventory in which the results of the crafting ingredients are to be
|
|
1101
|
+
# placed.
|
|
1102
|
+
result_slot_id: u8
|
|
1103
|
+
if beacon_payment:
|
|
1104
|
+
# PrimaryEffect and SecondaryEffect are the effects that were selected from the beacon.
|
|
1105
|
+
primary_effect: zigzag32
|
|
1106
|
+
secondary_effect: zigzag32
|
|
1107
|
+
if mine_block:
|
|
1108
|
+
# Current hotbar slot
|
|
1109
|
+
hotbar_slot: zigzag32
|
|
1110
|
+
# PredictedDurability is the durability of the item that the client assumes to be present at the time
|
|
1111
|
+
predicted_durability: zigzag32
|
|
1112
|
+
# StackNetworkID is the unique stack ID that the client assumes to be present at the time. The server
|
|
1113
|
+
# must check if these IDs match. If they do not match, servers should reject the stack request that the
|
|
1114
|
+
# action holding this info was in.
|
|
1115
|
+
network_id: zigzag32
|
|
1116
|
+
if craft_recipe:
|
|
1117
|
+
# RecipeNetworkID is the network ID of the recipe that is about to be crafted. This network ID matches
|
|
1118
|
+
# one of the recipes sent in the CraftingData packet, where each of the recipes have a RecipeNetworkID as
|
|
1119
|
+
# of 1.16.
|
|
1120
|
+
recipe_network_id: varint
|
|
1121
|
+
times_crafted: u8
|
|
1122
|
+
if craft_recipe_auto:
|
|
1123
|
+
# RecipeNetworkID is the network ID of the recipe that is about to be crafted. This network ID matches
|
|
1124
|
+
# one of the recipes sent in the CraftingData packet, where each of the recipes have a RecipeNetworkID as
|
|
1125
|
+
recipe_network_id: varint
|
|
1126
|
+
# TODO: Duplicate field?
|
|
1127
|
+
times_crafted_2: u8
|
|
1128
|
+
times_crafted: u8
|
|
1129
|
+
ingredients: RecipeIngredient[]varint
|
|
1130
|
+
if craft_creative:
|
|
1131
|
+
# The stack ID of the creative item that is being created. This is one of the
|
|
1132
|
+
# creative item stack IDs sent in the CreativeContent packet.
|
|
1133
|
+
item_id: varint
|
|
1134
|
+
times_crafted: u8
|
|
1135
|
+
if optional:
|
|
1136
|
+
# For the cartography table, if a certain MULTI recipe is being called, this points to the network ID that was assigned.
|
|
1137
|
+
recipe_network_id: varint
|
|
1138
|
+
# Most likely the index in the request's filter strings that this action is using
|
|
1139
|
+
filtered_string_index: li32
|
|
1140
|
+
if craft_grindstone_request:
|
|
1141
|
+
# RecipeNetworkID is the network ID of the recipe that is about to be crafted. This network ID matches
|
|
1142
|
+
# one of the recipes sent in the CraftingData packet, where each of the recipes have a RecipeNetworkID as
|
|
1143
|
+
recipe_network_id: varint
|
|
1144
|
+
# NumberOfCrafts is how many times the recipe was crafted. This field appears to be boilerplate and
|
|
1145
|
+
# has no effect.
|
|
1146
|
+
times_crafted: u8
|
|
1147
|
+
# Cost is the cost of the recipe that was crafted.
|
|
1148
|
+
cost: varint
|
|
1149
|
+
if craft_loom_request:
|
|
1150
|
+
# Pattern is the pattern identifier for the loom recipe.
|
|
1151
|
+
pattern: string
|
|
1152
|
+
# TimesCrafted is how many times the recipe was crafted.
|
|
1153
|
+
times_crafted: u8
|
|
1154
|
+
if non_implemented: void
|
|
1155
|
+
if results_deprecated:
|
|
1156
|
+
result_items: ItemLegacy[]varint
|
|
1157
|
+
times_crafted: u8
|
|
1158
|
+
# CustomNames is a list of custom names involved in the request. This is typically filled with one string
|
|
1159
|
+
# when an anvil is used.
|
|
1160
|
+
# * Used for the server to determine which strings should be filtered. Used in anvils to verify a renamed item.
|
|
1161
|
+
custom_names: string[]varint
|
|
1162
|
+
# FilterCause represents the cause of any potential filtering. This is one of the constants above.
|
|
1163
|
+
cause: li32 =>
|
|
1164
|
+
- chat_public
|
|
1165
|
+
- chat_whisper
|
|
1166
|
+
- sign_text
|
|
1167
|
+
- anvil_text
|
|
1168
|
+
- book_and_quill_text
|
|
1169
|
+
- command_block_text
|
|
1170
|
+
- block_actor_data_text
|
|
1171
|
+
- join_event_text
|
|
1172
|
+
- leave_event_text
|
|
1173
|
+
- slash_command_chat
|
|
1174
|
+
- cartography_text
|
|
1175
|
+
- kick_command
|
|
1176
|
+
- title_command
|
|
1177
|
+
- summon_command
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
# ItemStackResponse is a response to an individual ItemStackRequest.
|
|
1181
|
+
ItemStackResponses: []varint
|
|
1182
|
+
# Status specifies if the request with the RequestID below was successful. If this is the case, the
|
|
1183
|
+
# ContainerInfo below will have information on what slots ended up changing. If not, the container info
|
|
1184
|
+
# will be empty.
|
|
1185
|
+
# A non-0 status means an error occurred and will result in the action being reverted.
|
|
1186
|
+
status: u8 =>
|
|
1187
|
+
0: ok
|
|
1188
|
+
1: error
|
|
1189
|
+
# RequestID is the unique ID of the request that this response is in reaction to. If rejected, the client
|
|
1190
|
+
# will undo the actions from the request with this ID.
|
|
1191
|
+
request_id: zigzag32
|
|
1192
|
+
_: status ?
|
|
1193
|
+
if ok:
|
|
1194
|
+
# ContainerInfo holds information on the containers that had their contents changed as a result of the
|
|
1195
|
+
# request.
|
|
1196
|
+
containers: []varint
|
|
1197
|
+
# ContainerID is the container ID of the container that the slots that follow are in. For the main
|
|
1198
|
+
# inventory, this value seems to be 0x1b. For the cursor, this value seems to be 0x3a. For the crafting
|
|
1199
|
+
# grid, this value seems to be 0x0d.
|
|
1200
|
+
# * actually, this is ContainerSlotType - used by the inventory system that specifies the type of slot
|
|
1201
|
+
slot_type: FullContainerName
|
|
1202
|
+
# SlotInfo holds information on what item stack should be present in specific slots in the container.
|
|
1203
|
+
slots: []varint
|
|
1204
|
+
# Slot and HotbarSlot seem to be the same value every time: The slot that was actually changed. I'm not
|
|
1205
|
+
# sure if these slots ever differ.
|
|
1206
|
+
slot: u8
|
|
1207
|
+
hotbar_slot: u8
|
|
1208
|
+
# Count is the total count of the item stack. This count will be shown client-side after the response is
|
|
1209
|
+
# sent to the client.
|
|
1210
|
+
count: u8
|
|
1211
|
+
# StackNetworkID is the network ID of the new stack at a specific slot.
|
|
1212
|
+
item_stack_id: zigzag32
|
|
1213
|
+
# CustomName is the custom name of the item stack. It is used in relation to text filtering.
|
|
1214
|
+
custom_name: string
|
|
1215
|
+
# FilteredCustomName is a filtered version of CustomName with all the profanity removed. The client will
|
|
1216
|
+
# use this over CustomName if this field is not empty and they have the "Filter Profanity" setting enabled.
|
|
1217
|
+
filtered_custom_name: string
|
|
1218
|
+
# DurabilityCorrection is the current durability of the item stack. This durability will be shown
|
|
1219
|
+
# client-side after the response is sent to the client.
|
|
1220
|
+
durability_correction: zigzag32
|
|
1221
|
+
|
|
1222
|
+
|
|
1223
|
+
CommandOrigin:
|
|
1224
|
+
# Origin is one of the values above that specifies the origin of the command. The origin may change,
|
|
1225
|
+
# depending on what part of the client actually called the command. The command may be issued by a
|
|
1226
|
+
# websocket server, for example.
|
|
1227
|
+
type: string
|
|
1228
|
+
|
|
1229
|
+
# UUID is the UUID of the command called. This UUID is a bit odd as it is not specified by the server. It
|
|
1230
|
+
# is not clear what exactly this UUID is meant to identify, but it is unique for each command called.
|
|
1231
|
+
uuid: uuid
|
|
1232
|
+
# RequestID is an ID that identifies the request of the client. The server should send a CommandOrigin
|
|
1233
|
+
# with the same request ID to ensure it can be matched with the request by the caller of the command.
|
|
1234
|
+
# This is especially important for websocket servers and it seems that this field is only non-empty for
|
|
1235
|
+
# these websocket servers.
|
|
1236
|
+
request_id: string
|
|
1237
|
+
# PlayerUniqueID is an ID that identifies the player, the same as the one found in the AdventureSettings
|
|
1238
|
+
# packet. Filling it out with 0 seems to work.
|
|
1239
|
+
# PlayerUniqueID is only written if Origin is CommandOriginDevConsole or CommandOriginTest.
|
|
1240
|
+
player_entity_id: li64
|
|
1241
|
+
|
|
1242
|
+
# MapTrackedObject is an object on a map that is 'tracked' by the client, such as an entity or a block. This
|
|
1243
|
+
# object may move, which is handled client-side.
|
|
1244
|
+
TrackedObject:
|
|
1245
|
+
# Type is the type of the tracked object. It is either MapObjectTypeEntity or MapObjectTypeBlock.
|
|
1246
|
+
type: li32 =>
|
|
1247
|
+
0: entity
|
|
1248
|
+
1: block
|
|
1249
|
+
# EntityUniqueID is the unique ID of the entity, if the tracked object was an entity. It needs not to be
|
|
1250
|
+
# filled out if Type is not MapObjectTypeEntity.
|
|
1251
|
+
entity_unique_id: type ?
|
|
1252
|
+
if entity: zigzag64
|
|
1253
|
+
# BlockPosition is the position of the block, if the tracked object was a block. It needs not to be
|
|
1254
|
+
# filled out if Type is not MapObjectTypeBlock.
|
|
1255
|
+
block_position: type ?
|
|
1256
|
+
if block: BlockCoordinates
|
|
1257
|
+
|
|
1258
|
+
# MapDecoration is a fixed decoration on a map: Its position or other properties do not change automatically
|
|
1259
|
+
# client-side.
|
|
1260
|
+
MapDecoration:
|
|
1261
|
+
type: u8 =>
|
|
1262
|
+
- marker_white
|
|
1263
|
+
- marker_green
|
|
1264
|
+
- marker_red
|
|
1265
|
+
- marker_blue
|
|
1266
|
+
- cross_white
|
|
1267
|
+
- triangle_red
|
|
1268
|
+
- square_white
|
|
1269
|
+
- marker_sign
|
|
1270
|
+
- marker_pink
|
|
1271
|
+
- marker_orange
|
|
1272
|
+
- marker_yellow
|
|
1273
|
+
- marker_teal
|
|
1274
|
+
- triangle_green
|
|
1275
|
+
- small_square_white
|
|
1276
|
+
- mansion
|
|
1277
|
+
- monument
|
|
1278
|
+
- no_draw
|
|
1279
|
+
- village_desert
|
|
1280
|
+
- village_plains
|
|
1281
|
+
- village_savanna
|
|
1282
|
+
- village_snowy
|
|
1283
|
+
- village_taiga
|
|
1284
|
+
- jungle_temple
|
|
1285
|
+
- witch_hut =>
|
|
1286
|
+
- marker_white
|
|
1287
|
+
- marker_green
|
|
1288
|
+
- marker_red
|
|
1289
|
+
- marker_blue
|
|
1290
|
+
- cross_white
|
|
1291
|
+
- triangle_red
|
|
1292
|
+
- square_white
|
|
1293
|
+
- marker_sign
|
|
1294
|
+
- marker_pink
|
|
1295
|
+
- marker_orange
|
|
1296
|
+
- marker_yellow
|
|
1297
|
+
- marker_teal
|
|
1298
|
+
- triangle_green
|
|
1299
|
+
- small_square_white
|
|
1300
|
+
- mansion
|
|
1301
|
+
- monument
|
|
1302
|
+
- no_draw
|
|
1303
|
+
- village_desert
|
|
1304
|
+
- village_plains
|
|
1305
|
+
- village_savanna
|
|
1306
|
+
- village_snowy
|
|
1307
|
+
- village_taiga
|
|
1308
|
+
- jungle_temple
|
|
1309
|
+
- witch_hut
|
|
1310
|
+
# Rotation is the rotation of the map decoration. It is byte due to the 16 fixed directions that the
|
|
1311
|
+
# map decoration may face.
|
|
1312
|
+
rotation: u8
|
|
1313
|
+
# X is the offset on the X axis in pixels of the decoration.
|
|
1314
|
+
x: u8
|
|
1315
|
+
# Y is the offset on the Y axis in pixels of the decoration.
|
|
1316
|
+
y: u8
|
|
1317
|
+
# Label is the name of the map decoration. This name may be of any value.
|
|
1318
|
+
label: string
|
|
1319
|
+
# Colour is the colour of the map decoration. Some map decoration types have a specific colour set
|
|
1320
|
+
# automatically, whereas others may be changed.
|
|
1321
|
+
color_abgr: varint
|
|
1322
|
+
|
|
1323
|
+
|
|
1324
|
+
StructureBlockSettings:
|
|
1325
|
+
# PaletteName is the name of the palette used in the structure. Currently, it seems that this field is
|
|
1326
|
+
# always 'default'.
|
|
1327
|
+
palette_name: string
|
|
1328
|
+
# IgnoreEntities specifies if the structure should ignore entities or include them. If set to false,
|
|
1329
|
+
# entities will also show up in the exported structure.
|
|
1330
|
+
ignore_entities: bool
|
|
1331
|
+
# IgnoreBlocks specifies if the structure should ignore blocks or include them. If set to false, blocks
|
|
1332
|
+
# will show up in the exported structure.
|
|
1333
|
+
ignore_blocks: bool
|
|
1334
|
+
non_ticking_players_and_ticking_areas: bool
|
|
1335
|
+
# Size is the size of the area that is about to be exported. The area exported will start at the
|
|
1336
|
+
# Position + Offset, and will extend as far as Size specifies.
|
|
1337
|
+
size: BlockCoordinates
|
|
1338
|
+
# Offset is the offset position that was set in the structure block. The area exported is offset by this
|
|
1339
|
+
# position.
|
|
1340
|
+
# **TODO**: This will be renamed to offset soon
|
|
1341
|
+
structure_offset: BlockCoordinates
|
|
1342
|
+
# LastEditingPlayerUniqueID is the unique ID of the player that last edited the structure block that
|
|
1343
|
+
# these settings concern.
|
|
1344
|
+
last_editing_player_unique_id: zigzag64
|
|
1345
|
+
# Rotation is the rotation that the structure block should obtain. See the constants above for available
|
|
1346
|
+
# options.
|
|
1347
|
+
rotation: u8 =>
|
|
1348
|
+
0: none
|
|
1349
|
+
1: 90_deg
|
|
1350
|
+
2: 180_deg
|
|
1351
|
+
3: 270_deg
|
|
1352
|
+
# Mirror specifies the way the structure should be mirrored. It is either no mirror at all, mirror on the
|
|
1353
|
+
# x/z axis or both.
|
|
1354
|
+
mirror: u8 =>
|
|
1355
|
+
0: none
|
|
1356
|
+
1: x_axis
|
|
1357
|
+
2: z_axis
|
|
1358
|
+
3: both_axes
|
|
1359
|
+
animation_mode: u8 =>
|
|
1360
|
+
0: none
|
|
1361
|
+
1: layers
|
|
1362
|
+
2: blocks
|
|
1363
|
+
# How long the duration for this animation is
|
|
1364
|
+
animation_duration: lf32
|
|
1365
|
+
# Integrity is usually 1, but may be set to a number between 0 and 1 to omit blocks randomly, using
|
|
1366
|
+
# the Seed that follows.
|
|
1367
|
+
integrity: lf32
|
|
1368
|
+
# Seed is the seed used to omit blocks if Integrity is not equal to one. If the Seed is 0, a random
|
|
1369
|
+
# seed is selected to omit blocks.
|
|
1370
|
+
seed: lu32
|
|
1371
|
+
# Pivot is the pivot around which the structure may be rotated.
|
|
1372
|
+
pivot: vec3f
|
|
1373
|
+
|
|
1374
|
+
# EducationSharedResourceURI is an education edition feature that is used for transmitting
|
|
1375
|
+
# education resource settings to clients. It contains a button name and a link URL.
|
|
1376
|
+
EducationSharedResourceURI:
|
|
1377
|
+
# ButtonName is the button name of the resource URI.
|
|
1378
|
+
button_name: string
|
|
1379
|
+
# LinkURI is the link URI for the resource URI.
|
|
1380
|
+
link_uri: string
|
|
1381
|
+
|
|
1382
|
+
EducationExternalLinkSettings:
|
|
1383
|
+
# URL is the external link URL.
|
|
1384
|
+
url: string
|
|
1385
|
+
# DisplayName is the display name in game.
|
|
1386
|
+
display_name: string
|
|
1387
|
+
|
|
1388
|
+
BlockUpdate:
|
|
1389
|
+
position: BlockCoordinates
|
|
1390
|
+
runtime_id: varint
|
|
1391
|
+
flags: varint
|
|
1392
|
+
# EntityUniqueID is the unique ID of the falling block entity that the block transitions to or that the
|
|
1393
|
+
# entity transitions from.
|
|
1394
|
+
# Note that for both possible values for TransitionType, the EntityUniqueID should point to the falling
|
|
1395
|
+
# block entity involved.
|
|
1396
|
+
entity_unique_id: zigzag64
|
|
1397
|
+
# TransitionType is the type of the transition that happened. It is either BlockToEntityTransition, when
|
|
1398
|
+
# a block placed becomes a falling entity, or EntityToBlockTransition, when a falling entity hits the
|
|
1399
|
+
# ground and becomes a solid block again.
|
|
1400
|
+
transition_type: varint => TransitionType
|
|
1401
|
+
|
|
1402
|
+
TransitionType: =>
|
|
1403
|
+
# For falling sand, when a sand turns to an entity
|
|
1404
|
+
0: entity
|
|
1405
|
+
# When sand turns back to a new block
|
|
1406
|
+
1: create
|
|
1407
|
+
2: destroy
|
|
1408
|
+
|
|
1409
|
+
MaterialReducer:
|
|
1410
|
+
mix: zigzag32
|
|
1411
|
+
items:
|
|
1412
|
+
network_id: zigzag32
|
|
1413
|
+
count: zigzag32
|
|
1414
|
+
|
|
1415
|
+
## Permissions
|
|
1416
|
+
|
|
1417
|
+
# The permission level of a player, for example whether they are an Server Operator or not.
|
|
1418
|
+
PermissionLevel: u8 =>
|
|
1419
|
+
0: visitor
|
|
1420
|
+
1: member
|
|
1421
|
+
2: operator
|
|
1422
|
+
3: custom
|
|
1423
|
+
|
|
1424
|
+
# The command permission level, for example if being run by a Player, an Op, or a Command Block.
|
|
1425
|
+
CommandPermissionLevel: u8 =>
|
|
1426
|
+
0: normal
|
|
1427
|
+
1: operator
|
|
1428
|
+
2: automation
|
|
1429
|
+
3: host
|
|
1430
|
+
4: owner
|
|
1431
|
+
5: internal
|
|
1432
|
+
|
|
1433
|
+
# The command permission level, for example if being run by a Player, an Op, or a Command Block.
|
|
1434
|
+
CommandPermissionLevelVarint: u8 =>
|
|
1435
|
+
0: normal
|
|
1436
|
+
1: operator
|
|
1437
|
+
2: automation
|
|
1438
|
+
3: host
|
|
1439
|
+
4: owner
|
|
1440
|
+
5: internal
|
|
1441
|
+
|
|
1442
|
+
# List of Window IDs. When a new container is opened (container_open), a new sequential Window ID is created.
|
|
1443
|
+
# Below window IDs are hard-coded and created when the game starts and the server does not
|
|
1444
|
+
# send a `container_open` for them.
|
|
1445
|
+
WindowID_: =>
|
|
1446
|
+
-100: drop_contents
|
|
1447
|
+
-24: beacon
|
|
1448
|
+
-23: trading_output
|
|
1449
|
+
-22: trading_use_inputs
|
|
1450
|
+
-21: trading_input_2
|
|
1451
|
+
-20: trading_input_1
|
|
1452
|
+
-17: enchant_output
|
|
1453
|
+
-16: enchant_material
|
|
1454
|
+
-15: enchant_input
|
|
1455
|
+
-13: anvil_output
|
|
1456
|
+
-12: anvil_result
|
|
1457
|
+
-11: anvil_material
|
|
1458
|
+
-10: container_input
|
|
1459
|
+
-5: crafting_use_ingredient
|
|
1460
|
+
-4: crafting_result
|
|
1461
|
+
-3: crafting_remove_ingredient
|
|
1462
|
+
-2: crafting_add_ingredient
|
|
1463
|
+
-1: none
|
|
1464
|
+
0: inventory
|
|
1465
|
+
1: first
|
|
1466
|
+
100: last
|
|
1467
|
+
119: offhand
|
|
1468
|
+
120: armor
|
|
1469
|
+
121: creative
|
|
1470
|
+
122: hotbar
|
|
1471
|
+
123: fixed_inventory
|
|
1472
|
+
124: ui
|
|
1473
|
+
|
|
1474
|
+
WindowID: i8 => WindowID_
|
|
1475
|
+
WindowIDVarint: varint => WindowID_
|
|
1476
|
+
WindowIDZigzag32: zigzag32 => WindowID_
|
|
1477
|
+
|
|
1478
|
+
WindowType: i8 =>
|
|
1479
|
+
-9: none
|
|
1480
|
+
-1: inventory
|
|
1481
|
+
0: container
|
|
1482
|
+
1: workbench
|
|
1483
|
+
2: furnace
|
|
1484
|
+
3: enchantment
|
|
1485
|
+
4: brewing_stand
|
|
1486
|
+
5: anvil
|
|
1487
|
+
6: dispenser
|
|
1488
|
+
7: dropper
|
|
1489
|
+
8: hopper
|
|
1490
|
+
9: cauldron
|
|
1491
|
+
10: minecart_chest
|
|
1492
|
+
11: minecart_hopper
|
|
1493
|
+
12: horse
|
|
1494
|
+
13: beacon
|
|
1495
|
+
14: structure_editor
|
|
1496
|
+
15: trading
|
|
1497
|
+
16: command_block
|
|
1498
|
+
17: jukebox
|
|
1499
|
+
18: armor
|
|
1500
|
+
19: hand
|
|
1501
|
+
20: compound_creator
|
|
1502
|
+
21: element_constructor
|
|
1503
|
+
22: material_reducer
|
|
1504
|
+
23: lab_table
|
|
1505
|
+
24: loom
|
|
1506
|
+
25: lectern
|
|
1507
|
+
26: grindstone
|
|
1508
|
+
27: blast_furnace
|
|
1509
|
+
28: smoker
|
|
1510
|
+
29: stonecutter
|
|
1511
|
+
30: cartography
|
|
1512
|
+
31: hud
|
|
1513
|
+
32: jigsaw_editor
|
|
1514
|
+
33: smithing_table
|
|
1515
|
+
34: chest_boat
|
|
1516
|
+
35: decorated_pot
|
|
1517
|
+
36: crafter
|
|
1518
|
+
|
|
1519
|
+
# Used in inventory transactions.
|
|
1520
|
+
ContainerSlotType: u8 =>
|
|
1521
|
+
- anvil_input
|
|
1522
|
+
- anvil_material
|
|
1523
|
+
- anvil_result
|
|
1524
|
+
- smithing_table_input
|
|
1525
|
+
- smithing_table_material
|
|
1526
|
+
- smithing_table_result
|
|
1527
|
+
- armor
|
|
1528
|
+
- container
|
|
1529
|
+
- beacon_payment
|
|
1530
|
+
- brewing_input
|
|
1531
|
+
- brewing_result
|
|
1532
|
+
- brewing_fuel
|
|
1533
|
+
- hotbar_and_inventory
|
|
1534
|
+
- crafting_input
|
|
1535
|
+
- crafting_output
|
|
1536
|
+
- recipe_construction
|
|
1537
|
+
- recipe_nature
|
|
1538
|
+
- recipe_items
|
|
1539
|
+
- recipe_search
|
|
1540
|
+
- recipe_search_bar
|
|
1541
|
+
- recipe_equipment
|
|
1542
|
+
- recipe_book
|
|
1543
|
+
- enchanting_input
|
|
1544
|
+
- enchanting_lapis
|
|
1545
|
+
- furnace_fuel
|
|
1546
|
+
- furnace_ingredient
|
|
1547
|
+
- furnace_output
|
|
1548
|
+
- horse_equip
|
|
1549
|
+
- hotbar
|
|
1550
|
+
- inventory
|
|
1551
|
+
- shulker
|
|
1552
|
+
- trade_ingredient1
|
|
1553
|
+
- trade_ingredient2
|
|
1554
|
+
- trade_result
|
|
1555
|
+
- offhand
|
|
1556
|
+
- compcreate_input
|
|
1557
|
+
- compcreate_output
|
|
1558
|
+
- elemconstruct_output
|
|
1559
|
+
- matreduce_input
|
|
1560
|
+
- matreduce_output
|
|
1561
|
+
- labtable_input
|
|
1562
|
+
- loom_input
|
|
1563
|
+
- loom_dye
|
|
1564
|
+
- loom_material
|
|
1565
|
+
- loom_result
|
|
1566
|
+
- blast_furnace_ingredient
|
|
1567
|
+
- smoker_ingredient
|
|
1568
|
+
- trade2_ingredient1
|
|
1569
|
+
- trade2_ingredient2
|
|
1570
|
+
- trade2_result
|
|
1571
|
+
- grindstone_input
|
|
1572
|
+
- grindstone_additional
|
|
1573
|
+
- grindstone_result
|
|
1574
|
+
- stonecutter_input
|
|
1575
|
+
- stonecutter_result
|
|
1576
|
+
- cartography_input
|
|
1577
|
+
- cartography_additional
|
|
1578
|
+
- cartography_result
|
|
1579
|
+
- barrel
|
|
1580
|
+
- cursor
|
|
1581
|
+
- creative_output
|
|
1582
|
+
- smithing_table_template
|
|
1583
|
+
- crafter
|
|
1584
|
+
- dynamic
|
|
1585
|
+
- registry # 125
|
|
1586
|
+
|
|
1587
|
+
SoundType: varint =>
|
|
1588
|
+
- ItemUseOn
|
|
1589
|
+
- Hit
|
|
1590
|
+
- Step
|
|
1591
|
+
- Fly
|
|
1592
|
+
- Jump
|
|
1593
|
+
- Break
|
|
1594
|
+
- Place
|
|
1595
|
+
- HeavyStep
|
|
1596
|
+
- Gallop
|
|
1597
|
+
- Fall
|
|
1598
|
+
- Ambient
|
|
1599
|
+
- AmbientBaby
|
|
1600
|
+
- AmbientInWater
|
|
1601
|
+
- Breathe
|
|
1602
|
+
- Death
|
|
1603
|
+
- DeathInWater
|
|
1604
|
+
- DeathToZombie
|
|
1605
|
+
- Hurt
|
|
1606
|
+
- HurtInWater
|
|
1607
|
+
- Mad
|
|
1608
|
+
- Boost
|
|
1609
|
+
- Bow
|
|
1610
|
+
- SquishBig
|
|
1611
|
+
- SquishSmall
|
|
1612
|
+
- FallBig
|
|
1613
|
+
- FallSmall
|
|
1614
|
+
- Splash
|
|
1615
|
+
- Fizz
|
|
1616
|
+
- Flap
|
|
1617
|
+
- Swim
|
|
1618
|
+
- Drink
|
|
1619
|
+
- Eat
|
|
1620
|
+
- Takeoff
|
|
1621
|
+
- Shake
|
|
1622
|
+
- Plop
|
|
1623
|
+
- Land
|
|
1624
|
+
- Saddle
|
|
1625
|
+
- Armor
|
|
1626
|
+
- ArmorStandPlace
|
|
1627
|
+
- AddChest
|
|
1628
|
+
- Throw
|
|
1629
|
+
- Attack
|
|
1630
|
+
- AttackNoDamage
|
|
1631
|
+
- AttackStrong
|
|
1632
|
+
- Warn
|
|
1633
|
+
- Shear
|
|
1634
|
+
- Milk
|
|
1635
|
+
- Thunder
|
|
1636
|
+
- Explode
|
|
1637
|
+
- Fire
|
|
1638
|
+
- Ignite
|
|
1639
|
+
- Fuse
|
|
1640
|
+
- Stare
|
|
1641
|
+
- Spawn
|
|
1642
|
+
- Shoot
|
|
1643
|
+
- BreakBlock
|
|
1644
|
+
- Launch
|
|
1645
|
+
- Blast
|
|
1646
|
+
- LargeBlast
|
|
1647
|
+
- Twinkle
|
|
1648
|
+
- Remedy
|
|
1649
|
+
- Unfect
|
|
1650
|
+
- LevelUp
|
|
1651
|
+
- BowHit
|
|
1652
|
+
- BulletHit
|
|
1653
|
+
- ExtinguishFire
|
|
1654
|
+
- ItemFizz
|
|
1655
|
+
- ChestOpen
|
|
1656
|
+
- ChestClosed
|
|
1657
|
+
- ShulkerBoxOpen
|
|
1658
|
+
- ShulkerBoxClosed
|
|
1659
|
+
- EnderChestOpen
|
|
1660
|
+
- EnderChestClosed
|
|
1661
|
+
- PowerOn
|
|
1662
|
+
- PowerOff
|
|
1663
|
+
- Attach
|
|
1664
|
+
- Detach
|
|
1665
|
+
- Deny
|
|
1666
|
+
- Tripod
|
|
1667
|
+
- Pop
|
|
1668
|
+
- DropSlot
|
|
1669
|
+
- Note
|
|
1670
|
+
- Thorns
|
|
1671
|
+
- PistonIn
|
|
1672
|
+
- PistonOut
|
|
1673
|
+
- Portal
|
|
1674
|
+
- Water
|
|
1675
|
+
- LavaPop
|
|
1676
|
+
- Lava
|
|
1677
|
+
- Burp
|
|
1678
|
+
- BucketFillWater
|
|
1679
|
+
- BucketFillLava
|
|
1680
|
+
- BucketEmptyWater
|
|
1681
|
+
- BucketEmptyLava
|
|
1682
|
+
- ArmorEquipChain
|
|
1683
|
+
- ArmorEquipDiamond
|
|
1684
|
+
- ArmorEquipGeneric
|
|
1685
|
+
- ArmorEquipGold
|
|
1686
|
+
- ArmorEquipIron
|
|
1687
|
+
- ArmorEquipLeather
|
|
1688
|
+
- ArmorEquipElytra
|
|
1689
|
+
- Record13
|
|
1690
|
+
- RecordCat
|
|
1691
|
+
- RecordBlocks
|
|
1692
|
+
- RecordChirp
|
|
1693
|
+
- RecordFar
|
|
1694
|
+
- RecordMall
|
|
1695
|
+
- RecordMellohi
|
|
1696
|
+
- RecordStal
|
|
1697
|
+
- RecordStrad
|
|
1698
|
+
- RecordWard
|
|
1699
|
+
- Record11
|
|
1700
|
+
- RecordWait
|
|
1701
|
+
- StopRecord
|
|
1702
|
+
- Flop
|
|
1703
|
+
- GuardianCurse
|
|
1704
|
+
- MobWarning
|
|
1705
|
+
- MobWarningBaby
|
|
1706
|
+
- Teleport
|
|
1707
|
+
- ShulkerOpen
|
|
1708
|
+
- ShulkerClose
|
|
1709
|
+
- Haggle
|
|
1710
|
+
- HaggleYes
|
|
1711
|
+
- HaggleNo
|
|
1712
|
+
- HaggleIdle
|
|
1713
|
+
- ChorusGrow
|
|
1714
|
+
- ChorusDeath
|
|
1715
|
+
- Glass
|
|
1716
|
+
- PotionBrewed
|
|
1717
|
+
- CastSpell
|
|
1718
|
+
- PrepareAttackSpell
|
|
1719
|
+
- PrepareSummon
|
|
1720
|
+
- PrepareWololo
|
|
1721
|
+
- Fang
|
|
1722
|
+
- Charge
|
|
1723
|
+
- CameraTakePicture
|
|
1724
|
+
- LeashKnotPlace
|
|
1725
|
+
- LeashKnotBreak
|
|
1726
|
+
- AmbientGrowl
|
|
1727
|
+
- AmbientWhine
|
|
1728
|
+
- AmbientPant
|
|
1729
|
+
- AmbientPurr
|
|
1730
|
+
- AmbientPurreow
|
|
1731
|
+
- DeathMinVolume
|
|
1732
|
+
- DeathMidVolume
|
|
1733
|
+
- ImitateBlaze
|
|
1734
|
+
- ImitateCaveSpider
|
|
1735
|
+
- ImitateCreeper
|
|
1736
|
+
- ImitateElderGuardian
|
|
1737
|
+
- ImitateEnderDragon
|
|
1738
|
+
- ImitateEnderman
|
|
1739
|
+
- ImitateEndermite
|
|
1740
|
+
- ImitateEvocationIllager
|
|
1741
|
+
- ImitateGhast
|
|
1742
|
+
- ImitateHusk
|
|
1743
|
+
- ImitateIllusionIllager
|
|
1744
|
+
- ImitateMagmaCube
|
|
1745
|
+
- ImitatePolarBear
|
|
1746
|
+
- ImitateShulker
|
|
1747
|
+
- ImitateSilverfish
|
|
1748
|
+
- ImitateSkeleton
|
|
1749
|
+
- ImitateSlime
|
|
1750
|
+
- ImitateSpider
|
|
1751
|
+
- ImitateStray
|
|
1752
|
+
- ImitateVex
|
|
1753
|
+
- ImitateVindicationIllager
|
|
1754
|
+
- ImitateWitch
|
|
1755
|
+
- ImitateWither
|
|
1756
|
+
- ImitateWitherSkeleton
|
|
1757
|
+
- ImitateWolf
|
|
1758
|
+
- ImitateZombie
|
|
1759
|
+
- ImitateZombiePigman
|
|
1760
|
+
- ImitateZombieVillager
|
|
1761
|
+
- EnderEyePlaced
|
|
1762
|
+
- EndPortalCreated
|
|
1763
|
+
- AnvilUse
|
|
1764
|
+
- BottleDragonBreath
|
|
1765
|
+
- PortalTravel
|
|
1766
|
+
- TridentHit
|
|
1767
|
+
- TridentReturn
|
|
1768
|
+
- TridentRiptide1
|
|
1769
|
+
- TridentRiptide2
|
|
1770
|
+
- TridentRiptide3
|
|
1771
|
+
- TridentThrow
|
|
1772
|
+
- TridentThunder
|
|
1773
|
+
- TridentHitGround
|
|
1774
|
+
- Default
|
|
1775
|
+
- FletchingTableUse
|
|
1776
|
+
- ElemConstructOpen
|
|
1777
|
+
- IceBombHit
|
|
1778
|
+
- BalloonPop
|
|
1779
|
+
- LtReactionIceBomb
|
|
1780
|
+
- LtReactionBleach
|
|
1781
|
+
- LtReactionElephantToothpaste
|
|
1782
|
+
- LtReactionElephantToothpaste2
|
|
1783
|
+
- LtReactionGlowStick
|
|
1784
|
+
- LtReactionGlowStick2
|
|
1785
|
+
- LtReactionLuminol
|
|
1786
|
+
- LtReactionSalt
|
|
1787
|
+
- LtReactionFertilizer
|
|
1788
|
+
- LtReactionFireball
|
|
1789
|
+
- LtReactionMagnesiumSalt
|
|
1790
|
+
- LtReactionMiscFire
|
|
1791
|
+
- LtReactionFire
|
|
1792
|
+
- LtReactionMiscExplosion
|
|
1793
|
+
- LtReactionMiscMystical
|
|
1794
|
+
- LtReactionMiscMystical2
|
|
1795
|
+
- LtReactionProduct
|
|
1796
|
+
- SparklerUse
|
|
1797
|
+
- GlowStickUse
|
|
1798
|
+
- SparklerActive
|
|
1799
|
+
- ConvertToDrowned
|
|
1800
|
+
- BucketFillFish
|
|
1801
|
+
- BucketEmptyFish
|
|
1802
|
+
- BubbleColumnUpwards
|
|
1803
|
+
- BubbleColumnDownwards
|
|
1804
|
+
- BubblePop
|
|
1805
|
+
- BubbleUpInside
|
|
1806
|
+
- BubbleDownInside
|
|
1807
|
+
- HurtBaby
|
|
1808
|
+
- DeathBaby
|
|
1809
|
+
- StepBaby
|
|
1810
|
+
- SpawnBaby
|
|
1811
|
+
- Born
|
|
1812
|
+
- TurtleEggBreak
|
|
1813
|
+
- TurtleEggCrack
|
|
1814
|
+
- TurtleEggHatched
|
|
1815
|
+
- LayEgg
|
|
1816
|
+
- TurtleEggAttacked
|
|
1817
|
+
- BeaconActivate
|
|
1818
|
+
- BeaconAmbient
|
|
1819
|
+
- BeaconDeactivate
|
|
1820
|
+
- BeaconPower
|
|
1821
|
+
- ConduitActivate
|
|
1822
|
+
- ConduitAmbient
|
|
1823
|
+
- ConduitAttack
|
|
1824
|
+
- ConduitDeactivate
|
|
1825
|
+
- ConduitShort
|
|
1826
|
+
- Swoop
|
|
1827
|
+
- BambooSaplingPlace
|
|
1828
|
+
- PreSneeze
|
|
1829
|
+
- Sneeze
|
|
1830
|
+
- AmbientTame
|
|
1831
|
+
- Scared
|
|
1832
|
+
- ScaffoldingClimb
|
|
1833
|
+
- CrossbowLoadingStart
|
|
1834
|
+
- CrossbowLoadingMiddle
|
|
1835
|
+
- CrossbowLoadingEnd
|
|
1836
|
+
- CrossbowShoot
|
|
1837
|
+
- CrossbowQuickChargeStart
|
|
1838
|
+
- CrossbowQuickChargeMiddle
|
|
1839
|
+
- CrossbowQuickChargeEnd
|
|
1840
|
+
- AmbientAggressive
|
|
1841
|
+
- AmbientWorried
|
|
1842
|
+
- CantBreed
|
|
1843
|
+
- ShieldBlock
|
|
1844
|
+
- LecternBookPlace
|
|
1845
|
+
- GrindstoneUse
|
|
1846
|
+
- Bell
|
|
1847
|
+
- CampfireCrackle
|
|
1848
|
+
- Roar
|
|
1849
|
+
- Stun
|
|
1850
|
+
- SweetBerryBushHurt
|
|
1851
|
+
- SweetBerryBushPick
|
|
1852
|
+
- CartographyTableUse
|
|
1853
|
+
- StonecutterUse
|
|
1854
|
+
- ComposterEmpty
|
|
1855
|
+
- ComposterFill
|
|
1856
|
+
- ComposterFillLayer
|
|
1857
|
+
- ComposterReady
|
|
1858
|
+
- BarrelOpen
|
|
1859
|
+
- BarrelClose
|
|
1860
|
+
- RaidHorn
|
|
1861
|
+
- LoomUse
|
|
1862
|
+
- AmbientInRaid
|
|
1863
|
+
- UicartographyTableUse
|
|
1864
|
+
- UistonecutterUse
|
|
1865
|
+
- UiloomUse
|
|
1866
|
+
- SmokerUse
|
|
1867
|
+
- BlastFurnaceUse
|
|
1868
|
+
- SmithingTableUse
|
|
1869
|
+
- Screech
|
|
1870
|
+
- Sleep
|
|
1871
|
+
- FurnaceUse
|
|
1872
|
+
- MooshroomConvert
|
|
1873
|
+
- MilkSuspiciously
|
|
1874
|
+
- Celebrate
|
|
1875
|
+
- JumpPrevent
|
|
1876
|
+
- AmbientPollinate
|
|
1877
|
+
- BeehiveDrip
|
|
1878
|
+
- BeehiveEnter
|
|
1879
|
+
- BeehiveExit
|
|
1880
|
+
- BeehiveWork
|
|
1881
|
+
- BeehiveShear
|
|
1882
|
+
- HoneybottleDrink
|
|
1883
|
+
- AmbientCave
|
|
1884
|
+
- Retreat
|
|
1885
|
+
- ConvertToZombified
|
|
1886
|
+
- Admire
|
|
1887
|
+
- StepLava
|
|
1888
|
+
- Tempt
|
|
1889
|
+
- Panic
|
|
1890
|
+
- Angry
|
|
1891
|
+
- AmbientMoodWarpedForest
|
|
1892
|
+
- AmbientMoodSoulsandValley
|
|
1893
|
+
- AmbientMoodNetherWastes
|
|
1894
|
+
- AmbientMoodBasaltDeltas
|
|
1895
|
+
- AmbientMoodCrimsonForest
|
|
1896
|
+
- RespawnAnchorCharge
|
|
1897
|
+
- RespawnAnchorDeplete
|
|
1898
|
+
- RespawnAnchorSetSpawn
|
|
1899
|
+
- RespawnAnchorAmbient
|
|
1900
|
+
- SoulEscapeQuiet
|
|
1901
|
+
- SoulEscapeLoud
|
|
1902
|
+
- RecordPigstep
|
|
1903
|
+
- LinkCompassToLodestone
|
|
1904
|
+
- UseSmithingTable
|
|
1905
|
+
- EquipNetherite
|
|
1906
|
+
- AmbientLoopWarpedForest
|
|
1907
|
+
- AmbientLoopSoulsandValley
|
|
1908
|
+
- AmbientLoopNetherWastes
|
|
1909
|
+
- AmbientLoopBasaltDeltas
|
|
1910
|
+
- AmbientLoopCrimsonForest
|
|
1911
|
+
- AmbientAdditionWarpedForest
|
|
1912
|
+
- AmbientAdditionSoulsandValley
|
|
1913
|
+
- AmbientAdditionNetherWastes
|
|
1914
|
+
- AmbientAdditionBasaltDeltas
|
|
1915
|
+
- AmbientAdditionCrimsonForest
|
|
1916
|
+
- SculkSensorPowerOn
|
|
1917
|
+
- SculkSensorPowerOff
|
|
1918
|
+
- BucketFillPowderSnow
|
|
1919
|
+
- BucketEmptyPowderSnow
|
|
1920
|
+
- PointedDripstoneCauldronDripWater
|
|
1921
|
+
- PointedDripstoneCauldronDripLava
|
|
1922
|
+
- PointedDripstoneDripWater
|
|
1923
|
+
- PointedDripstoneDripLava
|
|
1924
|
+
- CaveVinesPickBerries
|
|
1925
|
+
- BigDripleafTiltDown
|
|
1926
|
+
- BigDripleafTiltUp
|
|
1927
|
+
- CopperWaxOn
|
|
1928
|
+
- CopperWaxOff
|
|
1929
|
+
- Scrape
|
|
1930
|
+
- PlayerHurtDrown
|
|
1931
|
+
- PlayerHurtOnFire
|
|
1932
|
+
- PlayerHurtFreeze
|
|
1933
|
+
- UseSpyglass
|
|
1934
|
+
- StopUsingSpyglass
|
|
1935
|
+
- AmethystBlockChime
|
|
1936
|
+
- AmbientScreamer
|
|
1937
|
+
- HurtScreamer
|
|
1938
|
+
- DeathScreamer
|
|
1939
|
+
- MilkScreamer
|
|
1940
|
+
- JumpToBlock
|
|
1941
|
+
- PreRam
|
|
1942
|
+
- PreRamScreamer
|
|
1943
|
+
- RamImpact
|
|
1944
|
+
- RamImpactScreamer
|
|
1945
|
+
- SquidInkSquirt
|
|
1946
|
+
- GlowSquidInkSquirt
|
|
1947
|
+
- ConvertToStray
|
|
1948
|
+
- CakeAddCandle
|
|
1949
|
+
- ExtinguishCandle
|
|
1950
|
+
- AmbientCandle
|
|
1951
|
+
- BlockClick
|
|
1952
|
+
- BlockClickFail
|
|
1953
|
+
- SculkCatalystBloom
|
|
1954
|
+
- SculkShriekerShriek
|
|
1955
|
+
- WardenNearbyClose
|
|
1956
|
+
- WardenNearbyCloser
|
|
1957
|
+
- WardenNearbyClosest
|
|
1958
|
+
- WardenSlightlyAngry
|
|
1959
|
+
- RecordOtherside
|
|
1960
|
+
- Tongue
|
|
1961
|
+
- CrackIronGolem
|
|
1962
|
+
- RepairIronGolem
|
|
1963
|
+
- Listening
|
|
1964
|
+
- Heartbeat
|
|
1965
|
+
- HornBreak
|
|
1966
|
+
- _
|
|
1967
|
+
- SculkSpread
|
|
1968
|
+
- SculkCharge
|
|
1969
|
+
- SculkSensorPlace
|
|
1970
|
+
- SculkShriekerPlace
|
|
1971
|
+
- GoatCall0
|
|
1972
|
+
- GoatCall1
|
|
1973
|
+
- GoatCall2
|
|
1974
|
+
- GoatCall3
|
|
1975
|
+
- GoatCall4
|
|
1976
|
+
- GoatCall5
|
|
1977
|
+
- GoatCall6
|
|
1978
|
+
- GoatCall7
|
|
1979
|
+
- GoatCall8
|
|
1980
|
+
- GoatCall9
|
|
1981
|
+
- GoatHarmony0
|
|
1982
|
+
- GoatHarmony1
|
|
1983
|
+
- GoatHarmony2
|
|
1984
|
+
- GoatHarmony3
|
|
1985
|
+
- GoatHarmony4
|
|
1986
|
+
- GoatHarmony5
|
|
1987
|
+
- GoatHarmony6
|
|
1988
|
+
- GoatHarmony7
|
|
1989
|
+
- GoatHarmony8
|
|
1990
|
+
- GoatHarmony9
|
|
1991
|
+
- GoatMelody0
|
|
1992
|
+
- GoatMelody1
|
|
1993
|
+
- GoatMelody2
|
|
1994
|
+
- GoatMelody3
|
|
1995
|
+
- GoatMelody4
|
|
1996
|
+
- GoatMelody5
|
|
1997
|
+
- GoatMelody6
|
|
1998
|
+
- GoatMelody7
|
|
1999
|
+
- GoatMelody8
|
|
2000
|
+
- GoatMelody9
|
|
2001
|
+
- GoatBass0
|
|
2002
|
+
- GoatBass1
|
|
2003
|
+
- GoatBass2
|
|
2004
|
+
- GoatBass3
|
|
2005
|
+
- GoatBass4
|
|
2006
|
+
- GoatBass5
|
|
2007
|
+
- GoatBass6
|
|
2008
|
+
- GoatBass7
|
|
2009
|
+
- GoatBass8
|
|
2010
|
+
- GoatBass9
|
|
2011
|
+
- _
|
|
2012
|
+
- _
|
|
2013
|
+
- _
|
|
2014
|
+
- ImitateWarden
|
|
2015
|
+
- ListeningAngry
|
|
2016
|
+
- ItemGiven
|
|
2017
|
+
- ItemTaken
|
|
2018
|
+
- Disappeared
|
|
2019
|
+
- Reappeared
|
|
2020
|
+
- DrinkMilk
|
|
2021
|
+
- FrogspawnHatched
|
|
2022
|
+
- LaySpawn
|
|
2023
|
+
- FrogspawnBreak
|
|
2024
|
+
- SonicBoom
|
|
2025
|
+
- SonicCharge
|
|
2026
|
+
- SoundeventItemThrown
|
|
2027
|
+
- Record5
|
|
2028
|
+
- ConvertToFrog
|
|
2029
|
+
- RecordPlaying
|
|
2030
|
+
- EnchantingTableUse
|
|
2031
|
+
- StepSand
|
|
2032
|
+
- DashReady
|
|
2033
|
+
- BundleDropContents
|
|
2034
|
+
- BundleInsert
|
|
2035
|
+
- BundleRemoveOne
|
|
2036
|
+
- PressurePlateClickOff
|
|
2037
|
+
- PressurePlateClickOn
|
|
2038
|
+
- ButtonClickOff
|
|
2039
|
+
- ButtonClickOn
|
|
2040
|
+
- DoorOpen
|
|
2041
|
+
- DoorClose
|
|
2042
|
+
- TrapdoorOpen
|
|
2043
|
+
- TrapdoorClose
|
|
2044
|
+
- FenceGateOpen
|
|
2045
|
+
- FenceGateClose
|
|
2046
|
+
- Insert
|
|
2047
|
+
- Pickup
|
|
2048
|
+
- InsertEnchanted
|
|
2049
|
+
- PickupEnchanted
|
|
2050
|
+
- Brush
|
|
2051
|
+
- BrushCompleted
|
|
2052
|
+
- ShatterDecoratedPot
|
|
2053
|
+
- BreakDecoratedPot
|
|
2054
|
+
- SnifferEggCrack
|
|
2055
|
+
- SnifferEggHatched
|
|
2056
|
+
- WaxedSignInteractFail
|
|
2057
|
+
- RecordRelic
|
|
2058
|
+
- Bump
|
|
2059
|
+
- PumpkinCarve
|
|
2060
|
+
- ConvertHuskToZombie
|
|
2061
|
+
- PigDeath
|
|
2062
|
+
- HoglinZombified
|
|
2063
|
+
- AmbientUnderwaterEnter
|
|
2064
|
+
- AmbientUnderwaterExit
|
|
2065
|
+
- BottleFill
|
|
2066
|
+
- BottleEmpty
|
|
2067
|
+
- CrafterCraft
|
|
2068
|
+
- CrafterFail
|
|
2069
|
+
- DecoratedPotInsert
|
|
2070
|
+
- DecoratedPotInsertFail
|
|
2071
|
+
- CrafterDisableSlot
|
|
2072
|
+
- TrialSpawnerOpenShutter
|
|
2073
|
+
- TrialSpawnerEjectItem
|
|
2074
|
+
- TrialSpawnerDetectPlayer
|
|
2075
|
+
- TrialSpawnerSpawnMob
|
|
2076
|
+
- TrialSpawnerCloseShutter
|
|
2077
|
+
- TrialSpawnerAmbient
|
|
2078
|
+
- CopperBulbTurnOn
|
|
2079
|
+
- CopperBulbTurnOff
|
|
2080
|
+
- AmbientInAir
|
|
2081
|
+
- BreezeWindChargeBurst
|
|
2082
|
+
- ImitateBreeze
|
|
2083
|
+
- ArmadilloBrush
|
|
2084
|
+
- ArmadilloScuteDrop
|
|
2085
|
+
- EquipWolf
|
|
2086
|
+
- UnequipWolf
|
|
2087
|
+
- Reflect
|
|
2088
|
+
- VaultOpenShutter
|
|
2089
|
+
- VaultCloseShutter
|
|
2090
|
+
- VaultEjectItem
|
|
2091
|
+
- VaultInsertItem
|
|
2092
|
+
- VaultInsertItemFail
|
|
2093
|
+
- VaultAmbient
|
|
2094
|
+
- VaultActivate
|
|
2095
|
+
- VaultDeactive
|
|
2096
|
+
- HurtReduced
|
|
2097
|
+
- WindChargeBurst
|
|
2098
|
+
- ImitateBogged
|
|
2099
|
+
- WolfArmourCrack
|
|
2100
|
+
- WolfArmourBreak
|
|
2101
|
+
- WolfArmourRepair
|
|
2102
|
+
- MaceSmashAir
|
|
2103
|
+
- MaceSmashGround
|
|
2104
|
+
- TrialSpawnerChargeActivate
|
|
2105
|
+
- TrialSpawnerAmbientOminous
|
|
2106
|
+
- OminiousItemSpawnerSpawnItem
|
|
2107
|
+
- OminousBottleEndUse
|
|
2108
|
+
- MaceHeavySmashGround
|
|
2109
|
+
- OminousItemSpawnerSpawnItemBegin
|
|
2110
|
+
- _
|
|
2111
|
+
- ApplyEffectBadOmen
|
|
2112
|
+
- ApplyEffectRaidOmen
|
|
2113
|
+
- ApplyEffectTrialOmen
|
|
2114
|
+
- OminousItemSpawnerAboutToSpawnItem
|
|
2115
|
+
- RecordCreator
|
|
2116
|
+
- RecordCreatorMusicBox
|
|
2117
|
+
- RecordPrecipice
|
|
2118
|
+
- VaultRejectRewardedPlayer
|
|
2119
|
+
- ImitateDrowned
|
|
2120
|
+
- ImitateCreaking
|
|
2121
|
+
- BundleInsertFailed
|
|
2122
|
+
- SpongeAbsorb
|
|
2123
|
+
- _
|
|
2124
|
+
- BlockCreakingHeartTrail
|
|
2125
|
+
- CreakingHeartSpawn
|
|
2126
|
+
- Activate
|
|
2127
|
+
- Deactivate
|
|
2128
|
+
- Freeze
|
|
2129
|
+
- Unfreeze
|
|
2130
|
+
- Open
|
|
2131
|
+
- OpenLong
|
|
2132
|
+
- Close
|
|
2133
|
+
- CloseLong
|
|
2134
|
+
- ImitatePhantom
|
|
2135
|
+
- ImitateZoglin
|
|
2136
|
+
- ImitateGuardian
|
|
2137
|
+
- ImitateRavager
|
|
2138
|
+
- ImitatePillager
|
|
2139
|
+
- PlaceInWater
|
|
2140
|
+
- StateChange
|
|
2141
|
+
- ImitateHappyGhast
|
|
2142
|
+
- UniqueGeneric
|
|
2143
|
+
- RecordTears
|
|
2144
|
+
- TheEndLightFlash
|
|
2145
|
+
- LeadLeash
|
|
2146
|
+
- LeadUnleash
|
|
2147
|
+
- LeadBreak
|
|
2148
|
+
- Unsaddle
|
|
2149
|
+
- EquipCopper
|
|
2150
|
+
- RecordLavaChicken
|
|
2151
|
+
- PlaceItem
|
|
2152
|
+
- SingleItemSwap
|
|
2153
|
+
- MultiItemSwap
|
|
2154
|
+
- ItemEnchantLunge1
|
|
2155
|
+
- ItemEnchantLunge2
|
|
2156
|
+
- ItemEnchantLunge3
|
|
2157
|
+
- AttackCritical
|
|
2158
|
+
- ItemSpearAttackHit
|
|
2159
|
+
- ItemSpearAttackMiss
|
|
2160
|
+
- ItemWoodenSpearAttackHit
|
|
2161
|
+
- ItemWoodenSpearAttackMiss
|
|
2162
|
+
- ImitateParched
|
|
2163
|
+
- ImitateCamelHusk
|
|
2164
|
+
- ItemSpearUse
|
|
2165
|
+
- ItemWoodenSpearUse
|
|
2166
|
+
- SaddleInWater
|
|
2167
|
+
- ItemStoneSpearAttackHit
|
|
2168
|
+
- ItemIronSpearAttackHit
|
|
2169
|
+
- ItemCopperSpearAttackHit
|
|
2170
|
+
- ItemGoldenSpearAttackHit
|
|
2171
|
+
- ItemDiamondSpearAttackHit
|
|
2172
|
+
- ItemNetheriteSpearAttackHit
|
|
2173
|
+
- ItemStoneSpearAttackMiss
|
|
2174
|
+
- ItemIronSpearAttackMiss
|
|
2175
|
+
- ItemCopperSpearAttackMiss
|
|
2176
|
+
- ItemGoldenSpearAttackMiss
|
|
2177
|
+
- ItemDiamondSpearAttackMiss
|
|
2178
|
+
- ItemNetheriteSpearAttackMiss
|
|
2179
|
+
- ItemStoneSpearUse
|
|
2180
|
+
- ItemIronSpearUse
|
|
2181
|
+
- ItemCopperSpearUse
|
|
2182
|
+
- ItemGoldenSpearUse
|
|
2183
|
+
- ItemDiamondSpearUse
|
|
2184
|
+
- ItemNetheriteSpearUse
|
|
2185
|
+
|
|
2186
|
+
# TODO: remove?
|
|
2187
|
+
LegacyEntityType: li32 =>
|
|
2188
|
+
10: chicken
|
|
2189
|
+
11: cow
|
|
2190
|
+
12: pig
|
|
2191
|
+
13: sheep
|
|
2192
|
+
14: wolf
|
|
2193
|
+
15: villager
|
|
2194
|
+
16: mooshroom
|
|
2195
|
+
17: squid
|
|
2196
|
+
18: rabbit
|
|
2197
|
+
19: bat
|
|
2198
|
+
20: iron_golem
|
|
2199
|
+
21: snow_golem
|
|
2200
|
+
22: ocelot
|
|
2201
|
+
23: horse
|
|
2202
|
+
24: donkey
|
|
2203
|
+
25: mule
|
|
2204
|
+
26: skeleton_horse
|
|
2205
|
+
27: zombie_horse
|
|
2206
|
+
28: polar_bear
|
|
2207
|
+
29: llama
|
|
2208
|
+
30: parrot
|
|
2209
|
+
31: dolphin
|
|
2210
|
+
32: zombie
|
|
2211
|
+
33: creeper
|
|
2212
|
+
34: skeleton
|
|
2213
|
+
35: spider
|
|
2214
|
+
36: zombie_pigman
|
|
2215
|
+
37: slime
|
|
2216
|
+
38: enderman
|
|
2217
|
+
39: silverfish
|
|
2218
|
+
40: cave_spider
|
|
2219
|
+
41: ghast
|
|
2220
|
+
42: magma_cube
|
|
2221
|
+
43: blaze
|
|
2222
|
+
44: zombie_villager
|
|
2223
|
+
45: witch
|
|
2224
|
+
46: stray
|
|
2225
|
+
47: husk
|
|
2226
|
+
48: wither_skeleton
|
|
2227
|
+
49: guardian
|
|
2228
|
+
50: elder_guardian
|
|
2229
|
+
51: npc
|
|
2230
|
+
52: wither
|
|
2231
|
+
53: ender_dragon
|
|
2232
|
+
54: shulker
|
|
2233
|
+
55: endermite
|
|
2234
|
+
56: agent # LEARN_TO_CODE_MASCOT
|
|
2235
|
+
57: vindicator
|
|
2236
|
+
58: phantom
|
|
2237
|
+
61: armor_stand
|
|
2238
|
+
62: tripod_camera
|
|
2239
|
+
63: player
|
|
2240
|
+
64: item
|
|
2241
|
+
65: tnt
|
|
2242
|
+
66: falling_block
|
|
2243
|
+
67: moving_block
|
|
2244
|
+
68: xp_bottle
|
|
2245
|
+
69: xp_orb
|
|
2246
|
+
70: eye_of_ender_signal
|
|
2247
|
+
71: ender_crystal
|
|
2248
|
+
72: fireworks_rocket
|
|
2249
|
+
73: thrown_trident
|
|
2250
|
+
74: turtle
|
|
2251
|
+
75: cat
|
|
2252
|
+
76: shulker_bullet
|
|
2253
|
+
77: fishing_hook
|
|
2254
|
+
78: chalkboard
|
|
2255
|
+
79: dragon_fireball
|
|
2256
|
+
80: arrow
|
|
2257
|
+
81: snowball
|
|
2258
|
+
82: egg
|
|
2259
|
+
83: painting
|
|
2260
|
+
84: minecart
|
|
2261
|
+
85: fireball
|
|
2262
|
+
86: splash_potion
|
|
2263
|
+
87: ender_pearl
|
|
2264
|
+
88: leash_knot
|
|
2265
|
+
89: wither_skull
|
|
2266
|
+
90: boat
|
|
2267
|
+
91: wither_skull_dangerous
|
|
2268
|
+
93: lightning_bolt
|
|
2269
|
+
94: small_fireball
|
|
2270
|
+
95: area_effect_cloud
|
|
2271
|
+
96: hopper_minecart
|
|
2272
|
+
97: tnt_minecart
|
|
2273
|
+
98: chest_minecart
|
|
2274
|
+
100: command_block_minecart
|
|
2275
|
+
101: lingering_potion
|
|
2276
|
+
102: llama_spit
|
|
2277
|
+
103: evocation_fang
|
|
2278
|
+
104: evocation_illager
|
|
2279
|
+
105: vex
|
|
2280
|
+
106: ice_bomb
|
|
2281
|
+
107: balloon
|
|
2282
|
+
108: pufferfish
|
|
2283
|
+
109: salmon
|
|
2284
|
+
110: drowned
|
|
2285
|
+
111: tropicalfish
|
|
2286
|
+
112: cod
|
|
2287
|
+
113: panda
|
|
2288
|
+
|
|
2289
|
+
DeviceOS: li32 =>
|
|
2290
|
+
- Undefined
|
|
2291
|
+
- Android
|
|
2292
|
+
- IOS
|
|
2293
|
+
- OSX
|
|
2294
|
+
- FireOS
|
|
2295
|
+
# Deprecated
|
|
2296
|
+
- GearVR
|
|
2297
|
+
- Hololens
|
|
2298
|
+
- Win10
|
|
2299
|
+
- Win32
|
|
2300
|
+
- Dedicated
|
|
2301
|
+
- TVOS
|
|
2302
|
+
- Orbis
|
|
2303
|
+
- NintendoSwitch
|
|
2304
|
+
- Xbox
|
|
2305
|
+
- WindowsPhone
|
|
2306
|
+
- Linux
|
|
2307
|
+
|
|
2308
|
+
|
|
2309
|
+
AbilitySet: ["bitflags",
|
|
2310
|
+
{
|
|
2311
|
+
"type": "lu32",
|
|
2312
|
+
"flags": [
|
|
2313
|
+
"build",
|
|
2314
|
+
"mine",
|
|
2315
|
+
"doors_and_switches",
|
|
2316
|
+
"open_containers",
|
|
2317
|
+
"attack_players",
|
|
2318
|
+
"attack_mobs",
|
|
2319
|
+
"operator_commands",
|
|
2320
|
+
"teleport",
|
|
2321
|
+
"invulnerable",
|
|
2322
|
+
"flying",
|
|
2323
|
+
"may_fly",
|
|
2324
|
+
"instant_build",
|
|
2325
|
+
"lightning",
|
|
2326
|
+
"fly_speed",
|
|
2327
|
+
"walk_speed",
|
|
2328
|
+
"muted",
|
|
2329
|
+
"world_builder",
|
|
2330
|
+
"no_clip",
|
|
2331
|
+
"privileged_builder",
|
|
2332
|
+
"vertical_fly_speed",
|
|
2333
|
+
"count"
|
|
2334
|
+
]
|
|
2335
|
+
}
|
|
2336
|
+
]
|
|
2337
|
+
|
|
2338
|
+
# AbilityLayer represents the abilities of a specific layer, such as the base layer or the spectator layer.
|
|
2339
|
+
AbilityLayers:
|
|
2340
|
+
# Type represents the type of the layer. This is one of the AbilityLayerType constants defined above.
|
|
2341
|
+
type: lu16 =>
|
|
2342
|
+
- cache
|
|
2343
|
+
- base
|
|
2344
|
+
- spectator
|
|
2345
|
+
- commands
|
|
2346
|
+
- editor
|
|
2347
|
+
- loading_screen
|
|
2348
|
+
# The abilities that can be toggled between
|
|
2349
|
+
allowed: AbilitySet
|
|
2350
|
+
# The abilities that are currently active
|
|
2351
|
+
enabled: AbilitySet
|
|
2352
|
+
# FlySpeed is the default horizontal fly speed of the layer.
|
|
2353
|
+
fly_speed: lf32
|
|
2354
|
+
# VerticalFlySpeed is the default vertical fly speed of the layer.
|
|
2355
|
+
vertical_fly_speed: lf32
|
|
2356
|
+
# WalkSpeed is the default walk speed of the layer.
|
|
2357
|
+
walk_speed: lf32
|
|
2358
|
+
|
|
2359
|
+
CameraPresets:
|
|
2360
|
+
# Name is the name of the preset. Each preset must have their own unique name.
|
|
2361
|
+
name: string
|
|
2362
|
+
# Parent is the name of the preset that this preset extends upon. This can be left empty.
|
|
2363
|
+
parent: string
|
|
2364
|
+
position: Vec3fopts
|
|
2365
|
+
rotation: Vec2fopts
|
|
2366
|
+
# RotationSpeed is the speed at which the camera should rotate.
|
|
2367
|
+
rotation_speed?: lf32
|
|
2368
|
+
# SnapToTarget determines whether the camera should snap to the target entity or not.
|
|
2369
|
+
snap_to_target?: bool
|
|
2370
|
+
# horizontal_rotation_limit is the horizontal rotation limit of the camera.
|
|
2371
|
+
horizontal_rotation_limit?: vec2f
|
|
2372
|
+
# vertical_rotation_limit is the vertical rotation limit of the camera.
|
|
2373
|
+
vertical_rotation_limit?: vec2f
|
|
2374
|
+
# continue_targeting determines whether the camera should continue targeting the entity or not.
|
|
2375
|
+
continue_targeting?: bool
|
|
2376
|
+
# TrackingRadius is the radius around the camera that the aim assist should track targets.
|
|
2377
|
+
tracking_radius?: lf32
|
|
2378
|
+
# ViewOffset is only used in a follow_orbit camera and controls an offset based on a pivot point to the
|
|
2379
|
+
# player, causing it to be shifted in a certain direction.
|
|
2380
|
+
offset?: vec2f
|
|
2381
|
+
# EntityOffset controls the offset from the entity that the camera should be rendered at.
|
|
2382
|
+
entity_offset?: vec3f
|
|
2383
|
+
# Radius is only used in a follow_orbit camera and controls how far away from the player the camera should
|
|
2384
|
+
# be rendered.
|
|
2385
|
+
radius?: lf32
|
|
2386
|
+
yaw_limit_min?: lf32
|
|
2387
|
+
yaw_limit_max?: lf32
|
|
2388
|
+
## TODO: make this an enum afer adding proper optional support inside pdefyaml
|
|
2389
|
+
audio_listener?: u8
|
|
2390
|
+
player_effects?: bool
|
|
2391
|
+
aim_assist?:
|
|
2392
|
+
# Preset is the ID of the preset that has previously been defined in the CameraAimAssistPresets packet.
|
|
2393
|
+
preset_id?: string
|
|
2394
|
+
target_mode?: li32 =>
|
|
2395
|
+
- angle
|
|
2396
|
+
- distance
|
|
2397
|
+
# Angle is the maximum angle around the playes's cursor that the aim assist should check for a target,
|
|
2398
|
+
# if `target_mode` is set to `angle`.
|
|
2399
|
+
angle?: vec2f
|
|
2400
|
+
# Distance is the maximum distance from the player's cursor should check for a target, if TargetMode is
|
|
2401
|
+
# set to target_mode distance.
|
|
2402
|
+
distance?: lf32
|
|
2403
|
+
control_scheme?: u8 =>
|
|
2404
|
+
- locked_player_relative_strafe
|
|
2405
|
+
- camera_relative
|
|
2406
|
+
- camera_relative_strafe
|
|
2407
|
+
- player_relative
|
|
2408
|
+
- player_relative_strafe
|
|
2409
|
+
|
|
2410
|
+
|
|
2411
|
+
# CameraRotationOption represents a rotation keyframe option for spline instructions.
|
|
2412
|
+
CameraRotationOption:
|
|
2413
|
+
# Value is the rotation value for the keyframe.
|
|
2414
|
+
value: vec3f
|
|
2415
|
+
# Time is the time of the keyframe within the spline.
|
|
2416
|
+
time: lf32
|
|
2417
|
+
has_ease_type: bool
|
|
2418
|
+
ease_type: has_ease_type ?
|
|
2419
|
+
if true: u8
|
|
2420
|
+
|
|
2421
|
+
# CameraSplineInstruction represents a camera spline instruction definition.
|
|
2422
|
+
CameraSplineInstruction:
|
|
2423
|
+
# TotalTime is the total time for the spline animation.
|
|
2424
|
+
total_time: lf32
|
|
2425
|
+
has_spline_type: bool
|
|
2426
|
+
spline_type: has_spline_type ?
|
|
2427
|
+
if true: u8
|
|
2428
|
+
# Curve is the list of curve points defining the spline.
|
|
2429
|
+
curve: vec3f[]varint
|
|
2430
|
+
# ProgressKeyFrames is a list of key frames for the spline progress.
|
|
2431
|
+
progress_key_frames: CameraProgressOption[]varint
|
|
2432
|
+
# RotationOptions is a list of rotation keyframes for the spline.
|
|
2433
|
+
rotation_options: CameraRotationOption[]varint
|
|
2434
|
+
|
|
2435
|
+
CameraProgressOption:
|
|
2436
|
+
value: lf32
|
|
2437
|
+
time: lf32
|
|
2438
|
+
has_ease_type: bool
|
|
2439
|
+
ease_type: has_ease_type ?
|
|
2440
|
+
if true: u8
|
|
2441
|
+
|
|
2442
|
+
CameraSplineDefinition:
|
|
2443
|
+
name: string
|
|
2444
|
+
instruction: CameraSplineInstruction
|
|
2445
|
+
|
|
2446
|
+
CameraAimAssistActorPriorityData:
|
|
2447
|
+
preset_index: li32
|
|
2448
|
+
category_index: li32
|
|
2449
|
+
actor_index: li32
|
|
2450
|
+
priority: li32
|
|
2451
|
+
|
|
2452
|
+
MemoryCategoryCounter:
|
|
2453
|
+
category: u8 =>
|
|
2454
|
+
- unknown
|
|
2455
|
+
- invalid_size_unknown
|
|
2456
|
+
- actor
|
|
2457
|
+
- actor_animation
|
|
2458
|
+
- actor_rendering
|
|
2459
|
+
- balancer
|
|
2460
|
+
- block_ticking_queues
|
|
2461
|
+
- biome_storage
|
|
2462
|
+
- cereal
|
|
2463
|
+
- circuit_system
|
|
2464
|
+
- client
|
|
2465
|
+
- commands
|
|
2466
|
+
- db_storage
|
|
2467
|
+
- debug
|
|
2468
|
+
- documentation
|
|
2469
|
+
- ecs_systems
|
|
2470
|
+
- fmod
|
|
2471
|
+
- fonts
|
|
2472
|
+
- im_gui
|
|
2473
|
+
- input
|
|
2474
|
+
- json_ui
|
|
2475
|
+
- json_ui_control_factory_json
|
|
2476
|
+
- json_ui_control_tree
|
|
2477
|
+
- json_ui_control_tree_control_element
|
|
2478
|
+
- json_ui_control_tree_populate_data_binding
|
|
2479
|
+
- json_ui_control_tree_populate_focus
|
|
2480
|
+
- json_ui_control_tree_populate_layout
|
|
2481
|
+
- json_ui_control_tree_populate_other
|
|
2482
|
+
- json_ui_control_tree_populate_sprite
|
|
2483
|
+
- json_ui_control_tree_populate_text
|
|
2484
|
+
- json_ui_control_tree_populate_tts
|
|
2485
|
+
- json_ui_control_tree_visibility
|
|
2486
|
+
- json_ui_create_ui
|
|
2487
|
+
- json_ui_defs
|
|
2488
|
+
- json_ui_layout_manager
|
|
2489
|
+
- json_ui_layout_manager_remove_dependencies
|
|
2490
|
+
- json_ui_layout_manager_init_variable
|
|
2491
|
+
- languages
|
|
2492
|
+
- level
|
|
2493
|
+
- level_structures
|
|
2494
|
+
- level_chunk
|
|
2495
|
+
- level_chunk_gen
|
|
2496
|
+
- level_chunk_gen_thread_local
|
|
2497
|
+
- network
|
|
2498
|
+
- marketplace
|
|
2499
|
+
- material_dragon_compiled_definition
|
|
2500
|
+
- material_dragon_material
|
|
2501
|
+
- material_dragon_resource
|
|
2502
|
+
- material_dragon_uniform_map
|
|
2503
|
+
- material_render_material
|
|
2504
|
+
- material_render_material_group
|
|
2505
|
+
- material_variation_manager
|
|
2506
|
+
- molang
|
|
2507
|
+
- ore_ui
|
|
2508
|
+
- persona
|
|
2509
|
+
- player
|
|
2510
|
+
- render_chunk
|
|
2511
|
+
- render_chunk_index_buffer
|
|
2512
|
+
- render_chunk_vertex_buffer
|
|
2513
|
+
- rendering
|
|
2514
|
+
- rendering_library
|
|
2515
|
+
- request_log
|
|
2516
|
+
- resource_packs
|
|
2517
|
+
- sound
|
|
2518
|
+
- sub_chunk_biome_data
|
|
2519
|
+
- sub_chunk_block_data
|
|
2520
|
+
- sub_chunk_light_data
|
|
2521
|
+
- textures
|
|
2522
|
+
- vr
|
|
2523
|
+
- weather_renderer
|
|
2524
|
+
- world_generator
|
|
2525
|
+
- tasks
|
|
2526
|
+
- test
|
|
2527
|
+
- scripting
|
|
2528
|
+
- scripting_runtime
|
|
2529
|
+
- scripting_context
|
|
2530
|
+
- scripting_context_bindings_mc
|
|
2531
|
+
- scripting_context_bindings_gt
|
|
2532
|
+
- scripting_context_run
|
|
2533
|
+
- data_driven_ui
|
|
2534
|
+
- data_driven_ui_defs
|
|
2535
|
+
bytes: lu64
|
|
2536
|
+
|
|
2537
|
+
VoxelCells:
|
|
2538
|
+
x_size: u8
|
|
2539
|
+
y_size: u8
|
|
2540
|
+
z_size: u8
|
|
2541
|
+
storage: u8[]varint
|
|
2542
|
+
|
|
2543
|
+
VoxelShape:
|
|
2544
|
+
cells: VoxelCells[]varint
|
|
2545
|
+
x_coordinates: lf32[]varint
|
|
2546
|
+
y_coordinates: lf32[]varint
|
|
2547
|
+
z_coordinates: lf32[]varint
|
|
2548
|
+
|
|
2549
|
+
VoxelShapeNameEntry:
|
|
2550
|
+
name: string
|
|
2551
|
+
id: lu16
|
|
2552
|
+
|
|
2553
|
+
GatheringJoinInfo:
|
|
2554
|
+
experience_id: string
|
|
2555
|
+
experience_name: string
|
|
2556
|
+
experience_world_id: string
|
|
2557
|
+
experience_world_name: string
|
|
2558
|
+
creator_id: string
|
|
2559
|
+
store_id: string
|
|
2560
|
+
|
|
2561
|
+
ServerJoinInformation:
|
|
2562
|
+
has_gathering_info: bool
|
|
2563
|
+
gathering_info: has_gathering_info ?
|
|
2564
|
+
if true: GatheringJoinInfo
|
|
2565
|
+
|
|
2566
|
+
|
|
2567
|
+
DisconnectFailReason: zigzag32 =>
|
|
2568
|
+
- unknown
|
|
2569
|
+
- cant_connect_no_internet
|
|
2570
|
+
- no_permissions
|
|
2571
|
+
- unrecoverable_error
|
|
2572
|
+
- third_party_blocked
|
|
2573
|
+
- third_party_no_internet
|
|
2574
|
+
- third_party_bad_ip
|
|
2575
|
+
- third_party_no_server_or_server_locked
|
|
2576
|
+
- version_mismatch
|
|
2577
|
+
- skin_issue
|
|
2578
|
+
- invite_session_not_found
|
|
2579
|
+
- edu_level_settings_missing
|
|
2580
|
+
- local_server_not_found
|
|
2581
|
+
- legacy_disconnect
|
|
2582
|
+
- user_leave_game_attempted
|
|
2583
|
+
- platform_locked_skins_error
|
|
2584
|
+
- realms_world_unassigned
|
|
2585
|
+
- realms_server_cant_connect
|
|
2586
|
+
- realms_server_hidden
|
|
2587
|
+
- realms_server_disabled_beta
|
|
2588
|
+
- realms_server_disabled
|
|
2589
|
+
- cross_platform_disallowed
|
|
2590
|
+
- cant_connect
|
|
2591
|
+
- session_not_found
|
|
2592
|
+
- client_settings_incompatible_with_server
|
|
2593
|
+
- server_full
|
|
2594
|
+
- invalid_platform_skin
|
|
2595
|
+
- edition_version_mismatch
|
|
2596
|
+
- edition_mismatch
|
|
2597
|
+
- level_newer_than_exe_version
|
|
2598
|
+
- no_fail_occurred
|
|
2599
|
+
- banned_skin
|
|
2600
|
+
- timeout
|
|
2601
|
+
- server_not_found
|
|
2602
|
+
- outdated_server
|
|
2603
|
+
- outdated_client
|
|
2604
|
+
- no_premium_platform
|
|
2605
|
+
- multiplayer_disabled
|
|
2606
|
+
- no_wifi
|
|
2607
|
+
- world_corruption
|
|
2608
|
+
- no_reason
|
|
2609
|
+
- disconnected
|
|
2610
|
+
- invalid_player
|
|
2611
|
+
- logged_in_other_location
|
|
2612
|
+
- server_id_conflict
|
|
2613
|
+
- not_allowed
|
|
2614
|
+
- not_authenticated
|
|
2615
|
+
- invalid_tenant
|
|
2616
|
+
- unknown_packet
|
|
2617
|
+
- unexpected_packet
|
|
2618
|
+
- invalid_command_request_packet
|
|
2619
|
+
- host_suspended
|
|
2620
|
+
- login_packet_no_request
|
|
2621
|
+
- login_packet_no_cert
|
|
2622
|
+
- missing_client
|
|
2623
|
+
- kicked
|
|
2624
|
+
- kicked_for_exploit
|
|
2625
|
+
- kicked_for_idle
|
|
2626
|
+
- resource_pack_problem
|
|
2627
|
+
- incompatible_pack
|
|
2628
|
+
- out_of_storage
|
|
2629
|
+
- invalid_level
|
|
2630
|
+
- disconnect_packet_deprecated
|
|
2631
|
+
- block_mismatch
|
|
2632
|
+
- invalid_heights
|
|
2633
|
+
- invalid_widths
|
|
2634
|
+
# deprecated
|
|
2635
|
+
- connection_lost
|
|
2636
|
+
- zombie_connection
|
|
2637
|
+
- shutdown
|
|
2638
|
+
- reason_not_set
|
|
2639
|
+
- loading_state_timeout
|
|
2640
|
+
- resource_pack_loading_failed
|
|
2641
|
+
- searching_for_session_loading_screen_failed
|
|
2642
|
+
- conn_protocol_version
|
|
2643
|
+
- subsystem_status_error
|
|
2644
|
+
- empty_auth_from_discovery
|
|
2645
|
+
- empty_url_from_discovery
|
|
2646
|
+
- expired_auth_from_discovery
|
|
2647
|
+
- unknown_signal_service_sign_in_failure
|
|
2648
|
+
- xbl_join_lobby_failure
|
|
2649
|
+
- unspecified_client_instance_disconnection
|
|
2650
|
+
- conn_session_not_found
|
|
2651
|
+
- conn_create_peer_connection
|
|
2652
|
+
- conn_ice
|
|
2653
|
+
- conn_connect_request
|
|
2654
|
+
- conn_connect_response
|
|
2655
|
+
- conn_negotiation_timeout
|
|
2656
|
+
- conn_inactivity_timeout
|
|
2657
|
+
- stale_connection_being_replaced
|
|
2658
|
+
- realms_session_not_found
|
|
2659
|
+
- bad_packet
|
|
2660
|
+
- conn_failed_to_create_offer
|
|
2661
|
+
- conn_failed_to_create_answer
|
|
2662
|
+
- conn_failed_to_set_local_description
|
|
2663
|
+
- conn_failed_to_set_remote_description
|
|
2664
|
+
- conn_negotiation_timeout_waiting_for_response
|
|
2665
|
+
- conn_negotiation_timeout_waiting_for_accept
|
|
2666
|
+
- conn_incoming_connection_ignored
|
|
2667
|
+
- conn_signaling_parsing_failure
|
|
2668
|
+
- conn_signaling_unknown_error
|
|
2669
|
+
- conn_signaling_unicast_delivery_failed
|
|
2670
|
+
- conn_signaling_broadcast_delivery_failed
|
|
2671
|
+
- conn_signaling_generic_delivery_failed
|
|
2672
|
+
- editor_mismatch_editor_world
|
|
2673
|
+
- editor_mismatch_vanilla_world
|
|
2674
|
+
- world_transfer_not_primary_client
|
|
2675
|
+
- server_shutdown
|
|
2676
|
+
- game_setup_cancelled
|
|
2677
|
+
- game_setup_failed
|
|
2678
|
+
- no_venue
|
|
2679
|
+
- conn_signalling_sign_in_failed
|
|
2680
|
+
- session_access_denied
|
|
2681
|
+
- service_sign_in_issue
|
|
2682
|
+
- conn_no_signaling_channel
|
|
2683
|
+
- conn_not_logged_in
|
|
2684
|
+
- conn_client_signalling_error
|
|
2685
|
+
- sub_client_login_disabled
|
|
2686
|
+
- deep_link_trying_to_open_demo_world_while_signed_in
|
|
2687
|
+
- async_join_task_denied
|
|
2688
|
+
- realms_timeline_required
|
|
2689
|
+
- guest_withough_host
|
|
2690
|
+
- failed_to_join_experience
|
|
2691
|
+
- host_signed_out
|
|
2692
|
+
- script_watchdog_exception
|
|
2693
|
+
- script_memory_limit_exceeded
|
|
2694
|
+
- storage_low_during_gameplay
|
|
2695
|
+
- storage_full_during_gameplay
|
|
2696
|
+
- level_storage_corruption
|
|
2697
|
+
- edition_mismatch_vanilla_to_edu
|
|
2698
|
+
- edition_mismatch_edu_to_vanilla
|
|
2699
|
+
- editor_mismatch_editor_to_vanilla
|
|
2700
|
+
- editor_mismatch_vanilla_to_editor
|
|
2701
|
+
- deny_listed
|
|
2702
|
+
|
|
2703
|
+
FullContainerName:
|
|
2704
|
+
container_id: ContainerSlotType
|
|
2705
|
+
dynamic_container_id?: u32
|
|
2706
|
+
|
|
2707
|
+
MovementEffectType: varint =>
|
|
2708
|
+
-1: invalid
|
|
2709
|
+
0: GLIDE_BOOST
|
|
2710
|
+
|
|
2711
|
+
# BiomeDefinition represents a biome definition in the game. This can be a vanilla biome or a completely
|
|
2712
|
+
# custom biome.
|
|
2713
|
+
BiomeDefinition:
|
|
2714
|
+
# NameIndex represents the index of the biome name in the string list from BiomeDefinitionListPacket.
|
|
2715
|
+
name_index: li16
|
|
2716
|
+
# BiomeID is the biome ID. This is optional and can be empty.
|
|
2717
|
+
biome_id: lu16
|
|
2718
|
+
# Temperature is the temperature of the biome, used for weather, biome behaviours and sky colour.
|
|
2719
|
+
temperature: lf32
|
|
2720
|
+
# Downfall is the amount that precipitation affects colours and block changes.
|
|
2721
|
+
downfall: lf32
|
|
2722
|
+
# Changes leaves turning white in snow
|
|
2723
|
+
snow_foliage: lf32
|
|
2724
|
+
# Depth ...
|
|
2725
|
+
depth: lf32
|
|
2726
|
+
# Scale ...
|
|
2727
|
+
scale: lf32
|
|
2728
|
+
# MapWaterColour is an ARGB value for the water colour on maps in the biome.
|
|
2729
|
+
map_water_colour: li32
|
|
2730
|
+
# Rain is true if the biome has rain, false if it is a dry biome.
|
|
2731
|
+
rain: bool
|
|
2732
|
+
# Tags are a list of indices of tags in the string list. These are used to group biomes together for
|
|
2733
|
+
# biome generation and other purposes.
|
|
2734
|
+
tags?: lu16[]varint
|
|
2735
|
+
# ChunkGeneration is optional information to assist in client-side chunk generation.
|
|
2736
|
+
chunk_generation?: BiomeChunkGeneration
|
|
2737
|
+
|
|
2738
|
+
|
|
2739
|
+
# BiomeChunkGeneration represents the information required for the client to generate chunks itself
|
|
2740
|
+
# to create the illusion of a larger render distance.
|
|
2741
|
+
BiomeChunkGeneration:
|
|
2742
|
+
# Climate is optional information to specify the biome's climate.
|
|
2743
|
+
climate?: BiomeClimate
|
|
2744
|
+
# ConsolidatedFeatures is a list of features that are consolidated into a single feature.
|
|
2745
|
+
consolidated_features?: BiomeConsolidatedFeature[]varint
|
|
2746
|
+
# MountainParameters is optional information to specify the biome's mountain parameters.
|
|
2747
|
+
mountain_parameters?: BiomeMountainParameters
|
|
2748
|
+
# SurfaceMaterialAdjustments is a list of surface material adjustments.
|
|
2749
|
+
surface_material_adjustments?: BiomeElementData[]varint
|
|
2750
|
+
# SurfaceMaterials is a set of materials to use for the surface layers of the biome.
|
|
2751
|
+
surface_materials?: BiomeSurfaceMaterial
|
|
2752
|
+
# HasDefaultOverworldSurface is true if the biome has a default overworld surface.
|
|
2753
|
+
has_default_overworld_surface: bool
|
|
2754
|
+
# HasSwampSurface is true if the biome has a swamp surface.
|
|
2755
|
+
has_swamp_surface: bool
|
|
2756
|
+
# HasFrozenOceanSurface is true if the biome has a frozen ocean surface.
|
|
2757
|
+
has_frozen_ocean_surface: bool
|
|
2758
|
+
# HasEndSurface is true if the biome has an end surface.
|
|
2759
|
+
has_end_surface: bool
|
|
2760
|
+
# MesaSurface is optional information to specify the biome's mesa surface.
|
|
2761
|
+
mesa_surface?: BiomeMesaSurface
|
|
2762
|
+
# CappedSurface is optional information to specify the biome's capped surface, i.e. in the Nether.
|
|
2763
|
+
capped_surface?: BiomeCappedSurface
|
|
2764
|
+
# OverworldRules is optional information to specify the biome's overworld rules, such as rivers and hills.
|
|
2765
|
+
overworld_rules?: BiomeOverworldRules
|
|
2766
|
+
# MultiNoiseRules is optional information to specify the biome's multi-noise rules.
|
|
2767
|
+
multi_noise_rules?: BiomeMultiNoiseRules
|
|
2768
|
+
# LegacyRules is a list of legacy rules for the biomes using an older format, which is just a list of
|
|
2769
|
+
# weighted biomes.
|
|
2770
|
+
legacy_rules?: BiomeConditionalTransformation[]varint
|
|
2771
|
+
# ReplacementsData is a list of biome replacement data.
|
|
2772
|
+
replacements_data?: BiomeReplacementData[]varint
|
|
2773
|
+
has_village_type: bool
|
|
2774
|
+
village_type: has_village_type ?
|
|
2775
|
+
if true: u8
|
|
2776
|
+
|
|
2777
|
+
# BiomeClimate represents the climate of a biome, mainly for ambience but also defines certain behaviours.
|
|
2778
|
+
BiomeClimate:
|
|
2779
|
+
# Temperature is the temperature of the biome, used for weather, biome behaviours and sky colour.
|
|
2780
|
+
temperature: lf32
|
|
2781
|
+
# Downfall is the amount that precipitation affects colours and block changes.
|
|
2782
|
+
downfall: lf32
|
|
2783
|
+
# SnowAccumulationMin is the minimum amount of snow that can accumulate in the biome, every 0.125 is
|
|
2784
|
+
# another layer of snow.
|
|
2785
|
+
snow_accumulation_min: lf32
|
|
2786
|
+
# SnowAccumulationMax is the maximum amount of snow that can accumulate in the biome, every 0.125 is
|
|
2787
|
+
# another layer of snow.
|
|
2788
|
+
snow_accumulation_max: lf32
|
|
2789
|
+
|
|
2790
|
+
# BiomeMountainParameters specifies the parameters for a mountain biome.
|
|
2791
|
+
BiomeMountainParameters:
|
|
2792
|
+
# SteepBlock is the runtime ID of the block to use for steep slopes.
|
|
2793
|
+
steep_block: li32
|
|
2794
|
+
# NorthSlopes is true if the biome has north slopes.
|
|
2795
|
+
north_slopes: bool
|
|
2796
|
+
# SouthSlopes is true if the biome has south slopes.
|
|
2797
|
+
south_slopes: bool
|
|
2798
|
+
# WestSlopes is true if the biome has west slopes.
|
|
2799
|
+
west_slopes: bool
|
|
2800
|
+
# EastSlopes is true if the biome has east slopes.
|
|
2801
|
+
east_slopes: bool
|
|
2802
|
+
# TopSlideEnabled is true if the biome has top slide enabled.
|
|
2803
|
+
top_slide_enabled: bool
|
|
2804
|
+
|
|
2805
|
+
# BiomeSurfaceMaterial specifies the materials to use for the surface layers of the biome.
|
|
2806
|
+
BiomeSurfaceMaterial:
|
|
2807
|
+
# TopBlock is the runtime ID of the block to use for the top layer.
|
|
2808
|
+
top_block: li32
|
|
2809
|
+
# MidBlock is the runtime ID to use for the middle layers.
|
|
2810
|
+
mid_block: li32
|
|
2811
|
+
# SeaFloorBlock is the runtime ID to use for the sea floor.
|
|
2812
|
+
sea_floor_block: li32
|
|
2813
|
+
# FoundationBlock is the runtime ID to use for the foundation layers.
|
|
2814
|
+
foundation_block: li32
|
|
2815
|
+
# SeaBlock is the runtime ID to use for the sea layers.
|
|
2816
|
+
sea_block: li32
|
|
2817
|
+
# SeaFloorDepth is the depth of the sea floor, in blocks.
|
|
2818
|
+
sea_floor_depth: li32
|
|
2819
|
+
|
|
2820
|
+
# BiomeMesaSurface specifies the materials to use for the mesa biome.
|
|
2821
|
+
BiomeMesaSurface:
|
|
2822
|
+
# ClayMaterial is the runtime ID of the block to use for clay layers.
|
|
2823
|
+
clay_material: lu32
|
|
2824
|
+
# HardClayMaterial is the runtime ID of the block to use for hard clay layers.
|
|
2825
|
+
hard_clay_material: lu32
|
|
2826
|
+
# BrycePillars is true if the biome has bryce pillars, which are tall spire-like structures.
|
|
2827
|
+
bryce_pillars: bool
|
|
2828
|
+
# HasForest is true if the biome has a forest.
|
|
2829
|
+
has_forest: bool
|
|
2830
|
+
|
|
2831
|
+
# BiomeCappedSurface specifies the materials to use for the capped surface of a biome, such as in the Nether.
|
|
2832
|
+
BiomeCappedSurface:
|
|
2833
|
+
# FloorBlocks is a list of runtime IDs to use for the floor blocks.
|
|
2834
|
+
floor_blocks: li32[]varint
|
|
2835
|
+
# CeilingBlocks is a list of runtime IDs to use for the ceiling blocks.
|
|
2836
|
+
ceiling_blocks: li32[]varint
|
|
2837
|
+
# SeaBlock is an optional runtime ID to use for the sea block.
|
|
2838
|
+
sea_block?: lu32
|
|
2839
|
+
# FoundationBlock is an optional runtime ID to use for the foundation block.
|
|
2840
|
+
foundation_block?: lu32
|
|
2841
|
+
# BeachBlock is an optional runtime ID to use for the beach block.
|
|
2842
|
+
beach_block?: lu32
|
|
2843
|
+
|
|
2844
|
+
# BiomeMultiNoiseRules specifies the rules for multi-noise biomes, which are biomes that are defined by
|
|
2845
|
+
# multiple noise parameters instead of just temperature and humidity.
|
|
2846
|
+
BiomeMultiNoiseRules:
|
|
2847
|
+
# Temperature is the temperature level of the biome.
|
|
2848
|
+
temperature: lf32
|
|
2849
|
+
# Humidity is the humidity level of the biome.
|
|
2850
|
+
humidity: lf32
|
|
2851
|
+
# Altitude is the altitude level of the biome.
|
|
2852
|
+
altitude: lf32
|
|
2853
|
+
# Weirdness is the weirdness level of the biome.
|
|
2854
|
+
weirdness: lf32
|
|
2855
|
+
# Weight is the weight of the biome, with a higher weight being more likely to be selected.
|
|
2856
|
+
weight: lf32
|
|
2857
|
+
|
|
2858
|
+
# BiomeWeight defines the weight for a biome, used for weighted randomness.
|
|
2859
|
+
BiomeWeight:
|
|
2860
|
+
# Biome is the index of the biome name in the string list.
|
|
2861
|
+
biome: li16
|
|
2862
|
+
# Weight is the weight of the biome, with a higher weight being more likely to be selected.
|
|
2863
|
+
weight: lu32
|
|
2864
|
+
|
|
2865
|
+
# BiomeTemperatureWeight defines the weight for a temperature, used for weighted randomness.
|
|
2866
|
+
BiomeTemperatureWeight:
|
|
2867
|
+
# Temperature is the temperature that can be selected.
|
|
2868
|
+
temperature: zigzag32
|
|
2869
|
+
# Weight is the weight of the temperature, with a higher weight being more likely to be selected.
|
|
2870
|
+
weight: lu32
|
|
2871
|
+
|
|
2872
|
+
# BiomeConsolidatedFeature represents a feature that is consolidated into a single feature for the biome.
|
|
2873
|
+
BiomeConsolidatedFeature:
|
|
2874
|
+
# Scatter defines how the feature is scattered in the biome.
|
|
2875
|
+
scatter: BiomeScatterParameter
|
|
2876
|
+
# Feature is the index of the feature's name in the string list.
|
|
2877
|
+
feature: li16
|
|
2878
|
+
# Identifier is the index of the feature's identifier in the string list.
|
|
2879
|
+
identifier: li16
|
|
2880
|
+
# Pass is the index of the feature's pass in the string list.
|
|
2881
|
+
pass: li16
|
|
2882
|
+
# CanUseInternal is true if the feature can use internal features.
|
|
2883
|
+
can_use_internal: bool
|
|
2884
|
+
|
|
2885
|
+
BiomeScatterParameter:
|
|
2886
|
+
# Coordinates is a list of coordinate rules to scatter the feature within.
|
|
2887
|
+
coordinates: BiomeCoordinate[]varint
|
|
2888
|
+
# EvaluationOrder is the order in which the coordinates are evaluated.
|
|
2889
|
+
evaluation_order: zigzag32 => # BiomeCoordinateEvaluationOrder
|
|
2890
|
+
0: xyz
|
|
2891
|
+
1: xzy
|
|
2892
|
+
2: yxz
|
|
2893
|
+
3: yzx
|
|
2894
|
+
4: zxy
|
|
2895
|
+
5: zyx
|
|
2896
|
+
# ChancePercentType is the type of expression operation to use for the chance percent.
|
|
2897
|
+
chance_percent_type: zigzag32 # BiomeExpressionOp
|
|
2898
|
+
# ChancePercent is the index of the chance expression in the string list.
|
|
2899
|
+
chance_percent: li16
|
|
2900
|
+
# ChanceNumerator is the numerator of the chance expression.
|
|
2901
|
+
chance_numerator: li32
|
|
2902
|
+
# ChanceDenominator is the denominator of the chance expression.
|
|
2903
|
+
chance_denominator: li32
|
|
2904
|
+
# IterationsType is the type of expression operation to use for the iterations.
|
|
2905
|
+
iterations_type: zigzag32 # BiomeExpressionOp
|
|
2906
|
+
# Iterations is the index of the iterations expression in the string list.
|
|
2907
|
+
iterations: li16
|
|
2908
|
+
|
|
2909
|
+
# BiomeCoordinate specifies coordinate rules for where features can be scattered in the biome.
|
|
2910
|
+
BiomeCoordinate:
|
|
2911
|
+
# MinValueType is the type of expression operation to use for the minimum value.
|
|
2912
|
+
min_value_type: zigzag32 # BiomeExpressionOp
|
|
2913
|
+
# MinValue is the index of the minimum value expression in the string list.
|
|
2914
|
+
min_value: li16
|
|
2915
|
+
# MaxValueType is the type of expression operation to use for the maximum value.
|
|
2916
|
+
max_value_type: zigzag32 # BiomeExpressionOp
|
|
2917
|
+
# MaxValue is the index of the maximum value expression in the string list.
|
|
2918
|
+
max_value: li16
|
|
2919
|
+
# GridOffset is the offset of the grid, used for fixed grid and jittered grid distributions.
|
|
2920
|
+
grid_offset: lu32
|
|
2921
|
+
# GridStepSize is the step size of the grid, used for fixed grid and jittered grid distributions.
|
|
2922
|
+
grid_step_size: lu32
|
|
2923
|
+
# Distribution is the type of distribution to use for the coordinate.
|
|
2924
|
+
distribution: zigzag32 => # BiomeRandomDistributionType
|
|
2925
|
+
0: single_valued
|
|
2926
|
+
1: uniform
|
|
2927
|
+
2: gaussian
|
|
2928
|
+
3: inverse_gaussian
|
|
2929
|
+
4: fixed_grid
|
|
2930
|
+
5: jittered_grid
|
|
2931
|
+
6: triangle
|
|
2932
|
+
|
|
2933
|
+
# BiomeElementData are set rules to adjust the surface materials of the biome.
|
|
2934
|
+
BiomeElementData:
|
|
2935
|
+
# NoiseFrequencyScale is the frequency scale of the noise used to adjust the surface materials.
|
|
2936
|
+
noise_frequency_scale: lf32
|
|
2937
|
+
# NoiseLowerBound is the minimum noise value required to be selected.
|
|
2938
|
+
noise_lower_bound: lf32
|
|
2939
|
+
# NoiseUpperBound is the maximum noise value required to be selected.
|
|
2940
|
+
noise_upper_bound: lf32
|
|
2941
|
+
# HeightMinType is the type of expression operation to use for the minimum height.
|
|
2942
|
+
height_min_type: zigzag32 # BiomeExpressionOp
|
|
2943
|
+
# HeightMin is the index of the minimum height expression in the string list.
|
|
2944
|
+
height_min: li16
|
|
2945
|
+
# HeightMaxType is the type of expression operation to use for the maximum height.
|
|
2946
|
+
height_max_type: zigzag32 # BiomeExpressionOp
|
|
2947
|
+
# HeightMax is the index of the maximum height expression in the string list.
|
|
2948
|
+
height_max: li16
|
|
2949
|
+
# AdjustedMaterials is the materials to use for the surface layers of the biome if selected.
|
|
2950
|
+
adjusted_materials: BiomeSurfaceMaterial
|
|
2951
|
+
|
|
2952
|
+
# BiomeOverworldRules specifies a list of transformation rules to apply to different parts of the overworld.
|
|
2953
|
+
BiomeOverworldRules:
|
|
2954
|
+
# HillsTransformations is a list of weighted biome transformations to apply to hills.
|
|
2955
|
+
hills_transformations: BiomeWeight[]varint
|
|
2956
|
+
# MutateTransformations is a list of weighted biome transformations to apply to mutated biomes.
|
|
2957
|
+
mutate_transformations: BiomeWeight[]varint
|
|
2958
|
+
# RiverTransformations is a list of weighted biome transformations to apply to rivers.
|
|
2959
|
+
river_transformations: BiomeWeight[]varint
|
|
2960
|
+
# ShoreTransformations is a list of weighted biome transformations to apply to shores.
|
|
2961
|
+
shore_transformations: BiomeWeight[]varint
|
|
2962
|
+
# PreHillsEdgeTransformations is a list of conditional transformations to apply to the edges of hills.
|
|
2963
|
+
pre_hills_edge_transformations: BiomeConditionalTransformation[]varint
|
|
2964
|
+
# PostShoreEdgeTransformations is a list of conditional transformations to apply to the edges of shores.
|
|
2965
|
+
post_shore_edge_transformations: BiomeConditionalTransformation[]varint
|
|
2966
|
+
# ClimateTransformations is a list of weighted temperature transformations to apply to the biome's climate.
|
|
2967
|
+
climate_transformations: BiomeTemperatureWeight[]varint
|
|
2968
|
+
|
|
2969
|
+
# BiomeConditionalTransformation is the legacy method of transforming biomes.
|
|
2970
|
+
BiomeConditionalTransformation:
|
|
2971
|
+
# WeightedBiomes is a list of biomes and their weights.
|
|
2972
|
+
weighted_biomes: BiomeWeight[]varint
|
|
2973
|
+
# ConditionJSON is an index of the condition JSON data in the string list.
|
|
2974
|
+
condition_json: li16
|
|
2975
|
+
# MinPassingNeighbours is the minimum number of neighbours that must pass the condition for the
|
|
2976
|
+
# transformation to be applied.
|
|
2977
|
+
min_passing_neighbours: lu32
|
|
2978
|
+
|
|
2979
|
+
# BiomeReplacementData represents data for biome replacements.
|
|
2980
|
+
BiomeReplacementData:
|
|
2981
|
+
# Biome is the biome ID to replace.
|
|
2982
|
+
biome: li16
|
|
2983
|
+
# Dimension is the dimension ID where the replacement applies.
|
|
2984
|
+
dimension: li16
|
|
2985
|
+
# TargetBiomes is a list of target biome IDs for the replacement.
|
|
2986
|
+
target_biomes: li16[]varint
|
|
2987
|
+
# Amount is the amount of replacement to apply.
|
|
2988
|
+
amount: lf32
|
|
2989
|
+
# NoiseFrequencyScale is the noise frequency scale to use for replacement selection.
|
|
2990
|
+
noise_frequency_scale: lf32
|
|
2991
|
+
# ReplacementIndex is the index of the replacement.
|
|
2992
|
+
replacement_index: lu32
|
|
2993
|
+
|
|
2994
|
+
EaseType: u8 =>
|
|
2995
|
+
- Linear
|
|
2996
|
+
- Spring
|
|
2997
|
+
- InQuad
|
|
2998
|
+
- OutQuad
|
|
2999
|
+
- InOutQuad
|
|
3000
|
+
- InCubic
|
|
3001
|
+
- OutCubic
|
|
3002
|
+
- InOutCubic
|
|
3003
|
+
- InQuart
|
|
3004
|
+
- OutQuart
|
|
3005
|
+
- InOutQuart
|
|
3006
|
+
- InQuint
|
|
3007
|
+
- OutQuint
|
|
3008
|
+
- InOutQuint
|
|
3009
|
+
- InSine
|
|
3010
|
+
- OutSine
|
|
3011
|
+
- InOutSine
|
|
3012
|
+
- InExpo
|
|
3013
|
+
- OutExpo
|
|
3014
|
+
- InOutExpo
|
|
3015
|
+
- InCirc
|
|
3016
|
+
- OutCirc
|
|
3017
|
+
- InOutCirc
|
|
3018
|
+
- InBounce
|
|
3019
|
+
- OutBounce
|
|
3020
|
+
- InOutBounce
|
|
3021
|
+
- InBack
|
|
3022
|
+
- OutBack
|
|
3023
|
+
- InOutBack
|
|
3024
|
+
- InElastic
|
|
3025
|
+
- OutElastic
|
|
3026
|
+
- InOutElastic
|
|
3027
|
+
|
|
3028
|
+
CameraSplineEaseType: u8 =>
|
|
3029
|
+
- catmull_rom
|
|
3030
|
+
- linear
|
|
3031
|
+
|
|
3032
|
+
ParameterKeyframeValue:
|
|
3033
|
+
# Time is the time of the keyframe.
|
|
3034
|
+
time: lf32
|
|
3035
|
+
# Value is the value at the keyframe.
|
|
3036
|
+
value: vec3f
|
|
3037
|
+
|
|
3038
|
+
GraphicsOverrideParameterType: u8 =>
|
|
3039
|
+
- sky_zenith_color
|
|
3040
|
+
- sky_horizon_color
|
|
3041
|
+
- horizon_blend_min
|
|
3042
|
+
- horizon_blend_max
|
|
3043
|
+
- horizon_blend_start
|
|
3044
|
+
- horizon_blend_mie_start
|
|
3045
|
+
- rayleigh_strength
|
|
3046
|
+
- sun_mie_strength
|
|
3047
|
+
- moon_mie_strength
|
|
3048
|
+
- sun_glare_shape
|
|
3049
|
+
- chlorophyll
|
|
3050
|
+
- cdom
|
|
3051
|
+
- suspended_sediment
|
|
3052
|
+
- waves_depth
|
|
3053
|
+
- waves_frequency
|
|
3054
|
+
- waves_frequency_scaling
|
|
3055
|
+
- waves_speed
|
|
3056
|
+
- waves_speed_scaling
|
|
3057
|
+
- waves_shape
|
|
3058
|
+
- waves_octaves
|
|
3059
|
+
- waves_mix
|
|
3060
|
+
- waves_pull
|
|
3061
|
+
- waves_direction_increment
|
|
3062
|
+
- midtones_contrast
|
|
3063
|
+
- highlights_contrast
|
|
3064
|
+
- shadows_contrast
|
|
3065
|
+
|
|
3066
|
+
DebugMarkerData:
|
|
3067
|
+
text: string
|
|
3068
|
+
position: vec3f
|
|
3069
|
+
color: lu32
|
|
3070
|
+
duration: lu64
|