minecraft-data 3.76.0 → 3.78.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.
Files changed (38) hide show
  1. package/data.js +51 -2
  2. package/doc/history.md +8 -0
  3. package/index.d.ts +3 -0
  4. package/minecraft-data/README.md +2 -2
  5. package/minecraft-data/data/bedrock/1.21.30/proto.yml +4291 -0
  6. package/minecraft-data/data/bedrock/1.21.30/types.yml +2406 -0
  7. package/minecraft-data/data/bedrock/1.21.42/protocol.json +12754 -0
  8. package/minecraft-data/data/bedrock/1.21.42/version.json +6 -0
  9. package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
  10. package/minecraft-data/data/bedrock/common/versions.json +2 -1
  11. package/minecraft-data/data/bedrock/latest/proto.yml +53 -19
  12. package/minecraft-data/data/bedrock/latest/types.yml +16 -0
  13. package/minecraft-data/data/dataPaths.json +51 -2
  14. package/minecraft-data/data/pc/1.20.3/proto.yml +7 -2
  15. package/minecraft-data/data/pc/1.20.3/protocol.json +29 -5
  16. package/minecraft-data/data/pc/1.20.5/enchantments.json +28 -28
  17. package/minecraft-data/data/pc/1.20.5/items.json +67 -67
  18. package/minecraft-data/data/pc/1.20.5/proto.yml +3446 -0
  19. package/minecraft-data/data/pc/1.20.5/protocol.json +98 -60
  20. package/minecraft-data/data/pc/1.21.1/blocks.json +39811 -0
  21. package/minecraft-data/data/pc/1.21.1/enchantments.json +959 -0
  22. package/minecraft-data/data/pc/1.21.1/foods.json +412 -0
  23. package/minecraft-data/data/pc/1.21.1/items.json +8780 -0
  24. package/minecraft-data/data/pc/1.21.1/language.json +6883 -0
  25. package/minecraft-data/data/pc/1.21.1/materials.json +134 -0
  26. package/minecraft-data/data/pc/1.21.1/protocol.json +9224 -0
  27. package/minecraft-data/data/pc/1.21.1/recipes.json +28095 -0
  28. package/minecraft-data/data/pc/1.21.1/sounds.json +6446 -0
  29. package/minecraft-data/data/pc/1.21.1/tints.json +447 -0
  30. package/minecraft-data/data/pc/1.21.1/version.json +6 -0
  31. package/minecraft-data/data/pc/common/features.json +5 -0
  32. package/minecraft-data/data/pc/common/protocolVersions.json +48 -0
  33. package/minecraft-data/data/pc/common/versions.json +2 -1
  34. package/minecraft-data/data/pc/latest/proto.yml +106 -18
  35. package/minecraft-data/doc/add-data-new-version.md +1 -0
  36. package/minecraft-data/doc/history.md +7 -0
  37. package/minecraft-data/tools/js/incrementVersion.js +1 -1
  38. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 748,
