summaryrefslogtreecommitdiff
path: root/ihl/recipes/RecipeInputDetonator.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2017-01-27 11:32:28 +0300
committerFoghrye4 <foghrye4@gmail.com>2017-01-27 11:32:28 +0300
commit2db8e30b1d2151fdde5d08a6c06aef55f0c397d2 (patch)
treee8cd0022f3a30a5c952092e0ea4c7ffdafcdf7bb /ihl/recipes/RecipeInputDetonator.java
parentffe23313fb7421b0a1849b420baf708999023f7b (diff)
License, readme and stuff
Diffstat (limited to 'ihl/recipes/RecipeInputDetonator.java')
-rw-r--r--ihl/recipes/RecipeInputDetonator.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/ihl/recipes/RecipeInputDetonator.java b/ihl/recipes/RecipeInputDetonator.java
new file mode 100644
index 0000000..efef075
--- /dev/null
+++ b/ihl/recipes/RecipeInputDetonator.java
@@ -0,0 +1,73 @@
+package ihl.recipes;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import ic2.api.recipe.IRecipeInput;
+import ihl.utils.IHLUtils;
+import net.minecraft.item.ItemStack;
+
+public class RecipeInputDetonator implements IRecipeInput
+{
+ public final ItemStack input;
+ public final int detonator_delay;
+
+ public RecipeInputDetonator(String string, int detonator_delay)
+ {
+ this(IHLUtils.getItemStackWithTag(string, "detonator_delay", detonator_delay));
+ }
+
+ public RecipeInputDetonator(ItemStack itemStack)
+ {
+ input=itemStack;
+ detonator_delay=itemStack.stackTagCompound.getInteger("detonator_delay");
+ }
+
+ @Override
+ public boolean matches(ItemStack subject)
+ {
+ return subject.getItem() == this.input.getItem() && (subject.getItemDamage() == this.input.getItemDamage() || this.input.getItemDamage() == 32767);
+ }
+
+ @Override
+ public int getAmount()
+ {
+ return 1;
+ }
+
+ @Override
+ public List<ItemStack> getInputs()
+ {
+ return Arrays.asList(new ItemStack[] {this.input});
+ }
+
+ @Override
+ public String toString()
+ {
+ ItemStack stack = this.input.copy();
+ return "RInputDice<" + stack + ">";
+ }
+
+ public List<ItemStack> transformOutput(ItemStack matchedItemStack, List<ItemStack> outputs)
+ {
+ List<ItemStack> newOutputs = new ArrayList<ItemStack>();
+ int misTS = matchedItemStack.stackTagCompound.getInteger("detonator_delay");
+ ItemStack material;
+ for(ItemStack material1:outputs)
+ {
+ if(IHLUtils.getFirstOreDictName(material1) == "blockExplosive")
+ {
+ material=material1.copy();
+ material.stackTagCompound.setInteger("detonator_delay", misTS);
+ newOutputs.add(material);
+ }
+ else
+ {
+ newOutputs.add(material1);
+ }
+ }
+ return newOutputs;
+ }
+}
+