minecraft-data 3.29.0 → 3.31.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 (73) hide show
  1. package/.github/workflows/npm-publish.yml +1 -1
  2. package/data.js +44 -20
  3. package/doc/api.md +4 -0
  4. package/doc/history.md +8 -0
  5. package/index.d.ts +5 -1
  6. package/lib/loader.js +1 -1
  7. package/minecraft-data/README.md +1 -1
  8. package/minecraft-data/data/bedrock/1.16.201/enchantments.json +833 -0
  9. package/minecraft-data/data/bedrock/1.16.220/proto.yml +1 -0
  10. package/minecraft-data/data/bedrock/1.16.220/protocol.json +10 -4
  11. package/minecraft-data/data/bedrock/1.16.220/types.yml +4 -4
  12. package/minecraft-data/data/bedrock/1.17.0/proto.yml +1 -0
  13. package/minecraft-data/data/bedrock/1.17.0/protocol.json +10 -4
  14. package/minecraft-data/data/bedrock/1.17.0/types.yml +4 -4
  15. package/minecraft-data/data/bedrock/1.17.10/proto.yml +1 -0
  16. package/minecraft-data/data/bedrock/1.17.10/protocol.json +10 -4
  17. package/minecraft-data/data/bedrock/1.17.10/types.yml +4 -4
  18. package/minecraft-data/data/bedrock/1.17.30/proto.yml +1 -0
  19. package/minecraft-data/data/bedrock/1.17.30/protocol.json +10 -4
  20. package/minecraft-data/data/bedrock/1.17.30/types.yml +4 -4
  21. package/minecraft-data/data/bedrock/1.17.40/proto.yml +1 -0
  22. package/minecraft-data/data/bedrock/1.17.40/protocol.json +10 -4
  23. package/minecraft-data/data/bedrock/1.17.40/types.yml +4 -4
  24. package/minecraft-data/data/bedrock/1.18.0/proto.yml +1 -0
  25. package/minecraft-data/data/bedrock/1.18.0/protocol.json +10 -4
  26. package/minecraft-data/data/bedrock/1.18.0/types.yml +4 -4
  27. package/minecraft-data/data/bedrock/1.18.11/proto.yml +1 -0
  28. package/minecraft-data/data/bedrock/1.18.11/protocol.json +10 -4
  29. package/minecraft-data/data/bedrock/1.18.11/types.yml +4 -4
  30. package/minecraft-data/data/bedrock/1.18.30/proto.yml +1 -0
  31. package/minecraft-data/data/bedrock/1.18.30/protocol.json +10 -4
  32. package/minecraft-data/data/bedrock/1.18.30/types.yml +4 -4
  33. package/minecraft-data/data/bedrock/1.19.1/enchantments.json +854 -0
  34. package/minecraft-data/data/bedrock/1.19.1/proto.yml +1 -0
  35. package/minecraft-data/data/bedrock/1.19.1/protocol.json +10 -4
  36. package/minecraft-data/data/bedrock/1.19.1/types.yml +4 -4
  37. package/minecraft-data/data/bedrock/1.19.10/proto.yml +1 -0
  38. package/minecraft-data/data/bedrock/1.19.10/protocol.json +31 -24
  39. package/minecraft-data/data/bedrock/1.19.10/types.yml +25 -24
  40. package/minecraft-data/data/bedrock/1.19.20/proto.yml +1 -0
  41. package/minecraft-data/data/bedrock/1.19.20/protocol.json +31 -24
  42. package/minecraft-data/data/bedrock/1.19.20/types.yml +25 -24
  43. package/minecraft-data/data/bedrock/1.19.21/proto.yml +1 -0
  44. package/minecraft-data/data/bedrock/1.19.21/protocol.json +31 -24
  45. package/minecraft-data/data/bedrock/1.19.21/types.yml +25 -24
  46. package/minecraft-data/data/bedrock/1.19.30/proto.yml +1 -0
  47. package/minecraft-data/data/bedrock/1.19.30/protocol.json +31 -24
  48. package/minecraft-data/data/bedrock/1.19.30/types.yml +25 -24
  49. package/minecraft-data/data/bedrock/1.19.40/proto.yml +1 -0
  50. package/minecraft-data/data/bedrock/1.19.40/protocol.json +31 -24
  51. package/minecraft-data/data/bedrock/1.19.40/types.yml +25 -24
  52. package/minecraft-data/data/bedrock/1.19.50/proto.yml +1 -0
  53. package/minecraft-data/data/bedrock/1.19.50/protocol.json +31 -24
  54. package/minecraft-data/data/bedrock/1.19.50/types.yml +25 -24
  55. package/minecraft-data/data/bedrock/1.19.60/proto.yml +1 -0
  56. package/minecraft-data/data/bedrock/1.19.60/protocol.json +31 -24
  57. package/minecraft-data/data/bedrock/1.19.60/types.yml +25 -24
  58. package/minecraft-data/data/bedrock/1.19.62/proto.yml +3852 -0
  59. package/minecraft-data/data/bedrock/1.19.62/protocol.json +31 -24
  60. package/minecraft-data/data/bedrock/1.19.62/types.yml +2064 -0
  61. package/minecraft-data/data/bedrock/1.19.70/protocol.json +11137 -0
  62. package/minecraft-data/data/bedrock/1.19.70/version.json +6 -0
  63. package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
  64. package/minecraft-data/data/bedrock/common/versions.json +2 -1
  65. package/minecraft-data/data/bedrock/latest/proto.yml +32 -3
  66. package/minecraft-data/data/bedrock/latest/types.yml +41 -27
  67. package/minecraft-data/data/dataPaths.json +44 -20
  68. package/minecraft-data/doc/bedrock.md +7 -7
  69. package/minecraft-data/doc/history.md +7 -0
  70. package/minecraft-data/tools/js/compileProtocol.js +1 -1
  71. package/package.json +1 -1
  72. package/test/load.js +8 -1
  73. package/typings/index-template.d.ts +5 -1
