aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-08-17 07:47:47 +0200
committerTechnus <daniel112092@gmail.com>2017-08-17 07:47:47 +0200
commitdc545e3925b1cde2f40e0fd22e1437df7f93fc4c (patch)
tree05f664186114573adaf7482bbc07bc78b1804fb7
parent4e4371b86d5f23be78499bc59acbbc18a2f4c012 (diff)
downloadGT5-Unofficial-dc545e3925b1cde2f40e0fd22e1437df7f93fc4c.tar.gz
GT5-Unofficial-dc545e3925b1cde2f40e0fd22e1437df7f93fc4c.tar.bz2
GT5-Unofficial-dc545e3925b1cde2f40e0fd22e1437df7f93fc4c.zip
Change recipe api a bit
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/TT_recipe.java33
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java8
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafter.java1
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_machine.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java35
5 files changed, 52 insertions, 27 deletions
diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java
index a3f6f9ea17..0d0635db19 100644
--- a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java
+++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java
@@ -1,6 +1,7 @@
package com.github.technus.tectech.recipe;
import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStackMap;
+import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack;
import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackMap;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.util.GT_Recipe;
@@ -114,8 +115,8 @@ public class TT_recipe extends GT_Recipe {
}
public static class TT_Recipe_Map<T extends TT_recipe> {
- public static TT_Recipe_Map<TT_assLineRecipe> sEMcrafterRecipes = new TT_Recipe_Map();
- public static TT_Recipe_Map<TT_assLineRecipe> sEMmachineRecipes = new TT_Recipe_Map();
+ public static TT_Recipe_Map<TT_assLineRecipe> sCrafterRecipes = new TT_Recipe_Map<>();
+ public static TT_Recipe_Map<TT_assLineRecipe> sMachineRecipes = new TT_Recipe_Map<>();
public final HashMap<String,T> mRecipeMap;
@@ -132,9 +133,9 @@ public class TT_recipe extends GT_Recipe {
return mRecipeMap.get(dataHandler.stackTagCompound.getString("mapID"));
}
- public void add(String identifier, T recipe){
- if(identifier.length()==0) return;
- mRecipeMap.put(identifier,recipe);
+ public void add(T recipe){
+ GameRegistry.UniqueIdentifier uid=GameRegistry.findUniqueIdentifierFor(recipe.mOutputs[0].getItem());
+ mRecipeMap.put(uid+":"+recipe.mOutputs[0].getItemDamage(),recipe);
}
public Collection<T> recipeList(){
@@ -152,7 +153,6 @@ public class TT_recipe extends GT_Recipe {
public static class TT_assLineRecipe extends TT_recipe{
public final ItemStack mResearchItem;
- public final String id;
public TT_assLineRecipe(boolean aOptimize, ItemStack researchItem,
ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems,
@@ -160,8 +160,6 @@ public class TT_recipe extends GT_Recipe {
cElementalDefinitionStackMap[] in, cElementalDefinitionStackMap[] out, cElementalDefinitionStackMap[] catalyst, AdditionalCheck check) {
super(aOptimize, aInputs, aOutputs, aSpecialItems, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue, in, out, catalyst, check);
mResearchItem=researchItem;
- GameRegistry.UniqueIdentifier id=GameRegistry.findUniqueIdentifierFor(aOutputs[0].getItem());
- this.id=id.modId+":"+id.name+":"+aOutputs[0].getItemDamage();
}
public TT_assLineRecipe(boolean aOptimize, ItemStack researchItem,
@@ -171,4 +169,23 @@ public class TT_recipe extends GT_Recipe {
this(aOptimize, researchItem, aInputs, aOutputs, aSpecialItems, aFluidInputs, aDuration, aEUt, aSpecialValue, in, null, null,null);
}
}
+
+ public static class TT_EMRecipe extends TT_recipe{
+ public final cElementalInstanceStack mResearchEM;
+
+ public TT_EMRecipe(boolean aOptimize, cElementalInstanceStack researchEM,
+ ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems,
+ FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue,
+ cElementalDefinitionStackMap[] in, cElementalDefinitionStackMap[] out, cElementalDefinitionStackMap[] catalyst, AdditionalCheck check) {
+ super(aOptimize, aInputs, aOutputs, aSpecialItems, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue, in, out, catalyst, check);
+ mResearchEM=researchEM;
+ }
+
+ public TT_EMRecipe(boolean aOptimize, cElementalInstanceStack researchEM,
+ ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems,
+ FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue,
+ cElementalDefinitionStackMap[] in) {
+ this(aOptimize, researchEM, aInputs, aOutputs, aSpecialItems, aFluidInputs, aDuration, aEUt, aSpecialValue, in, null, null,null);
+ }
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java
index ffeeb9ec0f..5ba42d7f39 100644
--- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java
+++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java
@@ -3,7 +3,6 @@ package com.github.technus.tectech.recipe;
import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStackMap;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_research;
-import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_Recipe;
import gregtech.common.GT_RecipeAdder;
@@ -61,8 +60,7 @@ public class TT_recipeAdder extends GT_RecipeAdder {
if(computationRequiredPerSec<=0) computationRequiredPerSec=1;
else if(computationRequiredPerSec > Short.MAX_VALUE) computationRequiredPerSec=Short.MAX_VALUE;
TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_research.machine)}, null, null, totalComputationRequired, researchEUt, researchAmperage|(computationRequiredPerSec<<16));
- TT_recipe.TT_Recipe_Map.sEMmachineRecipes.add(GameRegistry.findUniqueIdentifierFor(aOutput.getItem()).modId+":"+aOutput.getUnlocalizedName()+":"+aOutput.getItemDamage(),
- new TT_recipe.TT_assLineRecipe(false,aResearchItem,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")},
+ TT_recipe.TT_Recipe_Map.sMachineRecipes.add(new TT_recipe.TT_assLineRecipe(false,aResearchItem,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")},
aFluidInputs,machineDuration,machineEUt,machineAmperage,eInputs));
return true;
}
@@ -79,9 +77,7 @@ public class TT_recipeAdder extends GT_RecipeAdder {
if(computationRequiredPerSec<=0) computationRequiredPerSec=1;
else if(computationRequiredPerSec > Short.MAX_VALUE) computationRequiredPerSec=Short.MAX_VALUE;
TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+GT_MetaTileEntity_EM_research.crafter)}, null, null, totalComputationRequired, researchEUt, researchAmperage|(computationRequiredPerSec<<16));
- GameRegistry.UniqueIdentifier id=GameRegistry.findUniqueIdentifierFor(aOutput.getItem());
- TT_recipe.TT_Recipe_Map.sEMcrafterRecipes.add(id.modId+":"+id.name+":"+aOutput.getItemDamage(),
- new TT_recipe.TT_assLineRecipe(false,aResearchItem,null,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")},
+ TT_recipe.TT_Recipe_Map.sCrafterRecipes.add(new TT_recipe.TT_assLineRecipe(false,aResearchItem,null,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")},
null,crafterDuration,crafterEUt,crafterAmperage,eInputs,null,catalyst,check));
return true;
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafter.java
index 1fa36038b2..8f235b1af6 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafter.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafter.java
@@ -17,6 +17,7 @@ import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBloc
* Created by danie_000 on 17.12.2016.
*/
public class GT_MetaTileEntity_EM_crafter extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable {
+ public final static String crafter="EM Crafting";
//region structure
private static final String[][] shape = new String[][]{
{"A000","0 0","0 . 0","0 0","A000",},
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_machine.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_machine.java
index bddf4ee03f..0436bd303e 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_machine.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_machine.java
@@ -11,6 +11,8 @@ import net.minecraft.util.EnumChatFormatting;
* Created by danie_000 on 17.12.2016.
*/
public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBase_EM {
+ public final static String machine="EM Machinery";
+
private static final String[][] shape = new String[][]{
{"",//left to right top
"",
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
index 8f5ff2c603..2f39489adf 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
@@ -6,6 +6,7 @@ import com.github.technus.tectech.recipe.TT_recipe;
import com.github.technus.tectech.thing.metaTileEntity.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Holder;
+import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -32,6 +33,8 @@ import static com.github.technus.tectech.Util.*;
import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset;
import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage;
import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT;
+import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafter.crafter;
+import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_machine.machine;
import static gregtech.api.enums.GT_Values.E;
/**
@@ -43,7 +46,6 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
private TT_recipe.TT_assLineRecipe aRecipe;
private String machineType;
private long computationRemaining,computationRequired;
- public final static String crafter="EM Crafting",machine="EM Machinery";
//region structure
private static final String[][] shape = new String[][]{
@@ -122,28 +124,34 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
@Override
protected void EM_onFirstTick() {
+ if(getBaseMetaTileEntity().isClientSide()) return;
if(computationRemaining>0) {
aRecipe=null;
tRecipe=null;
if (!eHolders.isEmpty() && eHolders.get(0).mInventory[0] != null) {
ItemStack researchItem = eHolders.get(0).mInventory[0];
- if(ItemList.Tool_DataStick.isStackEqual(mInventory[1], false, true)) {
+ if (ItemList.Tool_DataStick.isStackEqual(mInventory[1], false, true)) {
for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes) {
if (GT_Utility.areStacksEqual(tRecipe.mResearchItem, researchItem, true)) {
this.tRecipe = tRecipe;
+ break;
}
}
- }else if(ItemList.Tool_DataOrb.isStackEqual(mInventory[1], false, true)) {
- for (TT_recipe.TT_assLineRecipe assRecipeTT:TT_recipe.TT_Recipe_Map.sEMmachineRecipes.recipeList()){
+ } else if (ItemList.Tool_DataOrb.isStackEqual(mInventory[1], false, true)) {
+ for (TT_recipe.TT_assLineRecipe assRecipeTT : TT_recipe.TT_Recipe_Map.sMachineRecipes.recipeList()) {
if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, researchItem, true)) {
this.aRecipe = assRecipeTT;
- machineType=machine;
+ machineType = machine;
+ break;
}
}
- for (TT_recipe.TT_assLineRecipe assRecipeTT:TT_recipe.TT_Recipe_Map.sEMcrafterRecipes.recipeList()){
- if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, researchItem, true)) {
- this.aRecipe = assRecipeTT;
- machineType=crafter;
+ if (aRecipe == null) {
+ for (TT_recipe.TT_assLineRecipe assRecipeTT : TT_recipe.TT_Recipe_Map.sCrafterRecipes.recipeList()) {
+ if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, researchItem, true)) {
+ this.aRecipe = assRecipeTT;
+ machineType = crafter;
+ break;
+ }
}
}
}
@@ -184,7 +192,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
}
}
}else if(ItemList.Tool_DataOrb.isStackEqual(itemStack, false, true)){
- for (TT_recipe.TT_assLineRecipe assRecipeTT:TT_recipe.TT_Recipe_Map.sEMmachineRecipes.recipeList()){
+ for (TT_recipe.TT_assLineRecipe assRecipeTT:TT_recipe.TT_Recipe_Map.sMachineRecipes.recipeList()){
if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, researchItem, true)) {
this.aRecipe = assRecipeTT;
machineType=machine;
@@ -203,7 +211,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
}
}
}
- for (TT_recipe.TT_assLineRecipe assRecipeTT:TT_recipe.TT_Recipe_Map.sEMcrafterRecipes.recipeList()){
+ for (TT_recipe.TT_assLineRecipe assRecipeTT:TT_recipe.TT_Recipe_Map.sCrafterRecipes.recipeList()){
if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, researchItem, true)) {
this.aRecipe = assRecipeTT;
machineType=crafter;
@@ -286,8 +294,9 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null
tNBT.setString("eMachineType", machineType);
- tNBT.setString("eRecipeID", aRecipe.id);
- //tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + machineType+ " Recipe Generator");
+ GameRegistry.UniqueIdentifier uid=GameRegistry.findUniqueIdentifierFor(aRecipe.mOutputs[0].getItem());
+ tNBT.setString("eRecipeID", uid+":"+aRecipe.mOutputs[0].getItemDamage());
+ tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + machineType+ " Recipe Generator");
}
}
computationRequired=computationRemaining=0;