This commit is contained in:
Jared 2017-03-12 16:58:48 +02:00
parent 04e5a559e0
commit 94d69f8ba5
3 changed files with 453 additions and 359 deletions

View file

@ -1,143 +1,183 @@
package modtweaker.mods.embers.handlers; package modtweaker.mods.embers.handlers;
import com.blamejared.mtlib.helpers.LogHelper; import com.blamejared.mtlib.helpers.LogHelper;
import com.blamejared.mtlib.helpers.StackHelper; import com.blamejared.mtlib.utils.*;
import com.blamejared.mtlib.utils.BaseListAddition;
import com.blamejared.mtlib.utils.BaseListRemoval;
import com.blamejared.mtlib.utils.BaseMapAddition;
import com.blamejared.mtlib.utils.BaseMapRemoval;
import minetweaker.MineTweakerAPI; import minetweaker.MineTweakerAPI;
import minetweaker.api.item.IIngredient;
import minetweaker.api.item.IItemStack; import minetweaker.api.item.IItemStack;
import minetweaker.api.liquid.ILiquidStack; import minetweaker.api.liquid.ILiquidStack;
import minetweaker.api.oredict.IOreDictEntry; import minetweaker.api.oredict.IOreDictEntry;
import modtweaker.mods.embers.Embers;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import stanhebben.zenscript.annotations.Optional; import stanhebben.zenscript.annotations.*;
import stanhebben.zenscript.annotations.ZenClass; import teamroots.embers.compat.jei.MeltingRecipeWrapper;
import stanhebben.zenscript.annotations.ZenMethod; import teamroots.embers.recipe.*;
import teamroots.embers.recipe.ItemMeltingOreRecipe;
import teamroots.embers.recipe.ItemMeltingRecipe;
import teamroots.embers.recipe.RecipeRegistry;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import static com.blamejared.mtlib.helpers.InputHelper.*; import static com.blamejared.mtlib.helpers.InputHelper.*;
import static com.blamejared.mtlib.helpers.StackHelper.matches;
@ZenClass("mods.embers.Melter") @ZenClass("mods.embers.Melter")
public class Melter { public class Melter {
public static String name = "Embers Melter";
public static String name = "Embers Melter";
@ZenMethod
public static void addRecipe(IItemStack input, ILiquidStack outputOne, boolean matchMeta, boolean matchNBT) { @ZenMethod
MineTweakerAPI.apply(new Add(toStack(input), new ItemMeltingRecipe(toStack(input),toFluid(outputOne), matchMeta, matchNBT))); public static void addRecipe(IItemStack input, ILiquidStack outputOne, boolean matchMeta, boolean matchNBT) {
} MineTweakerAPI.apply(new Add(toStack(input), new ItemMeltingRecipe(toStack(input), toFluid(outputOne), matchMeta, matchNBT)));
}
@ZenMethod
public static void addOreRecipe(IOreDictEntry key, ILiquidStack outputOne, boolean matchMeta, boolean matchNBT) { @ZenMethod
MineTweakerAPI.apply(new AddOre(key.getName(), new ItemMeltingOreRecipe(key.getName(),toFluid(outputOne)))); public static void addOreRecipe(IOreDictEntry key, ILiquidStack outputOne, boolean matchMeta, boolean matchNBT) {
} MineTweakerAPI.apply(new AddOre(key.getName(), new ItemMeltingOreRecipe(key.getName(), toFluid(outputOne))));
}
private static class AddOre extends BaseMapAddition<String, ItemMeltingOreRecipe> { @ZenMethod
public AddOre(String stack, ItemMeltingOreRecipe recipe) { public static void remove(ILiquidStack fluid) {
super(Melter.name, RecipeRegistry.meltingOreRecipes); List<ItemStack> recipes = new ArrayList<>();
List<String> oreRecipes = new ArrayList<>();
this.recipes.put(stack, recipe); if(fluid == null) {
} LogHelper.logError(String.format("Required parameters missing for %s Recipe.", name));
return;
@Override }
protected String getRecipeInfo(Entry<String, ItemMeltingOreRecipe> arg0) {
// TODO Auto-generated method stub for(int i = 0; i < RecipeRegistry.meltingRecipes.size(); i++) {
return arg0.getValue().getOreName(); if(((ItemMeltingRecipe) RecipeRegistry.meltingRecipes.values().toArray()[i]).getFluid().getFluid().getName().equals(toFluid(fluid).getFluid().getName())) {
} recipes.add(((ItemStack) RecipeRegistry.meltingRecipes.keySet().toArray()[i]));
} }
}
private static class Add extends BaseMapAddition<ItemStack, ItemMeltingRecipe> { for(int i = 0; i < RecipeRegistry.meltingOreRecipes.size(); i++) {
public Add(ItemStack stack, ItemMeltingRecipe recipe) { if(((ItemMeltingOreRecipe) RecipeRegistry.meltingOreRecipes.values().toArray()[i]).getFluid().getFluid().getName().equals(toFluid(fluid).getFluid().getName())) {
super(Melter.name, RecipeRegistry.meltingRecipes); oreRecipes.add(((String) RecipeRegistry.meltingOreRecipes.keySet().toArray()[i]));
}
this.recipes.put(stack, recipe); }
}
if(!recipes.isEmpty()) {
@Override Map<ItemStack, ItemMeltingRecipe> map = new HashMap<ItemStack, ItemMeltingRecipe>();
protected String getRecipeInfo(Entry<ItemStack, ItemMeltingRecipe> arg0) { for(int i = 0; i < recipes.size(); i++) {
// TODO Auto-generated method stub map.put(recipes.get(i), RecipeRegistry.meltingRecipes.get(recipes.get(i)));
return LogHelper.getStackDescription(arg0.getValue().getStack()); }
} MineTweakerAPI.apply(new Remove(map));
} } else if(!oreRecipes.isEmpty()) {
Map<String, ItemMeltingOreRecipe> map = new HashMap<String, ItemMeltingOreRecipe>();
@ZenMethod for(int i = 0; i < oreRecipes.size(); i++) {
public static void remove(ILiquidStack fluid) { map.put(oreRecipes.get(i), RecipeRegistry.meltingOreRecipes.get(oreRecipes.get(i)));
List<ItemStack> recipes = new ArrayList<ItemStack>(); }
List<String> oreRecipes = new ArrayList<String>(); MineTweakerAPI.apply(new RemoveOre(map));
if (fluid == null) { } else {
LogHelper.logError(String.format("Required parameters missing for %s Recipe.", name)); LogHelper.logWarning(String.format("No %s Recipe found for output %s. Command ignored!", Melter.name, fluid.toString()));
return; }
}
}
for (int i = 0; i < RecipeRegistry.meltingRecipes.size(); i ++){
if (((ItemMeltingRecipe)RecipeRegistry.meltingRecipes.values().toArray()[i]).getFluid().getFluid().getName().equals(toFluid(fluid).getFluid().getName())){ private static class AddOre extends BaseMapAddition<String, ItemMeltingOreRecipe> {
recipes.add(((ItemStack)RecipeRegistry.meltingRecipes.keySet().toArray()[i]));
} public AddOre(String stack, ItemMeltingOreRecipe recipe) {
} super(Melter.name, RecipeRegistry.meltingOreRecipes);
for (int i = 0; i < RecipeRegistry.meltingOreRecipes.size(); i ++){ this.recipes.put(stack, recipe);
if (((ItemMeltingOreRecipe)RecipeRegistry.meltingOreRecipes.values().toArray()[i]).getFluid().getFluid().getName().equals(toFluid(fluid).getFluid().getName())){ }
oreRecipes.add(((String)RecipeRegistry.meltingOreRecipes.keySet().toArray()[i]));
} @Override
} public void apply() {
super.apply();
if (!recipes.isEmpty()) { successful.forEach((stack, recipe) -> {
Map<ItemStack, ItemMeltingRecipe> map = new HashMap<ItemStack, ItemMeltingRecipe>(); MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new MeltingRecipeWrapper(recipe));
for (int i = 0; i < recipes.size(); i ++){ });
map.put(recipes.get(i), RecipeRegistry.meltingRecipes.get(recipes.get(i))); }
}
MineTweakerAPI.apply(new Remove(map)); @Override
} else if (!oreRecipes.isEmpty()) { public void undo() {
Map<String, ItemMeltingOreRecipe> map = new HashMap<String, ItemMeltingOreRecipe>(); super.undo();
for (int i = 0; i < oreRecipes.size(); i ++){ successful.forEach((stack, recipe) -> {
map.put(oreRecipes.get(i), RecipeRegistry.meltingOreRecipes.get(oreRecipes.get(i))); MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new MeltingRecipeWrapper(recipe));
} });
MineTweakerAPI.apply(new RemoveOre(map)); }
} else {
LogHelper.logWarning(String.format("No %s Recipe found for output %s. Command ignored!", Melter.name, @Override
fluid.toString())); protected String getRecipeInfo(Entry<String, ItemMeltingOreRecipe> arg0) {
} return arg0.getValue().getOreName();
}
} }
private static class Remove extends BaseMapRemoval<ItemStack, ItemMeltingRecipe> { private static class Add extends BaseMapAddition<ItemStack, ItemMeltingRecipe> {
public Remove(Map<ItemStack, ItemMeltingRecipe> recipes) { public Add(ItemStack stack, ItemMeltingRecipe recipe) {
super(Melter.name, RecipeRegistry.meltingRecipes, recipes); super(Melter.name, RecipeRegistry.meltingRecipes);
} this.recipes.put(stack, recipe);
}
@Override
protected String getRecipeInfo(Entry<ItemStack, ItemMeltingRecipe> arg0) { @Override
// TODO Auto-generated method stub public void apply() {
return LogHelper.getStackDescription(arg0.getValue().getStack()); super.apply();
} successful.forEach((stack, recipe) -> {
} MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new MeltingRecipeWrapper(recipe));
});
private static class RemoveOre extends BaseMapRemoval<String, ItemMeltingOreRecipe> { }
public RemoveOre(Map<String, ItemMeltingOreRecipe> recipes) { @Override
super(Melter.name, RecipeRegistry.meltingOreRecipes, recipes); public void undo() {
} super.undo();
successful.forEach((stack, recipe) -> {
@Override MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new MeltingRecipeWrapper(recipe));
protected String getRecipeInfo(Entry<String, ItemMeltingOreRecipe> arg0) { });
// TODO Auto-generated method stub }
return arg0.getValue().getOreName();
} @Override
} protected String getRecipeInfo(Entry<ItemStack, ItemMeltingRecipe> arg0) {
return LogHelper.getStackDescription(arg0.getValue().getStack());
}
}
private static class Remove extends BaseMapRemoval<ItemStack, ItemMeltingRecipe> {
public Remove(Map<ItemStack, ItemMeltingRecipe> recipes) {
super(Melter.name, RecipeRegistry.meltingRecipes, recipes);
}
@Override
public void apply() {
super.apply();
successful.forEach((stack, recipe) -> {
MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new MeltingRecipeWrapper(recipe));
});
}
@Override
public void undo() {
super.undo();
successful.forEach((stack, recipe) -> {
MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new MeltingRecipeWrapper(recipe));
});
}
@Override
protected String getRecipeInfo(Entry<ItemStack, ItemMeltingRecipe> arg0) {
return LogHelper.getStackDescription(arg0.getValue().getStack());
}
}
private static class RemoveOre extends BaseMapRemoval<String, ItemMeltingOreRecipe> {
public RemoveOre(Map<String, ItemMeltingOreRecipe> recipes) {
super(Melter.name, RecipeRegistry.meltingOreRecipes, recipes);
}
@Override
public void apply() {
super.apply();
successful.forEach((stack, recipe) -> {
MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new MeltingRecipeWrapper(recipe));
});
}
@Override
public void undo() {
super.undo();
successful.forEach((stack, recipe) -> {
MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new MeltingRecipeWrapper(recipe));
});
}
@Override
protected String getRecipeInfo(Entry<String, ItemMeltingOreRecipe> arg0) {
return arg0.getValue().getOreName();
}
}
} }