3
+ "minecraftVersion": "1.21.42",
4
+ "majorVersion": "1.21",
5
+ "releaseType": "release"
6
+ }
@@ -1,4 +1,10 @@
1
1
  [
2
+ {
3
+ "version": 748,
4
+ "minecraftVersion": "1.21.42",
5
+ "majorVersion": "1.21",
6
+ "releaseType": "release"
7
+ },
2
8
  {
3
9
  "version": 729,
4
10
  "minecraftVersion": "1.21.30",
@@ -36,5 +36,6 @@
36
36
  "1.21.0",
37
37
  "1.21.2",
38
38
  "1.21.20",
39
- "1.21.30"
39
+ "1.21.30",
40
+ "1.21.42"
40
41
  ]
@@ -1,7 +1,7 @@
1
1
  # Created from MiNET and gophertunnel docs
2
2
  # The version below is the latest version this protocol schema was updated for.
3
3
  # The output protocol.json will be in the folder for the version
4
- !version: 1.21.30
4
+ !version: 1.21.42
5
5
 
6
6
  # Some ProtoDef aliases
7
7
  string: ["pstring",{"countType":"varint"}] # String / array types
@@ -139,11 +139,6 @@ packet_resource_packs_info:
139
139
  # A list of resource packs that the client needs to download before joining the server.
140
140
  # The order of these resource packs is not relevant in this packet. It is however important in the Resource Pack Stack packet.
141
141
  texture_packs: TexturePackInfos
142
- # Resource Pack Links contains a list of URLs where the client can download required
143
- # resource packs, as opposed to the current Minecraft sever sending the data over
144
- resource_pack_links: []varint
145
- id: string
146
- url: string
147
142
 
148
143
  packet_resource_pack_stack:
149
144
  !id: 0x07
@@ -1020,7 +1015,7 @@ packet_mob_effect:
1020
1015
  amplifier: zigzag32
1021
1016
  particles: bool
1022
1017
  duration: zigzag32
1023
- tick: lu64
1018
+ tick: varint64
1024
1019
 
1025
1020
  packet_update_attributes:
1026
1021
  !id: 0x1d
@@ -1255,8 +1250,10 @@ packet_inventory_content:
1255
1250
  input: ItemStacks
1256
1251
  # Container is the protocol.FullContainerName that describes the container that the content is for.
1257
1252
  container: FullContainerName
1258
- # DynamicContainerSize is the size of the container, if the container is dynamic.
1259
- dynamic_container_size: varint
1253
+ # storage_item is the item that is acting as the storage container for the inventory. If the inventory is
1254
+ # not a dynamic container then this field should be left empty. When set, only the item type is used by
1255
+ # the client and none of the other stack info.
1256
+ storage_item: Item
1260
1257
 
1261
1258
  # InventorySlot is sent by the server to update a single slot in one of the inventory windows that the client
1262
1259
  # currently has opened. Usually this is the main inventory, but it may also be the off hand or, for example,
@@ -1271,8 +1268,10 @@ packet_inventory_slot:
1271
1268
  slot: varint
1272
1269
  # Container is the protocol.FullContainerName that describes the container that the content is for.
1273
1270
  container: FullContainerName
1274
- # DynamicContainerSize is the size of the container, if the container is dynamic.
1275
- dynamic_container_size: varint
1271
+ # storage_item is the item that is acting as the storage container for the inventory. If the inventory is
1272
+ # not a dynamic container then this field should be left empty. When set, only the item type is used by
1273
+ # the client and none of the other stack info.
1274
+ storage_item: Item
1276
1275
  # NewItem is the item to be put in the slot at Slot. It will overwrite any item that may currently
1277
1276
  # be present in that slot.
1278
1277
  item: Item
@@ -1490,6 +1489,7 @@ packet_set_player_game_type:
1490
1489
  # The new gamemode for the player.
1491
1490
  # Some of these game types require additional flags to be set in an AdventureSettings packet for
1492
1491
  # the game mode to obtain its full functionality.
1492
+ ## Note: this is actually encoded 64-bit varint, but realistically won't exceed a few bits
1493
1493
  gamemode: GameMode
1494
1494
 
1495
1495
  packet_player_list:
@@ -3097,10 +3097,10 @@ packet_player_auth_input:
3097
3097
  - touch
3098
3098
  - crosshair
3099
3099
  - classic
3100
- # GazeDirection is the direction in which the player is gazing, when the PlayMode is PlayModeReality: In
3101
- # other words, when the player is playing in virtual reality.
3102
- gaze_direction: play_mode ?
3103
- if reality: vec3f
3100
+ # interact_rotation is the rotation the player is looking that they intend to use for
3101
+ # interactions. This is only different to Pitch and Yaw in cases such as VR or when custom cameras
3102
+ # being used.
3103
+ interact_rotation: vec2f
3104
3104
  # Tick is the server tick at which the packet was sent. It is used in relation to
3105
3105
  # CorrectPlayerMovePrediction.
3106
3106
  tick: varint64
@@ -3132,6 +3132,7 @@ packet_player_auth_input:
3132
3132
  # AnalogueMoveVector is a Vec2 that specifies the direction in which the player moved, as a combination of X/Z
3133
3133
  # values which are created using an analogue input.
3134
3134
  analogue_move_vector: vec2f
3135
+ camera_orientation: vec3f
3135
3136
 
3136
3137
  #TODO: update to use the new `shift` option in bitflags
3137
3138
  InputFlag: [ "bitflags", {
@@ -3189,7 +3190,11 @@ InputFlag: [ "bitflags", {
3189
3190
  "horizontal_collision",
3190
3191
  "vertical_collision",
3191
3192
  "down_left",
3192
- "down_right",
3193
+ "down_right",
3194
+ "camera_relative_movement_enabled",
3195
+ "rot_controlled_by_move_direction",
3196
+ "start_spin_attack",
3197
+ "stop_spin_attack"
3193
3198
  ]
3194
3199
  }]
3195
3200
 
@@ -3285,8 +3290,7 @@ packet_update_player_game_type:
3285
3290
  # PlayerUniqueID is the entity unique ID of the player that should have its game mode updated. If this
3286
3291
  # packet is sent to other clients with the player unique ID of another player, nothing happens.
3287
3292
  player_unique_id: zigzag64
3288
- tick: varint
3289
-
3293
+ tick: varint64
3290
3294
 
3291
3295
  # EmoteList is sent by the client every time it joins the server and when it equips new emotes. It may be
3292
3296
  # used by the server to find out which emotes the client has available. If the player has no emotes equipped,
@@ -4288,4 +4292,34 @@ packet_container_registry_cleanup:
4288
4292
  !id: 0x13D
4289
4293
  !bound: client
4290
4294
  # RemovedContainers is a list of protocol.FullContainerName's that should be removed from the client-side container registry.
4291
- removed_containers: FullContainerName[]varint
4295
+ removed_containers: FullContainerName[]varint
4296
+
4297
+ # movement_effect is sent by the server to the client to update specific movement effects to allow the client
4298
+ # to predict its movement. For example, fireworks used during gliding will send this packet to tell the
4299
+ # client the exact duration of the boost.
4300
+ packet_movement_effect:
4301
+ !id: 0x13E
4302
+ !bound: client
4303
+ # runtime_id is the runtime ID of the entity. The runtime ID is unique for each world session, and
4304
+ # entities are generally identified in packets using this runtime ID.
4305
+ runtime_id: varint64
4306
+ # effect_type is the type of movement effect being updated.
4307
+ effect_type: MovementEffectType
4308
+ # effect_duration is the duration of the effect, measured in ticks.
4309
+ effect_duration: varint
4310
+ # tick is the server tick at which the packet was sent. It is used in relation to CorrectPlayerMovePrediction.
4311
+ tick: varint64
4312
+
4313
+ # set_movement_authority is sent by the server to the client to change its movement mode.
4314
+ packet_set_movement_authority:
4315
+ !id: 0x13F
4316
+ !bound: client
4317
+ # movement_authority specifies the way the server handles player movement. Available options are
4318
+ # PlayerMovementModeClient, PlayerMovementModeServer and
4319
+ # PlayerMovementModeServerWithRewind, where the server authoritative types result
4320
+ # in the client sending PlayerAuthInput packets instead of MovePlayer packets and the rewind mode
4321
+ # requires sending the tick of movement and several actions.
4322
+ movement_authority: u8 =>
4323
+ 0: client
4324
+ 1: server
4325
+ 2: server_with_rewind
@@ -10,6 +10,9 @@ TexturePackInfos: []li16
10
10
  has_scripts: bool
11
11
  addon_pack: bool
12
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
13
16
 
14
17
  ResourcePackIdVersions: []varint
15
18
  # The ID of the resource pack.
@@ -920,6 +923,7 @@ Action: zigzag32 =>
920
923
  34: start_flying
921
924
  35: stop_flying
922
925
  36: received_server_data
926
+ 37: start_using_item
923
927
 
924
928
  # Source and Destination point to the source slot from which Count of the item stack were taken and the
925
929
  # destination slot to which this item was moved.
@@ -2278,6 +2282,12 @@ CameraPresets:
2278
2282
  rotation_speed?: f32
2279
2283
  # SnapToTarget determines whether the camera should snap to the target entity or not.
2280
2284
  snap_to_target?: bool
2285
+ # horizontal_rotation_limit is the horizontal rotation limit of the camera.
2286
+ horizontal_rotation_limit?: vec2f
2287
+ # vertical_rotation_limit is the vertical rotation limit of the camera.
2288
+ vertical_rotation_limit?: vec2f
2289
+ # continue_targeting determines whether the camera should continue targeting the entity or not.
2290
+ continue_targeting?: bool
2281
2291
  # ViewOffset is only used in a follow_orbit camera and controls an offset based on a pivot point to the
2282
2292
  # player, causing it to be shifted in a certain direction.
2283
2293
  offset?: vec2f
@@ -2289,6 +2299,8 @@ CameraPresets:
2289
2299
  ## TODO: make this an enum afer adding proper optional support inside pdefyaml
2290
2300
  audio_listener?: u8
2291
2301
  player_effects?: bool
2302
+ # align_target_and_camera_forward determines whether the camera should align the target and the camera forward or not.
2303
+ align_target_and_camera_forward?: bool
2292
2304
 
2293
2305
  DisconnectFailReason: zigzag32 =>
2294
2306
  - unknown
@@ -2404,3 +2416,7 @@ DisconnectFailReason: zigzag32 =>
2404
2416
  FullContainerName:
2405
2417
  container_id: ContainerSlotType
2406
2418
  dynamic_container_id?: u32
2419
+
2420
+ MovementEffectType: varint =>
2421
+ -1: invalid
2422
+ 0: GLIDE_BOOST
@@ -1421,7 +1421,7 @@
1421
1421
  "mapIcons": "pc/1.20.2",
1422
1422
  "commands": "pc/1.20.3",
1423
1423
  "sounds": "pc/1.20.4",
1424
- "proto": "pc/latest"
1424
+ "proto": "pc/1.20.5"
1425
1425
  },
1426
1426
  "1.20.6": {
1427
1427
  "attributes": "pc/1.17",
@@ -1448,6 +1448,33 @@
1448
1448
  "mapIcons": "pc/1.20.2",
1449
1449
  "commands": "pc/1.20.3",
1450
1450
  "sounds": "pc/1.20.4",
1451
+ "proto": "pc/1.20.5"
1452
+ },
1453
+ "1.21.1": {
1454
+ "attributes": "pc/1.17",
1455
+ "blocks": "pc/1.21.1",
1456
+ "blockCollisionShapes": "pc/1.20.5",
1457
+ "biomes": "pc/1.20.5",
1458
+ "effects": "pc/1.20.5",
1459
+ "items": "pc/1.21.1",
1460
+ "enchantments": "pc/1.21.1",
1461
+ "recipes": "pc/1.21.1",
1462
+ "instruments": "pc/1.20.5",
1463
+ "materials": "pc/1.21.1",
1464
+ "language": "pc/1.21.1",
1465
+ "entities": "pc/1.20.5",
1466
+ "protocol": "pc/1.21.1",
1467
+ "windows": "pc/1.16.1",
1468
+ "version": "pc/1.21.1",
1469
+ "foods": "pc/1.21.1",
1470
+ "particles": "pc/1.20.5",
1471
+ "blockLoot": "pc/1.20",
1472
+ "entityLoot": "pc/1.20",
1473
+ "loginPacket": "pc/1.20.5",
1474
+ "tints": "pc/1.21.1",
1475
+ "mapIcons": "pc/1.20.2",
1476
+ "commands": "pc/1.20.3",
1477
+ "sounds": "pc/1.21.1",
1451
1478
  "proto": "pc/latest"
1452
1479
  }
1453
1480
  },
