/** 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)); }
/** Registers a casting recipe for the casting basin */ public static void registerBasinCasting(ItemStack output, ItemStack cast, Fluid fluid, int amount) { RecipeMatch rm = null; if(!cast.isEmpty()) { rm = RecipeMatch.ofNBT(cast); } registerBasinCasting(new CastingRecipe(output, rm, fluid, amount)); }
public static RecipeMatch ofNBT(ItemStack stack) { return ofNBT(stack, 1); }
RecipeMatch.ofNBT(stack), fs, true, true)); RecipeMatch rm = RecipeMatch.ofNBT(clayCast); FluidStack fs = new FluidStack(fluid, toolPart.getCost()); TinkerRegistry.registerTableCasting(new CastingRecipe(stack, rm, fs, true, false)); RecipeMatch.ofNBT(stack), fs, true, true)); RecipeMatch.ofNBT(stack), fs, true, true));
@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)); }
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() + ", "