@@ -514,35 +514,6 @@ public static ItemStack getSmeltedResult(ItemStack item) {
514
514
return new ItemStack (Material .SMOOTH_BASALT );
515
515
case CACTUS :
516
516
return new ItemStack (Material .GREEN_DYE );
517
- case IRON_ORE :
518
- case RAW_IRON :
519
- case DEEPSLATE_IRON_ORE :
520
- return new ItemStack (Material .IRON_INGOT );
521
- case COAL_ORE :
522
- return new ItemStack (Material .COAL );
523
- case LAPIS_ORE :
524
- case DEEPSLATE_LAPIS_ORE :
525
- return new ItemStack (Material .LAPIS_LAZULI );
526
- case REDSTONE_ORE :
527
- case DEEPSLATE_REDSTONE_ORE :
528
- return new ItemStack (Material .REDSTONE , 4 );
529
- case EMERALD_ORE :
530
- case DEEPSLATE_EMERALD_ORE :
531
- return new ItemStack (Material .EMERALD );
532
- case GOLD_ORE :
533
- case NETHER_GOLD_ORE :
534
- case RAW_GOLD :
535
- case DEEPSLATE_GOLD_ORE :
536
- return new ItemStack (Material .GOLD_INGOT );
537
- case ANCIENT_DEBRIS :
538
- return new ItemStack (Material .NETHERITE_SCRAP );
539
- case COPPER_ORE :
540
- case RAW_COPPER :
541
- case DEEPSLATE_COPPER_ORE :
542
- return new ItemStack (Material .COPPER_INGOT );
543
- case DIAMOND_ORE :
544
- case DEEPSLATE_DIAMOND_ORE :
545
- return new ItemStack (Material .DIAMOND );
546
517
case SAND :
547
518
case RED_SAND :
548
519
return new ItemStack (Material .GLASS );
@@ -552,8 +523,6 @@ public static ItemStack getSmeltedResult(ItemStack item) {
552
523
return new ItemStack (Material .NETHER_BRICK );
553
524
case CLAY :
554
525
return new ItemStack (Material .TERRACOTTA );
555
- case NETHER_QUARTZ_ORE :
556
- return new ItemStack (Material .QUARTZ );
557
526
case STONE_BRICKS :
558
527
return new ItemStack (Material .CRACKED_STONE_BRICKS );
559
528
case NETHER_BRICKS :
@@ -592,6 +561,71 @@ public static ItemStack getSmeltedResult(ItemStack item) {
592
561
return new ItemStack (Material .RED_GLAZED_TERRACOTTA );
593
562
case BLACK_TERRACOTTA :
594
563
return new ItemStack (Material .BLACK_GLAZED_TERRACOTTA );
564
+ case STONE :
565
+ return new ItemStack (Material .SMOOTH_STONE );
566
+ case QUARTZ_BLOCK :
567
+ return new ItemStack (Material .SMOOTH_QUARTZ );
568
+ case SANDSTONE :
569
+ return new ItemStack (Material .SMOOTH_SANDSTONE );
570
+ case RED_SANDSTONE :
571
+ return new ItemStack (Material .SMOOTH_RED_SANDSTONE );
572
+ case CHORUS_FRUIT :
573
+ return new ItemStack (Material .POPPED_CHORUS_FRUIT );
574
+ case SEA_PICKLE :
575
+ return new ItemStack (Material .LIME_DYE );
576
+ case RESIN_CLUMP :
577
+ return new ItemStack (Material .RESIN_BRICK );
578
+ default :
579
+ if (Tag .LOGS_THAT_BURN .isTagged (item .getType ())) {
580
+ return new ItemStack (Material .CHARCOAL );
581
+ }
582
+ if (Tag .LEAVES .isTagged (item .getType ())) {
583
+ return new ItemStack (Material .LEAF_LITTER );
584
+ }
585
+ return null ;
586
+ }
587
+ }
588
+
589
+ public static boolean isBlastSmeltable (ItemStack item ) {
590
+
591
+ return getBlastSmeltedResult (item ) != null ;
592
+ }
593
+
594
+ public static ItemStack getBlastSmeltedResult (ItemStack item ) {
595
+
596
+ switch (item .getType ()) {
597
+ case IRON_ORE :
598
+ case DEEPSLATE_IRON_ORE :
599
+ case RAW_IRON :
600
+ return new ItemStack (Material .IRON_INGOT );
601
+ case COAL_ORE :
602
+ case DEEPSLATE_COAL_ORE :
603
+ return new ItemStack (Material .COAL );
604
+ case LAPIS_ORE :
605
+ case DEEPSLATE_LAPIS_ORE :
606
+ return new ItemStack (Material .LAPIS_LAZULI );
607
+ case REDSTONE_ORE :
608
+ case DEEPSLATE_REDSTONE_ORE :
609
+ return new ItemStack (Material .REDSTONE , 4 );
610
+ case EMERALD_ORE :
611
+ case DEEPSLATE_EMERALD_ORE :
612
+ return new ItemStack (Material .EMERALD );
613
+ case GOLD_ORE :
614
+ case DEEPSLATE_GOLD_ORE :
615
+ case RAW_GOLD :
616
+ case NETHER_GOLD_ORE :
617
+ return new ItemStack (Material .GOLD_INGOT );
618
+ case ANCIENT_DEBRIS :
619
+ return new ItemStack (Material .NETHERITE_SCRAP );
620
+ case COPPER_ORE :
621
+ case DEEPSLATE_COPPER_ORE :
622
+ case RAW_COPPER :
623
+ return new ItemStack (Material .COPPER_INGOT );
624
+ case DIAMOND_ORE :
625
+ case DEEPSLATE_DIAMOND_ORE :
626
+ return new ItemStack (Material .DIAMOND );
627
+ case NETHER_QUARTZ_ORE :
628
+ return new ItemStack (Material .QUARTZ );
595
629
case IRON_SWORD :
596
630
case IRON_PICKAXE :
597
631
case IRON_AXE :
@@ -618,22 +652,7 @@ public static ItemStack getSmeltedResult(ItemStack item) {
618
652
case GOLDEN_BOOTS :
619
653
case GOLDEN_HORSE_ARMOR :
620
654
return new ItemStack (Material .GOLD_NUGGET );
621
- case STONE :
622
- return new ItemStack (Material .SMOOTH_STONE );
623
- case QUARTZ_BLOCK :
624
- return new ItemStack (Material .SMOOTH_QUARTZ );
625
- case SANDSTONE :
626
- return new ItemStack (Material .SMOOTH_SANDSTONE );
627
- case RED_SANDSTONE :
628
- return new ItemStack (Material .SMOOTH_RED_SANDSTONE );
629
- case CHORUS_FRUIT :
630
- return new ItemStack (Material .POPPED_CHORUS_FRUIT );
631
- case SEA_PICKLE :
632
- return new ItemStack (Material .LIME_DYE );
633
655
default :
634
- if (Tag .LOGS .isTagged (item .getType ())) {
635
- return new ItemStack (Material .CHARCOAL );
636
- }
637
656
return null ;
638
657
}
639
658
}
@@ -700,69 +719,7 @@ public static Material getBoatFromTree(TreeSpecies treeSpecies) {
700
719
*/
701
720
public static boolean isAFuel (ItemStack item ) {
702
721
703
- switch (item .getType ()) {
704
- case COAL :
705
- case CHARCOAL :
706
- case COAL_BLOCK :
707
- case WOODEN_AXE :
708
- case WOODEN_HOE :
709
- case WOODEN_PICKAXE :
710
- case WOODEN_SHOVEL :
711
- case WOODEN_SWORD :
712
- case STICK :
713
- case OAK_FENCE :
714
- case OAK_FENCE_GATE :
715
- case OAK_TRAPDOOR :
716
- case ACACIA_TRAPDOOR :
717
- case BIRCH_TRAPDOOR :
718
- case DARK_OAK_TRAPDOOR :
719
- case JUNGLE_TRAPDOOR :
720
- case SPRUCE_TRAPDOOR :
721
- case CRAFTING_TABLE :
722
- case CHEST :
723
- case TRAPPED_CHEST :
724
- case JUKEBOX :
725
- case NOTE_BLOCK :
726
- case BROWN_MUSHROOM_BLOCK :
727
- case RED_MUSHROOM_BLOCK :
728
- case BLAZE_ROD :
729
- case LAVA_BUCKET :
730
- case BOOKSHELF :
731
- case ACACIA_STAIRS :
732
- case DARK_OAK_STAIRS :
733
- case SPRUCE_FENCE :
734
- case JUNGLE_FENCE :
735
- case BIRCH_FENCE :
736
- case ACACIA_FENCE :
737
- case DARK_OAK_FENCE :
738
- case SPRUCE_FENCE_GATE :
739
- case JUNGLE_FENCE_GATE :
740
- case BIRCH_FENCE_GATE :
741
- case ACACIA_FENCE_GATE :
742
- case DARK_OAK_FENCE_GATE :
743
- case FISHING_ROD :
744
- case BOW :
745
- case LADDER :
746
- case SCAFFOLDING :
747
- case DRIED_KELP_BLOCK :
748
- case BAMBOO :
749
- return true ;
750
- default :
751
- return Tag .ITEMS_BOATS .isTagged (item .getType ())
752
- || Tag .WOODEN_DOORS .isTagged (item .getType ())
753
- || Tag .WOOL_CARPETS .isTagged (item .getType ())
754
- || Tag .WOODEN_BUTTONS .isTagged (item .getType ())
755
- || Tag .ITEMS_BANNERS .isTagged (item .getType ())
756
- || Tag .LOGS .isTagged (item .getType ())
757
- || Tag .LEAVES .isTagged (item .getType ())
758
- || Tag .PLANKS .isTagged (item .getType ())
759
- || Tag .WOODEN_STAIRS .isTagged (item .getType ())
760
- || Tag .WOODEN_SLABS .isTagged (item .getType ())
761
- || Tag .SAPLINGS .isTagged (item .getType ())
762
- || Tag .WOOL .isTagged (item .getType ())
763
- || Tag .WOODEN_PRESSURE_PLATES .isTagged (item .getType ())
764
- || Tag .SIGNS .isTagged (item .getType ());
765
- }
722
+ return item .getType ().isFuel ();
766
723
}
767
724
768
725
/**
@@ -875,7 +832,7 @@ public static List<ItemStack> getRawMaterials(Inventory inv) {
875
832
876
833
public static boolean isFurnacable (ItemStack item ) {
877
834
878
- return isCookable (item ) || isSmeltable (item );
835
+ return isSmeltable ( item ) || isCookable (item ) || isBlastSmeltable (item );
879
836
}
880
837
881
838
public static boolean isItemEdible (ItemStack item ) {
0 commit comments