@@ -2224,9 +2251,31 @@
2224
2251
  "steve": "bedrock/1.20.80",
2225
2252
  "blocksB2J": "bedrock/1.21.0",
2226
2253
  "blocksJ2B": "bedrock/1.21.0",
2254
+ "proto": "bedrock/1.21.30",
2255
+ "types": "bedrock/1.21.30",
2256
+ "version": "bedrock/1.21.30",
2257
+ "language": "bedrock/1.20.10"
2258
+ },
2259
+ "1.21.42": {
2260
+ "blocks": "bedrock/1.21.0",
2261
+ "blockStates": "bedrock/1.21.0",
2262
+ "blockCollisionShapes": "bedrock/1.21.0",
2263
+ "biomes": "bedrock/1.20.0",
2264
+ "entities": "bedrock/1.21.0",
2265
+ "items": "bedrock/1.21.0",
2266
+ "recipes": "bedrock/1.19.10",
2267
+ "instruments": "bedrock/1.17.0",
2268
+ "materials": "pc/1.17",
2269
+ "enchantments": "bedrock/1.19.1",
2270
+ "effects": "pc/1.17",
2271
+ "protocol": "bedrock/1.21.42",
2272
+ "windows": "bedrock/1.16.201",
2273
+ "steve": "bedrock/1.20.80",
2274
+ "blocksB2J": "bedrock/1.21.0",
2275
+ "blocksJ2B": "bedrock/1.21.0",
2227
2276
  "proto": "bedrock/latest",
2228
2277
  "types": "bedrock/latest",
2229
- "version": "bedrock/1.21.30",
2278
+ "version": "bedrock/1.21.42",
2230
2279
  "language": "bedrock/1.20.10"
2231
2280
  }
