public MeltingRecipe register() { TinkerRegistry.registerMelting(this); return this; }
/** Registers this itemstack NBT-SENSITIVE to melt into amount of the given fluid. */ public static void registerMelting(ItemStack stack, Fluid fluid, int amount) { registerMelting(new MeltingRecipe(new RecipeMatch.ItemCombination(amount, stack), fluid)); }
public static void registerMelting(String oredict, Fluid fluid, int amount) { registerMelting(new MeltingRecipe(new RecipeMatch.Oredict(oredict, 1, amount), fluid)); }
/** Registers this block with all its metadatas to melt into amount of the given fluid. */ public static void registerMelting(Block block, Fluid fluid, int amount) { ItemStack stack = new ItemStack(block, 1, OreDictionary.WILDCARD_VALUE); registerMelting(new MeltingRecipe(new RecipeMatch.Item(stack, 1, amount), fluid)); }
/** Registers this item with all its metadatas to melt into amount of the given fluid. */ public static void registerMelting(Item item, Fluid fluid, int amount) { ItemStack stack = new ItemStack(item, 1, OreDictionary.WILDCARD_VALUE); registerMelting(new MeltingRecipe(new RecipeMatch.Item(stack, 1, amount), fluid)); }
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());
TinkerRegistry.registerMelting(new MeltingRecipe(RecipeMatch.of(pair.getLeft(), pair.getRight()), fluid));
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(Items.ROTTEN_FLESH, TinkerFluids.blood, 40); if(TinkerCommons.matSlimeBallBlood != null) { TinkerRegistry.registerTableCasting(TinkerCommons.matSlimeBallBlood.copy(), ItemStack.EMPTY, TinkerFluids.blood, 160); TinkerRegistry.registerMelting(TinkerCommons.matSlimeBallPurple, TinkerFluids.purpleSlime, Material.VALUE_SlimeBall); ItemStack slimeblock = new ItemStack(TinkerCommons.blockSlimeCongealed, 1, BlockSlime.SlimeType.PURPLE.meta); TinkerRegistry.registerMelting(slimeblock, TinkerFluids.purpleSlime, Material.VALUE_SlimeBall * 4); slimeblock = new ItemStack(TinkerCommons.blockSlime, 1, BlockSlime.SlimeType.PURPLE.meta); TinkerRegistry.registerMelting(slimeblock, TinkerFluids.purpleSlime, Material.VALUE_SlimeBall * 9); 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.registerMelting(Items.IRON_HORSE_ARMOR, TinkerFluids.iron, Material.VALUE_Ingot * 4); TinkerRegistry.registerMelting(Items.GOLDEN_HORSE_ARMOR, TinkerFluids.gold, Material.VALUE_Ingot * 4); if(toolPart instanceof MaterialItem) { ItemStack stack = toolPart.getItemstackWithMaterial(TinkerMaterials.stone); TinkerRegistry.registerMelting(stack, TinkerFluids.searedStone, (toolPart.getCost() * Material.VALUE_SearedMaterial) / Material.VALUE_Ingot);
TinkerRegistry.registerMelting(stack, fluid, toolPart.getCost()); TinkerRegistry.registerMelting(stack, fluid, cost);
@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)); } }
public static void registerSmeltings() { for (SmeltQueue smelt : TiCQueues.getSmeltQueue()) { // 1st because it may provide fluids for later if (smelt.getFluidOutput() == null) { FluidStack fluid = getFluidForItems(smelt.getOutput()); if (fluid == null) { Log.warn("Item used in Smeltery recipe '" + toString(smelt.getOutput()) + "' doesn't smelt into a fluid"); } else { smelt.setFluidOutput(fluid.getFluid()); smelt.setAmount(smelt.getAmount() * fluid.amount); } } if (smelt.getFluidOutput() != null) { for (ItemStack in : smelt.getInput().getItemStacks()) { TinkerRegistry.registerMelting(in, smelt.getFluidOutput(), (int) Math.max(1, Math.floor(smelt.getAmount()))); Log.debug("Tinkers.registerMelting: " + toString(in) + ", " + smelt.getFluidOutput().getName() + ", " + smelt.getAmount()); } } } TiCQueues.getSmeltQueue().clear(); }