-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathitems.h
2122 lines (2107 loc) · 67 KB
/
items.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/**
* Copyright 2011 by Benjamin J. Land (a.k.a. BenLand100)
*
* This file is part of the CppCraft.
*
* CppCraft is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* CppCraft is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with CppCraft. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _items
#define _items
#define M_NONE 0
#define M_STONE 1
#define M_DIRT 2
#define M_WOOD 3
#define M_CROPS 4
#define M_WATER 5
#define M_LAVA 6
#define M_SAND 7
#define M_LEAVES 8
#define M_SPONGE 9
#define M_GLASS 10
#define M_WOOL 11
#define M_IRON 12
#define M_TNT 13
#define M_REDSTONE 14
#define M_FIRE 15
#define M_SNOW 16
#define M_ICE 17
#define M_SNOWBLOCK 18
#define M_CACTUS 19
#define M_CLAY 20
#define M_PUMPKIN 21
#define M_PORTAL 22
#define M_CAKE 23
#define M_DIAMOND 24
#define M_GOLD 25
inline const char* item_name(int id) {
switch(id) {
case -1: return (const char*)"NoItem";
case 0: return (const char*)"Air";
case 1: return (const char*)"Stone";
case 2: return (const char*)"Grass";
case 3: return (const char*)"Dirt";
case 4: return (const char*)"Cobblestone";
case 5: return (const char*)"WoodenPlank";
case 6: return (const char*)"Sapling";
case 7: return (const char*)"Bedrock";
case 8: return (const char*)"Water";
case 9: return (const char*)"StationaryWater";
case 10: return (const char*)"Lava";
case 11: return (const char*)"StationaryLava";
case 12: return (const char*)"Sand";
case 13: return (const char*)"Gravel";
case 14: return (const char*)"GoldOre";
case 15: return (const char*)"IronOre";
case 16: return (const char*)"CoalOre";
case 17: return (const char*)"Wood";
case 18: return (const char*)"Leaves";
case 19: return (const char*)"Sponge";
case 20: return (const char*)"Glass";
case 21: return (const char*)"LapisLazuliOre";
case 22: return (const char*)"LapisLazuliBlock";
case 23: return (const char*)"Dispenser";
case 24: return (const char*)"Sandstone";
case 25: return (const char*)"NoteBlock";
case 26: return (const char*)"Bed_placed";
case 27: return (const char*)"PoweredRail";
case 28: return (const char*)"DetectorRail";
case 29: return (const char*)"StickyPiston";
case 30: return (const char*)"Cobweb";
case 31: return (const char*)"TallGrass";
case 32: return (const char*)"DeadShrub";
case 33: return (const char*)"Piston";
case 34: return (const char*)"PistonHead";
case 35: return (const char*)"Wool";
case 37: return (const char*)"YellowFlower";
case 38: return (const char*)"RedRose";
case 39: return (const char*)"BrownMushroom";
case 40: return (const char*)"RedMushroom";
case 41: return (const char*)"GoldBlock";
case 42: return (const char*)"IronBlock";
case 43: return (const char*)"DoubleSlab";
case 44: return (const char*)"Slab";
case 45: return (const char*)"Brick";
case 46: return (const char*)"Tnt";
case 47: return (const char*)"Bookshelf";
case 48: return (const char*)"MossStone";
case 49: return (const char*)"Obsidian";
case 50: return (const char*)"Torch";
case 51: return (const char*)"Fire";
case 52: return (const char*)"MonsterSpawner";
case 53: return (const char*)"WoodenStairs";
case 54: return (const char*)"Chest";
case 55: return (const char*)"RedstoneWire_placed";
case 56: return (const char*)"DiamondOre";
case 57: return (const char*)"DiamondBlock";
case 58: return (const char*)"CraftingTable";
case 59: return (const char*)"Crops";
case 60: return (const char*)"Farmland";
case 61: return (const char*)"Furnace";
case 62: return (const char*)"BurningFurnace";
case 63: return (const char*)"SignPost_placed";
case 64: return (const char*)"WoodenDoor_placed";
case 65: return (const char*)"Ladder";
case 66: return (const char*)"MinecartTracks";
case 67: return (const char*)"CobblestoneStairs";
case 68: return (const char*)"WallSign_placed";
case 69: return (const char*)"Lever";
case 70: return (const char*)"StonePressurePlate";
case 71: return (const char*)"IronDoor_placed";
case 72: return (const char*)"WoodenPressurePlate";
case 73: return (const char*)"RedstoneOre";
case 74: return (const char*)"GlowingRedstoneOre";
case 75: return (const char*)"RedstoneTorchOff_placed";
case 76: return (const char*)"RedstoneTorchOn";
case 77: return (const char*)"StoneButton";
case 78: return (const char*)"Snow";
case 79: return (const char*)"Ice";
case 80: return (const char*)"SnowBlock";
case 81: return (const char*)"Cactus";
case 82: return (const char*)"Clay";
case 83: return (const char*)"SugarCane_placed";
case 84: return (const char*)"Jukebox";
case 85: return (const char*)"Fence";
case 86: return (const char*)"Pumpkin";
case 87: return (const char*)"Netherrack";
case 88: return (const char*)"SoulSand";
case 89: return (const char*)"Glowstone";
case 90: return (const char*)"Portal";
case 91: return (const char*)"JackOLantern";
case 92: return (const char*)"Cake_placed";
case 93: return (const char*)"RedstoneRepeaterOff_placed";
case 94: return (const char*)"RedstoneRepeaterOn_placed";
case 96: return (const char*)"Trapdoor";
case 256: return (const char*)"IronShovel";
case 257: return (const char*)"IronPickaxe";
case 258: return (const char*)"IronAxe";
case 259: return (const char*)"FlintAndSteel";
case 260: return (const char*)"Apple";
case 261: return (const char*)"Bow";
case 262: return (const char*)"Arrow";
case 263: return (const char*)"Coal";
case 264: return (const char*)"Diamond";
case 265: return (const char*)"IronIngot";
case 266: return (const char*)"GoldIngot";
case 267: return (const char*)"IronSword";
case 268: return (const char*)"WoodenSword";
case 269: return (const char*)"WoodenShovel";
case 270: return (const char*)"WoodenPickaxe";
case 271: return (const char*)"WoodenAxe";
case 272: return (const char*)"StoneSword";
case 273: return (const char*)"StoneShovel";
case 274: return (const char*)"StonePickaxe";
case 275: return (const char*)"StoneAxe";
case 276: return (const char*)"DiamondSword";
case 277: return (const char*)"DiamondShovel";
case 278: return (const char*)"DiamondPickaxe";
case 279: return (const char*)"DiamondAxe";
case 280: return (const char*)"Stick";
case 281: return (const char*)"Bowl";
case 282: return (const char*)"MushroomStew";
case 283: return (const char*)"GoldSword";
case 284: return (const char*)"GoldShovel";
case 285: return (const char*)"GoldPickaxe";
case 286: return (const char*)"GoldAxe";
case 287: return (const char*)"String";
case 288: return (const char*)"Feather";
case 289: return (const char*)"Gunpowder";
case 290: return (const char*)"WoodenHoe";
case 291: return (const char*)"StoneHoe";
case 292: return (const char*)"IronHoe";
case 293: return (const char*)"DiamondHoe";
case 294: return (const char*)"GoldHoe";
case 295: return (const char*)"Seeds";
case 296: return (const char*)"Wheat";
case 297: return (const char*)"Bread";
case 298: return (const char*)"LeatherHelmet";
case 299: return (const char*)"LeatherChestplate";
case 300: return (const char*)"LeatherLeggings";
case 301: return (const char*)"LeatherBoots";
case 302: return (const char*)"ChainmailHelmet";
case 303: return (const char*)"ChainmailChestplate";
case 304: return (const char*)"ChainmailLeggings";
case 305: return (const char*)"ChainmailBoots";
case 306: return (const char*)"IronHelmet";
case 307: return (const char*)"IronChestplate";
case 308: return (const char*)"IronLeggings";
case 309: return (const char*)"IronBoots";
case 310: return (const char*)"DiamondHelmet";
case 311: return (const char*)"DiamondChestplate";
case 312: return (const char*)"DiamondLeggings";
case 313: return (const char*)"DiamondBoots";
case 314: return (const char*)"GoldHelmet";
case 315: return (const char*)"GoldChestplate";
case 316: return (const char*)"GoldLeggings";
case 317: return (const char*)"GoldBoots";
case 318: return (const char*)"Flint";
case 319: return (const char*)"RawPorkchop";
case 320: return (const char*)"CookedPorkchop";
case 321: return (const char*)"Painting";
case 322: return (const char*)"GoldenApple";
case 323: return (const char*)"Sign";
case 324: return (const char*)"WoodenDoor";
case 325: return (const char*)"Bucket";
case 326: return (const char*)"WaterBucket";
case 327: return (const char*)"LavaBucket";
case 328: return (const char*)"Minecart";
case 329: return (const char*)"Saddle";
case 330: return (const char*)"IronDoor";
case 331: return (const char*)"Redstone";
case 332: return (const char*)"Snowball";
case 333: return (const char*)"Boat";
case 334: return (const char*)"Leather";
case 335: return (const char*)"MilkBucket";
case 336: return (const char*)"ClayBrick";
case 337: return (const char*)"ClayBall";
case 338: return (const char*)"SugarCane";
case 339: return (const char*)"Paper";
case 340: return (const char*)"Book";
case 341: return (const char*)"Slimeball";
case 342: return (const char*)"StorageMinecart";
case 343: return (const char*)"PoweredMinecart";
case 344: return (const char*)"Egg";
case 345: return (const char*)"Compass";
case 346: return (const char*)"FishingRod";
case 347: return (const char*)"Clock";
case 348: return (const char*)"GlowstoneDust";
case 349: return (const char*)"RawFish";
case 350: return (const char*)"CookedFish";
case 351: return (const char*)"InkSac";
case 352: return (const char*)"Bone";
case 353: return (const char*)"Sugar";
case 354: return (const char*)"Cake";
case 355: return (const char*)"Bed";
case 356: return (const char*)"RedstoneRepeater";
case 357: return (const char*)"Cookie";
case 358: return (const char*)"Map";
case 359: return (const char*)"Shears";
case 2256: return (const char*)"GoldMusicDisc";
case 2257: return (const char*)"GreenMusicDisc";
}
}
inline int item_maxstack(int id) {
switch(id) {
case -1: return false;
case 0: return false;
case 1: return false;
case 2: return false;
case 3: return false;
case 4: return false;
case 5: return false;
case 6: return false;
case 7: return false;
case 8: return false;
case 9: return false;
case 10: return false;
case 11: return false;
case 12: return false;
case 13: return false;
case 14: return false;
case 15: return false;
case 16: return false;
case 17: return false;
case 18: return false;
case 19: return false;
case 20: return false;
case 21: return false;
case 22: return false;
case 23: return false;
case 24: return false;
case 25: return false;
case 26: return true;
case 27: return false;
case 28: return false;
case 29: return false;
case 30: return false;
case 31: return false;
case 32: return false;
case 33: return false;
case 34: return false;
case 35: return false;
case 37: return false;
case 38: return false;
case 39: return false;
case 40: return false;
case 41: return false;
case 42: return false;
case 43: return false;
case 44: return false;
case 45: return false;
case 46: return false;
case 47: return false;
case 48: return false;
case 49: return false;
case 50: return false;
case 51: return false;
case 52: return false;
case 53: return false;
case 54: return false;
case 55: return false;
case 56: return false;
case 57: return false;
case 58: return false;
case 59: return false;
case 60: return false;
case 61: return false;
case 62: return false;
case 63: return true;
case 64: return true;
case 65: return false;
case 66: return false;
case 67: return false;
case 68: return true;
case 69: return false;
case 70: return false;
case 71: return true;
case 72: return false;
case 73: return false;
case 74: return false;
case 75: return false;
case 76: return false;
case 77: return false;
case 78: return false;
case 79: return false;
case 80: return false;
case 81: return false;
case 82: return false;
case 83: return false;
case 84: return false;
case 85: return false;
case 86: return false;
case 87: return false;
case 88: return false;
case 89: return false;
case 90: return false;
case 91: return false;
case 92: return true;
case 93: return false;
case 94: return false;
case 96: return false;
case 256: return true;
case 257: return true;
case 258: return true;
case 259: return true;
case 260: return true;
case 261: return true;
case 262: return false;
case 263: return false;
case 264: return false;
case 265: return false;
case 266: return false;
case 267: return true;
case 268: return true;
case 269: return true;
case 270: return true;
case 271: return true;
case 272: return true;
case 273: return true;
case 274: return true;
case 275: return true;
case 276: return true;
case 277: return true;
case 278: return true;
case 279: return true;
case 280: return false;
case 281: return false;
case 282: return true;
case 283: return true;
case 284: return true;
case 285: return true;
case 286: return true;
case 287: return false;
case 288: return false;
case 289: return false;
case 290: return true;
case 291: return true;
case 292: return true;
case 293: return true;
case 294: return true;
case 295: return false;
case 296: return false;
case 297: return true;
case 298: return true;
case 299: return true;
case 300: return true;
case 301: return true;
case 302: return true;
case 303: return true;
case 304: return true;
case 305: return true;
case 306: return true;
case 307: return true;
case 308: return true;
case 309: return true;
case 310: return true;
case 311: return true;
case 312: return true;
case 313: return true;
case 314: return true;
case 315: return true;
case 316: return true;
case 317: return true;
case 318: return false;
case 319: return true;
case 320: return true;
case 321: return false;
case 322: return true;
case 323: return true;
case 324: return true;
case 325: return true;
case 326: return true;
case 327: return true;
case 328: return true;
case 329: return true;
case 330: return true;
case 331: return false;
case 332: return false;
case 333: return true;
case 334: return false;
case 335: return true;
case 336: return false;
case 337: return false;
case 338: return false;
case 339: return false;
case 340: return false;
case 341: return false;
case 342: return true;
case 343: return true;
case 344: return false;
case 345: return false;
case 346: return false;
case 347: return false;
case 348: return false;
case 349: return true;
case 350: return true;
case 351: return false;
case 352: return false;
case 353: return false;
case 354: return true;
case 355: return true;
case 356: return false;
case 357: return false;
case 358: return true;
case 359: return true;
case 2256: return true;
case 2257: return true;
}
}
inline bool item_placeable(int id) {
switch(id) {
case -1: return true;
case 0: return true;
case 1: return true;
case 2: return true;
case 3: return true;
case 4: return true;
case 5: return true;
case 6: return true;
case 7: return true;
case 8: return true;
case 9: return true;
case 10: return true;
case 11: return true;
case 12: return true;
case 13: return true;
case 14: return true;
case 15: return true;
case 16: return true;
case 17: return true;
case 18: return true;
case 19: return true;
case 20: return true;
case 21: return true;
case 22: return true;
case 23: return true;
case 24: return true;
case 25: return true;
case 26: return true;
case 27: return true;
case 28: return true;
case 29: return true;
case 30: return true;
case 31: return true;
case 32: return true;
case 33: return true;
case 34: return true;
case 35: return true;
case 37: return true;
case 38: return true;
case 39: return true;
case 40: return true;
case 41: return true;
case 42: return true;
case 43: return true;
case 44: return true;
case 45: return true;
case 46: return true;
case 47: return true;
case 48: return true;
case 49: return true;
case 50: return true;
case 51: return true;
case 52: return true;
case 53: return true;
case 54: return true;
case 55: return true;
case 56: return true;
case 57: return true;
case 58: return true;
case 59: return true;
case 60: return true;
case 61: return true;
case 62: return true;
case 63: return true;
case 64: return true;
case 65: return true;
case 66: return true;
case 67: return true;
case 68: return true;
case 69: return true;
case 70: return true;
case 71: return true;
case 72: return true;
case 73: return true;
case 74: return true;
case 75: return true;
case 76: return true;
case 77: return true;
case 78: return true;
case 79: return true;
case 80: return true;
case 81: return true;
case 82: return true;
case 83: return true;
case 84: return true;
case 85: return true;
case 86: return true;
case 87: return true;
case 88: return true;
case 89: return true;
case 90: return true;
case 91: return true;
case 92: return true;
case 93: return true;
case 94: return true;
case 96: return true;
case 256: return false;
case 257: return false;
case 258: return false;
case 259: return false;
case 260: return false;
case 261: return false;
case 262: return false;
case 263: return false;
case 264: return false;
case 265: return false;
case 266: return false;
case 267: return false;
case 268: return false;
case 269: return false;
case 270: return false;
case 271: return false;
case 272: return false;
case 273: return false;
case 274: return false;
case 275: return false;
case 276: return false;
case 277: return false;
case 278: return false;
case 279: return false;
case 280: return false;
case 281: return false;
case 282: return false;
case 283: return false;
case 284: return false;
case 285: return false;
case 286: return false;
case 287: return false;
case 288: return false;
case 289: return false;
case 290: return true;
case 291: return true;
case 292: return true;
case 293: return true;
case 294: return true;
case 295: return true;
case 296: return false;
case 297: return false;
case 298: return false;
case 299: return false;
case 300: return false;
case 301: return false;
case 302: return false;
case 303: return false;
case 304: return false;
case 305: return false;
case 306: return false;
case 307: return false;
case 308: return false;
case 309: return false;
case 310: return false;
case 311: return false;
case 312: return false;
case 313: return false;
case 314: return false;
case 315: return false;
case 316: return false;
case 317: return false;
case 318: return false;
case 319: return false;
case 320: return false;
case 321: return true;
case 322: return false;
case 323: return true;
case 324: return true;
case 325: return true;
case 326: return true;
case 327: return true;
case 328: return true;
case 329: return true;
case 330: return true;
case 331: return true;
case 332: return false;
case 333: return true;
case 334: return false;
case 335: return true;
case 336: return false;
case 337: return false;
case 338: return false;
case 339: return false;
case 340: return false;
case 341: return false;
case 342: return true;
case 343: return true;
case 344: return false;
case 345: return false;
case 346: return false;
case 347: return false;
case 348: return false;
case 349: return false;
case 350: return false;
case 351: return true;
case 352: return false;
case 353: return false;
case 354: return true;
case 355: return true;
case 356: return true;
case 357: return true;
case 358: return true;
case 359: return true;
case 2256: return true;
case 2257: return true;
}
}
inline bool item_usable(int id) {
switch(id) {
case -1: return false;
case 0: return false;
case 1: return false;
case 2: return false;
case 3: return false;
case 4: return false;
case 5: return false;
case 6: return false;
case 7: return false;
case 8: return false;
case 9: return false;
case 10: return false;
case 11: return false;
case 12: return false;
case 13: return false;
case 14: return false;
case 15: return false;
case 16: return false;
case 17: return false;
case 18: return false;
case 19: return false;
case 20: return false;
case 21: return false;
case 22: return false;
case 23: return false;
case 24: return false;
case 25: return false;
case 26: return false;
case 27: return false;
case 28: return false;
case 29: return false;
case 30: return false;
case 31: return false;
case 32: return false;
case 33: return false;
case 34: return false;
case 35: return false;
case 37: return false;
case 38: return false;
case 39: return false;
case 40: return false;
case 41: return false;
case 42: return false;
case 43: return false;
case 44: return false;
case 45: return false;
case 46: return false;
case 47: return false;
case 48: return false;
case 49: return false;
case 50: return false;
case 51: return false;
case 52: return false;
case 53: return false;
case 54: return false;
case 55: return false;
case 56: return false;
case 57: return false;
case 58: return false;
case 59: return false;
case 60: return false;
case 61: return false;
case 62: return false;
case 63: return false;
case 64: return false;
case 65: return false;
case 66: return false;
case 67: return false;
case 68: return false;
case 69: return false;
case 70: return false;
case 71: return false;
case 72: return false;
case 73: return false;
case 74: return false;
case 75: return false;
case 76: return false;
case 77: return false;
case 78: return false;
case 79: return false;
case 80: return false;
case 81: return false;
case 82: return false;
case 83: return false;
case 84: return false;
case 85: return false;
case 86: return false;
case 87: return false;
case 88: return false;
case 89: return false;
case 90: return false;
case 91: return false;
case 92: return false;
case 93: return false;
case 94: return false;
case 96: return false;
case 256: return false;
case 257: return false;
case 258: return false;
case 259: return false;
case 260: return true;
case 261: return true;
case 262: return false;
case 263: return false;
case 264: return false;
case 265: return false;
case 266: return false;
case 267: return false;
case 268: return false;
case 269: return false;
case 270: return false;
case 271: return false;
case 272: return false;
case 273: return false;
case 274: return false;
case 275: return false;
case 276: return false;
case 277: return false;
case 278: return false;
case 279: return false;
case 280: return false;
case 281: return false;
case 282: return true;
case 283: return false;
case 284: return false;
case 285: return false;
case 286: return false;
case 287: return false;
case 288: return false;
case 289: return false;
case 290: return false;
case 291: return false;
case 292: return false;
case 293: return false;
case 294: return false;
case 295: return false;
case 296: return false;
case 297: return true;
case 298: return false;
case 299: return false;
case 300: return false;
case 301: return false;
case 302: return false;
case 303: return false;
case 304: return false;
case 305: return false;
case 306: return false;
case 307: return false;
case 308: return false;
case 309: return false;
case 310: return false;
case 311: return false;
case 312: return false;
case 313: return false;
case 314: return false;
case 315: return false;
case 316: return false;
case 317: return false;
case 318: return false;
case 319: return true;
case 320: return true;
case 321: return false;
case 322: return true;
case 323: return false;
case 324: return false;
case 325: return false;
case 326: return false;
case 327: return false;
case 328: return false;
case 329: return false;
case 330: return false;
case 331: return false;
case 332: return true;
case 333: return false;
case 334: return false;
case 335: return false;
case 336: return false;
case 337: return false;
case 338: return false;
case 339: return false;
case 340: return false;
case 341: return false;
case 342: return false;
case 343: return false;
case 344: return true;
case 345: return false;
case 346: return true;
case 347: return false;
case 348: return false;
case 349: return true;
case 350: return true;
case 351: return false;
case 352: return false;
case 353: return false;
case 354: return false;
case 355: return false;
case 356: return false;
case 357: return false;
case 358: return false;
case 359: return false;
case 2256: return false;
case 2257: return false;
}
}
inline bool item_passable(int id) {
switch(id) {
case -1: return true;
case 0: return true;
case 1: return false;
case 2: return false;
case 3: return false;
case 4: return false;
case 5: return false;
case 6: return true;
case 7: return false;
case 8: return true;
case 9: return true;
case 10: return true;
case 11: return true;
case 12: return false;
case 13: return false;
case 14: return false;
case 15: return false;
case 16: return false;
case 17: return false;
case 18: return false;
case 19: return false;
case 20: return false;
case 21: return false;
case 22: return false;
case 23: return false;
case 24: return false;
case 25: return false;
case 26: return false;
case 27: return true;
case 28: return true;
case 29: return true;
case 30: return false;
case 31: return true;
case 32: return true;
case 33: return true;
case 34: return true;
case 35: return false;
case 37: return true;
case 38: return true;
case 39: return true;
case 40: return true;
case 41: return false;
case 42: return false;
case 43: return false;
case 44: return false;
case 45: return false;
case 46: return false;
case 47: return false;
case 48: return false;
case 49: return false;
case 50: return true;
case 51: return true;
case 52: return false;
case 53: return false;
case 54: return false;
case 55: return true;
case 56: return false;
case 57: return false;
case 58: return false;
case 59: return true;
case 60: return false;
case 61: return false;
case 62: return false;
case 63: return true;
case 64: return false;
case 65: return false;
case 66: return true;
case 67: return false;
case 68: return true;
case 69: return true;
case 70: return true;
case 71: return false;
case 72: return true;
case 73: return false;
case 74: return false;
case 75: return true;
case 76: return true;
case 77: return true;
case 78: return true;
case 79: return false;
case 80: return false;
case 81: return false;
case 82: return false;
case 83: return true;
case 84: return false;
case 85: return false;
case 86: return false;
case 87: return false;
case 88: return false;
case 89: return false;
case 90: return true;
case 91: return false;
case 92: return false;
case 93: return false;
case 94: return false;
case 96: return false;
case 256: return true;
case 257: return true;
case 258: return true;
case 259: return true;
case 260: return true;
case 261: return true;
case 262: return true;
case 263: return true;
case 264: return true;
case 265: return true;
case 266: return true;
case 267: return true;
case 268: return true;
case 269: return true;
case 270: return true;
case 271: return true;
case 272: return true;
case 273: return true;
case 274: return true;
case 275: return true;
case 276: return true;
case 277: return true;
case 278: return true;
case 279: return true;
case 280: return true;