@@ -514,35 +514,6 @@ public static ItemStack getSmeltedResult(ItemStack item) {
514514 return new ItemStack (Material .SMOOTH_BASALT );
515515 case CACTUS :
516516 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 );
546517 case SAND :
547518 case RED_SAND :
548519 return new ItemStack (Material .GLASS );
@@ -552,8 +523,6 @@ public static ItemStack getSmeltedResult(ItemStack item) {
552523 return new ItemStack (Material .NETHER_BRICK );
553524 case CLAY :
554525 return new ItemStack (Material .TERRACOTTA );
555- case NETHER_QUARTZ_ORE :
556- return new ItemStack (Material .QUARTZ );
557526 case STONE_BRICKS :
558527 return new ItemStack (Material .CRACKED_STONE_BRICKS );
559528 case NETHER_BRICKS :
@@ -592,6 +561,71 @@ public static ItemStack getSmeltedResult(ItemStack item) {
592561 return new ItemStack (Material .RED_GLAZED_TERRACOTTA );
593562 case BLACK_TERRACOTTA :
594563 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 );
595629 case IRON_SWORD :
596630 case IRON_PICKAXE :
597631 case IRON_AXE :
@@ -618,22 +652,7 @@ public static ItemStack getSmeltedResult(ItemStack item) {
618652 case GOLDEN_BOOTS :
619653 case GOLDEN_HORSE_ARMOR :
620654 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 );
633655 default :
634- if (Tag .LOGS .isTagged (item .getType ())) {
635- return new ItemStack (Material .CHARCOAL );
636- }
637656 return null ;
638657 }
639658 }
@@ -700,69 +719,7 @@ public static Material getBoatFromTree(TreeSpecies treeSpecies) {
700719 */
701720 public static boolean isAFuel (ItemStack item ) {
702721
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 ();
766723 }
767724
768725 /**
@@ -875,7 +832,7 @@ public static List<ItemStack> getRawMaterials(Inventory inv) {
875832
876833 public static boolean isFurnacable (ItemStack item ) {
877834
878- return isCookable (item ) || isSmeltable (item );
835+ return isSmeltable ( item ) || isCookable (item ) || isBlastSmeltable (item );
879836 }
880837
881838 public static boolean isItemEdible (ItemStack item ) {
0 commit comments