@@ -0,0 +1,833 @@
1
+ [
2
+ {
3
+ "id": 0,
4
+ "name": "protection",
5
+ "displayName": "Protection",
6
+ "maxLevel": 4,
7
+ "minCost": {
8
+ "a": 11,
9
+ "b": -10
10
+ },
11
+ "maxCost": {
12
+ "a": 11,
13
+ "b": 1
14
+ },
15
+ "treasureOnly": false,
16
+ "curse": false,
17
+ "exclude": [
18
+ "fire_protection",
19
+ "blast_protection",
20
+ "projectile_protection"
21
+ ],
22
+ "category": "armor",
23
+ "weight": 10,
24
+ "tradeable": true,
25
+ "discoverable": true
26
+ },
27
+ {
28
+ "id": 1,
29
+ "name": "fire_protection",
30
+ "displayName": "Fire Protection",
31
+ "maxLevel": 4,
32
+ "minCost": {
33
+ "a": 8,
34
+ "b": 2
35
+ },
36
+ "maxCost": {
37
+ "a": 8,
38
+ "b": 10
39
+ },
40
+ "treasureOnly": false,
41
+ "curse": false,
42
+ "exclude": [
43
+ "protection",
44
+ "blast_protection",
45
+ "projectile_protection"
46
+ ],
47
+ "category": "armor",
48
+ "weight": 5,
49
+ "tradeable": true,
50
+ "discoverable": true
51
+ },
52
+ {
53
+ "id": 2,
54
+ "name": "feather_falling",
55
+ "displayName": "Feather Falling",
56
+ "maxLevel": 4,
57
+ "minCost": {
58
+ "a": 6,
59
+ "b": -1
60
+ },
61
+ "maxCost": {
62
+ "a": 6,
63
+ "b": 5
64
+ },
65
+ "treasureOnly": false,
66
+ "curse": false,
67
+ "exclude": [],
68
+ "category": "armor_feet",
69
+ "weight": 5,
70
+ "tradeable": true,
71
+ "discoverable": true
72
+ },
73
+ {
74
+ "id": 3,
75
+ "name": "blast_protection",
76
+ "displayName": "Blast Protection",
77
+ "maxLevel": 4,
78
+ "minCost": {
79
+ "a": 8,
80
+ "b": -3
81
+ },
82
+ "maxCost": {
83
+ "a": 8,
84
+ "b": 5
85
+ },
86
+ "treasureOnly": false,
87
+ "curse": false,
88
+ "exclude": [
89
+ "protection",
90
+ "fire_protection",
91
+ "projectile_protection"
92
+ ],
93
+ "category": "armor",
94
+ "weight": 2,
95
+ "tradeable": true,
96
+ "discoverable": true
97
+ },
98
+ {
99
+ "id": 4,
100
+ "name": "projectile_protection",
101
+ "displayName": "Projectile Protection",
102
+ "maxLevel": 4,
103
+ "minCost": {
104
+ "a": 6,
105
+ "b": -3
106
+ },
107
+ "maxCost": {
108
+ "a": 6,
109
+ "b": 3
110
+ },
111
+ "treasureOnly": false,
112
+ "curse": false,
113
+ "exclude": [
114
+ "protection",
115
+ "fire_protection",
116
+ "blast_protection"
117
+ ],
118
+ "category": "armor",
119
+ "weight": 5,
120
+ "tradeable": true,
121
+ "discoverable": true
122
+ },
123
+ {
124
+ "id": 5,
125
+ "name": "thorns",
126
+ "displayName": "Thorns",
127
+ "maxLevel": 3,
128
+ "minCost": {
129
+ "a": 20,
130
+ "b": -10
131
+ },
132
+ "maxCost": {
133
+ "a": 10,
134
+ "b": 51
135
+ },
136
+ "treasureOnly": false,
137
+ "curse": false,
138
+ "exclude": [],
139
+ "category": "armor_chest",
140
+ "weight": 1,
141
+ "tradeable": true,
142
+ "discoverable": true
143
+ },
144
+ {
145
+ "id": 6,
146
+ "name": "respiration",
147
+ "displayName": "Respiration",
148
+ "maxLevel": 3,
149
+ "minCost": {
150
+ "a": 10,
151
+ "b": 0
152
+ },
153
+ "maxCost": {
154
+ "a": 10,
155
+ "b": 30
156
+ },
157
+ "treasureOnly": false,
158
+ "curse": false,
159
+ "exclude": [],
160
+ "category": "armor_head",
161
+ "weight": 2,
162
+ "tradeable": true,
163
+ "discoverable": true
164
+ },
165
+ {
166
+ "id": 7,
167
+ "name": "depth_strider",
168
+ "displayName": "Depth Strider",
169
+ "maxLevel": 3,
170
+ "minCost": {
171
+ "a": 10,
172
+ "b": 0
173
+ },
174
+ "maxCost": {
175
+ "a": 10,
176
+ "b": 15
177
+ },
178
+ "treasureOnly": false,
179
+ "curse": false,
180
+ "exclude": [
181
+ "frost_walker"
182
+ ],
183
+ "category": "armor_feet",
184
+ "weight": 2,
185
+ "tradeable": true,
186
+ "discoverable": true
187
+ },
188
+ {
189
+ "id": 8,
190
+ "name": "aqua_affinity",
191
+ "displayName": "Aqua Affinity",
192
+ "maxLevel": 1,
193
+ "minCost": {
194
+ "a": 0,
195
+ "b": 1
196
+ },
197
+ "maxCost": {
198
+ "a": 0,
199
+ "b": 41
200
+ },
201
+ "treasureOnly": false,
202
+ "curse": false,
203
+ "exclude": [],
204
+ "category": "armor_head",
205
+ "weight": 2,
206
+ "tradeable": true,
207
+ "discoverable": true
208
+ },
209
+ {
210
+ "id": 9,
211
+ "name": "sharpness",
212
+ "displayName": "Sharpness",
213
+ "maxLevel": 5,
214
+ "minCost": {
215
+ "a": 11,
216
+ "b": -10
217
+ },
218
+ "maxCost": {
219
+ "a": 11,
220
+ "b": 10
221
+ },
222
+ "treasureOnly": false,
223
+ "curse": false,
224
+ "exclude": [
225
+ "smite",
226
+ "bane_of_arthropods"
227
+ ],
228
+ "category": "weapon",
229
+ "weight": 10,
230
+ "tradeable": true,
231
+ "discoverable": true
232
+ },
233
+ {
234
+ "id": 10,
235
+ "name": "smite",
236
+ "displayName": "Smite",
237
+ "maxLevel": 5,
238
+ "minCost": {
239
+ "a": 8,
240
+ "b": -3
241
+ },
242
+ "maxCost": {
243
+ "a": 8,
244
+ "b": 17
245
+ },
246
+ "treasureOnly": false,
247
+ "curse": false,
248
+ "exclude": [
249
+ "sharpness",
250
+ "bane_of_arthropods"
251
+ ],
252
+ "category": "weapon",
253
+ "weight": 5,
254
+ "tradeable": true,
255
+ "discoverable": true
256
+ },
257
+ {
258
+ "id": 11,
259
+ "name": "bane_of_arthropods",
260
+ "displayName": "Bane of Arthropods",
261
+ "maxLevel": 5,
262
+ "minCost": {
263
+ "a": 8,
264
+ "b": -3
265
+ },
266
+ "maxCost": {
267
+ "a": 8,
268
+ "b": 17
269
+ },
270
+ "treasureOnly": false,
271
+ "curse": false,
272
+ "exclude": [
273
+ "sharpness",
274
+ "smite"
275
+ ],
276
+ "category": "weapon",
277
+ "weight": 5,
278
+ "tradeable": true,
279
+ "discoverable": true
280
+ },
281
+ {
282
+ "id": 12,
283
+ "name": "knockback",
284
+ "displayName": "Knockback",
285
+ "maxLevel": 2,
286
+ "minCost": {
287
+ "a": 20,
288
+ "b": -15
289
+ },
290
+ "maxCost": {
291
+ "a": 10,
292
+ "b": 51
293
+ },
294
+ "treasureOnly": false,
295
+ "curse": false,
296
+ "exclude": [],
297
+ "category": "weapon",
298
+ "weight": 5,
299
+ "tradeable": true,
300
+ "discoverable": true
301
+ },
302
+ {
303
+ "id": 13,
304
+ "name": "fire_aspect",
305
+ "displayName": "Fire Aspect",
306
+ "maxLevel": 2,
307
+ "minCost": {
308
+ "a": 20,
309
+ "b": -10
310
+ },
311
+ "maxCost": {
312
+ "a": 10,
313
+ "b": 51
314
+ },
315
+ "treasureOnly": false,
316
+ "curse": false,
317
+ "exclude": [],
318
+ "category": "weapon",
319
+ "weight": 2,
320
+ "tradeable": true,
321
+ "discoverable": true
322
+ },
323
+ {
324
+ "id": 14,
325
+ "name": "looting",
326
+ "displayName": "Looting",
327
+ "maxLevel": 3,
328
+ "minCost": {
329
+ "a": 9,
330
+ "b": 6
331
+ },
332
+ "maxCost": {
333
+ "a": 10,
334
+ "b": 51
335
+ },
336
+ "treasureOnly": false,
337
+ "curse": false,
338
+ "exclude": [
339
+ "silk_touch"
340
+ ],
341
+ "category": "weapon",
342
+ "weight": 2,
343
+ "tradeable": true,
344
+ "discoverable": true
345
+ },
346
+ {
347
+ "id": 15,
348
+ "name": "efficiency",
349
+ "displayName": "Efficiency",
350
+ "maxLevel": 5,
351
+ "minCost": {
352
+ "a": 10,
353
+ "b": -9
354
+ },
355
+ "maxCost": {
356
+ "a": 10,
357
+ "b": 51
358
+ },
359
+ "treasureOnly": false,
360
+ "curse": false,
361
+ "exclude": [],
362
+ "category": "digger",
363
+ "weight": 10,
364
+ "tradeable": true,
365
+ "discoverable": true
366
+ },
367
+ {
368
+ "id": 16,
369
+ "name": "silk_touch",
370
+ "displayName": "Silk Touch",
371
+ "maxLevel": 1,
372
+ "minCost": {
373
+ "a": 0,
374
+ "b": 15
375
+ },
376
+ "maxCost": {
377
+ "a": 10,
378
+ "b": 51
379
+ },
380
+ "treasureOnly": false,
381
+ "curse": false,
382
+ "exclude": [
383
+ "looting",
384
+ "fortune",
385
+ "luck_of_the_sea"
386
+ ],
387
+ "category": "digger",
388
+ "weight": 1,
389
+ "tradeable": true,
390
+ "discoverable": true
391
+ },
392
+ {
393
+ "id": 17,
394
+ "name": "unbreaking",
395
+ "displayName": "Unbreaking",
396
+ "maxLevel": 3,
397
+ "minCost": {
398
+ "a": 8,
399
+ "b": -3
400
+ },
401
+ "maxCost": {
402
+ "a": 10,
403
+ "b": 51
404
+ },
405
+ "treasureOnly": false,
406
+ "curse": false,
407
+ "exclude": [],
408
+ "category": "breakable",
409
+ "weight": 5,
410
+ "tradeable": true,
411
+ "discoverable": true
412
+ },
413
+ {
414
+ "id": 18,
415
+ "name": "fortune",
416
+ "displayName": "Fortune",
417
+ "maxLevel": 3,
418
+ "minCost": {
419
+ "a": 9,
420
+ "b": 6
421
+ },
422
+ "maxCost": {
423
+ "a": 10,
424
+ "b": 51
425
+ },
426
+ "treasureOnly": false,
427
+ "curse": false,
428
+ "exclude": [
429
+ "silk_touch"
430
+ ],
431
+ "category": "digger",
432
+ "weight": 2,
433
+ "tradeable": true,
434
+ "discoverable": true
435
+ },
436
+ {
437
+ "id": 19,
438
+ "name": "power",
439
+ "displayName": "Power",
440
+ "maxLevel": 5,
441
+ "minCost": {
442
+ "a": 10,
443
+ "b": -9
444
+ },
445
+ "maxCost": {
446
+ "a": 10,
447
+ "b": 6
448
+ },
449
+ "treasureOnly": false,
450
+ "curse": false,
451
+ "exclude": [],
452
+ "category": "bow",
453
+ "weight": 10,
454
+ "tradeable": true,
455
+ "discoverable": true
456
+ },
457
+ {
458
+ "id": 20,
459
+ "name": "punch",
460
+ "displayName": "Punch",
461
+ "maxLevel": 2,
462
+ "minCost": {
463
+ "a": 20,
464
+ "b": -8
465
+ },
466
+ "maxCost": {
467
+ "a": 20,
468
+ "b": 17
469
+ },
470
+ "treasureOnly": false,
471
+ "curse": false,
472
+ "exclude": [],
473
+ "category": "bow",
474
+ "weight": 2,
475
+ "tradeable": true,
476
+ "discoverable": true
477
+ },
478
+ {
479
+ "id": 21,
480
+ "name": "flame",
481
+ "displayName": "Flame",
482
+ "maxLevel": 1,
483
+ "minCost": {
484
+ "a": 0,
485
+ "b": 20
486
+ },
487
+ "maxCost": {
488
+ "a": 0,
489
+ "b": 50
490
+ },
491
+ "treasureOnly": false,
492
+ "curse": false,
493
+ "exclude": [],
494
+ "category": "bow",
495
+ "weight": 2,
496
+ "tradeable": true,
497
+ "discoverable": true
498
+ },
499
+ {
500
+ "id": 22,
501
+ "name": "infinity",
502
+ "displayName": "Infinity",
503
+ "maxLevel": 1,
504
+ "minCost": {
505
+ "a": 0,
506
+ "b": 20
507
+ },
508
+ "maxCost": {
509
+ "a": 0,
510
+ "b": 50
511
+ },
512
+ "treasureOnly": false,
513
+ "curse": false,
514
+ "exclude": [
515
+ "mending"
516
+ ],
517
+ "category": "bow",
518
+ "weight": 1,
519
+ "tradeable": true,
520
+ "discoverable": true
521
+ },
522
+ {
523
+ "id": 23,
524
+ "name": "luck_of_the_sea",
525
+ "displayName": "Luck of the Sea",
526
+ "maxLevel": 3,
527
+ "minCost": {
528
+ "a": 9,
529
+ "b": 6
530
+ },
531
+ "maxCost": {
532
+ "a": 10,
533
+ "b": 51
534
+ },
535
+ "treasureOnly": false,
536
+ "curse": false,
537
+ "exclude": [
538
+ "silk_touch"
539
+ ],
540
+ "category": "fishing_rod",
541
+ "weight": 2,
542
+ "tradeable": true,
543
+ "discoverable": true
544
+ },
545
+ {
546
+ "id": 24,
547
+ "name": "lure",
548
+ "displayName": "Lure",
549
+ "maxLevel": 3,
550
+ "minCost": {
551
+ "a": 9,
552
+ "b": 6
553
+ },
554
+ "maxCost": {
555
+ "a": 10,
556
+ "b": 51
557
+ },
558
+ "treasureOnly": false,
559
+ "curse": false,
560
+ "exclude": [],
561
+ "category": "fishing_rod",
562
+ "weight": 2,
563
+ "tradeable": true,
564
+ "discoverable": true
565
+ },
566
+ {
567
+ "id": 25,
568
+ "name": "frost_walker",
569
+ "displayName": "Frost Walker",
570
+ "maxLevel": 2,
571
+ "minCost": {
572
+ "a": 10,
573
+ "b": 0
574
+ },
575
+ "maxCost": {
576
+ "a": 10,
577
+ "b": 15
578
+ },
579
+ "treasureOnly": true,
580
+ "curse": false,
581
+ "exclude": [
582
+ "depth_strider"
583
+ ],
584
+ "category": "armor_feet",
585
+ "weight": 2,
586
+ "tradeable": true,
587
+ "discoverable": true
588
+ },
589
+ {
590
+ "id": 26,
591
+ "name": "mending",
592
+ "displayName": "Mending",
593
+ "maxLevel": 1,
594
+ "minCost": {
595
+ "a": 25,
596
+ "b": 0
597
+ },
598
+ "maxCost": {
599
+ "a": 25,
600
+ "b": 50
601
+ },
602
+ "treasureOnly": true,
603
+ "curse": false,
604
+ "exclude": [
605
+ "infinity"
606
+ ],
607
+ "category": "breakable",
608
+ "weight": 2,
609
+ "tradeable": true,
610
+ "discoverable": true
611
+ },
612
+ {
613
+ "id": 27,
614
+ "name": "binding_curse",
615
+ "displayName": "Curse of Binding",
616
+ "maxLevel": 1,
617
+ "minCost": {
618
+ "a": 0,
619
+ "b": 25
620
+ },
621
+ "maxCost": {
622
+ "a": 0,
623
+ "b": 50
624
+ },
625
+ "treasureOnly": true,
626
+ "curse": true,
627
+ "exclude": [],
628
+ "category": "wearable",
629
+ "weight": 1,
630
+ "tradeable": true,
631
+ "discoverable": true
632
+ },
633
+ {
634
+ "id": 28,
635
+ "name": "vanishing_curse",
636
+ "displayName": "Curse of Vanishing",
637
+ "maxLevel": 1,
638
+ "minCost": {
639
+ "a": 0,
640
+ "b": 25
641
+ },
642
+ "maxCost": {
643
+ "a": 0,
644
+ "b": 50
645
+ },
646
+ "treasureOnly": true,
647
+ "curse": true,
648
+ "exclude": [],
649
+ "category": "vanishable",
650
+ "weight": 1,
651
+ "tradeable": true,
652
+ "discoverable": true
653
+ },
654
+ {
655
+ "id": 29,
656
+ "name": "impaling",
657
+ "displayName": "Impaling",
658
+ "maxLevel": 5,
659
+ "minCost": {
660
+ "a": 8,
661
+ "b": -7
662
+ },
663
+ "maxCost": {
664
+ "a": 8,
665
+ "b": 13
666
+ },
667
+ "treasureOnly": false,
668
+ "curse": false,
669
+ "exclude": [],
670
+ "category": "trident",
671
+ "weight": 2,
672
+ "tradeable": true,
673
+ "discoverable": true
674
+ },
675
+ {
676
+ "id": 30,
677
+ "name": "riptide",
678
+ "displayName": "Riptide",
679
+ "maxLevel": 3,
680
+ "minCost": {
681
+ "a": 7,
682
+ "b": 10
683
+ },
684
+ "maxCost": {
685
+ "a": 0,
686
+ "b": 50
687
+ },
688
+ "treasureOnly": false,
689
+ "curse": false,
690
+ "exclude": [
691
+ "loyalty",
692
+ "channeling"
693
+ ],
694
+ "category": "trident",
695
+ "weight": 2,
696
+ "tradeable": true,
697
+ "discoverable": true
698
+ },
699
+ {
700
+ "id": 31,
701
+ "name": "loyalty",
702
+ "displayName": "Loyalty",
703
+ "maxLevel": 3,
704
+ "minCost": {
705
+ "a": 7,
706
+ "b": 5
707
+ },
708
+ "maxCost": {
709
+ "a": 0,
710
+ "b": 50
711
+ },
712
+ "treasureOnly": false,
713
+ "curse": false,
714
+ "exclude": [
715
+ "riptide"
716
+ ],
717
+ "category": "trident",
718
+ "weight": 5,
719
+ "tradeable": true,
720
+ "discoverable": true
721
+ },
722
+ {
723
+ "id": 32,
724
+ "name": "channeling",
725
+ "displayName": "Channeling",
726
+ "maxLevel": 1,
727
+ "minCost": {
728
+ "a": 0,
729
+ "b": 25
730
+ },
731
+ "maxCost": {
732
+ "a": 0,
733
+ "b": 50
734
+ },
735
+ "treasureOnly": false,
736
+ "curse": false,
737
+ "exclude": [
738
+ "riptide"
739
+ ],
740
+ "category": "trident",
741
+ "weight": 1,
742
+ "tradeable": true,
743
+ "discoverable": true
744
+ },
745
+ {
746
+ "id": 33,
747
+ "name": "multishot",
748
+ "displayName": "Multishot",
749
+ "maxLevel": 1,
750
+ "minCost": {
751
+ "a": 0,
752
+ "b": 20
753
+ },
754
+ "maxCost": {
755
+ "a": 0,
756
+ "b": 50
757
+ },
758
+ "treasureOnly": false,
759
+ "curse": false,
760
+ "exclude": [
761
+ "piercing"
762
+ ],
763
+ "category": "crossbow",
764
+ "weight": 2,
765
+ "tradeable": true,
766
+ "discoverable": true
767
+ },
768
+ {
769
+ "id": 34,
770
+ "name": "piercing",
771
+ "displayName": "Piercing",
772
+ "maxLevel": 4,
773
+ "minCost": {
774
+ "a": 10,
775
+ "b": -9
776
+ },
777
+ "maxCost": {
778
+ "a": 0,
779
+ "b": 50
780
+ },
781
+ "treasureOnly": false,
782
+ "curse": false,
783
+ "exclude": [
784
+ "multishot"
785
+ ],
786
+ "category": "crossbow",
787
+ "weight": 10,
788
+ "tradeable": true,
789
+ "discoverable": true
790
+ },
791
+ {
792
+ "id": 35,
793
+ "name": "quick_charge",
794
+ "displayName": "Quick Charge",
795
+ "maxLevel": 3,
796
+ "minCost": {
797
+ "a": 20,
798
+ "b": -8
799
+ },
800
+ "maxCost": {
801
+ "a": 0,
802
+ "b": 50
803
+ },
804
+ "treasureOnly": false,
805
+ "curse": false,
806
+ "exclude": [],
807
+ "category": "crossbow",
808
+ "weight": 5,
809
+ "tradeable": true,
810
+ "discoverable": true
811
+ },
812
+ {
813
+ "id": 36,
814
+ "name": "soul_speed",
815
+ "displayName": "Soul Speed",
816
+ "maxLevel": 3,
817
+ "minCost": {
818
+ "a": 10,
819
+ "b": 0
820
+ },
821
+ "maxCost": {
822
+ "a": 10,
823
+ "b": 15
824
+ },
825
+ "treasureOnly": true,
826
+ "curse": false,
827
+ "exclude": [],
828
+ "category": "armor_feet",
829
+ "weight": 1,
830
+ "tradeable": false,
831
+ "discoverable": false
832
+ }
833
+ ]