2232
2281
  }
@@ -1104,8 +1104,13 @@
1104
1104
  block_interaction_type: varint
1105
1105
  small_explosion_particle: particle
1106
1106
  large_explosion_particle: particle
1107
- explosion_sound_name: string
1108
- sound_range?: f32
1107
+ soundId: varint
1108
+ _: soundId ?
1109
+ if 0:
1110
+ soundName: string
1111
+ range?: f32
1112
+ default:
1113
+
1109
1114
  # MC: ClientboundForgetLevelChunkPacket
1110
1115
  packet_unload_chunk:
1111
1116
  chunkZ: i32
@@ -2942,14 +2942,38 @@
2942
2942
  "type": "particle"
2943
2943
  },
2944
2944
  {
2945
- "name": "explosion_sound_name",
2946
- "type": "string"
2945
+ "name": "soundId",
2946
+ "type": "varint"
2947
2947
  },
2948
2948
  {
2949
- "name": "sound_range",
2949
+ "anon": true,
2950
2950
  "type": [
2951
- "option",
2952
- "f32"
2951
+ "switch",
2952
+ {
2953
+ "compareTo": "soundId",
2954
+ "fields": {
2955
+ "0": [
2956
+ "container",
2957
+ [
2958
+ {
2959
+ "name": "soundName",
2960
+ "type": "string"
2961
+ },
2962
+ {
2963
+ "name": "range",
2964
+ "type": [
2965
+ "option",
2966
+ "f32"
2967
+ ]
2968
+ }
2969
+ ]
2970
+ ]
2971
+ },
2972
+ "default": [
2973
+ "container",
2974
+ []
2975
+ ]
2976
+ }
2953
2977
  ]
2954
2978
  }