View file

@ -1,107 +1,115 @@
package modtweaker.mods.embers.handlers; package modtweaker.mods.embers.handlers;
import com.blamejared.mtlib.helpers.LogHelper; import com.blamejared.mtlib.helpers.LogHelper;
import com.blamejared.mtlib.helpers.StackHelper; import com.blamejared.mtlib.utils.*;
import com.blamejared.mtlib.utils.BaseListAddition;
import com.blamejared.mtlib.utils.BaseListRemoval;
import com.blamejared.mtlib.utils.BaseMapAddition;
import com.blamejared.mtlib.utils.BaseMapRemoval;
import minetweaker.MineTweakerAPI; import minetweaker.MineTweakerAPI;
import minetweaker.api.item.IIngredient;
import minetweaker.api.item.IItemStack;
import minetweaker.api.liquid.ILiquidStack; import minetweaker.api.liquid.ILiquidStack;
import minetweaker.api.oredict.IOreDictEntry;
import modtweaker.mods.embers.Embers;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import stanhebben.zenscript.annotations.Optional; import stanhebben.zenscript.annotations.*;
import stanhebben.zenscript.annotations.ZenClass; import teamroots.embers.compat.jei.MixingRecipeWrapper;
import stanhebben.zenscript.annotations.ZenMethod; import teamroots.embers.recipe.*;
import teamroots.embers.item.EnumStampType;
import teamroots.embers.recipe.FluidMixingRecipe;
import teamroots.embers.recipe.ItemMeltingOreRecipe;
import teamroots.embers.recipe.ItemMeltingRecipe;
import teamroots.embers.recipe.ItemStampingOreRecipe;
import teamroots.embers.recipe.ItemStampingRecipe;
import teamroots.embers.recipe.RecipeRegistry;
import java.util.ArrayList; import java.util.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Map.Entry;
import static com.blamejared.mtlib.helpers.InputHelper.*; import static com.blamejared.mtlib.helpers.InputHelper.toFluid;
import static com.blamejared.mtlib.helpers.StackHelper.matches;
@ZenClass("mods.embers.Mixer") @ZenClass("mods.embers.Mixer")
public class Mixer { public class Mixer {
public static String name = "Embers Mixer";
public static String name = "Embers Mixer";
@ZenMethod
public static void addRecipe(ILiquidStack input1, ILiquidStack input2, ILiquidStack input3, ILiquidStack input4, ILiquidStack output) { @ZenMethod
ArrayList<FluidStack> fluids = new ArrayList<FluidStack>(); public static void addRecipe(ILiquidStack input1, ILiquidStack input2, ILiquidStack input3, ILiquidStack input4, ILiquidStack output) {
if (input1 != null){ ArrayList<FluidStack> fluids = new ArrayList<>();
fluids.add(toFluid(input1)); if(input1 != null) {
} fluids.add(toFluid(input1));
if (input2 != null){ }
fluids.add(toFluid(input2)); if(input2 != null) {
} fluids.add(toFluid(input2));
if (input3 != null){ }
fluids.add(toFluid(input3)); if(input3 != null) {
} fluids.add(toFluid(input3));
if (input4 != null){ }
fluids.add(toFluid(input4)); if(input4 != null) {
} fluids.add(toFluid(input4));
MineTweakerAPI.apply(new Add(new FluidMixingRecipe(fluids.toArray(new FluidStack[fluids.size()]), toFluid(output)))); }
} MineTweakerAPI.apply(new Add(new FluidMixingRecipe(fluids.toArray(new FluidStack[fluids.size()]), toFluid(output))));
}
private static class Add extends BaseListAddition<FluidMixingRecipe> {
public Add(FluidMixingRecipe recipe) {
super(Mixer.name, RecipeRegistry.mixingRecipes); @ZenMethod
public static void remove(ILiquidStack output) {
this.recipes.add(recipe); List<FluidMixingRecipe> recipes = new ArrayList<>();
}
for(int i = 0; i < RecipeRegistry.mixingRecipes.size(); i++) {
@Override if(RecipeRegistry.mixingRecipes.get(i).output.getFluid().getName().equals(toFluid(output).getFluid().getName())) {
protected String getRecipeInfo(FluidMixingRecipe arg0) { recipes.add(RecipeRegistry.mixingRecipes.get(i));
return LogHelper.getStackDescription(arg0.output); }
} }
}
if(!recipes.isEmpty()) {
@ZenMethod for(int i = 0; i < recipes.size(); i++) {
public static void remove(ILiquidStack output) { MineTweakerAPI.apply(new Remove(recipes.get(i)));
List<FluidMixingRecipe> recipes = new ArrayList<FluidMixingRecipe>(); }
} else {
for (int i = 0; i < RecipeRegistry.mixingRecipes.size(); i ++){ LogHelper.logWarning(String.format("No %s Recipe found for output %s. Command ignored!", Mixer.name, output.toString()));
if (RecipeRegistry.mixingRecipes.get(i).output.getFluid().getName().equals(toFluid(output).getFluid().getName())){ }
recipes.add(RecipeRegistry.mixingRecipes.get(i));
} }
}
private static class Add extends BaseListAddition<FluidMixingRecipe> {
if (!recipes.isEmpty()) {
for (int i = 0; i < recipes.size(); i ++){ public Add(FluidMixingRecipe recipe) {
MineTweakerAPI.apply(new Remove(recipes.get(i))); super(Mixer.name, RecipeRegistry.mixingRecipes);
} this.recipes.add(recipe);
} }
else {
LogHelper.logWarning(String.format("No %s Recipe found for output %s. Command ignored!", Mixer.name, @Override
output.toString())); public void apply() {
} super.apply();
successful.forEach(rec ->{
} MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new MixingRecipeWrapper(rec));
});
private static class Remove extends BaseListRemoval<FluidMixingRecipe> { }
public Remove(FluidMixingRecipe recipe) { @Override
super(Mixer.name, RecipeRegistry.mixingRecipes); public void undo() {
this.recipes.remove(recipe); super.undo();
} successful.forEach(rec ->{
MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new MixingRecipeWrapper(rec));
@Override });
protected String getRecipeInfo(FluidMixingRecipe arg0) { }
// TODO Auto-generated method stub
return LogHelper.getStackDescription(arg0.output); @Override
} protected String getRecipeInfo(FluidMixingRecipe arg0) {
} return LogHelper.getStackDescription(arg0.output);
}
}
private static class Remove extends BaseListRemoval<FluidMixingRecipe> {
public Remove(FluidMixingRecipe recipe) {
super(Mixer.name, RecipeRegistry.mixingRecipes);
this.recipes.remove(recipe);
}
@Override
public void apply() {
super.apply();
successful.forEach(rec ->{
MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new MixingRecipeWrapper(rec));
});
}
@Override
public void undo() {
super.undo();
successful.forEach(rec ->{
MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new MixingRecipeWrapper(rec));
});
}
@Override
protected String getRecipeInfo(FluidMixingRecipe arg0) {
return LogHelper.getStackDescription(arg0.output);
}
}
} }

