TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of(pair.getLeft(), pair.getRight()), 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));
@Override protected int repairCustom(Material material, NonNullList<ItemStack> repairItems) { Optional<RecipeMatch.Match> matchOptional = RecipeMatch.of(TinkerTools.sharpeningKit).matches(repairItems); if(!matchOptional.isPresent()) { return 0; } RecipeMatch.Match match = matchOptional.get(); for(ItemStack stacks : match.stacks) { // invalid material? if(TinkerTools.sharpeningKit.getMaterial(stacks) != material) { return 0; } } RecipeMatch.removeMatch(repairItems, match); HeadMaterialStats stats = material.getStats(MaterialTypes.HEAD); float durability = stats.durability * match.amount * TinkerTools.sharpeningKit.getCost(); durability /= Material.VALUE_Ingot; return (int) (durability); }
int amount = known.get(fluid) / output.getCount(); output.setCount(1); TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of(output, amount), fluid)); log.trace("Added automatic melting recipe for {} ({} {})", irecipe.getRecipeOutput().toString(), amount, fluid .getName());
@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)); }
public static RecipeMatch of(List<ItemStack> oredict) { return of(oredict, 1); }
public static RecipeMatch of(net.minecraft.item.Item item) { return of(item, 1); }
public static RecipeMatch of(net.minecraft.item.Item item, int matched) { return of(item, 1, matched); }
public static RecipeMatch of(String oredict) { return of(oredict, 1); }
public static RecipeMatch of(List<ItemStack> oredict, int matched) { return of(oredict, 1, matched); }
public static RecipeMatch of(Block block, int matched) { return of(block, 1, matched); }
public static RecipeMatch of(ItemStack stack) { return of(stack, 1); }
public static RecipeMatch of(ItemStack stack, int matched) { return of(stack, 1, matched); }
public static RecipeMatch of(Block block) { return of(block, 1); }
TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of(Blocks.ICE, bucket), water, 305)); TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of(Blocks.PACKED_ICE, bucket * 2), water, 310)); TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of(Blocks.SNOW, bucket), water, 305)); TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of(Items.SNOWBALL, bucket / 8), water, 301)); TinkerRegistry.registerMelting(MeltingRecipe.forAmount(RecipeMatch.of("stone", Material.VALUE_SearedMaterial), TinkerFluids.searedStone, Material.VALUE_Ore())); TinkerRegistry.registerMelting(MeltingRecipe.forAmount(RecipeMatch.of("cobblestone", Material.VALUE_SearedMaterial), TinkerFluids.searedStone, Material.VALUE_Ore())); TinkerRegistry.registerMelting(MeltingRecipe.forAmount(RecipeMatch.of("obsidian", Material.VALUE_Ore()), TinkerFluids.obsidian, Material.VALUE_Ore())); TinkerRegistry.registerBasinCasting(new CastingRecipe(searedCobble, RecipeMatch.of("cobblestone"), TinkerFluids.searedStone, Material.VALUE_SearedBlock - Material.VALUE_SearedMaterial, true, false)); RecipeMatch.of(Blocks.FURNACE), new FluidStack(TinkerFluids.searedStone, Material.VALUE_SearedMaterial * 8), true, true)); RecipeMatch.of("blockGlass"), new FluidStack(TinkerFluids.searedStone, Material.VALUE_SearedMaterial * 4), true, true)); TinkerRegistry.registerMelting(MeltingRecipe.forAmount(RecipeMatch.of(TinkerCommons.grout, Material.VALUE_SearedMaterial), TinkerFluids.searedStone, Material.VALUE_SearedMaterial / 3)); RecipeMatch.of(new ItemStack(Blocks.STAINED_HARDENED_CLAY, 1, OreDictionary.WILDCARD_VALUE)), new FluidStack(FluidRegistry.WATER, 250), 150,
@Override public void apply() { TCompRegistry.registerMelterBlacklist(RecipeMatch.of(input, output.amount)); }
private static RecipeMatch fromIIngredient(IIngredient ingredient) { List<ItemStack> ingredients = ingredient.getItems().stream().map(CraftTweakerMC::getItemStack).collect(Collectors.toList()); if (ingredients.isEmpty()) { return null; } int amount = ingredient.getAmount(); return RecipeMatch.of(ingredients, amount, amount); }
@Override public void apply() { List<ItemStack> validIngredients = ingredient.getItems().stream().map(CraftTweakerMC::getItemStack).collect(Collectors.toList()); if(validIngredients.isEmpty()) CraftTweakerAPI.logInfo("Could not find matching items for " + ingredient.toString() + ". Ignoring Melting recipe for " + output.getLocalizedName()); else if(temp == 0) { TinkerRegistry.registerMelting(new MeltingRecipeTweaker(RecipeMatch.of(validIngredients, output.amount), output)); } else { TinkerRegistry.registerMelting(new MeltingRecipeTweaker(RecipeMatch.of(validIngredients, output.amount), output, temp)); } }
@Override public void apply() { List<ItemStack> validIngredients = ingredient.getItems().stream().map(CraftTweakerMC::getItemStack).collect(Collectors.toList()); if(validIngredients.isEmpty()) CraftTweakerAPI.logInfo("Could not find matching items for " + ingredient.toString() + ". Ignoring " + name + " recipe for " + output.getDisplayName()); else TinkerRegistry.addDryingRecipe(new DryingRecipeTweaker(RecipeMatch.of(validIngredients), output, time)); }
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);