2955
2979
  ]
@@ -65,7 +65,7 @@
65
65
  "treasureOnly": false,
66
66
  "curse": false,
67
67
  "exclude": [],
68
- "category": "tagkey[minecraft:item / minecraft:enchantable/foot_armor]",
68
+ "category": "foot_armor",
69
69
  "weight": 5,
70
70
  "tradeable": true,
71
71
  "discoverable": true
@@ -136,7 +136,7 @@
136
136
  "treasureOnly": false,
137
137
  "curse": false,
138
138
  "exclude": [],
139
- "category": "tagkey[minecraft:item / minecraft:enchantable/head_armor]",
139
+ "category": "head_armor",
140
140
  "weight": 2,
141
141
  "tradeable": true,
142
142
  "discoverable": true
@@ -157,7 +157,7 @@
157
157
  "treasureOnly": false,
158
158
  "curse": false,
159
159
  "exclude": [],
160
- "category": "tagkey[minecraft:item / minecraft:enchantable/head_armor]",
160
+ "category": "head_armor",
161
161
  "weight": 2,
162
162
  "tradeable": true,
163
163
  "discoverable": true
@@ -201,7 +201,7 @@
201
201
  "exclude": [
202
202
  "frost_walker"
203
203
  ],
204
- "category": "tagkey[minecraft:item / minecraft:enchantable/foot_armor]",
204
+ "category": "foot_armor",
205
205
  "weight": 2,
