aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2022-08-29 16:04:28 +0200
committerGitHub <noreply@github.com>2022-08-29 16:04:28 +0200
commit7d1f51a8937e0a86486267437d444696e81e8aa0 (patch)
treea5b145e7271998f7b4b968a2212ed487e54a92b5 /src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces
parent5267969156d30b4bb5f4cb2279ebb49db6bd40e2 (diff)
downloadGT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.tar.gz
GT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.tar.bz2
GT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.zip
Buildscript + Spotless (#318)
* Convert AES.java to readable class * Buildscript * Spotless
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java49
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IBaseCustomMetaTileEntity.java3
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatEntity.java21
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatSink.java13
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IMetaTileEntityHeatPipe.java12
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java861
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java79
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java34
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java23
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java16
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java362
12 files changed, 916 insertions, 583 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java
index 3c29b34e27..d49f1e9ed0 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java
@@ -5,20 +5,35 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public interface GregtechItemContainer {
- public Item getItem();
- public Block getBlock();
- public boolean isStackEqual(Object aStack);
- public boolean isStackEqual(Object aStack, boolean aWildcard, boolean aIgnoreNBT);
- public ItemStack get(long aAmount, Object... aReplacements);
- public ItemStack getWildcard(long aAmount, Object... aReplacements);
- public ItemStack getUndamaged(long aAmount, Object... aReplacements);
- public ItemStack getAlmostBroken(long aAmount, Object... aReplacements);
- public ItemStack getWithDamage(long aAmount, long aMetaValue, Object... aReplacements);
- public GregtechItemContainer set(Item aItem);
- public GregtechItemContainer set(ItemStack aStack);
- public GregtechItemContainer registerOre(Object... aOreNames);
- public GregtechItemContainer registerWildcardAsOre(Object... aOreNames);
- public ItemStack getWithCharge(long aAmount, int aEnergy, Object... aReplacements);
- public ItemStack getWithName(long aAmount, String aDisplayName, Object... aReplacements);
- public boolean hasBeenSet();
-} \ No newline at end of file
+ public Item getItem();
+
+ public Block getBlock();
+
+ public boolean isStackEqual(Object aStack);
+
+ public boolean isStackEqual(Object aStack, boolean aWildcard, boolean aIgnoreNBT);
+
+ public ItemStack get(long aAmount, Object... aReplacements);
+
+ public ItemStack getWildcard(long aAmount, Object... aReplacements);
+
+ public ItemStack getUndamaged(long aAmount, Object... aReplacements);
+
+ public ItemStack getAlmostBroken(long aAmount, Object... aReplacements);
+
+ public ItemStack getWithDamage(long aAmount, long aMetaValue, Object... aReplacements);
+
+ public GregtechItemContainer set(Item aItem);
+
+ public GregtechItemContainer set(ItemStack aStack);
+
+ public GregtechItemContainer registerOre(Object... aOreNames);
+
+ public GregtechItemContainer registerWildcardAsOre(Object... aOreNames);
+
+ public ItemStack getWithCharge(long aAmount, int aEnergy, Object... aReplacements);
+
+ public ItemStack getWithName(long aAmount, String aDisplayName, Object... aReplacements);
+
+ public boolean hasBeenSet();
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IBaseCustomMetaTileEntity.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IBaseCustomMetaTileEntity.java
index 71d15e6e77..e210dfb487 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IBaseCustomMetaTileEntity.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IBaseCustomMetaTileEntity.java
@@ -2,6 +2,5 @@ package gtPlusPlus.xmod.gregtech.api.interfaces;
public interface IBaseCustomMetaTileEntity {
- public boolean doesExplode();
-
+ public boolean doesExplode();
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatEntity.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatEntity.java
index 824bb258d8..cf1f137e0d 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatEntity.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatEntity.java
@@ -5,22 +5,21 @@ import net.minecraftforge.common.util.ForgeDirection;
public interface IHeatEntity extends IHeatSource, IHeatSink {
- public int getHeatBuffer();
+ public int getHeatBuffer();
- public void setHeatBuffer(int HeatBuffer);
+ public void setHeatBuffer(int HeatBuffer);
- public void addtoHeatBuffer(int heat);
+ public void addtoHeatBuffer(int heat);
- public int getTransmitHeat();
+ public int getTransmitHeat();
- public int fillHeatBuffer(int maxAmount);
+ public int fillHeatBuffer(int maxAmount);
- public int getMaxHeatEmittedPerTick();
-
- public void updateHeatEntity();
+ public int getMaxHeatEmittedPerTick();
- public int maxrequestHeatTick(ForgeDirection directionFrom);
+ public void updateHeatEntity();
- public int requestHeat(ForgeDirection directionFrom, int requestheat);
-
+ public int maxrequestHeatTick(ForgeDirection directionFrom);
+
+ public int requestHeat(ForgeDirection directionFrom, int requestheat);
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatSink.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatSink.java
index 80adcf0d51..9e671fe538 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatSink.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IHeatSink.java
@@ -3,11 +3,8 @@ package gtPlusPlus.xmod.gregtech.api.interfaces;
import net.minecraftforge.common.util.ForgeDirection;
public interface IHeatSink {
-
-
- int maxHeatInPerTick(ForgeDirection var1);
-
- int addHeat(ForgeDirection var1, int var2);
-
-
-} \ No newline at end of file
+
+ int maxHeatInPerTick(ForgeDirection var1);
+
+ int addHeat(ForgeDirection var1, int var2);
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IMetaTileEntityHeatPipe.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IMetaTileEntityHeatPipe.java
index 770f249648..60477c9f31 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IMetaTileEntityHeatPipe.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/IMetaTileEntityHeatPipe.java
@@ -1,14 +1,10 @@
package gtPlusPlus.xmod.gregtech.api.interfaces;
-import java.util.ArrayList;
-
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import java.util.ArrayList;
import net.minecraft.tileentity.TileEntity;
public interface IMetaTileEntityHeatPipe extends IMetaTileEntity {
-
-
- long transferHeat(byte var1, long var2, long var4, ArrayList<TileEntity> var6);
-
-
-} \ No newline at end of file
+
+ long transferHeat(byte var1, long var2, long var4, ArrayList<TileEntity> var6);
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
index 1f4951979d..530d7aa86c 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
@@ -6,214 +6,336 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public interface IGregtech_RecipeAdder {
- /**
- * Adds a Coke Oven Recipe
- *
- * @param aInput1 = first Input (not null, and respects StackSize)
- * @param aInputb = second Input (can be null, and respects StackSize)
- * @param aFluidOutput = Output of the Creosote (not null, and respects StackSize)
- * @param aFluidInput = fluid Input (can be null, and respects StackSize)
- * @param aOutput = Output of the Coal/coke (can be null, and respects StackSize)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
- //public boolean addCokeOvenRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue);
- public boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt);
-
-
- public boolean addCokeOvenRecipe(int aCircuit, ItemStack aInput2, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt);
-
-
- public boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt);
-
-
- public boolean addFuel(ItemStack aInput1, ItemStack aOutput1, int aEU, int aType);
-
-
- /**
- * Adds a Matter Fabricator Recipe
- *
- * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize)
- * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
- public boolean addMatterFabricatorRecipe(FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt);
-
- /**
- * Adds a Matter Fabricator Recipe
- *
- * @param aItemInput = ItemStack Input, can be null I assume.
- * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize)
- * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
- public boolean addMatterFabricatorRecipe(ItemStack aItemInput, FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt);
-
-
-
-
- /**
- * Adds a Recipe for the Dehydrator. (up to 9 Outputs)
- *
- * @param aInput = Input itemstack (not null, and respects StackSize)
- * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize)
- * @param aOutputItems = Itemstack[] (not null, and respects StackSize)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
-
- //public boolean addDehydratorRecipe(ItemStack aInput, FluidStack aFluid, ItemStack[] aOutputItems, int aDuration, int aEUt);
- /*public boolean addDehydratorRecipe(FluidStack aFluid, FluidStack aOutputFluid, ItemStack[] aOutputItems, int aDuration, int aEUt);*/
- /*public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, ItemStack[] aOutputItems, int aDuration, int aEUt);
+ /**
+ * Adds a Coke Oven Recipe
+ *
+ * @param aInput1 = first Input (not null, and respects StackSize)
+ * @param aInputb = second Input (can be null, and respects StackSize)
+ * @param aFluidOutput = Output of the Creosote (not null, and respects StackSize)
+ * @param aFluidInput = fluid Input (can be null, and respects StackSize)
+ * @param aOutput = Output of the Coal/coke (can be null, and respects StackSize)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+ // public boolean addCokeOvenRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial,
+ // FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue);
+ public boolean addCokeOvenRecipe(
+ ItemStack aInput1,
+ ItemStack aInput2,
+ FluidStack aFluidInput,
+ FluidStack aFluidOutput,
+ ItemStack aOutput,
+ int aDuration,
+ int aEUt);
+
+ public boolean addCokeOvenRecipe(
+ int aCircuit,
+ ItemStack aInput2,
+ FluidStack[] aFluidInputs,
+ FluidStack[] aFluidOutputs,
+ ItemStack[] aOutputs,
+ int aDuration,
+ int aEUt);
+
+ public boolean addCokeOvenRecipe(
+ ItemStack aInput1,
+ ItemStack aInput2,
+ FluidStack[] aFluidInputs,
+ FluidStack[] aFluidOutputs,
+ ItemStack[] aOutputs,
+ int aDuration,
+ int aEUt);
+
+ public boolean addFuel(ItemStack aInput1, ItemStack aOutput1, int aEU, int aType);
+
+ /**
+ * Adds a Matter Fabricator Recipe
+ *
+ * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize)
+ * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+ public boolean addMatterFabricatorRecipe(FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt);
+
+ /**
+ * Adds a Matter Fabricator Recipe
+ *
+ * @param aItemInput = ItemStack Input, can be null I assume.
+ * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize)
+ * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+ public boolean addMatterFabricatorRecipe(
+ ItemStack aItemInput, FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt);
+
+ /**
+ * Adds a Recipe for the Dehydrator. (up to 9 Outputs)
+ *
+ * @param aInput = Input itemstack (not null, and respects StackSize)
+ * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize)
+ * @param aOutputItems = Itemstack[] (not null, and respects StackSize)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+
+ // public boolean addDehydratorRecipe(ItemStack aInput, FluidStack aFluid, ItemStack[] aOutputItems, int aDuration,
+ // int aEUt);
+ /*public boolean addDehydratorRecipe(FluidStack aFluid, FluidStack aOutputFluid, ItemStack[] aOutputItems, int aDuration, int aEUt);*/
+ /*public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, ItemStack[] aOutputItems, int aDuration, int aEUt);
public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, FluidStack aFluid, ItemStack[] aOutputItems, FluidStack aOutputFluid, int aDuration, int aEUt);*/
- /**
- * Adds a Recipe for the Dehydrator. (up to 9 Outputs)
- *
- * @param aInput = ItemStack[] (not null, and respects StackSize)
- * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize)
- * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize)
- * @param aOutputItems = ItemStack[] (not null, and respects StackSize)
- * @param aChances = Output Change (can be == 0)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
- public boolean addDehydratorRecipe(ItemStack[] aInput, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack[] aOutputItems, int[] aChances, int aDuration, int aEUt);
-
-
- /**
- * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs)
- *
- * @param aInput = ItemStack[] (not null, and respects StackSize)
- * @param aFluidOutput = Output of the Molten Metal (not null, and respects StackSize)
- * @param aChances = Output Chance (can be == 0)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU per tick needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
- public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aOutput, int aChance, int aDuration, int aEUt);
-
- /**
- * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs)
- *
- * @param aInput = ItemStack[] (not null, and respects StackSize)
- * @param aFluidInput = Input of a fluid (can be null, and respects StackSize)
- * @param aFluidOutput = Output of the Molten Metal (not null, and respects StackSize)
- * @param aChances = Output Chance (can be == 0)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU per tick needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
- public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, int aDuration, int aEUt);
-
- /**
- * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs)
- *
- * @param aInput = ItemStack[] (not null, and respects StackSize)
- * @param aFluidInput = Input of a fluid (can be null, and respects StackSize)
- * @param aFluidOutput = Output of the Molten Metal (not null, and respects StackSize)
- * @param aOutputStack = Item Output (Can be null)
- * @param aChances = Output Chance (can be == 0)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU per tick needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
- public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt);
-
- public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, int aDuration, int aEUt, int aSpecialValue);
-
- /**
- * Adds a Recipe for the LFTRr. (up to 9 Inputs)
- *
- * @param aInput = ItemStack[] (not null, and respects StackSize)
- * @param aFluidInput = Input of a fluid (can be null, and respects StackSize)
- * @param aFluidOutput = Output of the Molten Salts (not null, and respects StackSize)
- * @param aOutputStack = Item Output (Can be null)
- * @param aChances = Output Chance (can be == 0)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU per tick needed for heating up (must be >= 0)
- * @param aSpecialValue = Power produced in EU/t per dynamo
- * @return true if the Recipe got added, otherwise false.
- */
- public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue);
-
-
- public boolean addLFTRRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt);
- public boolean addLFTRRecipe(ItemStack aInput1, FluidStack aInput2, ItemStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt);
- public boolean addLFTRRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, int aEUt);
-
-
- /**
- * Adds a custom Semifluid fuel for the GT++ SemiFluid Generators.
- * @param aFuelItem - A Fluidstack to be consumed.
- * @param aFuelValue - Fuel value in thousands (1 = 1000)
- * @return - Was the Fuel added?
- */
- public boolean addSemifluidFuel(FluidStack aFuelItem, int aFuelValue);
-
- /**
- * Adds a custom Semifluid fuel for the GT++ SemiFluid Generators.
- * @param aFuelItem - A Fluidstack to be consumed.
- * @param aFuelValue - Fuel value in thousands (1 = 1000)
- * @return - Was the Fuel added?
- */
- public boolean addSemifluidFuel(ItemStack aFuelItem, int aFuelValue);
-
- public boolean addFissionFuel(
- FluidStack aInput1, FluidStack aInput2, FluidStack aInput3,
- FluidStack aInput4, FluidStack aInput5, FluidStack aInput6,
- FluidStack aInput7, FluidStack aInput8, FluidStack aInput9,
- FluidStack aOutput1, FluidStack aOutput2,
- int aDuration, int aEUt);
-
- public boolean addFissionFuel(
- boolean aOptimise,
- FluidStack aInput1, FluidStack aInput2, FluidStack aInput3,
- FluidStack aInput4, FluidStack aInput5, FluidStack aInput6,
- FluidStack aInput7, FluidStack aInput8, FluidStack aInput9,
- FluidStack aOutput1, FluidStack aOutput2,
- int aDuration, int aEUt);
-
- public boolean addCyclotronRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs,
- FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue);
-
- boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack[] aOutput, FluidStack aFluidOutput,
- int[] aChances, int aDuration, int aEUt, int aSpecialValue);
-
- public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4,
- FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt);
-
-
- /**
- * Adds a Recipe for the Machine Component Assembler. (up to 6 Inputs)
- *
- * @param aInputs = ItemStack[] (not null, and respects StackSize)
- * @param aFluidInput = Input of a fluid (can be null, and respects StackSize)
- * @param aOutput1 = Output ItemStack (not null, and respects StackSize)
- * @param aDuration = Duration (must be >= 0)
- * @param aEUt = EU per tick needed for heating up (must be >= 0)
- * @return true if the Recipe got added, otherwise false.
- */
- public boolean addComponentMakerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt);
-
- public boolean addMultiblockCentrifugeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial);
-
- public boolean addMultiblockElectrolyzerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial);
-
- public boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial);
-
-
- public boolean addAssemblerRecipeWithOreDict(Object aInput1, int aAmount1, Object aInput2, int aAmount2, ItemStack aOutput, int a1, int a2);
- public boolean addAssemblerRecipeWithOreDict(Object aInput1, int aAmount1, Object aInput2, int aAmount2, FluidStack aInputFluid, ItemStack aOutput, int a1, int a2);
-
- public boolean addSixSlotAssemblingRecipe(ItemStack[] aInputs, FluidStack aInputFluid, ItemStack aOutput1, int aDuration, int aEUt);
+ /**
+ * Adds a Recipe for the Dehydrator. (up to 9 Outputs)
+ *
+ * @param aInput = ItemStack[] (not null, and respects StackSize)
+ * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize)
+ * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize)
+ * @param aOutputItems = ItemStack[] (not null, and respects StackSize)
+ * @param aChances = Output Change (can be == 0)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+ public boolean addDehydratorRecipe(
+ ItemStack[] aInput,
+ FluidStack aFluidInput,
+ FluidStack aFluidOutput,
+ ItemStack[] aOutputItems,
+ int[] aChances,
+ int aDuration,
+ int aEUt);
+
+ /**
+ * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs)
+ *
+ * @param aInput = ItemStack[] (not null, and respects StackSize)
+ * @param aFluidOutput = Output of the Molten Metal (not null, and respects StackSize)
+ * @param aChances = Output Chance (can be == 0)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU per tick needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+ public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aOutput, int aChance, int aDuration, int aEUt);
+
+ /**
+ * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs)
+ *
+ * @param aInput = ItemStack[] (not null, and respects StackSize)
+ * @param aFluidInput = Input of a fluid (can be null, and respects StackSize)
+ * @param aFluidOutput = Output of the Molten Metal (not null, and respects StackSize)
+ * @param aChances = Output Chance (can be == 0)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU per tick needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+ public boolean addBlastSmelterRecipe(
+ ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, int aDuration, int aEUt);
+
+ /**
+ * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs)
+ *
+ * @param aInput = ItemStack[] (not null, and respects StackSize)
+ * @param aFluidInput = Input of a fluid (can be null, and respects StackSize)
+ * @param aFluidOutput = Output of the Molten Metal (not null, and respects StackSize)
+ * @param aOutputStack = Item Output (Can be null)
+ * @param aChances = Output Chance (can be == 0)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU per tick needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+ public boolean addBlastSmelterRecipe(
+ ItemStack[] aInput,
+ FluidStack aInputFluid,
+ FluidStack aOutput,
+ ItemStack[] aOutputStack,
+ int[] aChance,
+ int aDuration,
+ int aEUt);
+
+ public boolean addBlastSmelterRecipe(
+ ItemStack[] aInput,
+ FluidStack aInputFluid,
+ FluidStack aOutput,
+ int aChance,
+ int aDuration,
+ int aEUt,
+ int aSpecialValue);
+
+ /**
+ * Adds a Recipe for the LFTRr. (up to 9 Inputs)
+ *
+ * @param aInput = ItemStack[] (not null, and respects StackSize)
+ * @param aFluidInput = Input of a fluid (can be null, and respects StackSize)
+ * @param aFluidOutput = Output of the Molten Salts (not null, and respects StackSize)
+ * @param aOutputStack = Item Output (Can be null)
+ * @param aChances = Output Chance (can be == 0)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU per tick needed for heating up (must be >= 0)
+ * @param aSpecialValue = Power produced in EU/t per dynamo
+ * @return true if the Recipe got added, otherwise false.
+ */
+ public boolean addBlastSmelterRecipe(
+ ItemStack[] aInput,
+ FluidStack aInputFluid,
+ FluidStack aOutput,
+ ItemStack[] aOutputStack,
+ int[] aChance,
+ int aDuration,
+ int aEUt,
+ int aSpecialValue);
+
+ public boolean addLFTRRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt);
+
+ public boolean addLFTRRecipe(
+ ItemStack aInput1, FluidStack aInput2, ItemStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt);
+
+ public boolean addLFTRRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, int aEUt);
+
+ /**
+ * Adds a custom Semifluid fuel for the GT++ SemiFluid Generators.
+ * @param aFuelItem - A Fluidstack to be consumed.
+ * @param aFuelValue - Fuel value in thousands (1 = 1000)
+ * @return - Was the Fuel added?
+ */
+ public boolean addSemifluidFuel(FluidStack aFuelItem, int aFuelValue);
+
+ /**
+ * Adds a custom Semifluid fuel for the GT++ SemiFluid Generators.
+ * @param aFuelItem - A Fluidstack to be consumed.
+ * @param aFuelValue - Fuel value in thousands (1 = 1000)
+ * @return - Was the Fuel added?
+ */
+ public boolean addSemifluidFuel(ItemStack aFuelItem, int aFuelValue);
+
+ public boolean addFissionFuel(
+ FluidStack aInput1,
+ FluidStack aInput2,
+ FluidStack aInput3,
+ FluidStack aInput4,
+ FluidStack aInput5,
+ FluidStack aInput6,
+ FluidStack aInput7,
+ FluidStack aInput8,
+ FluidStack aInput9,
+ FluidStack aOutput1,
+ FluidStack aOutput2,
+ int aDuration,
+ int aEUt);
+
+ public boolean addFissionFuel(
+ boolean aOptimise,
+ FluidStack aInput1,
+ FluidStack aInput2,
+ FluidStack aInput3,
+ FluidStack aInput4,
+ FluidStack aInput5,
+ FluidStack aInput6,
+ FluidStack aInput7,
+ FluidStack aInput8,
+ FluidStack aInput9,
+ FluidStack aOutput1,
+ FluidStack aOutput2,
+ int aDuration,
+ int aEUt);
+
+ public boolean addCyclotronRecipe(
+ ItemStack aInput,
+ FluidStack aFluidInput,
+ ItemStack[] aOutputs,
+ FluidStack aFluidOutput,
+ int[] aChances,
+ int aDuration,
+ int aEUt,
+ int aSpecialValue);
+
+ boolean addCyclotronRecipe(
+ ItemStack[] aInputs,
+ FluidStack aFluidInput,
+ ItemStack[] aOutput,
+ FluidStack aFluidOutput,
+ int[] aChances,
+ int aDuration,
+ int aEUt,
+ int aSpecialValue);
+
+ public boolean addMixerRecipe(
+ ItemStack aInput1,
+ ItemStack aInput2,
+ ItemStack aInput3,
+ ItemStack aInput4,
+ FluidStack aFluidInput,
+ FluidStack aFluidOutput,
+ ItemStack aOutput1,
+ ItemStack aOutput2,
+ ItemStack aOutput3,
+ ItemStack aOutput4,
+ int aDuration,
+ int aEUt);
+
+ /**
+ * Adds a Recipe for the Machine Component Assembler. (up to 6 Inputs)
+ *
+ * @param aInputs = ItemStack[] (not null, and respects StackSize)
+ * @param aFluidInput = Input of a fluid (can be null, and respects StackSize)
+ * @param aOutput1 = Output ItemStack (not null, and respects StackSize)
+ * @param aDuration = Duration (must be >= 0)
+ * @param aEUt = EU per tick needed for heating up (must be >= 0)
+ * @return true if the Recipe got added, otherwise false.
+ */
+ public boolean addComponentMakerRecipe(
+ ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt);
+
+ public boolean addMultiblockCentrifugeRecipe(
+ ItemStack[] aInputs,
+ FluidStack[] aFluidInputs,
+ FluidStack[] aFluidOutputs,
+ ItemStack[] aOutputs,
+ int[] aChances,
+ int aDuration,
+ int aEUtick,
+ int aSpecial);
+
+ public boolean addMultiblockElectrolyzerRecipe(
+ ItemStack[] aInputs,
+ FluidStack[] aFluidInputs,
+ FluidStack[] aFluidOutputs,
+ ItemStack[] aOutputs,
+ int[] aChances,
+ int aDuration,
+ int aEUtick,
+ int aSpecial);
+
+ public boolean addAdvancedFreezerRecipe(
+ ItemStack[] aInputs,
+ FluidStack[] aFluidInputs,
+ FluidStack[] aFluidOutputs,
+ ItemStack[] aOutputs,
+ int[] aChances,
+ int aDuration,
+ int aEUtick,
+ int aSpecial);
+
+ public boolean addAssemblerRecipeWithOreDict(
+ Object aInput1, int aAmount1, Object aInput2, int aAmount2, ItemStack aOutput, int a1, int a2);
+
+ public boolean addAssemblerRecipeWithOreDict(
+ Object aInput1,
+ int aAmount1,
+ Object aInput2,
+ int aAmount2,
+ FluidStack aInputFluid,
+ ItemStack aOutput,
+ int a1,
+ int a2);
+
+ public boolean addSixSlotAssemblingRecipe(
+ ItemStack[] aInputs, FluidStack aInputFluid, ItemStack aOutput1, int aDuration, int aEUt);
/**
* Adds an Assemblyline Recipe
*
@@ -223,8 +345,15 @@ public interface IGregtech_RecipeAdder {
* @param aDuration must be > 0
* @param aEUt should be > 0
*/
- public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt);
-
+ public boolean addAssemblylineRecipe(
+ ItemStack aResearchItem,
+ int aResearchTime,
+ ItemStack[] aInputs,
+ FluidStack[] aFluidInputs,
+ ItemStack aOutput,
+ int aDuration,
+ int aEUt);
+
/**
* Adds a Assemblyline Recipe
*
@@ -232,35 +361,91 @@ public interface IGregtech_RecipeAdder {
* ItemStack[] for multiple equivalent items;
* {OreDict, amount} for oredict.
*/
- boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt);
+ boolean addAssemblylineRecipe(
+ ItemStack aResearchItem,
+ int aResearchTime,
+ Object[] aInputs,
+ FluidStack[] aFluidInputs,
+ ItemStack aOutput1,
+ int aDuration,
+ int aEUt);
+
+ public boolean addChemicalRecipe(
+ ItemStack input1,
+ ItemStack input2,
+ FluidStack inputFluid,
+ FluidStack outputFluid,
+ ItemStack output,
+ int time,
+ int eu);
+
+ public boolean addChemicalRecipe(
+ ItemStack input1,
+ ItemStack input2,
+ FluidStack inputFluid,
+ FluidStack outputFluid,
+ ItemStack output,
+ Object object,
+ int time,
+ int eu);
+
+ public boolean addChemicalRecipe(
+ ItemStack input1,
+ ItemStack input2,
+ FluidStack inputFluid,
+ FluidStack outputFluid,
+ ItemStack output,
+ ItemStack object,
+ int time);
+
+ public boolean addChemicalRecipe(
+ ItemStack input1,
+ ItemStack input2,
+ int aCircuit,
+ FluidStack inputFluid,
+ FluidStack outputFluid,
+ ItemStack output,
+ ItemStack output2,
+ int time,
+ int eu);
+
+ public boolean addMultiblockChemicalRecipe(
+ ItemStack[] itemStacks,
+ FluidStack[] fluidStacks,
+ FluidStack[] fluidStacks2,
+ ItemStack[] outputs,
+ int time,
+ int eu);
-
- public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, int time, int eu);
- public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, Object object, int time, int eu);
- public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, ItemStack object, int time);
- public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, int aCircuit, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, ItemStack output2, int time, int eu);
+ public boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt);
- public boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, FluidStack[] fluidStacks2, ItemStack[] outputs, int time, int eu);
+ public boolean addBrewingRecipe(
+ ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden);
- public boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt);
+ public boolean addBrewingRecipe(
+ int aCircuit, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden);
+
+ public boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aDust, ItemStack aOutput);
+
+ public boolean addFluidExtractionRecipe(ItemStack input, FluidStack output, int aTime, int aEu);
+
+ public boolean addFluidExtractionRecipe(
+ ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidOut, int aTime, int aEu);
- public boolean addBrewingRecipe(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden);
-
- public boolean addBrewingRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden);
+ public boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn);
- public boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aDust, ItemStack aOutput);
+ public boolean addFluidCannerRecipe(
+ ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, FluidStack rFluidOut);
- public boolean addFluidExtractionRecipe(ItemStack input, FluidStack output, int aTime, int aEu);
-
- public boolean addFluidExtractionRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidOut, int aTime, int aEu);
+ public boolean addFluidCannerRecipe(
+ ItemStack aContainer,
+ ItemStack aFullContainer,
+ FluidStack rFluidIn,
+ FluidStack rFluidOut,
+ int aTime,
+ int aEu);
- public boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn);
-
- public boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, FluidStack rFluidOut);
-
- public boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, FluidStack rFluidOut, int aTime, int aEu);
-
- /**
+ /**
* Adds a Fusion reactor Recipe
*
* @param aInput1 = first Input (not null, and respects StackSize)
@@ -269,9 +454,15 @@ public interface IGregtech_RecipeAdder {
* @param aFusionDurationInTicks = How many ticks the Fusion lasts (must be > 0)
* @param aEu = The EU generated per Tick (can even be negative!)
* @param aSpecial = EU needed for heating the Reactor up (must be >= 0)
- */
- public boolean addFusionReactorRecipe(ItemStack aInputStackA, ItemStack aInputStackB, FluidStack plasma, int aFusionDurationInTicks, int aEu, int aSpecial);
- /**
+ */
+ public boolean addFusionReactorRecipe(
+ ItemStack aInputStackA,
+ ItemStack aInputStackB,
+ FluidStack plasma,
+ int aFusionDurationInTicks,
+ int aEu,
+ int aSpecial);
+ /**
* Adds a Fusion reactor Recipe
*
* @param aInput1 = first Input (not null, and respects StackSize)
@@ -281,9 +472,16 @@ public interface IGregtech_RecipeAdder {
* @param aFusionDurationInTicks = How many ticks the Fusion lasts (must be > 0)
* @param aEu = The EU generated per Tick (can even be negative!)
* @param aSpecial = EU needed for heating the Reactor up (must be >= 0)
- */
- public boolean addFusionReactorRecipe(FluidStack aInputStackA, FluidStack aInputStackB, FluidStack plasma, int aOutputChance, int aFusionDurationInTicks, int aEu, int aSpecial);
- /**
+ */
+ public boolean addFusionReactorRecipe(
+ FluidStack aInputStackA,
+ FluidStack aInputStackB,
+ FluidStack plasma,
+ int aOutputChance,
+ int aFusionDurationInTicks,
+ int aEu,
+ int aSpecial);
+ /**
* Adds a Fusion reactor Recipe
*
* @param aInput1 = first Input (not null, and respects StackSize)
@@ -293,54 +491,145 @@ public interface IGregtech_RecipeAdder {
* @param aFusionDurationInTicks = How many ticks the Fusion lasts (must be > 0)
* @param aEu = The EU generated per Tick (can even be negative!)
* @param aSpecial = EU needed for heating the Reactor up (must be >= 0)
- */
- public boolean addFusionReactorRecipe(ItemStack aInputStackA, ItemStack aInputStackB, FluidStack plasma, int aOutputChance, int aFusionDurationInTicks, int aEu, int aSpecial);
-
-
- public boolean addVacuumFurnaceRecipe(ItemStack aInput1, ItemStack aInput2,
- FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1,
- ItemStack aOutput2, int aDuration, int aEUt, int aLevel);
-
- public boolean addVacuumFurnaceRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aLevel);
-
- public boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu);
- public boolean addIrLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu);
-
- public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int time, long eu, int aTier);
- public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int[] aChances, int time, long eu, int aTier);
-
- public boolean addBlastRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int time, long eu, int aHeat);
-
- public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, FluidStack aFluidOutput, int aDuration, int aEUt);
-
- public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt);
-
- public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aChance, int aDuration, int aEUt);
-
- public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, int aDuration, int aEUt, boolean aHidden);
-
- public boolean addPulverisationRecipe(final ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, final ItemStack aOutput3);
-
- public boolean addMillingRecipe(Materials aMat, int aEU);
- public boolean addMillingRecipe(Material aMat, int aEU);
-
- public boolean addFlotationRecipe(Materials aMat, ItemStack aXanthate, FluidStack[] aInputFluids, FluidStack[] aOutputFluids, int aTime, int aEU);
- public boolean addFlotationRecipe(Material aMat, ItemStack aXanthate, FluidStack[] aInputFluids, FluidStack[] aOutputFluids, int aTime, int aEU);
-
- public boolean addpackagerRecipe(ItemStack aRecipeType, ItemStack aInput1, ItemStack aInput2, ItemStack aOutputStack1);
-
- public boolean addFuelForRTG(ItemStack aFuelPellet, int aFuelDays, int aVoltage);
-
- public boolean addColdTrapRecipe(int aCircuit, ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, FluidStack aFluidOutput, int aTime, int aEU);
-
- public boolean addReactorProcessingUnitRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, FluidStack aFluidOutput, int aTime, int aEU);
-
- public boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt);
-
- public boolean addVacuumFreezerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU);
-
- public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU);
-
- public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU, int aAmps);
-
+ */
+ public boolean addFusionReactorRecipe(
+ ItemStack aInputStackA,
+ ItemStack aInputStackB,
+ FluidStack plasma,
+ int aOutputChance,
+ int aFusionDurationInTicks,
+ int aEu,
+ int aSpecial);
+
+ public boolean addVacuumFurnaceRecipe(
+ ItemStack aInput1,
+ ItemStack aInput2,
+ FluidStack aFluidInput,
+ FluidStack aFluidOutput,
+ ItemStack aOutput1,
+ ItemStack aOutput2,
+ int aDuration,
+ int aEUt,
+ int aLevel);
+
+ public boolean addVacuumFurnaceRecipe(
+ ItemStack[] aInputs,
+ FluidStack[] aFluidInputs,
+ ItemStack[] aOutputs,
+ FluidStack[] aFluidOutputs,
+ int aDuration,
+ int aEUt,
+ int aLevel);
+
+ public boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu);
+
+ public boolean addIrLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu);
+
+ public boolean addChemicalPlantRecipe(
+ ItemStack[] aInputs,
+ FluidStack[] aInputFluids,
+ ItemStack[] aOutputs,
+ FluidStack[] aFluidOutputs,
+ int time,
+ long eu,
+ int aTier);
+
+ public boolean addChemicalPlantRecipe(
+ ItemStack[] aInputs,
+ FluidStack[] aInputFluids,
+ ItemStack[] aOutputs,
+ FluidStack[] aFluidOutputs,
+ int[] aChances,
+ int time,
+ long eu,
+ int aTier);
+
+ public boolean addBlastRecipe(
+ ItemStack[] aInputs,
+ FluidStack[] aInputFluids,
+ ItemStack[] aOutputs,
+ FluidStack[] aFluidOutputs,
+ int time,
+ long eu,
+ int aHeat);
+
+ public boolean addPyrolyseRecipe(
+ ItemStack aInput,
+ FluidStack aFluidInput,
+ int intCircuit,
+ ItemStack aOutput,
+ FluidStack aFluidOutput,
+ int aDuration,
+ int aEUt);
+
+ public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt);
+
+ public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aChance, int aDuration, int aEUt);
+
+ public boolean addDistilleryRecipe(
+ ItemStack aCircuit,
+ FluidStack aInput,
+ FluidStack aOutput,
+ ItemStack aSolidOutput,
+ int aDuration,
+ int aEUt,
+ boolean aHidden);
+
+ public boolean addPulverisationRecipe(
+ final ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, final ItemStack aOutput3);
+
+ public boolean addMillingRecipe(Materials aMat, int aEU);
+
+ public boolean addMillingRecipe(Material aMat, int aEU);
+
+ public boolean addFlotationRecipe(
+ Materials aMat,
+ ItemStack aXanthate,
+ FluidStack[] aInputFluids,
+ FluidStack[] aOutputFluids,
+ int aTime,
+ int aEU);
+
+ public boolean addFlotationRecipe(
+ Material aMat,
+ ItemStack aXanthate,
+ FluidStack[] aInputFluids,
+ FluidStack[] aOutputFluids,
+ int aTime,
+ int aEU);
+
+ public boolean addpackagerRecipe(
+ ItemStack aRecipeType, ItemStack aInput1, ItemStack aInput2, ItemStack aOutputStack1);
+
+ public boolean addFuelForRTG(ItemStack aFuelPellet, int aFuelDays, int aVoltage);
+
+ public boolean addColdTrapRecipe(
+ int aCircuit,
+ ItemStack aInput,
+ FluidStack aFluidInput,
+ ItemStack[] aOutputs,
+ int[] aChances,
+ FluidStack aFluidOutput,
+ int aTime,
+ int aEU);
+
+ public boolean addReactorProcessingUnitRecipe(
+ ItemStack aInput1,
+ ItemStack aInput2,
+ FluidStack aFluidInput,
+ ItemStack[] aOutputs,
+ int[] aChances,
+ FluidStack aFluidOutput,
+ int aTime,
+ int aEU);
+
+ public boolean addFluidHeaterRecipe(
+ ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt);
+
+ public boolean addVacuumFreezerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU);
+
+ public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU);
+
+ public boolean addMolecularTransformerRecipe(
+ ItemStack aInput, ItemStack aOutput, int aDuration, int aEU, int aAmps);
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java
index b6c36483af..b597c221f5 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java
@@ -4,18 +4,18 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public interface Interface_IconContainer {
- /**
- * @return A regular Icon.
- */
- public IIcon getIcon();
+ /**
+ * @return A regular Icon.
+ */
+ public IIcon getIcon();
- /**
- * @return Icon of the Overlay (or null if there is no Icon)
- */
- public IIcon getOverlayIcon();
+ /**
+ * @return Icon of the Overlay (or null if there is no Icon)
+ */
+ public IIcon getOverlayIcon();
- /**
- * @return the Default Texture File for this Icon.
- */
- public ResourceLocation getTextureFile();
-} \ No newline at end of file
+ /**
+ * @return the Default Texture File for this Icon.
+ */
+ public ResourceLocation getTextureFile();
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java
index e874258a7a..85ebb53217 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java
@@ -1,7 +1,8 @@
package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
+import gregtech.api.enums.SubTag;
+import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_Base;
import java.util.List;
-
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -11,32 +12,52 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
-import gregtech.api.enums.SubTag;
-
-import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_Base;
-
public interface Interface_ItemBehaviour<E extends Item> {
- public boolean onLeftClickEntity(E aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity);
-
- public boolean onItemUse(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ);
-
- public boolean onItemUseFirst(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ);
-
- public ItemStack onItemRightClick(E aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer);
-
- public List<String> getAdditionalToolTips(E aItem, List<String> aList, ItemStack aStack);
-
- public void onUpdate(E aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand);
-
- public boolean isItemStackUsable(E aItem, ItemStack aStack);
-
- public boolean canDispense(E aItem, IBlockSource aSource, ItemStack aStack);
-
- public ItemStack onDispense(E aItem, IBlockSource aSource, ItemStack aStack);
-
- public boolean hasProjectile(Gregtech_MetaItem_Base aItem, SubTag aProjectileType, ItemStack aStack);
-
- public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ);
-
- public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed);
-} \ No newline at end of file
+ public boolean onLeftClickEntity(E aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity);
+
+ public boolean onItemUse(
+ E aItem,
+ ItemStack aStack,
+ EntityPlayer aPlayer,
+ World aWorld,
+ int aX,
+ int aY,
+ int aZ,
+ int aSide,
+ float hitX,
+ float hitY,
+ float hitZ);
+
+ public boolean onItemUseFirst(
+ E aItem,
+ ItemStack aStack,
+ EntityPlayer aPlayer,
+ World aWorld,
+ int aX,
+ int aY,
+ int aZ,
+ int aSide,
+ float hitX,
+ float hitY,
+ float hitZ);
+
+ public ItemStack onItemRightClick(E aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer);
+
+ public List<String> getAdditionalToolTips(E aItem, List<String> aList, ItemStack aStack);
+
+ public void onUpdate(E aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand);
+
+ public boolean isItemStackUsable(E aItem, ItemStack aStack);
+
+ public boolean canDispense(E aItem, IBlockSource aSource, ItemStack aStack);
+
+ public ItemStack onDispense(E aItem, IBlockSource aSource, ItemStack aStack);
+
+ public boolean hasProjectile(Gregtech_MetaItem_Base aItem, SubTag aProjectileType, ItemStack aStack);
+
+ public EntityArrow getProjectile(
+ E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ);
+
+ public EntityArrow getProjectile(
+ E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed);
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java
index c997f14c9e..ec6bcae20c 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java
@@ -1,21 +1,29 @@
package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
-import net.minecraft.item.ItemStack;
-
import gregtech.api.enums.Materials;
-
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
+import net.minecraft.item.ItemStack;
public interface Interface_OreRecipeRegistrator {
- /**
- * Contains a Code Fragment, used in the OrePrefix to register Recipes. Better than using a switch/case, like I did before.
- *
- * @param aPrefix always != null
- * @param aMaterial always != null, and can be == _NULL if the Prefix is Self Referencing or not Material based!
- * @param aStack always != null
- */
- public void registerOre(GregtechOrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack);
+ /**
+ * Contains a Code Fragment, used in the OrePrefix to register Recipes. Better than using a switch/case, like I did before.
+ *
+ * @param aPrefix always != null
+ * @param aMaterial always != null, and can be == _NULL if the Prefix is Self Referencing or not Material based!
+ * @param aStack always != null
+ */
+ public void registerOre(
+ GregtechOrePrefixes aPrefix,
+ GT_Materials aMaterial,
+ String aOreDictName,
+ String aModName,
+ ItemStack aStack);
- public void registerOre(GregtechOrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack copyAmount);
-} \ No newline at end of file
+ public void registerOre(
+ GregtechOrePrefixes aPrefix,
+ Materials aMaterial,
+ String aOreDictName,
+ String aModName,
+ ItemStack copyAmount);
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java
index 6037424d1f..616fdfdebf 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java
@@ -1,18 +1,17 @@
package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
-import net.minecraft.item.ItemStack;
-
import gregtech.api.enums.OrePrefixes;
-
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
+import net.minecraft.item.ItemStack;
public interface Interface_OreRecipeRegistrator_GT {
- /**
- * Contains a Code Fragment, used in the OrePrefix to register Recipes. Better than using a switch/case, like I did before.
- *
- * @param aPrefix always != null
- * @param aMaterial always != null, and can be == _NULL if the Prefix is Self Referencing or not Material based!
- * @param aStack always != null
- */
- public void registerOre(OrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack);
-} \ No newline at end of file
+ /**
+ * Contains a Code Fragment, used in the OrePrefix to register Recipes. Better than using a switch/case, like I did before.
+ *
+ * @param aPrefix always != null
+ * @param aMaterial always != null, and can be == _NULL if the Prefix is Self Referencing or not Material based!
+ * @param aStack always != null
+ */
+ public void registerOre(
+ OrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack);
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java
index 74c996d116..5780109a7b 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java
@@ -4,17 +4,17 @@ import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
public interface Interface_Texture {
- public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
+ public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
- public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
+ public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
- public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
+ public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
- public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
+ public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
- public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
+ public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
- public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
+ public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ);
- public boolean isValidTexture();
-} \ No newline at end of file
+ public boolean isValidTexture();
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java
index ca167e4c7f..6578ddeb0b 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java
@@ -1,7 +1,10 @@
package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.IToolStats;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool;
import java.util.List;
-
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.Entity;
@@ -9,12 +12,6 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
-
-import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.interfaces.IToolStats;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-
-import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool;
import net.minecraftforge.event.world.BlockEvent;
/**
@@ -22,172 +19,185 @@ import net.minecraftforge.event.world.BlockEvent;
* <p/>
* And this is supposed to not have any ItemStack Parameters as these are generic Stats.
*/
-public interface Interface_ToolStats extends IToolStats{
- /**
- * Called when aPlayer crafts this Tool
- */
- @Override
- public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer);
-
- /**
- * Called when this gets added to a Tool Item
- */
- public void onStatsAddedToTool(Gregtech_MetaTool gregtech_MetaTool, int aID);
-
- /**
- * @return Damage the Tool receives when breaking a Block. 100 is one Damage Point (or 100 EU).
- */
- @Override
- public int getToolDamagePerBlockBreak();
-
- /**
- * @return Damage the Tool receives when converting the drops of a Block. 100 is one Damage Point (or 100 EU).
- */
- @Override
- public int getToolDamagePerDropConversion();
-
- /**
- * @return Damage the Tool receives when being used as Container Item. 100 is one use, however it is usually 8 times more than normal.
- */
- @Override
- public int getToolDamagePerContainerCraft();
-
- /**
- * @return Damage the Tool receives when being used as Weapon, 200 is the normal Value, 100 for actual Weapons.
- */
- @Override
- public int getToolDamagePerEntityAttack();
-
- /**
- * @return Basic Quality of the Tool, 0 is normal. If increased, it will increase the general quality of all Tools of this Type. Decreasing is also possible.
- */
- @Override
- public int getBaseQuality();
-
- /**
- * @return The Damage Bonus for this Type of Tool against Mobs. 1.0F is normal punch.
- */
- @Override
- public float getBaseDamage();
-
- /**
- * @return This gets the Hurt Resistance time for Entities getting hit. (always does 1 as minimum)
- */
- @Override
- public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity);
-
- /**
- * @return This is a multiplier for the Tool Speed. 1.0F = no special Speed.
- */
- @Override
- public float getSpeedMultiplier();
-
- /**
- * @return This is a multiplier for the Tool Speed. 1.0F = no special Durability.
- */
- @Override
- public float getMaxDurabilityMultiplier();
-
- @Override
- public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity);
-
- @Override
- public String getMiningSound();
-
- @Override
- public String getCraftingSound();
-
- @Override
- public String getEntityHitSound();
-
- @Override
- public String getBreakingSound();
-
- @Override
- public Enchantment[] getEnchantments(ItemStack aStack);
-
- @Override
- public int[] getEnchantmentLevels(ItemStack aStack);
-
- /**
- * @return If this Tool can be used for blocking Damage like a Sword.
- */
- @Override
- public boolean canBlock();
-
- /**
- * @return If this Tool can be used as an RC Crowbar.
- */
- @Override
- public boolean isCrowbar();
-
- /**
- * @return If this Tool can be used as an BC Wrench.
- */
- public boolean isWrench();
-
- /**
- * @return If this Tool can be used as Weapon i.e. if that is the main purpose.
- */
- @Override
- public boolean isWeapon();
-
- /**
- * @return If this Tool is a Ranged Weapon. Return false at isWeapon unless you have a Blade attached to your Bow/Gun or something
- */
- @Override
- public boolean isRangedWeapon();
-
- /**
- * @return If this Tool can be used as Weapon i.e. if that is the main purpose.
- */
- @Override
- public boolean isMiningTool();
-
- /**
- * aBlock.getHarvestTool(aMetaData) can return the following Values for example.
- * "axe", "pickaxe", "sword", "shovel", "hoe", "grafter", "saw", "wrench", "crowbar", "file", "hammer", "plow", "plunger", "scoop", "screwdriver", "sense", "scythe", "softhammer", "cutter", "plasmatorch"
- *
- * @return If this is a minable Block. Tool Quality checks (like Diamond Tier or something) are separate from this check.
- */
- @Override
- public boolean isMinableBlock(Block aBlock, byte aMetaData);
-
- /**
- * This lets you modify the Drop List, when this type of Tool has been used.
- *
- * @return the Amount of modified Items.
- */
- @Override
- public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent);
-
- /**
- * @return Returns a broken Version of the Item.
- */
- @Override
- public ItemStack getBrokenItem(ItemStack aStack);
-
- /**
- * @return the Damage actually done to the Mob.
- */
- @Override
- public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer);
-
- /**
- * @return the Damage actually done to the Mob.
- */
- @Override
- public float getMagicDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer);
-
- @Override
- public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack);
-
- @Override
- public short[] getRGBa(boolean aIsToolHead, ItemStack aStack);
-
- /**
- * Called when this gets added to a Tool Item
- */
- @Override
- public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID);
-} \ No newline at end of file
+public interface Interface_ToolStats extends IToolStats {
+ /**
+ * Called when aPlayer crafts this Tool
+ */
+ @Override
+ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer);
+
+ /**
+ * Called when this gets added to a Tool Item
+ */
+ public void onStatsAddedToTool(Gregtech_MetaTool gregtech_MetaTool, int aID);
+
+ /**
+ * @return Damage the Tool receives when breaking a Block. 100 is one Damage Point (or 100 EU).
+ */
+ @Override
+ public int getToolDamagePerBlockBreak();
+
+ /**
+ * @return Damage the Tool receives when converting the drops of a Block. 100 is one Damage Point (or 100 EU).
+ */
+ @Override
+ public int getToolDamagePerDropConversion();
+
+ /**
+ * @return Damage the Tool receives when being used as Container Item. 100 is one use, however it is usually 8 times more than normal.
+ */
+ @Override
+ public int getToolDamagePerContainerCraft();
+
+ /**
+ * @return Damage the Tool receives when being used as Weapon, 200 is the normal Value, 100 for actual Weapons.
+ */
+ @Override
+ public int getToolDamagePerEntityAttack();
+
+ /**
+ * @return Basic Quality of the Tool, 0 is normal. If increased, it will increase the general quality of all Tools of this Type. Decreasing is also possible.
+ */
+ @Override
+ public int getBaseQuality();
+
+ /**
+ * @return The Damage Bonus for this Type of Tool against Mobs. 1.0F is normal punch.
+ */
+ @Override
+ public float getBaseDamage();
+
+ /**
+ * @return This gets the Hurt Resistance time for Entities getting hit. (always does 1 as minimum)
+ */
+ @Override
+ public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity);
+
+ /**
+ * @return This is a multiplier for the Tool Speed. 1.0F = no special Speed.
+ */
+ @Override
+ public float getSpeedMultiplier();
+
+ /**
+ * @return This is a multiplier for the Tool Speed. 1.0F = no special Durability.
+ */
+ @Override
+ public float getMaxDurabilityMultiplier();
+
+ @Override
+ public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity);
+
+ @Override
+ public String getMiningSound();
+
+ @Override
+ public String getCraftingSound();
+
+ @Override
+ public String getEntityHitSound();
+
+ @Override
+ public String getBreakingSound();
+
+ @Override
+ public Enchantment[] getEnchantments(ItemStack aStack);
+
+ @Override
+ public int[] getEnchantmentLevels(ItemStack aStack);
+
+ /**
+ * @return If this Tool can be used for blocking Damage like a Sword.
+ */
+ @Override
+ public boolean canBlock();
+
+ /**
+ * @return If this Tool can be used as an RC Crowbar.
+ */
+ @Override
+ public boolean isCrowbar();
+
+ /**
+ * @return If this Tool can be used as an BC Wrench.
+ */
+ public boolean isWrench();
+
+ /**
+ * @return If this Tool can be used as Weapon i.e. if that is the main purpose.
+ */
+ @Override
+ public boolean isWeapon();
+
+ /**
+ * @return If this Tool is a Ranged Weapon. Return false at isWeapon unless you have a Blade attached to your Bow/Gun or something
+ */
+ @Override
+ public boolean isRangedWeapon();
+
+ /**
+ * @return If this Tool can be used as Weapon i.e. if that is the main purpose.
+ */
+ @Override
+ public boolean isMiningTool();
+
+ /**
+ * aBlock.getHarvestTool(aMetaData) can return the following Values for example.
+ * "axe", "pickaxe", "sword", "shovel", "hoe", "grafter", "saw", "wrench", "crowbar", "file", "hammer", "plow", "plunger", "scoop", "screwdriver", "sense", "scythe", "softhammer", "cutter", "plasmatorch"
+ *
+ * @return If this is a minable Block. Tool Quality checks (like Diamond Tier or something) are separate from this check.
+ */
+ @Override
+ public boolean isMinableBlock(Block aBlock, byte aMetaData);
+
+ /**
+ * This lets you modify the Drop List, when this type of Tool has been used.
+ *
+ * @return the Amount of modified Items.
+ */
+ @Override
+ public int convertBlockDrops(
+ List<ItemStack> aDrops,
+ ItemStack aStack,
+ EntityPlayer aPlayer,
+ Block aBlock,
+ int aX,
+ int aY,
+ int aZ,
+ byte aMetaData,
+ int aFortune,
+ boolean aSilkTouch,
+ BlockEvent.HarvestDropsEvent aEvent);
+
+ /**
+ * @return Returns a broken Version of the Item.
+ */
+ @Override
+ public ItemStack getBrokenItem(ItemStack aStack);
+
+ /**
+ * @return the Damage actually done to the Mob.
+ */
+ @Override
+ public float getNormalDamageAgainstEntity(
+ float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer);
+
+ /**
+ * @return the Damage actually done to the Mob.
+ */
+ @Override
+ public float getMagicDamageAgainstEntity(
+ float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer);
+
+ @Override
+ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack);
+
+ @Override
+ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack);
+
+ /**
+ * Called when this gets added to a Tool Item
+ */
+ @Override
+ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID);
+}