View file

@ -1,153 +1,199 @@
package modtweaker.mods.embers.handlers; package modtweaker.mods.embers.handlers;
import com.blamejared.mtlib.helpers.LogHelper; import com.blamejared.mtlib.helpers.LogHelper;
import com.blamejared.mtlib.helpers.StackHelper; import com.blamejared.mtlib.utils.*;
import com.blamejared.mtlib.utils.BaseListAddition;
import com.blamejared.mtlib.utils.BaseListRemoval;
import com.blamejared.mtlib.utils.BaseMapAddition;
import com.blamejared.mtlib.utils.BaseMapRemoval;
import minetweaker.MineTweakerAPI; import minetweaker.MineTweakerAPI;
import minetweaker.api.item.IIngredient;
import minetweaker.api.item.IItemStack; import minetweaker.api.item.IItemStack;
import minetweaker.api.liquid.ILiquidStack; import minetweaker.api.liquid.ILiquidStack;
import minetweaker.api.oredict.IOreDictEntry; import minetweaker.api.oredict.IOreDictEntry;
import modtweaker.mods.embers.Embers;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary; import stanhebben.zenscript.annotations.*;
import stanhebben.zenscript.annotations.Optional; import teamroots.embers.compat.jei.StampingRecipeWrapper;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
import teamroots.embers.item.EnumStampType; import teamroots.embers.item.EnumStampType;
import teamroots.embers.recipe.ItemMeltingOreRecipe; import teamroots.embers.recipe.*;
import teamroots.embers.recipe.ItemMeltingRecipe;
import teamroots.embers.recipe.ItemStampingOreRecipe;
import teamroots.embers.recipe.ItemStampingRecipe;
import teamroots.embers.recipe.RecipeRegistry;
import java.util.ArrayList; import java.util.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Map.Entry;
import static com.blamejared.mtlib.helpers.InputHelper.*; import static com.blamejared.mtlib.helpers.InputHelper.*;
import static com.blamejared.mtlib.helpers.StackHelper.matches;
@ZenClass("mods.embers.Stamper") @ZenClass("mods.embers.Stamper")
public class Stamper { public class Stamper {
public static String name = "Embers Stamper";
public static String name = "Embers Stamper";
public static EnumStampType getStampFromString(String string){
switch (string){
default: @ZenMethod
return EnumStampType.TYPE_NULL; public static void addRecipe(IItemStack itemInput, ILiquidStack fluidInput, String stampType, IItemStack result, boolean matchMeta, boolean matchNBT) {
case "flat": MineTweakerAPI.apply(new Add(new ItemStampingRecipe(toStack(itemInput), toFluid(fluidInput), getStampFromString(stampType), toStack(result), matchMeta, matchNBT)));
return EnumStampType.TYPE_FLAT; }
case "bar":
return EnumStampType.TYPE_BAR; @ZenMethod
case "plate": public static void addRecipe(IOreDictEntry key, ILiquidStack fluidInput, String stampType, IItemStack result) {
return EnumStampType.TYPE_PLATE; MineTweakerAPI.apply(new AddOre(new ItemStampingOreRecipe(key.getName(), toFluid(fluidInput), getStampFromString(stampType), toStack(result), false, false)));
case "null": }
return EnumStampType.TYPE_NULL;
} @ZenMethod
} public static void remove(IItemStack item) {
List<ItemStampingRecipe> recipes = new ArrayList<ItemStampingRecipe>();
@ZenMethod List<ItemStampingOreRecipe> oreRecipes = new ArrayList<ItemStampingOreRecipe>();
public static void addRecipe(IItemStack itemInput, ILiquidStack fluidInput, String stampType, IItemStack result, boolean matchMeta, boolean matchNBT) {
MineTweakerAPI.apply(new Add(new ItemStampingRecipe(toStack(itemInput), toFluid(fluidInput), getStampFromString(stampType), toStack(result), matchMeta, matchNBT))); if(item == null) {
} LogHelper.logError(String.format("Required parameters missing for %s Recipe.", name));
return;
@ZenMethod }
public static void addRecipe(IOreDictEntry key, ILiquidStack fluidInput, String stampType, IItemStack result) {
MineTweakerAPI.apply(new AddOre(new ItemStampingOreRecipe(key.getName(), toFluid(fluidInput), getStampFromString(stampType), toStack(result), false, false))); for(int i = 0; i < RecipeRegistry.stampingRecipes.size(); i++) {
} if(ItemStack.areItemsEqual(RecipeRegistry.stampingRecipes.get(i).result, toStack(item))) {
recipes.add(RecipeRegistry.stampingRecipes.get(i));
}
private static class AddOre extends BaseListAddition<ItemStampingOreRecipe> { }
public AddOre(ItemStampingOreRecipe recipe) {
super(Stamper.name, RecipeRegistry.stampingOreRecipes); for(int i = 0; i < RecipeRegistry.stampingOreRecipes.size(); i++) {
if(ItemStack.areItemsEqual(RecipeRegistry.stampingOreRecipes.get(i).result, toStack(item))) {
this.recipes.add(recipe); oreRecipes.add(RecipeRegistry.stampingOreRecipes.get(i));
} }
}
@Override
protected String getRecipeInfo(ItemStampingOreRecipe arg0) { if(!recipes.isEmpty()) {
// TODO Auto-generated method stub MineTweakerAPI.apply(new Remove(recipes));
return arg0.getOre(); } else if(!oreRecipes.isEmpty()) {
} MineTweakerAPI.apply(new RemoveOre(oreRecipes));
} } else {
LogHelper.logWarning(String.format("No %s Recipe found for output %s. Command ignored!", Stamper.name, item.toString()));
}
private static class Add extends BaseListAddition<ItemStampingRecipe> {
public Add(ItemStampingRecipe recipe) { }
super(Stamper.name, RecipeRegistry.stampingRecipes);
private static class AddOre extends BaseListAddition<ItemStampingOreRecipe> {
this.recipes.add(recipe);
} public AddOre(ItemStampingOreRecipe recipe) {
super(Stamper.name, RecipeRegistry.stampingOreRecipes);
@Override
protected String getRecipeInfo(ItemStampingRecipe arg0) { this.recipes.add(recipe);
return LogHelper.getStackDescription(arg0.getStack()); }
}
} @Override
public void apply() {
@ZenMethod super.apply();
public static void remove(IItemStack item) { successful.forEach(rec -> {
List<ItemStampingRecipe> recipes = new ArrayList<ItemStampingRecipe>(); MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new StampingRecipeWrapper(rec));
List<ItemStampingOreRecipe> oreRecipes = new ArrayList<ItemStampingOreRecipe>(); });
}
if (item == null) {
LogHelper.logError(String.format("Required parameters missing for %s Recipe.", name)); @Override
return; public void undo() {
} super.undo();
successful.forEach(rec -> {
for (int i = 0; i < RecipeRegistry.stampingRecipes.size(); i ++){ MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new StampingRecipeWrapper(rec));
if (ItemStack.areItemsEqual(RecipeRegistry.stampingRecipes.get(i).result,toStack(item))){ });
recipes.add(RecipeRegistry.stampingRecipes.get(i)); }
}
} @Override
protected String getRecipeInfo(ItemStampingOreRecipe arg0) {
for (int i = 0; i < RecipeRegistry.stampingOreRecipes.size(); i ++){ return arg0.getOre();
if (ItemStack.areItemsEqual(RecipeRegistry.stampingOreRecipes.get(i).result,toStack(item))){ }
oreRecipes.add(RecipeRegistry.stampingOreRecipes.get(i)); }
}
}
private static class Add extends BaseListAddition<ItemStampingRecipe> {
if (!recipes.isEmpty()) {
MineTweakerAPI.apply(new Remove(recipes)); public Add(ItemStampingRecipe recipe) {
} super(Stamper.name, RecipeRegistry.stampingRecipes);
else if (!oreRecipes.isEmpty()) {
MineTweakerAPI.apply(new RemoveOre(oreRecipes)); this.recipes.add(recipe);
} else { }
LogHelper.logWarning(String.format("No %s Recipe found for output %s. Command ignored!", Stamper.name,
item.toString())); @Override
} public void apply() {
super.apply();
} successful.forEach(rec -> {
MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new StampingRecipeWrapper(rec));
private static class Remove extends BaseListRemoval<ItemStampingRecipe> { });
}
public Remove(List<ItemStampingRecipe> recipes) {
super(Stamper.name, RecipeRegistry.stampingRecipes, recipes); @Override
} public void undo() {
super.undo();
@Override successful.forEach(rec -> {
protected String getRecipeInfo(ItemStampingRecipe arg0) { MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new StampingRecipeWrapper(rec));
// TODO Auto-generated method stub });
return LogHelper.getStackDescription(arg0.getStack()); }
}
} @Override
protected String getRecipeInfo(ItemStampingRecipe arg0) {
private static class RemoveOre extends BaseListRemoval<ItemStampingOreRecipe> { return LogHelper.getStackDescription(arg0.getStack());
}
public RemoveOre(List<ItemStampingOreRecipe> recipes) { }
super(Stamper.name, RecipeRegistry.stampingOreRecipes, recipes);
} private static class Remove extends BaseListRemoval<ItemStampingRecipe> {
@Override public Remove(List<ItemStampingRecipe> recipes) {
protected String getRecipeInfo(ItemStampingOreRecipe arg0) { super(Stamper.name, RecipeRegistry.stampingRecipes, recipes);
// TODO Auto-generated method stub }
return arg0.getOre();
} @Override
} public void apply() {
super.apply();
successful.forEach(rec -> {
MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new StampingRecipeWrapper(rec));
});
}
@Override
public void undo() {
super.undo();
successful.forEach(rec -> {
MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new StampingRecipeWrapper(rec));
});
}
@Override
protected String getRecipeInfo(ItemStampingRecipe arg0) {
return LogHelper.getStackDescription(arg0.getStack());
}
}
private static class RemoveOre extends BaseListRemoval<ItemStampingOreRecipe> {
public RemoveOre(List<ItemStampingOreRecipe> recipes) {
super(Stamper.name, RecipeRegistry.stampingOreRecipes, recipes);
}
@Override
public void apply() {
super.apply();
successful.forEach(rec -> {
MineTweakerAPI.getIjeiRecipeRegistry().removeRecipe(new StampingRecipeWrapper(rec));
});
}
@Override
public void undo() {
super.undo();
successful.forEach(rec -> {
MineTweakerAPI.getIjeiRecipeRegistry().addRecipe(new StampingRecipeWrapper(rec));
});
}
@Override
protected String getRecipeInfo(ItemStampingOreRecipe arg0) {
return arg0.getOre();
}
}
public static EnumStampType getStampFromString(String string) {
switch(string) {
default:
return EnumStampType.TYPE_NULL;
case "flat":
return EnumStampType.TYPE_FLAT;
case "bar":
return EnumStampType.TYPE_BAR;
case "plate":
return EnumStampType.TYPE_PLATE;
case "null":
return EnumStampType.TYPE_NULL;
}
}
} }