206
206
  "tradeable": true,
207
207
  "discoverable": true
@@ -224,7 +224,7 @@
224
224
  "exclude": [
225
225
  "depth_strider"
226
226
  ],
227
- "category": "tagkey[minecraft:item / minecraft:enchantable/foot_armor]",
227
+ "category": "foot_armor",
228
228
  "weight": 2,
229
229
  "tradeable": true,
230
230
  "discoverable": true
@@ -245,7 +245,7 @@
245
245
  "treasureOnly": true,
246
246
  "curse": true,
247
247
  "exclude": [],
248
- "category": "wearable",
248
+ "category": "equippable",
249
249
  "weight": 1,
250
250
  "tradeable": true,
251
251
  "discoverable": true
@@ -266,7 +266,7 @@
266
266
  "treasureOnly": true,
267
267
  "curse": false,
268
268
  "exclude": [],
269
- "category": "tagkey[minecraft:item / minecraft:enchantable/foot_armor]",
269
+ "category": "foot_armor",
270
270
  "weight": 1,
271
271
  "tradeable": false,
272
272
  "discoverable": false
@@ -287,7 +287,7 @@
287
287
  "treasureOnly": true,
288
288
  "curse": false,
289
289
  "exclude": [],
290
- "category": "tagkey[minecraft:item / minecraft:enchantable/leg_armor]",
290
+ "category": "leg_armor",
291
291
  "weight": 1,
292
292
  "tradeable": false,
293
293
  "discoverable": false
@@ -312,7 +312,7 @@
312
312
  "bane_of_arthropods",
313
313
  "impaling"
314
314
  ],
315
- "category": "tagkey[minecraft:item / minecraft:enchantable/sharp_weapon]",
315
+ "category": "sharp_weapon",
316
316
  "weight": 10,
317
317
  "tradeable": true,
318
318
  "discoverable": true
@@ -383,7 +383,7 @@
383
383
  "treasureOnly": false,
384
384
  "curse": false,
385
385
  "exclude": [],
386
- "category": "tagkey[minecraft:item / minecraft:enchantable/sword]",
386
+ "category": "sword",
387
387
  "weight": 5,
388
388
  "tradeable": true,
389
389
  "discoverable": true
@@ -404,7 +404,7 @@
404
404
  "treasureOnly": false,
405
405
  "curse": false,
406
406
  "exclude": [],
407
- "category": "tagkey[minecraft:item / minecraft:enchantable/fire_aspect]",
407
+ "category": "fire_aspect",
408
408
  "weight": 2,
409
409
  "tradeable": true,
410
410
  "discoverable": true
@@ -427,7 +427,7 @@
427
427
  "exclude": [
428
428
  "silk_touch"
429
429
  ],
430
- "category": "tagkey[minecraft:item / minecraft:enchantable/sword]",
430
+ "category": "sword",
431
431
  "weight": 2,
432
432
  "tradeable": true,
433
433
  "discoverable": true
@@ -448,8 +448,8 @@
448
448
  "treasureOnly": false,
449
449
  "curse": false,
450
450
  "exclude": [],
