minecraft-data 2.109.0 → 2.113.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 +45 -14
- package/doc/api.md +8 -0
- package/doc/history.md +12 -0
- package/index.d.ts +7 -5
- package/index.js +4 -1
- package/minecraft-data/data/bedrock/1.16.201/proto.yml +58 -3
- package/minecraft-data/data/bedrock/1.16.201/protocol.json +123 -2
- package/minecraft-data/data/bedrock/1.16.201/version.json +6 -0
- package/minecraft-data/data/bedrock/1.16.210/proto.yml +58 -1
- package/minecraft-data/data/bedrock/1.16.210/protocol.json +122 -1
- package/minecraft-data/data/bedrock/1.16.210/version.json +6 -0
- package/minecraft-data/data/bedrock/1.16.220/proto.yml +6 -3
- package/minecraft-data/data/bedrock/1.16.220/protocol.json +42 -11
- package/minecraft-data/data/bedrock/1.16.220/version.json +6 -0
- package/minecraft-data/data/bedrock/1.17.0/proto.yml +6 -3
- package/minecraft-data/data/bedrock/1.17.0/protocol.json +42 -11
- package/minecraft-data/data/bedrock/1.17.0/version.json +6 -0
- package/minecraft-data/data/bedrock/1.17.10/proto.yml +6 -3
- package/minecraft-data/data/bedrock/1.17.10/protocol.json +42 -11
- package/minecraft-data/data/bedrock/1.17.10/version.json +6 -0
- package/minecraft-data/data/bedrock/1.17.30/proto.yml +6 -3
- package/minecraft-data/data/bedrock/1.17.30/protocol.json +42 -11
- package/minecraft-data/data/bedrock/1.17.30/version.json +6 -0
- package/minecraft-data/data/bedrock/{1.18.0 → 1.17.40}/blockCollisionShapes.json +0 -0
- package/minecraft-data/data/bedrock/{1.18.0 → 1.17.40}/blockStates.json +1228 -0
- package/minecraft-data/data/bedrock/{1.18.0 → 1.17.40}/blocks.json +5113 -5001
- package/minecraft-data/data/bedrock/1.17.40/proto.yml +1 -1
- package/minecraft-data/data/bedrock/1.17.40/protocol.json +10 -9
- package/minecraft-data/data/bedrock/1.17.40/version.json +6 -0
- package/minecraft-data/data/bedrock/1.18.0/proto.yml +3305 -0
- package/minecraft-data/data/bedrock/1.18.0/protocol.json +43 -12
- package/minecraft-data/data/bedrock/1.18.0/types.yml +1764 -0
- package/minecraft-data/data/bedrock/1.18.0/version.json +6 -0
- package/minecraft-data/data/bedrock/1.18.11/protocol.json +9791 -0
- package/minecraft-data/data/bedrock/1.18.11/version.json +6 -0
- package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
- package/minecraft-data/data/bedrock/latest/proto.yml +91 -30
- package/minecraft-data/data/bedrock/latest/types.yml +38 -2
- package/minecraft-data/data/dataPaths.json +45 -14
- package/minecraft-data/data/pc/1.13/recipes.json +18 -1
- package/minecraft-data/data/pc/1.13.2/recipes.json +18 -1
- package/minecraft-data/data/pc/1.14/recipes.json +18 -1
- package/minecraft-data/data/pc/1.14.4/recipes.json +18 -1
- package/minecraft-data/data/pc/1.15.2/recipes.json +18 -1
- package/minecraft-data/data/pc/1.16.1/recipes.json +18 -1
- package/minecraft-data/data/pc/1.16.2/recipes.json +18 -1
- package/minecraft-data/data/pc/1.17/recipes.json +18 -1
- package/minecraft-data/data/pc/1.18/recipes.json +18 -1
- package/minecraft-data/data/pc/common/protocolVersions.json +7 -0
- package/minecraft-data/doc/history.md +12 -0
- package/minecraft-data/schemas/version_schema.json +5 -1
- package/minecraft-data/tools/js/test/audit_datapaths.js +33 -0
- package/package.json +1 -1
- package/typings/index-template.d.ts +6 -5
package/data.js
CHANGED
|
@@ -1035,6 +1035,7 @@ module.exports =
|
|
|
1035
1035
|
get mapIcons () { return require("./minecraft-data/data/pc/1.16/mapIcons.json") }
|
|
1036
1036
|
},
|
|
1037
1037
|
'1.18': {
|
|
1038
|
+
get attributes () { return require("./minecraft-data/data/pc/1.17/attributes.json") },
|
|
1038
1039
|
get blocks () { return require("./minecraft-data/data/pc/1.18/blocks.json") },
|
|
1039
1040
|
get blockCollisionShapes () { return require("./minecraft-data/data/pc/1.17/blockCollisionShapes.json") },
|
|
1040
1041
|
get biomes () { return require("./minecraft-data/data/pc/1.18/biomes.json") },
|
|
@@ -1058,6 +1059,7 @@ module.exports =
|
|
|
1058
1059
|
get mapIcons () { return require("./minecraft-data/data/pc/1.16/mapIcons.json") }
|
|
1059
1060
|
},
|
|
1060
1061
|
'1.18.1': {
|
|
1062
|
+
get attributes () { return require("./minecraft-data/data/pc/1.17/attributes.json") },
|
|
1061
1063
|
get blocks () { return require("./minecraft-data/data/pc/1.18/blocks.json") },
|
|
1062
1064
|
get blockCollisionShapes () { return require("./minecraft-data/data/pc/1.17/blockCollisionShapes.json") },
|
|
1063
1065
|
get biomes () { return require("./minecraft-data/data/pc/1.18/biomes.json") },
|
|
@@ -1106,13 +1108,16 @@ module.exports =
|
|
|
1106
1108
|
get protocol () { return require("./minecraft-data/data/bedrock/1.16.201/protocol.json") },
|
|
1107
1109
|
get steve () { return require("./minecraft-data/data/bedrock/1.16.201/steve.json") },
|
|
1108
1110
|
proto: __dirname + '/minecraft-data/data/bedrock/1.17.0/proto.yml',
|
|
1109
|
-
types: __dirname + '/minecraft-data/data/bedrock/1.17.0/types.yml'
|
|
1111
|
+
types: __dirname + '/minecraft-data/data/bedrock/1.17.0/types.yml',
|
|
1112
|
+
get windows () { return require("./minecraft-data/data/bedrock/1.16.201/windows.json") },
|
|
1113
|
+
get version () { return require("./minecraft-data/data/bedrock/1.16.201/version.json") }
|
|
1110
1114
|
},
|
|
1111
1115
|
'1.16.210': {
|
|
1112
1116
|
get protocol () { return require("./minecraft-data/data/bedrock/1.16.210/protocol.json") },
|
|
1113
1117
|
get steve () { return require("./minecraft-data/data/bedrock/1.16.201/steve.json") },
|
|
1114
1118
|
proto: __dirname + '/minecraft-data/data/bedrock/1.17.0/proto.yml',
|
|
1115
|
-
types: __dirname + '/minecraft-data/data/bedrock/1.17.0/types.yml'
|
|
1119
|
+
types: __dirname + '/minecraft-data/data/bedrock/1.17.0/types.yml',
|
|
1120
|
+
get version () { return require("./minecraft-data/data/bedrock/1.16.210/version.json") }
|
|
1116
1121
|
},
|
|
1117
1122
|
'1.16.220': {
|
|
1118
1123
|
get blocks () { return require("./minecraft-data/data/bedrock/1.16.220/blocks.json") },
|
|
@@ -1121,7 +1126,8 @@ module.exports =
|
|
|
1121
1126
|
get steve () { return require("./minecraft-data/data/bedrock/1.16.201/steve.json") },
|
|
1122
1127
|
get protocol () { return require("./minecraft-data/data/bedrock/1.16.220/protocol.json") },
|
|
1123
1128
|
proto: __dirname + '/minecraft-data/data/bedrock/1.17.0/proto.yml',
|
|
1124
|
-
types: __dirname + '/minecraft-data/data/bedrock/1.17.0/types.yml'
|
|
1129
|
+
types: __dirname + '/minecraft-data/data/bedrock/1.17.0/types.yml',
|
|
1130
|
+
get version () { return require("./minecraft-data/data/bedrock/1.16.220/version.json") }
|
|
1125
1131
|
},
|
|
1126
1132
|
'1.17.0': {
|
|
1127
1133
|
get blocks () { return require("./minecraft-data/data/bedrock/1.17.0/blocks.json") },
|
|
@@ -1138,7 +1144,8 @@ module.exports =
|
|
|
1138
1144
|
get blocksB2J () { return require("./minecraft-data/data/bedrock/1.17.0/blocksB2J.json") },
|
|
1139
1145
|
get blocksJ2B () { return require("./minecraft-data/data/bedrock/1.17.0/blocksJ2B.json") },
|
|
1140
1146
|
proto: __dirname + '/minecraft-data/data/bedrock/1.17.0/proto.yml',
|
|
1141
|
-
types: __dirname + '/minecraft-data/data/bedrock/1.17.0/types.yml'
|
|
1147
|
+
types: __dirname + '/minecraft-data/data/bedrock/1.17.0/types.yml',
|
|
1148
|
+
get version () { return require("./minecraft-data/data/bedrock/1.17.0/version.json") }
|
|
1142
1149
|
},
|
|
1143
1150
|
'1.17.10': {
|
|
1144
1151
|
get blocks () { return require("./minecraft-data/data/bedrock/1.17.10/blocks.json") },
|
|
@@ -1157,7 +1164,8 @@ module.exports =
|
|
|
1157
1164
|
get blocksB2J () { return require("./minecraft-data/data/bedrock/1.17.10/blocksB2J.json") },
|
|
1158
1165
|
get blocksJ2B () { return require("./minecraft-data/data/bedrock/1.17.10/blocksJ2B.json") },
|
|
1159
1166
|
proto: __dirname + '/minecraft-data/data/bedrock/1.17.10/proto.yml',
|
|
1160
|
-
types: __dirname + '/minecraft-data/data/bedrock/1.17.10/types.yml'
|
|
1167
|
+
types: __dirname + '/minecraft-data/data/bedrock/1.17.10/types.yml',
|
|
1168
|
+
get version () { return require("./minecraft-data/data/bedrock/1.17.10/version.json") }
|
|
1161
1169
|
},
|
|
1162
1170
|
'1.17.30': {
|
|
1163
1171
|
get blocks () { return require("./minecraft-data/data/bedrock/1.17.10/blocks.json") },
|
|
@@ -1176,12 +1184,13 @@ module.exports =
|
|
|
1176
1184
|
get blocksB2J () { return require("./minecraft-data/data/bedrock/1.17.10/blocksB2J.json") },
|
|
1177
1185
|
get blocksJ2B () { return require("./minecraft-data/data/bedrock/1.17.10/blocksJ2B.json") },
|
|
1178
1186
|
proto: __dirname + '/minecraft-data/data/bedrock/1.17.30/proto.yml',
|
|
1179
|
-
types: __dirname + '/minecraft-data/data/bedrock/1.17.30/types.yml'
|
|
1187
|
+
types: __dirname + '/minecraft-data/data/bedrock/1.17.30/types.yml',
|
|
1188
|
+
get version () { return require("./minecraft-data/data/bedrock/1.17.30/version.json") }
|
|
1180
1189
|
},
|
|
1181
1190
|
'1.17.40': {
|
|
1182
|
-
get blocks () { return require("./minecraft-data/data/bedrock/1.17.
|
|
1183
|
-
get blockStates () { return require("./minecraft-data/data/bedrock/1.17.
|
|
1184
|
-
get blockCollisionShapes () { return require("./minecraft-data/data/bedrock/1.17.
|
|
1191
|
+
get blocks () { return require("./minecraft-data/data/bedrock/1.17.40/blocks.json") },
|
|
1192
|
+
get blockStates () { return require("./minecraft-data/data/bedrock/1.17.40/blockStates.json") },
|
|
1193
|
+
get blockCollisionShapes () { return require("./minecraft-data/data/bedrock/1.17.40/blockCollisionShapes.json") },
|
|
1185
1194
|
get biomes () { return require("./minecraft-data/data/bedrock/1.17.0/biomes.json") },
|
|
1186
1195
|
get items () { return require("./minecraft-data/data/bedrock/1.17.10/items.json") },
|
|
1187
1196
|
get recipes () { return require("./minecraft-data/data/bedrock/1.17.10/recipes.json") },
|
|
@@ -1195,12 +1204,13 @@ module.exports =
|
|
|
1195
1204
|
get blocksB2J () { return require("./minecraft-data/data/bedrock/1.17.10/blocksB2J.json") },
|
|
1196
1205
|
get blocksJ2B () { return require("./minecraft-data/data/bedrock/1.17.10/blocksJ2B.json") },
|
|
1197
1206
|
proto: __dirname + '/minecraft-data/data/bedrock/1.17.40/proto.yml',
|
|
1198
|
-
types: __dirname + '/minecraft-data/data/bedrock/1.17.40/types.yml'
|
|
1207
|
+
types: __dirname + '/minecraft-data/data/bedrock/1.17.40/types.yml',
|
|
1208
|
+
get version () { return require("./minecraft-data/data/bedrock/1.17.40/version.json") }
|
|
1199
1209
|
},
|
|
1200
1210
|
'1.18.0': {
|
|
1201
|
-
get blocks () { return require("./minecraft-data/data/bedrock/1.
|
|
1202
|
-
get blockStates () { return require("./minecraft-data/data/bedrock/1.
|
|
1203
|
-
get blockCollisionShapes () { return require("./minecraft-data/data/bedrock/1.
|
|
1211
|
+
get blocks () { return require("./minecraft-data/data/bedrock/1.17.40/blocks.json") },
|
|
1212
|
+
get blockStates () { return require("./minecraft-data/data/bedrock/1.17.40/blockStates.json") },
|
|
1213
|
+
get blockCollisionShapes () { return require("./minecraft-data/data/bedrock/1.17.40/blockCollisionShapes.json") },
|
|
1204
1214
|
get biomes () { return require("./minecraft-data/data/bedrock/1.18.0/biomes.json") },
|
|
1205
1215
|
get items () { return require("./minecraft-data/data/bedrock/1.18.0/items.json") },
|
|
1206
1216
|
get recipes () { return require("./minecraft-data/data/bedrock/1.18.0/recipes.json") },
|
|
@@ -1213,8 +1223,29 @@ module.exports =
|
|
|
1213
1223
|
get steve () { return require("./minecraft-data/data/bedrock/1.16.201/steve.json") },
|
|
1214
1224
|
get blocksB2J () { return require("./minecraft-data/data/bedrock/1.18.0/blocksB2J.json") },
|
|
1215
1225
|
get blocksJ2B () { return require("./minecraft-data/data/bedrock/1.18.0/blocksJ2B.json") },
|
|
1226
|
+
proto: __dirname + '/minecraft-data/data/bedrock/1.18.0/proto.yml',
|
|
1227
|
+
types: __dirname + '/minecraft-data/data/bedrock/1.18.0/types.yml',
|
|
1228
|
+
get version () { return require("./minecraft-data/data/bedrock/1.18.0/version.json") }
|
|
1229
|
+
},
|
|
1230
|
+
'1.18.11': {
|
|
1231
|
+
get blocks () { return require("./minecraft-data/data/bedrock/1.17.40/blocks.json") },
|
|
1232
|
+
get blockStates () { return require("./minecraft-data/data/bedrock/1.17.40/blockStates.json") },
|
|
1233
|
+
get blockCollisionShapes () { return require("./minecraft-data/data/bedrock/1.17.40/blockCollisionShapes.json") },
|
|
1234
|
+
get biomes () { return require("./minecraft-data/data/bedrock/1.18.0/biomes.json") },
|
|
1235
|
+
get items () { return require("./minecraft-data/data/bedrock/1.18.0/items.json") },
|
|
1236
|
+
get recipes () { return require("./minecraft-data/data/bedrock/1.18.0/recipes.json") },
|
|
1237
|
+
get instruments () { return require("./minecraft-data/data/bedrock/1.17.0/instruments.json") },
|
|
1238
|
+
get materials () { return require("./minecraft-data/data/pc/1.17/materials.json") },
|
|
1239
|
+
get enchantments () { return require("./minecraft-data/data/pc/1.17/enchantments.json") },
|
|
1240
|
+
get effects () { return require("./minecraft-data/data/pc/1.17/effects.json") },
|
|
1241
|
+
get protocol () { return require("./minecraft-data/data/bedrock/1.18.11/protocol.json") },
|
|
1242
|
+
get windows () { return require("./minecraft-data/data/bedrock/1.16.201/windows.json") },
|
|
1243
|
+
get steve () { return require("./minecraft-data/data/bedrock/1.16.201/steve.json") },
|
|
1244
|
+
get blocksB2J () { return require("./minecraft-data/data/bedrock/1.18.0/blocksB2J.json") },
|
|
1245
|
+
get blocksJ2B () { return require("./minecraft-data/data/bedrock/1.18.0/blocksJ2B.json") },
|
|
1216
1246
|
proto: __dirname + '/minecraft-data/data/bedrock/latest/proto.yml',
|
|
1217
|
-
types: __dirname + '/minecraft-data/data/bedrock/latest/types.yml'
|
|
1247
|
+
types: __dirname + '/minecraft-data/data/bedrock/latest/types.yml',
|
|
1248
|
+
get version () { return require("./minecraft-data/data/bedrock/1.18.11/version.json") }
|
|
1218
1249
|
}
|
|
1219
1250
|
}
|
|
1220
1251
|
}
|
package/doc/api.md
CHANGED
|
@@ -68,6 +68,10 @@ biomes indexed by id
|
|
|
68
68
|
|
|
69
69
|
unindexed biomes
|
|
70
70
|
|
|
71
|
+
### minecraft-data.biomesByName
|
|
72
|
+
|
|
73
|
+
biomes object indexed by name
|
|
74
|
+
|
|
71
75
|
## Recipes
|
|
72
76
|
|
|
73
77
|
### minecraft-data.recipes
|
|
@@ -180,6 +184,10 @@ the version type, currently 'pc' or 'bedrock'
|
|
|
180
184
|
|
|
181
185
|
the major version (example : 1.8), also the name of the minecraft-data version
|
|
182
186
|
|
|
187
|
+
### minecraft-data.version.dataVersion
|
|
188
|
+
|
|
189
|
+
"Data version" for this Minecraft version, used for example when writing chunks to disk
|
|
190
|
+
|
|
183
191
|
### minecraft-data.version.< (other)
|
|
184
192
|
Returns true if the current version is less than than the `other` version's dataVersion
|
|
185
193
|
|
package/doc/history.md
CHANGED
package/index.d.ts
CHANGED
|
@@ -756,6 +756,7 @@ declare namespace MinecraftData {
|
|
|
756
756
|
version?: number;
|
|
757
757
|
minecraftVersion?: string;
|
|
758
758
|
majorVersion?: string;
|
|
759
|
+
releaseType?: string;
|
|
759
760
|
}
|
|
760
761
|
|
|
761
762
|
|
|
@@ -815,15 +816,15 @@ declare namespace MinecraftData {
|
|
|
815
816
|
// This will interface will merge with the generated one
|
|
816
817
|
export interface Version {
|
|
817
818
|
// Returns true if the current version is greater than or equal to the `other` version's dataVersion
|
|
818
|
-
['>='](other)
|
|
819
|
+
['>='](other: string): boolean
|
|
819
820
|
// Returns true if the current version is greater than the `other` version's dataVersion
|
|
820
|
-
['>'](other)
|
|
821
|
+
['>'](other: string): boolean
|
|
821
822
|
// Returns true if the current version is less than the `other` version's dataVersion
|
|
822
|
-
['<'](other)
|
|
823
|
+
['<'](other: string): boolean
|
|
823
824
|
// Returns true if the current version is less than than or equal to the `other` version's dataVersion
|
|
824
|
-
['<='](other)
|
|
825
|
+
['<='](other: string): boolean
|
|
825
826
|
// Returns true if the current version is equal to the `other` version's dataVersion
|
|
826
|
-
['=='](other)
|
|
827
|
+
['=='](other: string): boolean
|
|
827
828
|
type: 'pc' | 'bedrock'
|
|
828
829
|
}
|
|
829
830
|
|
|
@@ -874,6 +875,7 @@ declare namespace MinecraftData {
|
|
|
874
875
|
|
|
875
876
|
biomes: { [id: number]: Biome; };
|
|
876
877
|
biomesArray: Biome[];
|
|
878
|
+
biomesByName: { [name: string]: Biome; };
|
|
877
879
|
|
|
878
880
|
recipes: { [id: number]: Recipe[]; };
|
|
879
881
|
|
package/index.js
CHANGED
|
@@ -30,8 +30,11 @@ function Version (type, version, majorVersion) {
|
|
|
30
30
|
const ver = versions[version]
|
|
31
31
|
versions[ver.majorVersion] = versions[ver.majorVersion] || ver
|
|
32
32
|
}
|
|
33
|
+
|
|
34
|
+
this.dataVersion = versions[version]?.dataVersion
|
|
35
|
+
|
|
33
36
|
// TODO: Data for Minecraft classic is missing in protocolVersions.json, move this to its own type ?
|
|
34
|
-
const v1 =
|
|
37
|
+
const v1 = this.dataVersion ?? 0
|
|
35
38
|
const raise = other => { throw new RangeError(`Version '${other}' not found in [${Object.keys(versions).join(' ; ')}] for ${type}`) }
|
|
36
39
|
this['>='] = other => versions[other] ? v1 >= versions[other].dataVersion : raise(other)
|
|
37
40
|
this['>'] = other => versions[other] ? v1 > versions[other].dataVersion : raise(other)
|
|
@@ -867,8 +867,19 @@ packet_set_spawn_position:
|
|
|
867
867
|
packet_animate:
|
|
868
868
|
!id: 0x2c
|
|
869
869
|
!bound: both
|
|
870
|
-
action_id: zigzag32
|
|
871
|
-
|
|
870
|
+
action_id: zigzag32 =>
|
|
871
|
+
0: none
|
|
872
|
+
1: swing_arm
|
|
873
|
+
2: unknown
|
|
874
|
+
3: wake_up
|
|
875
|
+
4: critical_hit
|
|
876
|
+
5: magic_critical_hit
|
|
877
|
+
128: row_right
|
|
878
|
+
129: row_left
|
|
879
|
+
runtime_entity_id: varint64
|
|
880
|
+
_: action_id ?
|
|
881
|
+
if row_right or row_left:
|
|
882
|
+
boat_rowing_time: lf32
|
|
872
883
|
|
|
873
884
|
packet_respawn:
|
|
874
885
|
!id: 0x2d
|
|
@@ -1381,11 +1392,55 @@ packet_command_request:
|
|
|
1381
1392
|
# this field is not known.
|
|
1382
1393
|
interval: bool
|
|
1383
1394
|
|
|
1384
|
-
|
|
1395
|
+
# CommandBlockUpdate is sent by the client to update a command block at a specific position. The command
|
|
1396
|
+
# block may be either a physical block or an entity.
|
|
1385
1397
|
packet_command_block_update:
|
|
1386
1398
|
!id: 0x4e
|
|
1387
1399
|
!bound: server
|
|
1400
|
+
# Block specifies if the command block updated was an actual physical block. If false, the command block
|
|
1401
|
+
# is in a minecart and has an entity runtime ID instead.
|
|
1388
1402
|
is_block: bool
|
|
1403
|
+
# Position is the position of the command block updated. It is only set if Block is set to true. Nothing
|
|
1404
|
+
# happens if no command block is set at this position.
|
|
1405
|
+
_: is_block ?
|
|
1406
|
+
if true:
|
|
1407
|
+
# Position is the position of the command block updated. It is only set if Block is set to true. Nothing
|
|
1408
|
+
# happens if no command block is set at this position.
|
|
1409
|
+
position: BlockCoordinates
|
|
1410
|
+
# Mode is the mode of the command block. It is either CommandBlockImpulse, CommandBlockChain or
|
|
1411
|
+
# CommandBlockRepeat. It is only set if Block is set to true.
|
|
1412
|
+
mode: varint =>
|
|
1413
|
+
0: impulse
|
|
1414
|
+
1: repeat
|
|
1415
|
+
2: chain
|
|
1416
|
+
# NeedsRedstone specifies if the command block needs to be powered by redstone to be activated. If false,
|
|
1417
|
+
# the command block is always active. The field is only set if Block is set to true.
|
|
1418
|
+
needs_redstone: bool
|
|
1419
|
+
# Conditional specifies the behaviour of the command block if the command block before it (the opposite
|
|
1420
|
+
# side of the direction the arrow if facing) fails to execute. If set to false, it will activate at all
|
|
1421
|
+
# times, whereas if set to true, it will activate only if the previous command block executed
|
|
1422
|
+
# successfully. The field is only set if Block is set to true.
|
|
1423
|
+
conditional: bool
|
|
1424
|
+
if false:
|
|
1425
|
+
minecart_entity_runtime_id: varint64
|
|
1426
|
+
# Command is the command currently entered in the command block. This is the command that is executed
|
|
1427
|
+
# when the command block is activated.
|
|
1428
|
+
command: string
|
|
1429
|
+
# LastOutput is the output of the last command executed by the command block. It may be left empty to
|
|
1430
|
+
# show simply no output at all, in combination with setting ShouldTrackOutput to false.
|
|
1431
|
+
last_output: string
|
|
1432
|
+
# Name is the name of the command block updated. If not empty, it will show this name hovering above the
|
|
1433
|
+
# command block when hovering over the block with the cursor.
|
|
1434
|
+
name: string
|
|
1435
|
+
# ShouldTrackOutput specifies if the command block tracks output. If set to false, the output box won't
|
|
1436
|
+
# be shown within the command block.
|
|
1437
|
+
should_track_output: bool
|
|
1438
|
+
# TickDelay is the delay in ticks between executions of a command block, if it is a repeating command
|
|
1439
|
+
# block.
|
|
1440
|
+
tick_delay: li32
|
|
1441
|
+
# ExecuteOnFirstTick specifies if the command block should execute on the first tick, AKA as soon as the
|
|
1442
|
+
# command block is enabled.
|
|
1443
|
+
execute_on_first_tick: bool
|
|
1389
1444
|
|
|
1390
1445
|
packet_command_output:
|
|
1391
1446
|
!id: 0x4f
|
|
@@ -4548,11 +4548,56 @@
|
|
|
4548
4548
|
[
|
|
4549
4549
|
{
|
|
4550
4550
|
"name": "action_id",
|
|
4551
|
-
"type":
|
|
4551
|
+
"type": [
|
|
4552
|
+
"mapper",
|
|
4553
|
+
{
|
|
4554
|
+
"type": "zigzag32",
|
|
4555
|
+
"mappings": {
|
|
4556
|
+
"0": "none",
|
|
4557
|
+
"1": "swing_arm",
|
|
4558
|
+
"2": "unknown",
|
|
4559
|
+
"3": "wake_up",
|
|
4560
|
+
"4": "critical_hit",
|
|
4561
|
+
"5": "magic_critical_hit",
|
|
4562
|
+
"128": "row_right",
|
|
4563
|
+
"129": "row_left"
|
|
4564
|
+
}
|
|
4565
|
+
}
|
|
4566
|
+
]
|
|
4552
4567
|
},
|
|
4553
4568
|
{
|
|
4554
4569
|
"name": "runtime_entity_id",
|
|
4555
|
-
"type": "
|
|
4570
|
+
"type": "varint64"
|
|
4571
|
+
},
|
|
4572
|
+
{
|
|
4573
|
+
"anon": true,
|
|
4574
|
+
"type": [
|
|
4575
|
+
"switch",
|
|
4576
|
+
{
|
|
4577
|
+
"compareTo": "action_id",
|
|
4578
|
+
"fields": {
|
|
4579
|
+
"row_right": [
|
|
4580
|
+
"container",
|
|
4581
|
+
[
|
|
4582
|
+
{
|
|
4583
|
+
"name": "boat_rowing_time",
|
|
4584
|
+
"type": "lf32"
|
|
4585
|
+
}
|
|
4586
|
+
]
|
|
4587
|
+
],
|
|
4588
|
+
"row_left": [
|
|
4589
|
+
"container",
|
|
4590
|
+
[
|
|
4591
|
+
{
|
|
4592
|
+
"name": "boat_rowing_time",
|
|
4593
|
+
"type": "lf32"
|
|
4594
|
+
}
|
|
4595
|
+
]
|
|
4596
|
+
]
|
|
4597
|
+
},
|
|
4598
|
+
"default": "void"
|
|
4599
|
+
}
|
|
4600
|
+
]
|
|
4556
4601
|
}
|
|
4557
4602
|
]
|
|
4558
4603
|
],
|
|
@@ -5479,6 +5524,82 @@
|
|
|
5479
5524
|
{
|
|
5480
5525
|
"name": "is_block",
|
|
5481
5526
|
"type": "bool"
|
|
5527
|
+
},
|
|
5528
|
+
{
|
|
5529
|
+
"anon": true,
|
|
5530
|
+
"type": [
|
|
5531
|
+
"switch",
|
|
5532
|
+
{
|
|
5533
|
+
"compareTo": "is_block",
|
|
5534
|
+
"fields": {
|
|
5535
|
+
"true": [
|
|
5536
|
+
"container",
|
|
5537
|
+
[
|
|
5538
|
+
{
|
|
5539
|
+
"name": "position",
|
|
5540
|
+
"type": "BlockCoordinates"
|
|
5541
|
+
},
|
|
5542
|
+
{
|
|
5543
|
+
"name": "mode",
|
|
5544
|
+
"type": [
|
|
5545
|
+
"mapper",
|
|
5546
|
+
{
|
|
5547
|
+
"type": "varint",
|
|
5548
|
+
"mappings": {
|
|
5549
|
+
"0": "impulse",
|
|
5550
|
+
"1": "repeat",
|
|
5551
|
+
"2": "chain"
|
|
5552
|
+
}
|
|
5553
|
+
}
|
|
5554
|
+
]
|
|
5555
|
+
},
|
|
5556
|
+
{
|
|
5557
|
+
"name": "needs_redstone",
|
|
5558
|
+
"type": "bool"
|
|
5559
|
+
},
|
|
5560
|
+
{
|
|
5561
|
+
"name": "conditional",
|
|
5562
|
+
"type": "bool"
|
|
5563
|
+
}
|
|
5564
|
+
]
|
|
5565
|
+
],
|
|
5566
|
+
"false": [
|
|
5567
|
+
"container",
|
|
5568
|
+
[
|
|
5569
|
+
{
|
|
5570
|
+
"name": "minecart_entity_runtime_id",
|
|
5571
|
+
"type": "varint64"
|
|
5572
|
+
}
|
|
5573
|
+
]
|
|
5574
|
+
]
|
|
5575
|
+
},
|
|
5576
|
+
"default": "void"
|
|
5577
|
+
}
|
|
5578
|
+
]
|
|
5579
|
+
},
|
|
5580
|
+
{
|
|
5581
|
+
"name": "command",
|
|
5582
|
+
"type": "string"
|
|
5583
|
+
},
|
|
5584
|
+
{
|
|
5585
|
+
"name": "last_output",
|
|
5586
|
+
"type": "string"
|
|
5587
|
+
},
|
|
5588
|
+
{
|
|
5589
|
+
"name": "name",
|
|
5590
|
+
"type": "string"
|
|
5591
|
+
},
|
|
5592
|
+
{
|
|
5593
|
+
"name": "should_track_output",
|
|
5594
|
+
"type": "bool"
|
|
5595
|
+
},
|
|
5596
|
+
{
|
|
5597
|
+
"name": "tick_delay",
|
|
5598
|
+
"type": "li32"
|
|
5599
|
+
},
|
|
5600
|
+
{
|
|
5601
|
+
"name": "execute_on_first_tick",
|
|
5602
|
+
"type": "bool"
|
|
5482
5603
|
}
|
|
5483
5604
|
]
|
|
5484
5605
|
],
|
|
@@ -888,8 +888,19 @@ packet_set_spawn_position:
|
|
|
888
888
|
packet_animate:
|
|
889
889
|
!id: 0x2c
|
|
890
890
|
!bound: both
|
|
891
|
-
action_id: zigzag32
|
|
891
|
+
action_id: zigzag32 =>
|
|
892
|
+
0: none
|
|
893
|
+
1: swing_arm
|
|
894
|
+
2: unknown
|
|
895
|
+
3: wake_up
|
|
896
|
+
4: critical_hit
|
|
897
|
+
5: magic_critical_hit
|
|
898
|
+
128: row_right
|
|
899
|
+
129: row_left
|
|
892
900
|
runtime_entity_id: varint64
|
|
901
|
+
_: action_id ?
|
|
902
|
+
if row_right or row_left:
|
|
903
|
+
boat_rowing_time: lf32
|
|
893
904
|
|
|
894
905
|
packet_respawn:
|
|
895
906
|
!id: 0x2d
|
|
@@ -1421,10 +1432,56 @@ packet_command_request:
|
|
|
1421
1432
|
interval: bool
|
|
1422
1433
|
|
|
1423
1434
|
|
|
1435
|
+
# CommandBlockUpdate is sent by the client to update a command block at a specific position. The command
|
|
1436
|
+
# block may be either a physical block or an entity.
|
|
1424
1437
|
packet_command_block_update:
|
|
1425
1438
|
!id: 0x4e
|
|
1426
1439
|
!bound: server
|
|
1440
|
+
# Block specifies if the command block updated was an actual physical block. If false, the command block
|
|
1441
|
+
# is in a minecart and has an entity runtime ID instead.
|
|
1427
1442
|
is_block: bool
|
|
1443
|
+
# Position is the position of the command block updated. It is only set if Block is set to true. Nothing
|
|
1444
|
+
# happens if no command block is set at this position.
|
|
1445
|
+
_: is_block ?
|
|
1446
|
+
if true:
|
|
1447
|
+
# Position is the position of the command block updated. It is only set if Block is set to true. Nothing
|
|
1448
|
+
# happens if no command block is set at this position.
|
|
1449
|
+
position: BlockCoordinates
|
|
1450
|
+
# Mode is the mode of the command block. It is either CommandBlockImpulse, CommandBlockChain or
|
|
1451
|
+
# CommandBlockRepeat. It is only set if Block is set to true.
|
|
1452
|
+
mode: varint =>
|
|
1453
|
+
0: impulse
|
|
1454
|
+
1: repeat
|
|
1455
|
+
2: chain
|
|
1456
|
+
# NeedsRedstone specifies if the command block needs to be powered by redstone to be activated. If false,
|
|
1457
|
+
# the command block is always active. The field is only set if Block is set to true.
|
|
1458
|
+
needs_redstone: bool
|
|
1459
|
+
# Conditional specifies the behaviour of the command block if the command block before it (the opposite
|
|
1460
|
+
# side of the direction the arrow if facing) fails to execute. If set to false, it will activate at all
|
|
1461
|
+
# times, whereas if set to true, it will activate only if the previous command block executed
|
|
1462
|
+
# successfully. The field is only set if Block is set to true.
|
|
1463
|
+
conditional: bool
|
|
1464
|
+
if false:
|
|
1465
|
+
minecart_entity_runtime_id: varint64
|
|
1466
|
+
# Command is the command currently entered in the command block. This is the command that is executed
|
|
1467
|
+
# when the command block is activated.
|
|
1468
|
+
command: string
|
|
1469
|
+
# LastOutput is the output of the last command executed by the command block. It may be left empty to
|
|
1470
|
+
# show simply no output at all, in combination with setting ShouldTrackOutput to false.
|
|
1471
|
+
last_output: string
|
|
1472
|
+
# Name is the name of the command block updated. If not empty, it will show this name hovering above the
|
|
1473
|
+
# command block when hovering over the block with the cursor.
|
|
1474
|
+
name: string
|
|
1475
|
+
# ShouldTrackOutput specifies if the command block tracks output. If set to false, the output box won't
|
|
1476
|
+
# be shown within the command block.
|
|
1477
|
+
should_track_output: bool
|
|
1478
|
+
# TickDelay is the delay in ticks between executions of a command block, if it is a repeating command
|
|
1479
|
+
# block.
|
|
1480
|
+
tick_delay: li32
|
|
1481
|
+
# ExecuteOnFirstTick specifies if the command block should execute on the first tick, AKA as soon as the
|
|
1482
|
+
# command block is enabled.
|
|
1483
|
+
execute_on_first_tick: bool
|
|
1484
|
+
|
|
1428
1485
|
|
|
1429
1486
|
packet_command_output:
|
|
1430
1487
|
!id: 0x4f
|
|
@@ -4699,11 +4699,56 @@
|
|
|
4699
4699
|
[
|
|
4700
4700
|
{
|
|
4701
4701
|
"name": "action_id",
|
|
4702
|
-
"type":
|
|
4702
|
+
"type": [
|
|
4703
|
+
"mapper",
|
|
4704
|
+
{
|
|
4705
|
+
"type": "zigzag32",
|
|
4706
|
+
"mappings": {
|
|
4707
|
+
"0": "none",
|
|
4708
|
+
"1": "swing_arm",
|
|
4709
|
+
"2": "unknown",
|
|
4710
|
+
"3": "wake_up",
|
|
4711
|
+
"4": "critical_hit",
|
|
4712
|
+
"5": "magic_critical_hit",
|
|
4713
|
+
"128": "row_right",
|
|
4714
|
+
"129": "row_left"
|
|
4715
|
+
}
|
|
4716
|
+
}
|
|
4717
|
+
]
|
|
4703
4718
|
},
|
|
4704
4719
|
{
|
|
4705
4720
|
"name": "runtime_entity_id",
|
|
4706
4721
|
"type": "varint64"
|
|
4722
|
+
},
|
|
4723
|
+
{
|
|
4724
|
+
"anon": true,
|
|
4725
|
+
"type": [
|
|
4726
|
+
"switch",
|
|
4727
|
+
{
|
|
4728
|
+
"compareTo": "action_id",
|
|
4729
|
+
"fields": {
|
|
4730
|
+
"row_right": [
|
|
4731
|
+
"container",
|
|
4732
|
+
[
|
|
4733
|
+
{
|
|
4734
|
+
"name": "boat_rowing_time",
|
|
4735
|
+
"type": "lf32"
|
|
4736
|
+
}
|
|
4737
|
+
]
|
|
4738
|
+
],
|
|
4739
|
+
"row_left": [
|
|
4740
|
+
"container",
|
|
4741
|
+
[
|
|
4742
|
+
{
|
|
4743
|
+
"name": "boat_rowing_time",
|
|
4744
|
+
"type": "lf32"
|
|
4745
|
+
}
|
|
4746
|
+
]
|
|
4747
|
+
]
|
|
4748
|
+
},
|
|
4749
|
+
"default": "void"
|
|
4750
|
+
}
|
|
4751
|
+
]
|
|
4707
4752
|
}
|
|
4708
4753
|
]
|
|
4709
4754
|
],
|
|
@@ -5650,6 +5695,82 @@
|
|
|
5650
5695
|
{
|
|
5651
5696
|
"name": "is_block",
|
|
5652
5697
|
"type": "bool"
|
|
5698
|
+
},
|
|
5699
|
+
{
|
|
5700
|
+
"anon": true,
|
|
5701
|
+
"type": [
|
|
5702
|
+
"switch",
|
|
5703
|
+
{
|
|
5704
|
+
"compareTo": "is_block",
|
|
5705
|
+
"fields": {
|
|
5706
|
+
"true": [
|
|
5707
|
+
"container",
|
|
5708
|
+
[
|
|
5709
|
+
{
|
|
5710
|
+
"name": "position",
|
|
5711
|
+
"type": "BlockCoordinates"
|
|
5712
|
+
},
|
|
5713
|
+
{
|
|
5714
|
+
"name": "mode",
|
|
5715
|
+
"type": [
|
|
5716
|
+
"mapper",
|
|
5717
|
+
{
|
|
5718
|
+
"type": "varint",
|
|
5719
|
+
"mappings": {
|
|
5720
|
+
"0": "impulse",
|
|
5721
|
+
"1": "repeat",
|
|
5722
|
+
"2": "chain"
|
|
5723
|
+
}
|
|
5724
|
+
}
|
|
5725
|
+
]
|
|
5726
|
+
},
|
|
5727
|
+
{
|
|
5728
|
+
"name": "needs_redstone",
|
|
5729
|
+
"type": "bool"
|
|
5730
|
+
},
|
|
5731
|
+
{
|
|
5732
|
+
"name": "conditional",
|
|
5733
|
+
"type": "bool"
|
|
5734
|
+
}
|
|
5735
|
+
]
|
|
5736
|
+
],
|
|
5737
|
+
"false": [
|
|
5738
|
+
"container",
|
|
5739
|
+
[
|
|
5740
|
+
{
|
|
5741
|
+
"name": "minecart_entity_runtime_id",
|
|
5742
|
+
"type": "varint64"
|
|
5743
|
+
}
|
|
5744
|
+
]
|
|
5745
|
+
]
|
|
5746
|
+
},
|
|
5747
|
+
"default": "void"
|
|
5748
|
+
}
|
|
5749
|
+
]
|
|
5750
|
+
},
|
|
5751
|
+
{
|
|
5752
|
+
"name": "command",
|
|
5753
|
+
"type": "string"
|
|
5754
|
+
},
|
|
5755
|
+
{
|
|
5756
|
+
"name": "last_output",
|
|
5757
|
+
"type": "string"
|
|
5758
|
+
},
|
|
5759
|
+
{
|
|
5760
|
+
"name": "name",
|
|
5761
|
+
"type": "string"
|
|
5762
|
+
},
|
|
5763
|
+
{
|
|
5764
|
+
"name": "should_track_output",
|
|
5765
|
+
"type": "bool"
|
|
5766
|
+
},
|
|
5767
|
+
{
|
|
5768
|
+
"name": "tick_delay",
|
|
5769
|
+
"type": "li32"
|
|
5770
|
+
},
|
|
5771
|
+
{
|
|
5772
|
+
"name": "execute_on_first_tick",
|
|
5773
|
+
"type": "bool"
|
|
5653
5774
|
}
|
|
5654
5775
|
]
|
|
5655
5776
|
],
|