I may have lied... @joshiejack

This commit is contained in:
jaredlll08 2015-04-13 23:02:34 +02:00
parent 0f1b852db6
commit 8fa42fd771
7 changed files with 28 additions and 17 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -7,35 +7,44 @@ import java.util.ArrayList;
import minetweaker.MineTweakerAPI;
import minetweaker.api.item.IItemStack;
import modtweaker2.utils.ArrayUtils;
import modtweaker2.utils.BaseListAddition;
import modtweaker2.utils.BaseListRemoval;
import net.minecraft.item.ItemStack;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
import appeng.api.AEApi;
import appeng.api.features.IInscriberRecipe;
import appeng.api.features.InscriberProcessType;
import appeng.core.features.registries.entries.InscriberRecipe;
import appeng.recipes.handlers.Inscribe;
import appeng.recipes.handlers.Inscribe.InscriberRecipe;
@ZenClass("mods.appeng.Inscriber")
public class Inscriber {
@ZenMethod
public static void addRecipe(IItemStack[] imprintable, IItemStack plateA, IItemStack plateB, IItemStack out, boolean usePlates) {
MineTweakerAPI.apply(new Add(new InscriberRecipe(toStacks(imprintable), toStack(plateA), toStack(plateB), toStack(out), usePlates)));
public static void addRecipe(IItemStack[] imprintable, IItemStack plateA, IItemStack plateB, IItemStack out, String type) {
MineTweakerAPI.apply(new Add(new InscriberRecipe(ArrayUtils.toArrayList(toStacks(imprintable)), toStack(out), toStack(plateA), toStack(plateB), InscriberProcessType.valueOf(type))));
for (IItemStack stack : imprintable) {
Inscribe.INPUTS.add(toStack(stack));
AEApi.instance().registries().inscriber().getInputs().add(toStack(stack));
}
Inscribe.PLATES.add(toStack(plateA));
Inscribe.PLATES.add(toStack(plateB));
if (plateA != null)
AEApi.instance().registries().inscriber().getOptionals().add(toStack(plateA));
if (plateB != null)
AEApi.instance().registries().inscriber().getOptionals().add(toStack(plateB));
}
public static class Add extends BaseListAddition {
public Add(InscriberRecipe recipe) {
super(recipe.toString(), Inscribe.RECIPES, recipe);
public Add(IInscriberRecipe recipe) {
super(recipe.toString(), AEApi.instance().registries().inscriber().getRecipes(), recipe);
}
@Override
public void apply() {
Inscribe.RECIPES.add((InscriberRecipe) recipe);
AEApi.instance().registries().inscriber().addRecipe((IInscriberRecipe) recipe);
}
}
@ -49,19 +58,19 @@ public class Inscriber {
public Remove(ItemStack stack) {
super(stack.getUnlocalizedName(), Inscribe.RECIPES, stack);
super(stack.getUnlocalizedName(), AEApi.instance().registries().inscriber().getRecipes(), stack);
}
@Override
public void apply() {
ArrayList<InscriberRecipe> recipesToRemove = new ArrayList<Inscribe.InscriberRecipe>();
for (InscriberRecipe recipe : Inscribe.RECIPES) {
if (recipe != null && recipe.output != null && recipe.output.isItemEqual(stack)) {
ArrayList<IInscriberRecipe> recipesToRemove = new ArrayList<IInscriberRecipe>();
for (IInscriberRecipe recipe : AEApi.instance().registries().inscriber().getRecipes()) {
if (recipe != null && recipe.getOutput() != null && recipe.getOutput().isItemEqual(stack)) {
recipesToRemove.add(recipe);
}
}
for (InscriberRecipe recipe : recipesToRemove) {
Inscribe.RECIPES.remove(recipe);
for (IInscriberRecipe recipe : recipesToRemove) {
AEApi.instance().registries().inscriber().removeRecipe(recipe);
}
}

View file

@ -3,7 +3,6 @@ package modtweaker2.mods.mekanism.handlers;
import static modtweaker2.helpers.InputHelper.toStack;
import static modtweaker2.mods.mekanism.MekanismHelper.toGas;
import mekanism.common.recipe.RecipeHandler.Recipe;
import mekanism.common.recipe.machines.CrystallizerRecipe;
import minetweaker.MineTweakerAPI;
import minetweaker.api.item.IItemStack;
import modtweaker2.mods.mekanism.Mekanism;

View file

@ -8,6 +8,9 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import appeng.api.AEApi;
import appeng.core.Registration;
import appeng.core.features.registries.InscriberRegistry;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import cofh.lib.inventory.ComparableItemStackSafe;
@ -27,7 +30,7 @@ public class ThermalHelper {
public static Constructor transposerRecipe;
static {
try {
try {
smelterRecipe = getConstructor("cofh.thermalexpansion.util.crafting.SmelterManager$RecipeSmelter", ItemStack.class, ItemStack.class, ItemStack.class, ItemStack.class, int.class, int.class);
transposerRecipe = getConstructor("cofh.thermalexpansion.util.crafting.TransposerManager$RecipeTransposer", ItemStack.class, ItemStack.class, FluidStack.class, int.class, int.class);
} catch (Exception e) {}