451
- "category": "tagkey[minecraft:item / minecraft:enchantable/sword]",
452
- "weight": 3,
451
+ "category": "sword",
452
+ "weight": 2,
453
453
  "tradeable": true,
454
454
  "discoverable": true
455
455
  },
@@ -469,7 +469,7 @@
469
469
  "treasureOnly": false,
470
470
  "curse": false,
471
471
  "exclude": [],
472
- "category": "digger",
472
+ "category": "mining",
473
473
  "weight": 10,
474
474
  "tradeable": true,
475
475
  "discoverable": true
@@ -494,7 +494,7 @@
494
494
  "fortune",
495
495
  "luck_of_the_sea"
496
496
  ],
497
- "category": "tagkey[minecraft:item / minecraft:enchantable/mining_loot]",
497
+ "category": "mining_loot",
498
498
  "weight": 1,
499
499
  "tradeable": true,
500
500
  "discoverable": true
@@ -515,7 +515,7 @@
515
515
  "treasureOnly": false,
516
516
  "curse": false,
517
517
  "exclude": [],
518
- "category": "breakable",
518
+ "category": "durability",
519
519
  "weight": 5,
520
520
  "tradeable": true,
521
521
  "discoverable": true
@@ -538,7 +538,7 @@
538
538
  "exclude": [
539
539
  "silk_touch"
540
540
  ],
541
- "category": "tagkey[minecraft:item / minecraft:enchantable/mining_loot]",
541
+ "category": "mining_loot",
542
542
  "weight": 2,
543
543
  "tradeable": true,
544
544
  "discoverable": true
@@ -647,7 +647,7 @@
647
647
  "exclude": [
648
648
  "silk_touch"
649
649
  ],
650
- "category": "fishing_rod",
650
+ "category": "fishing",
651
651
  "weight": 2,
652
652
  "tradeable": true,
653
653
  "discoverable": true
@@ -668,7 +668,7 @@
668
668
  "treasureOnly": false,
669
669
  "curse": false,
670
670
  "exclude": [],
671
- "category": "fishing_rod",
671
+ "category": "fishing",
672
672
  "weight": 2,
673
673
  "tradeable": true,
674
674
  "discoverable": true
@@ -851,8 +851,8 @@
851
851
  "treasureOnly": false,
852
852
  "curse": false,
853
853
  "exclude": [],
854
- "category": "tagkey[minecraft:item / minecraft:enchantable/mace]",
855
- "weight": 5,
854
+ "category": "mace",
855
+ "weight": 10,
856
856
  "tradeable": true,
857
857
  "discoverable": true
858
858
  },
@@ -872,8 +872,8 @@
872
872
  "treasureOnly": false,
873
873
  "curse": false,
874
874
  "exclude": [],
875
- "category": "tagkey[minecraft:item / minecraft:enchantable/mace]",
876
- "weight": 4,
875
+ "category": "mace",
876
+ "weight": 2,
877
877
  "tradeable": true,
878
878
  "discoverable": true
879
879
  },
@@ -893,8 +893,8 @@
893
893
  "treasureOnly": false,
894
894
  "curse": false,
895
895
  "exclude": [],
896
- "category": "tagkey[minecraft:item / minecraft:enchantable/mace]",
897
- "weight": 3,
896
+ "category": "mace",
897
+ "weight": 2,
898
898
  "tradeable": false,
899
899
  "discoverable": false
900
900
  },
@@ -916,7 +916,7 @@
916
916
  "exclude": [
917
917
  "infinity"
918
918
  ],
919
- "category": "breakable",
919
+ "category": "durability",
920
920
  "weight": 2,
921
921
  "tradeable": true,
922
922
  "discoverable": true
@@ -937,7 +937,7 @@
937
937
  "treasureOnly": true,
938
938
  "curse": true,
939
939
  "exclude": [],
940
- "category": "vanishable",
940
+ "category": "vanishing",
941
941
  "weight": 1,
942
942
  "tradeable": true,
943
943
  "discoverable": true