2021-05-02 00:51:36 +02:00
package de.ellpeck.actuallyadditions.data ;
import com.google.gson.JsonObject ;
2021-10-02 18:49:11 +02:00
import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks ;
2021-10-13 04:50:44 +02:00
import de.ellpeck.actuallyadditions.mod.crafting.ActuallyRecipes ;
2021-10-12 23:26:43 +02:00
import de.ellpeck.actuallyadditions.mod.crafting.TargetNBTIngredient ;
2021-10-13 04:50:44 +02:00
import de.ellpeck.actuallyadditions.mod.crafting.WrappedRecipe ;
2021-10-02 18:49:11 +02:00
import de.ellpeck.actuallyadditions.mod.items.ActuallyItems ;
2021-10-05 01:25:33 +02:00
import de.ellpeck.actuallyadditions.mod.items.metalists.TheFoods ;
2021-10-02 18:49:11 +02:00
import net.minecraft.data.* ;
2021-10-05 01:25:33 +02:00
import net.minecraft.enchantment.Enchantments ;
import net.minecraft.item.ItemStack ;
2021-10-02 18:49:11 +02:00
import net.minecraft.item.Items ;
2021-10-05 01:25:33 +02:00
import net.minecraft.tags.ItemTags ;
2021-10-02 18:49:11 +02:00
import net.minecraft.util.IItemProvider ;
import net.minecraft.util.ResourceLocation ;
import net.minecraftforge.common.Tags ;
2021-10-05 01:25:33 +02:00
import net.minecraftforge.common.crafting.NBTIngredient ;
2021-05-02 00:51:36 +02:00
import java.nio.file.Path ;
2021-10-02 18:49:11 +02:00
import java.util.Arrays ;
2021-05-02 00:51:36 +02:00
import java.util.function.Consumer ;
public class ItemRecipeGenerator extends RecipeProvider {
public ItemRecipeGenerator ( DataGenerator generatorIn ) {
super ( generatorIn ) ;
}
@Override
2021-08-22 17:09:06 +02:00
protected void buildShapelessRecipes ( Consumer < IFinishedRecipe > consumer ) {
2021-10-02 18:49:11 +02:00
//Goggles
Recipe . shaped ( ActuallyItems . ENGINEER_GOGGLES . get ( ) )
. pattern ( " R " )
. pattern ( " IGI " )
. define ( 'R' , ActuallyItems . RESTONIA_CRYSTAL . get ( ) )
. define ( 'I' , Items . IRON_BARS )
. define ( 'G' , Tags . Items . GLASS ) . save ( consumer ) ;
//Advanced Goggles
Recipe . shaped ( ActuallyItems . ENGINEER_GOGGLES_ADVANCED . get ( ) )
. pattern ( " R " )
. pattern ( " IGI " )
2021-10-14 21:15:16 +02:00
. define ( 'R' , ActuallyItems . EMPOWERED_RESTONIA_CRYSTAL . get ( ) )
2021-10-02 18:49:11 +02:00
. define ( 'I' , Items . IRON_BARS )
. define ( 'G' , ActuallyItems . ENGINEER_GOGGLES . get ( ) ) . save ( consumer ) ;
//Laser Upgrades
//Invisibility
Recipe . shaped ( ActuallyItems . LASER_UPGRADE_INVISIBILITY . get ( ) , 4 )
. pattern ( " GGG " )
. pattern ( " RCR " )
. pattern ( " GGG " )
. define ( 'G' , Tags . Items . GLASS_BLACK )
. define ( 'R' , ActuallyItems . VOID_CRYSTAL . get ( ) )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) ) . save ( consumer ) ;
//Range
Recipe . shaped ( ActuallyItems . LASER_UPGRADE_RANGE . get ( ) , 2 )
. pattern ( " GGC " )
. pattern ( " RCR " )
. pattern ( " CGG " )
. define ( 'R' , Items . COMPASS )
. define ( 'G' , ActuallyItems . RESTONIA_CRYSTAL . get ( ) )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) ) . save ( consumer ) ;
//Filling Wand
Recipe . shaped ( ActuallyItems . FILLING_WAND . get ( ) )
. pattern ( " IPI " )
. pattern ( " DCD " )
. pattern ( " B " )
2021-10-14 21:15:16 +02:00
. define ( 'I' , ActuallyItems . EMPOWERED_ENORI_CRYSTAL . get ( ) )
2021-10-02 18:49:11 +02:00
. define ( 'P' , ActuallyItems . PALIS_CRYSTAL . get ( ) )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) )
. define ( 'D' , ActuallyItems . DIAMATINE_CRYSTAL . get ( ) )
. define ( 'B' , ActuallyItems . BATTERY_TRIPLE . get ( ) ) . save ( consumer ) ;
//Bag
Recipe . shaped ( ActuallyItems . BAG . get ( ) )
. pattern ( " SLS " )
. pattern ( " SCS " )
. pattern ( " LVL " )
. define ( 'S' , Tags . Items . STRING )
. define ( 'L' , Tags . Items . LEATHER )
. define ( 'C' , Tags . Items . CHESTS_WOODEN )
. define ( 'B' , ActuallyBlocks . VOID_CRYSTAL . getItem ( ) ) . save ( consumer ) ;
//Void Bag
Recipe . shapeless ( ActuallyItems . VOID_BAG . get ( ) )
. requires ( ActuallyItems . BAG . get ( ) )
. requires ( Tags . Items . ENDER_PEARLS )
. requires ( Tags . Items . OBSIDIAN )
. requires ( ActuallyBlocks . VOID_CRYSTAL . getItem ( ) )
. save ( consumer ) ;
2021-10-05 01:25:33 +02:00
//Lens
Recipe . shaped ( ActuallyItems . LENS . get ( ) )
. pattern ( " GGG " )
. pattern ( " GBG " )
. pattern ( " GGG " )
. define ( 'G' , Tags . Items . GLASS )
. define ( 'B' , ActuallyItems . BLACK_QUARTZ . get ( ) ) . save ( consumer ) ;
//Booklet
Recipe . shapeless ( ActuallyItems . ITEM_BOOKLET . get ( ) )
. ingredients ( ActuallyItems . CANOLA_SEED . get ( ) , Items . PAPER ) . save ( consumer ) ;
//Clearing NBT Storage
Recipe . shapeless ( ActuallyItems . LASER_WRENCH . get ( ) ) . ingredients ( ActuallyItems . LASER_WRENCH . get ( ) ) . save ( consumer ) ;
Recipe . shapeless ( ActuallyItems . PHANTOM_CONNECTOR . get ( ) ) . ingredients ( ActuallyItems . PHANTOM_CONNECTOR . get ( ) ) . save ( consumer ) ;
//Disenchanting Lens
Recipe . shapeless ( ActuallyItems . DISENCHANTING_LENS . get ( ) )
. requires ( ActuallyItems . LENS . get ( ) )
. requires ( Items . ENCHANTING_TABLE )
2021-10-14 21:15:16 +02:00
. requires ( ActuallyItems . EMPOWERED_DIAMATINE_CRYSTAL . get ( ) , 7 ) . save ( consumer ) ;
2021-10-05 01:25:33 +02:00
//Mining Lens
Recipe . shaped ( ActuallyItems . MINING_LENS . get ( ) )
. pattern ( " DGI " )
. pattern ( " CLB " )
. pattern ( " QPE " )
. define ( 'D' , Tags . Items . GEMS_DIAMOND )
. define ( 'G' , Tags . Items . INGOTS_GOLD )
. define ( 'I' , Tags . Items . INGOTS_IRON )
. define ( 'C' , ItemTags . COALS )
. define ( 'L' , ActuallyItems . LENS . get ( ) )
. define ( 'B' , ActuallyItems . BLACK_QUARTZ . get ( ) )
. define ( 'Q' , Tags . Items . GEMS_QUARTZ )
. define ( 'P' , Tags . Items . GEMS_LAPIS )
. define ( 'E' , Tags . Items . GEMS_EMERALD ) . save ( consumer ) ;
//Killer Lens
ItemStack enchantedBook = new ItemStack ( Items . ENCHANTED_BOOK ) ;
enchantedBook . enchant ( Enchantments . SHARPNESS , 5 ) ;
Recipe . shapeless ( ActuallyItems . MORE_DAMAGE_LENS . get ( ) )
. requires ( Items . DIAMOND_SWORD )
. requires ( ActuallyItems . DAMAGE_LENS . get ( ) )
. requires ( NBTIngredient . of ( enchantedBook ) ) . save ( consumer ) ;
//Filter
Recipe . shaped ( ActuallyItems . FILTER . get ( ) )
. pattern ( " III " )
. pattern ( " IQI " )
. pattern ( " III " )
. define ( 'I' , Items . IRON_BARS )
. define ( 'Q' , ActuallyItems . BLACK_QUARTZ . get ( ) ) . save ( consumer ) ;
//Crate Keeper
Recipe . shaped ( ActuallyItems . CRATE_KEEPER . get ( ) )
. pattern ( " WIW " )
. pattern ( " IQI " )
. pattern ( " WIW " )
. define ( 'I' , Tags . Items . INGOTS_IRON )
. define ( 'W' , ItemTags . PLANKS )
. define ( 'Q' , ActuallyItems . BLACK_QUARTZ . get ( ) ) . save ( consumer ) ;
//Laser Wrench
Recipe . shaped ( ActuallyItems . LASER_WRENCH . get ( ) )
. pattern ( " C " )
. pattern ( " S " )
. pattern ( " S " )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) )
. define ( 'S' , ActuallyItems . ENORI_CRYSTAL . get ( ) ) . save ( consumer ) ;
//Rice Recipes
Recipe . shaped ( Items . PAPER , 3 )
. pattern ( " R " )
. pattern ( " R " )
. pattern ( " R " )
. define ( 'R' , TheFoods . RICE ) . save ( consumer ) ; //TODO foods need worked on still.
Recipe . shaped ( ActuallyItems . RICE_SLIME . get ( ) )
. pattern ( " R " )
. pattern ( " RBR " )
. pattern ( " R " )
. define ( 'R' , ActuallyItems . RICE_DOUGH . get ( ) )
. define ( 'B' , Items . WATER_BUCKET ) . save ( consumer ) ;
Recipe . shaped ( ActuallyItems . RICE_SLIME . get ( ) )
. pattern ( " R " )
. pattern ( " RBR " )
. pattern ( " R " )
. define ( 'R' , ActuallyItems . RICE_DOUGH . get ( ) )
. define ( 'B' , Items . POTION ) . save ( consumer ) ;
//Leaf Blower
Recipe . shaped ( ActuallyItems . LEAF_BLOWER . get ( ) )
. pattern ( " F " )
. pattern ( " IP " )
. pattern ( " IC " )
. define ( 'I' , ActuallyItems . ENORI_CRYSTAL . get ( ) )
. define ( 'P' , Items . PISTON )
. define ( 'F' , Items . FLINT )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) ) . save ( consumer ) ;
//Drill //TODO is this still being colorable?
Recipe . shaped ( ActuallyItems . DRILL . get ( ) )
. pattern ( " DDD " )
. pattern ( " CRC " )
. pattern ( " III " )
. define ( 'D' , Tags . Items . GEMS_DIAMOND )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) )
. define ( 'R' , ActuallyItems . DRILL_CORE . get ( ) )
. define ( 'I' , ActuallyItems . ENORI_CRYSTAL . get ( ) ) . save ( consumer ) ;
//Drill Core
Recipe . shaped ( ActuallyItems . DRILL_CORE . get ( ) )
. pattern ( " ICI " )
. pattern ( " CRC " )
. pattern ( " ICI " )
. define ( 'C' , ActuallyItems . COIL . get ( ) )
. define ( 'R' , ActuallyItems . RESTONIA_CRYSTAL . get ( ) )
. define ( 'I' , ActuallyItems . ENORI_CRYSTAL . get ( ) ) . save ( consumer ) ;
2021-10-07 00:18:02 +02:00
//Tele Staff
Recipe . shaped ( ActuallyItems . TELE_STAFF . get ( ) )
. pattern ( " FE " )
. pattern ( " S " )
. pattern ( " SB " )
2021-10-14 21:15:16 +02:00
. define ( 'F' , ActuallyItems . EMPOWERED_DIAMATINE_CRYSTAL . get ( ) )
2021-10-07 00:18:02 +02:00
. define ( 'E' , ActuallyBlocks . ENDER_PEARL_BLOCK . getItem ( ) )
. define ( 'S' , ActuallyBlocks . ENDER_CASING . getItem ( ) )
. define ( 'B' , ActuallyItems . BATTERY . get ( ) ) . save ( consumer ) ;
//Drill Speed upgrade
Recipe . shaped ( ActuallyItems . DRILL_UPGRADE_SPEED . get ( ) )
. pattern ( " ISI " )
. pattern ( " SRS " )
. pattern ( " ISI " )
. define ( 'I' , ActuallyItems . ENORI_CRYSTAL . get ( ) )
. define ( 'S' , Items . SUGAR )
. define ( 'R' , ActuallyItems . RESTONIA_CRYSTAL . get ( ) ) . save ( consumer ) ;
//Drill Speed upgrade II
Recipe . shaped ( ActuallyItems . DRILL_UPGRADE_SPEED_II . get ( ) )
. pattern ( " ISI " )
. pattern ( " SRS " )
. pattern ( " ISI " )
. define ( 'I' , ActuallyItems . ENORI_CRYSTAL . get ( ) )
. define ( 'S' , Items . SUGAR )
. define ( 'R' , Items . CAKE ) . save ( consumer ) ;
//Drill Speed upgrade III
Recipe . shaped ( ActuallyItems . DRILL_UPGRADE_SPEED_III . get ( ) )
. pattern ( " ISI " )
. pattern ( " SRS " )
. pattern ( " ISI " )
2021-10-14 21:15:16 +02:00
. define ( 'I' , ActuallyItems . EMPOWERED_ENORI_CRYSTAL . get ( ) )
2021-10-07 00:18:02 +02:00
. define ( 'S' , Items . SUGAR )
2021-10-14 21:15:16 +02:00
. define ( 'R' , ActuallyItems . EMPOWERED_DIAMATINE_CRYSTAL . get ( ) ) . save ( consumer ) ;
2021-10-07 00:18:02 +02:00
//Drill Fortune upgrade
Recipe . shaped ( ActuallyItems . DRILL_UPGRADE_FORTUNE . get ( ) )
. pattern ( " ISI " )
. pattern ( " SRS " )
. pattern ( " ISI " )
. define ( 'I' , Items . GLOWSTONE )
. define ( 'S' , Tags . Items . DUSTS_REDSTONE )
. define ( 'R' , ActuallyBlocks . EMPOWERED_DIAMATINE_CRYSTAL . getItem ( ) ) . save ( consumer ) ;
//Drill Fortune upgrade II
Recipe . shaped ( ActuallyItems . DRILL_UPGRADE_FORTUNE_II . get ( ) )
. pattern ( " ISI " )
. pattern ( " SRS " )
. pattern ( " ISI " )
. define ( 'I' , Items . GLOWSTONE )
2021-10-14 21:15:16 +02:00
. define ( 'S' , ActuallyItems . EMPOWERED_RESTONIA_CRYSTAL . get ( ) )
2021-10-07 00:18:02 +02:00
. define ( 'R' , ActuallyBlocks . ENDER_CASING . getItem ( ) ) . save ( consumer ) ;
//3x3
Recipe . shaped ( ActuallyItems . DRILL_UPGRADE_THREE_BY_THREE . get ( ) )
. pattern ( " DID " )
. pattern ( " ICI " )
. pattern ( " DID " )
. define ( 'I' , ActuallyItems . ENORI_CRYSTAL . get ( ) )
. define ( 'D' , ActuallyItems . DIAMATINE_CRYSTAL . get ( ) )
. define ( 'C' , ActuallyItems . COIL . get ( ) ) . save ( consumer ) ;
//5x5
Recipe . shaped ( ActuallyItems . DRILL_UPGRADE_FIVE_BY_FIVE . get ( ) )
. pattern ( " DID " )
. pattern ( " ICI " )
. pattern ( " DID " )
2021-10-14 21:15:16 +02:00
. define ( 'I' , ActuallyItems . EMPOWERED_ENORI_CRYSTAL . get ( ) )
2021-10-07 00:18:02 +02:00
. define ( 'D' , ActuallyItems . DIAMATINE_CRYSTAL . get ( ) )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) ) . save ( consumer ) ;
//Silk Touch
Recipe . shaped ( ActuallyItems . DRILL_UPGRADE_SILK_TOUCH . get ( ) )
. pattern ( " DSD " )
. pattern ( " SCS " )
. pattern ( " DSD " )
. define ( 'D' , ActuallyItems . EMERADIC_CRYSTAL . get ( ) )
. define ( 'S' , ActuallyItems . DIAMATINE_CRYSTAL . get ( ) )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) ) . save ( consumer ) ;
//Placing
Recipe . Shaped . shaped ( ActuallyItems . DRILL_UPGRADE_BLOCK_PLACING . get ( ) )
. pattern ( " CEC " )
. pattern ( " RAR " )
. pattern ( " CEC " )
. define ( 'C' , Tags . Items . COBBLESTONE )
. define ( 'E' , Items . PAPER )
. define ( 'A' , ActuallyItems . COIL . get ( ) )
. define ( 'R' , ActuallyItems . ENORI_CRYSTAL . get ( ) ) . save ( consumer ) ;
//Bat Wings
Recipe . shaped ( ActuallyItems . WINGS_OF_THE_BATS . get ( ) )
. pattern ( " WNW " )
. pattern ( " WDW " )
. pattern ( " WNW " )
. define ( 'W' , ActuallyItems . BAT_WING . get ( ) )
. define ( 'N' , ActuallyBlocks . DIAMATINE_CRYSTAL . getItem ( ) )
. define ( 'D' , ActuallyItems . ENDER_STAR . get ( ) ) . save ( consumer ) ;
//Coil
Recipe . shaped ( ActuallyItems . COIL . get ( ) )
. pattern ( " R " )
. pattern ( " RIR " )
. pattern ( " R " )
. define ( 'I' , ActuallyItems . BLACK_QUARTZ . get ( ) )
. define ( 'R' , ActuallyItems . RESTONIA_CRYSTAL . get ( ) ) . save ( consumer ) ;
//Advanced Coil
Recipe . shaped ( ActuallyItems . COIL_ADVANCED . get ( ) )
. pattern ( " GGG " )
. pattern ( " GCG " )
. pattern ( " GGG " )
. define ( 'C' , ActuallyItems . COIL . get ( ) )
. define ( 'G' , Items . GOLD_NUGGET ) . save ( consumer ) ;
2021-10-02 18:49:11 +02:00
2021-10-12 23:26:43 +02:00
//Battery
Recipe . shaped ( ActuallyItems . BATTERY . get ( ) )
. pattern ( " R " )
. pattern ( " ICI " )
. pattern ( " III " )
. define ( 'R' , ActuallyItems . RESTONIA_CRYSTAL . get ( ) )
. define ( 'I' , ActuallyItems . ENORI_CRYSTAL . get ( ) )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) )
. save ( consumer ) ;
2021-10-02 18:49:11 +02:00
2021-10-12 23:26:43 +02:00
//Double Battery
Recipe . shaped ( ActuallyItems . BATTERY_DOUBLE . get ( ) )
. pattern ( " R " )
. pattern ( " ICI " )
. pattern ( " III " )
. define ( 'R' , TargetNBTIngredient . of ( ActuallyItems . BATTERY . get ( ) ) )
. define ( 'I' , ActuallyItems . ENORI_CRYSTAL . get ( ) )
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) )
2021-10-13 04:50:44 +02:00
. save ( WrappedRecipe . Inject ( consumer , ActuallyRecipes . KEEP_DATA_SHAPED_RECIPE . get ( ) ) ) ;
2021-10-02 18:49:11 +02:00
2021-10-12 23:26:43 +02:00
//Triple Battery
Recipe . shaped ( ActuallyItems . BATTERY_TRIPLE . get ( ) )
. pattern ( " R " )
. pattern ( " ICI " )
. pattern ( " III " )
. define ( 'R' , TargetNBTIngredient . of ( ActuallyItems . BATTERY_DOUBLE . get ( ) ) )
2021-10-14 21:15:16 +02:00
. define ( 'I' , ActuallyItems . EMPOWERED_ENORI_CRYSTAL . get ( ) )
2021-10-12 23:26:43 +02:00
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) )
2021-10-13 04:50:44 +02:00
. save ( WrappedRecipe . Inject ( consumer , ActuallyRecipes . KEEP_DATA_SHAPED_RECIPE . get ( ) ) ) ;
2021-10-12 23:26:43 +02:00
//Quad Battery
Recipe . shaped ( ActuallyItems . BATTERY_QUADRUPLE . get ( ) )
. pattern ( " R " )
. pattern ( " ICI " )
. pattern ( " III " )
. define ( 'R' , TargetNBTIngredient . of ( ActuallyItems . BATTERY_TRIPLE . get ( ) ) )
2021-10-14 21:15:16 +02:00
. define ( 'I' , ActuallyItems . EMPOWERED_ENORI_CRYSTAL . get ( ) )
2021-10-12 23:26:43 +02:00
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) )
2021-10-13 04:50:44 +02:00
. save ( WrappedRecipe . Inject ( consumer , ActuallyRecipes . KEEP_DATA_SHAPED_RECIPE . get ( ) ) ) ;
2021-10-12 23:26:43 +02:00
//Quintuple Battery
Recipe . shaped ( ActuallyItems . BATTERY_QUINTUPLE . get ( ) )
. pattern ( " R " )
. pattern ( " ICI " )
. pattern ( " III " )
. define ( 'R' , TargetNBTIngredient . of ( ActuallyItems . BATTERY_QUADRUPLE . get ( ) ) )
2021-10-14 21:15:16 +02:00
. define ( 'I' , ActuallyItems . EMPOWERED_DIAMATINE_CRYSTAL . get ( ) )
2021-10-12 23:26:43 +02:00
. define ( 'C' , ActuallyItems . COIL_ADVANCED . get ( ) )
2021-10-13 04:50:44 +02:00
. save ( WrappedRecipe . Inject ( consumer , ActuallyRecipes . KEEP_DATA_SHAPED_RECIPE . get ( ) ) ) ;
2021-10-02 18:49:11 +02:00
2021-10-05 01:25:33 +02:00
//
// //Magnet Ring
// RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMagnetRing), "RIB", "IOI", "BIR", 'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()), 'I', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()), 'B', new ItemStack(Items.DYE, 1, 4), 'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()));
// recipeMagnetRing = RecipeUtil.lastIRecipe();
//
// //Growth Ring
// RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemGrowthRing), "SIS", "IOI", "SIS", 'S', new ItemStack(Items.WHEAT_SEEDS), 'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.IRON.ordinal()), 'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()));
// recipeGrowthRing = RecipeUtil.lastIRecipe();
//
// //Water Ring
// RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemWaterRemovalRing), "BIB", "IOI", "BIB", 'B', new ItemStack(Items.WATER_BUCKET), 'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal()), 'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()));
// recipeWaterRing = RecipeUtil.lastIRecipe();
//
//
// //Cup
// RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.CUP.ordinal()), "S S", "SCS", "SSS", 'S', "stone", 'C', "cropCoffee");
// recipeCup = RecipeUtil.lastIRecipe();
//
// //Resonant Rice
// if (!OreDictionary.getOres("nuggetEnderium", false).isEmpty()) {
// RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemResonantRice), new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE.ordinal()), "nuggetEnderium", Items.GUNPOWDER);
// }
//
// //Advanced Leaf Blower
// RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemLeafBlowerAdvanced), " F", "DP", "DC", 'F', new ItemStack(Items.FLINT), 'D', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.DIAMOND.ordinal()), 'P', new ItemStack(Blocks.PISTON), 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
// recipeLeafBlowerAdvanced = RecipeUtil.lastIRecipe();
//
// //Phantom Connector
// RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemPhantomConnector), "YE", "EY", "S ", 'Y', Items.ENDER_EYE, 'E', Items.ENDER_PEARL, 'S', "stickWood");
// recipePhantomConnector = RecipeUtil.lastIRecipe();
//
// //Player Probe
// RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemPlayerProbe), "A A", "AIA", "RHR", 'A', new ItemStack(Blocks.IRON_BARS), 'R', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.REDSTONE.ordinal()), 'H', new ItemStack(Items.SKULL, 1, 1), 'I', new ItemStack(Items.IRON_HELMET));
// recipePlayerProbe = RecipeUtil.lastIRecipe();
//
// //Quartz
// GameRegistry.addSmelting(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ORE_QUARTZ.ordinal()), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 1F);
//
// //Knife
// RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemKnife), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_HANDLE.ordinal()));
// recipeKnife = RecipeUtil.lastIRecipe();
//
// //Crafter on a Stick
// RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemCrafterOnAStick), new ItemStack(Blocks.CRAFTING_TABLE), new ItemStack(Items.SIGN));
//
// //Tiny Coal
// if (ConfigBoolValues.TINY_COAL_STUFF.isEnabled()) {
// RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 8, TheMiscItems.TINY_COAL.ordinal()), new ItemStack(Items.COAL));
// recipeTinyCoal = RecipeUtil.lastIRecipe();
// RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 8, TheMiscItems.TINY_CHAR.ordinal()), new ItemStack(Items.COAL, 1, 1));
// recipeTinyChar = RecipeUtil.lastIRecipe();
// RecipeHandler.addOreDictRecipe(new ItemStack(Items.COAL), "CCC", "C C", "CCC", 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.TINY_COAL.ordinal()));
// RecipeHandler.addOreDictRecipe(new ItemStack(Items.COAL, 1, 1), "CCC", "C C", "CCC", 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.TINY_CHAR.ordinal()));
// }
//
// //Rice Seeds
// RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemRiceSeed), new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE.ordinal()));
//
// //Canola Seeds
// RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemCanolaSeed), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.CANOLA.ordinal()));
//
// //Rings
// initPotionRingRecipes();
//
// //Ingots from Dusts
// GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.IRON.ordinal()), new ItemStack(Items.IRON_INGOT), 1F);
// GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.GOLD.ordinal()), new ItemStack(Items.GOLD_INGOT), 1F);
// GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.DIAMOND.ordinal()), new ItemStack(Items.DIAMOND), 1F);
// GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.EMERALD.ordinal()), new ItemStack(Items.EMERALD), 1F);
// GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.LAPIS.ordinal()), new ItemStack(Items.DYE, 1, 4), 1F);
// GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.QUARTZ_BLACK.ordinal()), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 1F);
// GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.QUARTZ.ordinal()), new ItemStack(Items.QUARTZ), 1F);
// GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.COAL.ordinal()), new ItemStack(Items.COAL), 1F);
2021-05-02 00:51:36 +02:00
}
@Override
2021-08-22 17:09:06 +02:00
protected void saveAdvancement ( DirectoryCache cache , JsonObject cache2 , Path advancementJson ) {
2021-05-02 00:51:36 +02:00
//Nope...
}
2021-10-02 18:49:11 +02:00
public static class Recipe {
public static ItemRecipeGenerator . Recipe . Shapeless shapeless ( IItemProvider result ) {
return new ItemRecipeGenerator . Recipe . Shapeless ( result ) ;
}
public static ItemRecipeGenerator . Recipe . Shapeless shapeless ( IItemProvider result , int count ) {
return new ItemRecipeGenerator . Recipe . Shapeless ( result , count ) ;
}
public static ItemRecipeGenerator . Recipe . Shaped shaped ( IItemProvider result ) {
return new ItemRecipeGenerator . Recipe . Shaped ( result ) ;
}
public static ItemRecipeGenerator . Recipe . Shaped shaped ( IItemProvider result , int count ) {
return new ItemRecipeGenerator . Recipe . Shaped ( result , count ) ;
}
private static class Shapeless extends ShapelessRecipeBuilder {
public Shapeless ( IItemProvider result ) {
this ( result , 1 ) ;
}
public Shapeless ( IItemProvider result , int countIn ) {
super ( result , countIn ) ;
}
public ItemRecipeGenerator . Recipe . Shapeless ingredients ( IItemProvider . . . ingredients ) {
Arrays . asList ( ingredients ) . forEach ( this : : requires ) ;
return this ;
}
@Override
public void save ( Consumer < IFinishedRecipe > consumer ) {
this . unlockedBy ( " has_book " , has ( ActuallyItems . ITEM_BOOKLET . get ( ) ) ) ;
super . save ( consumer ) ;
}
@Override
public void save ( Consumer < IFinishedRecipe > consumer , ResourceLocation location ) {
this . unlockedBy ( " has_book " , has ( ActuallyItems . ITEM_BOOKLET . get ( ) ) ) ;
super . save ( consumer , location ) ;
}
}
private static class Shaped extends ShapedRecipeBuilder {
public Shaped ( IItemProvider resultIn ) {
this ( resultIn , 1 ) ;
}
public Shaped ( IItemProvider resultIn , int countIn ) {
super ( resultIn , countIn ) ;
}
public ItemRecipeGenerator . Recipe . Shaped pattern ( String line1 , String line2 , String line3 ) {
this . pattern ( line1 ) ;
this . pattern ( line2 ) ;
this . pattern ( line3 ) ;
return this ;
}
public ItemRecipeGenerator . Recipe . Shaped pattern ( String line1 , String line2 ) {
this . pattern ( line1 ) ;
this . pattern ( line2 ) ;
return this ;
}
public ItemRecipeGenerator . Recipe . Shaped patternSingleKey ( char key , IItemProvider resource , String . . . lines ) {
this . define ( key , resource ) ;
for ( String line : lines ) {
this . pattern ( line ) ;
}
return this ;
}
@Override
public void save ( Consumer < IFinishedRecipe > consumerIn ) {
this . unlockedBy ( " has_book " , has ( ActuallyItems . ITEM_BOOKLET . get ( ) ) ) ;
super . save ( consumerIn ) ;
}
@Override
public void save ( Consumer < IFinishedRecipe > consumerIn , ResourceLocation id ) {
this . unlockedBy ( " has_book " , has ( ActuallyItems . ITEM_BOOKLET . get ( ) ) ) ;
super . save ( consumerIn , id ) ;
}
}
}
2021-05-02 00:51:36 +02:00
}