@Subscribe @Override public void postInit(FMLPostInitializationEvent event) { super.postInit(event); discoverArrows(); TinkerRegistry.registerTableCasting(BoltCoreCastingRecipe.INSTANCE); }
/** Registers a casting recipe for casting table */ public static void registerTableCasting(ItemStack output, ItemStack cast, Fluid fluid, int amount) { RecipeMatch rm = null; if(cast != ItemStack.EMPTY) { rm = RecipeMatch.ofNBT(cast); } registerTableCasting(new CastingRecipe(output, rm, fluid, amount)); }
@Subscribe public void postInit(FMLPostInitializationEvent event) { registerSmelteryFuel(); registerMeltingCasting(); // register remaining cast creation for(FluidStack fs : castCreationFluids) { TinkerRegistry.registerTableCasting(new ItemStack(cast), ItemStack.EMPTY, fs.getFluid(), fs.amount); TinkerRegistry.registerTableCasting(new CastingRecipe(castGem, RecipeMatch.of("gemEmerald"), fs, true, true)); TinkerRegistry.registerTableCasting(new CastingRecipe(castIngot, RecipeMatch.of("ingotBrick"), fs, true, true)); TinkerRegistry.registerTableCasting(new CastingRecipe(castIngot, RecipeMatch.of("ingotBrickNether"), fs, true, true)); TinkerRegistry.registerTableCasting(new CastingRecipe(castIngot, new RecipeMatch.Item(TinkerCommons.searedBrick, 1), fs, true, true)); } proxy.postInit(); TinkerRegistry.tabSmeltery.setDisplayIcon(new ItemStack(searedTank)); }
TinkerRegistry.registerTableCasting(new PreferenceCastingRecipe(ingotOre.getLeft(), RecipeMatch.ofNBT(castIngot), fluid, ingotOre.getRight())); TinkerRegistry.registerTableCasting(new PreferenceCastingRecipe(nuggetOre.getLeft(), RecipeMatch.ofNBT(castNugget), fluid, blockOre.getRight())); TinkerRegistry.registerTableCasting(new PreferenceCastingRecipe(plateOre.getLeft(), RecipeMatch.ofNBT(castPlate), fluid, plateOre.getRight())); TinkerRegistry.registerTableCasting(new PreferenceCastingRecipe(gearOre.getLeft(), RecipeMatch.ofNBT(castGear), fluid, TinkerRegistry.registerTableCasting(new CastingRecipe(castIngot, RecipeMatch.of(ingotOre.getLeft()), fs, true, true)); TinkerRegistry.registerTableCasting(new CastingRecipe(castNugget, RecipeMatch.of(nuggetOre.getLeft()), fs, true, true)); TinkerRegistry.registerTableCasting(new CastingRecipe(castPlate, RecipeMatch.of(plateOre.getLeft()), fs, true, true)); TinkerRegistry.registerTableCasting(new CastingRecipe(castGear, RecipeMatch.of(gearOre.getLeft()), fs, true, true));
TinkerRegistry.registerTableCasting(stack, cast, fluid, toolPart.getCost()); TinkerRegistry.registerTableCasting(new CastingRecipe(cast, RecipeMatch.ofNBT(stack), fs, RecipeMatch rm = RecipeMatch.ofNBT(clayCast); FluidStack fs = new FluidStack(fluid, toolPart.getCost()); TinkerRegistry.registerTableCasting(new CastingRecipe(stack, rm, fs, true, false)); TinkerRegistry.registerTableCasting(new CastingRecipe(clayCast, RecipeMatch.ofNBT(stack), fs, TinkerRegistry.registerTableCasting(stack, castShard, fluid, cost); TinkerRegistry.registerTableCasting(new CastingRecipe(castShard, RecipeMatch.ofNBT(stack), fs,
TinkerRegistry.registerTableCasting(new BucketCastingRecipe(Items.BUCKET)); TinkerRegistry.registerTableCasting(TinkerCommons.matSlimeBallBlood.copy(), ItemStack.EMPTY, TinkerFluids.blood, 160); TinkerRegistry.registerTableCasting(TinkerCommons.searedBrick, castIngot, TinkerFluids.searedStone, Material.VALUE_SearedMaterial); TinkerRegistry.registerBasinCasting(blockSeared, ItemStack.EMPTY, TinkerFluids.searedStone, Material.VALUE_SearedBlock); RecipeMatch rm = new RecipeMatch.Item(stack, 1, Material.VALUE_Ingot); TinkerRegistry.registerMelting(MeltingRecipe.forAmount(rm, TinkerFluids.dirt, Material.VALUE_BrickBlock)); TinkerRegistry.registerTableCasting(TinkerCommons.mudBrick, castIngot, TinkerFluids.dirt, Material.VALUE_Ingot); TinkerRegistry.registerMelting(TinkerCommons.mudBrick, TinkerFluids.dirt, Material.VALUE_Ingot); TinkerRegistry.registerMelting(TinkerCommons.mudBrickBlock, TinkerFluids.dirt, Material.VALUE_BrickBlock); TinkerRegistry.registerTableCasting(new ItemStack(Items.BRICK), castIngot, TinkerFluids.clay, Material.VALUE_Ingot); TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of("oreEmerald", (int) (Material.VALUE_Gem * Config.oreToIngotRatio)), TinkerFluids.emerald)); TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of("blockEmerald", Material.VALUE_Gem * 9), TinkerFluids.emerald)); TinkerRegistry.registerTableCasting(new ItemStack(Items.EMERALD), castGem, TinkerFluids.emerald, Material.VALUE_Gem); TinkerRegistry.registerBasinCasting(new ItemStack(Blocks.EMERALD_BLOCK), ItemStack.EMPTY, TinkerFluids.emerald, Material.VALUE_Gem * 9); TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of("blockGlass", Material.VALUE_Glass), TinkerFluids.glass)); TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of("paneGlass", Material.VALUE_Glass * 6 / 16), TinkerFluids.glass)); TinkerRegistry.registerTableCasting(new CastingRecipe(new ItemStack(Blocks.GLASS_PANE), null, TinkerFluids.glass, Material.VALUE_Glass * 6 / 16, 50)); TinkerRegistry.registerBasinCasting(new CastingRecipe(new ItemStack(TinkerCommons.blockClearGlass), null, TinkerFluids.glass, Material.VALUE_Glass, 120));
@Override public void apply() { RecipeMatch rm = null; if(cast != null) { List<ItemStack> validCasts = cast.getItems().stream().map(CraftTweakerMC::getItemStack).collect(Collectors.toList()); if(validCasts.isEmpty()) CraftTweakerAPI.logInfo("Could not find matching items for " + cast.toString() + ". Substituting empty cast for recipe with output " + output.getDisplayName()); else if(validCasts.size() == 1) //Keep compat to old handler if(validCasts.get(0).getMetadata() == OreDictionary.WILDCARD_VALUE) { rm = RecipeMatch.of(validCasts, output.getCount()); } else { rm = RecipeMatch.ofNBT(validCasts.get(0), output.getCount()); } else rm = RecipeMatch.of(validCasts, output.getCount()); } if(table) TinkerRegistry.registerTableCasting(new CastingRecipeTweaker(output, rm, new FluidStack(fluid, amount), time, consumeCast, false)); else TinkerRegistry.registerBasinCasting(new CastingRecipeTweaker(output, rm, new FluidStack(fluid, amount), time, consumeCast, false)); }
TinkerRegistry.registerTableCasting(new CastingRecipe(wetSpaghetti, RecipeMatch.of(hardSpaghetti), new FluidStack(FluidRegistry.WATER, Fluid.BUCKET_VOLUME * 3), 15 * 60 * 20, true, false)); TinkerRegistry.registerDryingRecipe(wetSpaghetti, coldSpaghetti, 15 * 60 * 20); GameRegistry.addSmelting(coldSpaghetti, new ItemStack(momsSpaghetti), 2.0f);
for (NNIterator<ItemStack> itr = cast.getCast().getItemStacks().fastIterator(); itr.hasNext();) { ItemStack castStack = itr.next(); TinkerRegistry.registerTableCasting(new CastingRecipe(cast.getResult().getItemStack(), RecipeMatch.ofNBT(castStack), cast.getFluid(), (int) Math.ceil(cast.getAmount()), cast.isConsumeCast(), false)); Log.debug("Tinkers.registerTableCasting: " + toString(cast.getResult()) + ", " + toString(castStack) + ", " + cast.getFluid().getName() + ", " TinkerRegistry.registerTableCasting( new CastingRecipe(cast.getResult().getItemStack(), null, cast.getFluid(), (int) Math.ceil(cast.getAmount()), cast.isConsumeCast(), false)); Log.debug("Tinkers.registerTableCasting: " + toString(cast.getResult()) + ", (no cast), " + cast.getFluid().getName() + ", " + cast.getAmount());