Fix missing code block (Muramasa)
This commit is contained in:
parent
0bbc311204
commit
b7bde9ca14
1 changed files with 51 additions and 23 deletions
|
@ -37,6 +37,7 @@ import net.minecraftforge.fluids.FluidStack;
|
||||||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||||
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
|
@ -555,7 +556,7 @@ public class GT_ModHandler {
|
||||||
if (GregTech_API.sRecipeFile.get(ConfigCategories.Machines.maceration, aInput, true)) {
|
if (GregTech_API.sRecipeFile.get(ConfigCategories.Machines.maceration, aInput, true)) {
|
||||||
GT_Utility.addSimpleIC2MachineRecipe(aInput, getMaceratorRecipeList(), null, aOutput1);
|
GT_Utility.addSimpleIC2MachineRecipe(aInput, getMaceratorRecipeList(), null, aOutput1);
|
||||||
}
|
}
|
||||||
|
addMagneticraftRecipe(aInput, aOutput1, aOutput2, aChance2, aOutput3, aChance3);
|
||||||
RA.addPulveriserRecipe(aInput, new ItemStack[]{aOutput1, aOutput2, aOutput3}, new int[]{10000, aChance2 <= 0 ? 1000 : 100 * aChance2, aChance3 <= 0 ? 1000 : 100 * aChance3}, 400, 2);
|
RA.addPulveriserRecipe(aInput, new ItemStack[]{aOutput1, aOutput2, aOutput3}, new int[]{10000, aChance2 <= 0 ? 1000 : 100 * aChance2, aChance3 <= 0 ? 1000 : 100 * aChance3}, 400, 2);
|
||||||
|
|
||||||
if (!OrePrefixes.log.contains(aInput)) {
|
if (!OrePrefixes.log.contains(aInput)) {
|
||||||
|
@ -591,6 +592,31 @@ public class GT_ModHandler {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Class tClass;
|
||||||
|
static Method tMethod1;
|
||||||
|
static Method tMethod2;
|
||||||
|
|
||||||
|
public static boolean addMagneticraftRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2, ItemStack aOutput3, int aChance3){
|
||||||
|
if(GT_Mod.gregtechproxy.mMagneticraftRecipes && Loader.isModLoaded("Magneticraft")){
|
||||||
|
try {
|
||||||
|
if(tClass==null)tClass = Class.forName("com.cout970.magneticraft.api.access.MgRecipeRegister");
|
||||||
|
if(tMethod1==null)tMethod1 = tClass.getMethod("registerCrusherRecipe", ItemStack.class, ItemStack.class,ItemStack.class, float.class, ItemStack.class, float.class);
|
||||||
|
if(tMethod2==null)tMethod2 = tClass.getMethod("registerGrinderRecipe", ItemStack.class, ItemStack.class,ItemStack.class, float.class, ItemStack.class, float.class);
|
||||||
|
|
||||||
|
ItemData tData = GT_OreDictUnificator.getAssociation(aInput);
|
||||||
|
if(tData!=null&&tData.mPrefix!=null){
|
||||||
|
if(tData.mPrefix==OrePrefixes.ore||tData.mPrefix==OrePrefixes.oreBlackgranite||tData.mPrefix==OrePrefixes.oreEndstone||tData.mPrefix==OrePrefixes.oreNetherrack||tData.mPrefix==OrePrefixes.oreRedgranite){
|
||||||
|
tMethod1.invoke(null, aInput, aOutput1, aOutput2,(float)((float)aChance2/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent), aOutput3,(float)((float)aChance3/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent));
|
||||||
|
}else if(tData.mPrefix==OrePrefixes.crushed||tData.mPrefix==OrePrefixes.crushedCentrifuged||tData.mPrefix==OrePrefixes.crushedPurified){
|
||||||
|
tMethod2.invoke(null, aInput, aOutput1, aOutput2,(float)((float)aChance2/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent), aOutput3,(float)((float)aChance3/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {e.printStackTrace();}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a Recipe to the Sawmills of GregTech and ThermalCraft
|
* Adds a Recipe to the Sawmills of GregTech and ThermalCraft
|
||||||
*/
|
*/
|
||||||
|
@ -1157,7 +1183,7 @@ public class GT_ModHandler {
|
||||||
if (rReturn != null) tList.remove(i--); tList_sS=tList.size();
|
if (rReturn != null) tList.remove(i--); tList_sS=tList.size();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}} catch (Throwable e) {e.printStackTrace(GT_Log.err);}
|
}} catch (Throwable e) {e.printStackTrace(GT_Log.err);}
|
||||||
return rReturn;
|
return rReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1292,21 +1318,21 @@ public class GT_ModHandler {
|
||||||
ArrayList<IRecipe> tList = (ArrayList<IRecipe>) CraftingManager.getInstance().getRecipeList();
|
ArrayList<IRecipe> tList = (ArrayList<IRecipe>) CraftingManager.getInstance().getRecipeList();
|
||||||
int tList_sS=tList.size();
|
int tList_sS=tList.size();
|
||||||
try {
|
try {
|
||||||
for (int i = 0; i < tList_sS; i++) {
|
for (int i = 0; i < tList_sS; i++) {
|
||||||
temp = false;
|
temp = false;
|
||||||
temp = tList.get(i).matches(aCrafting, DW);
|
temp = tList.get(i).matches(aCrafting, DW);
|
||||||
if (temp) {
|
if (temp) {
|
||||||
ItemStack tOutput = aUncopiedStack ? tList.get(i).getRecipeOutput() : tList.get(i).getCraftingResult(aCrafting);
|
ItemStack tOutput = aUncopiedStack ? tList.get(i).getRecipeOutput() : tList.get(i).getCraftingResult(aCrafting);
|
||||||
if (tOutput == null || tOutput.stackSize <= 0) {
|
if (tOutput == null || tOutput.stackSize <= 0) {
|
||||||
// Seriously, who would ever do that shit?
|
// Seriously, who would ever do that shit?
|
||||||
if (!GregTech_API.sPostloadFinished)
|
if (!GregTech_API.sPostloadFinished)
|
||||||
throw new GT_ItsNotMyFaultException("Seems another Mod added a Crafting Recipe with null Output. Tell the Developer of said Mod to fix that.");
|
throw new GT_ItsNotMyFaultException("Seems another Mod added a Crafting Recipe with null Output. Tell the Developer of said Mod to fix that.");
|
||||||
} else {
|
} else {
|
||||||
if (aUncopiedStack) return tOutput;
|
if (aUncopiedStack) return tOutput;
|
||||||
return GT_Utility.copy(tOutput);
|
return GT_Utility.copy(tOutput);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}} catch (Throwable e) {e.printStackTrace(GT_Log.err);}
|
||||||
}} catch (Throwable e) {e.printStackTrace(GT_Log.err);}
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1324,6 +1350,7 @@ public class GT_ModHandler {
|
||||||
for (IRecipe tRecipe : (ArrayList<IRecipe>) CraftingManager.getInstance().getRecipeList()) {
|
for (IRecipe tRecipe : (ArrayList<IRecipe>) CraftingManager.getInstance().getRecipeList()) {
|
||||||
ItemStack tStack = tRecipe.getRecipeOutput();
|
ItemStack tStack = tRecipe.getRecipeOutput();
|
||||||
if (GT_Utility.isStackValid(tStack) && tStack.getMaxStackSize() == 1 && tStack.getMaxDamage() > 0 && !(tStack.getItem() instanceof ItemBlock) && !(tStack.getItem() instanceof IReactorComponent) && !isElectricItem(tStack) && !GT_Utility.isStackInList(tStack, sNonReplaceableItems)) {
|
if (GT_Utility.isStackValid(tStack) && tStack.getMaxStackSize() == 1 && tStack.getMaxDamage() > 0 && !(tStack.getItem() instanceof ItemBlock) && !(tStack.getItem() instanceof IReactorComponent) && !isElectricItem(tStack) && !GT_Utility.isStackInList(tStack, sNonReplaceableItems)) {
|
||||||
|
//if (!(tRecipe instanceof ShapelessRecipes) || tRecipe instanceof ShapelessOreRecipe) {
|
||||||
if (tRecipe instanceof ShapedOreRecipe) {
|
if (tRecipe instanceof ShapedOreRecipe) {
|
||||||
boolean temp = true;
|
boolean temp = true;
|
||||||
for (Object tObject : ((ShapedOreRecipe) tRecipe).getInput()) {
|
for (Object tObject : ((ShapedOreRecipe) tRecipe).getInput()) {
|
||||||
|
@ -1336,8 +1363,7 @@ public class GT_ModHandler {
|
||||||
temp = false;
|
temp = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}}
|
||||||
}
|
|
||||||
if (temp) {sSingleNonBlockDamagableRecipeList.add(tRecipe);}
|
if (temp) {sSingleNonBlockDamagableRecipeList.add(tRecipe);}
|
||||||
} else if (tRecipe instanceof ShapedRecipes) {
|
} else if (tRecipe instanceof ShapedRecipes) {
|
||||||
boolean temp = true;
|
boolean temp = true;
|
||||||
|
@ -1351,6 +1377,7 @@ public class GT_ModHandler {
|
||||||
} else {
|
} else {
|
||||||
sSingleNonBlockDamagableRecipeList.add(tRecipe);
|
sSingleNonBlockDamagableRecipeList.add(tRecipe);
|
||||||
}
|
}
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GT_Log.out.println("GT_Mod: Created a List of Tool Recipes containing " + sSingleNonBlockDamagableRecipeList.size() + " Recipes for recycling." + (sSingleNonBlockDamagableRecipeList.size() > 1024 ? " Scanning all these Recipes is the reason for the startup Lag you receive right now." : E));
|
GT_Log.out.println("GT_Mod: Created a List of Tool Recipes containing " + sSingleNonBlockDamagableRecipeList.size() + " Recipes for recycling." + (sSingleNonBlockDamagableRecipeList.size() > 1024 ? " Scanning all these Recipes is the reason for the startup Lag you receive right now." : E));
|
||||||
|
@ -1372,6 +1399,7 @@ public class GT_ModHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/*ArrayList<ItemStack> */
|
/*ArrayList<ItemStack> */
|
||||||
if (sSingleNonBlockDamagableRecipeList_verified.size() != 0) {rList = getRecipeOutputs(sSingleNonBlockDamagableRecipeList_verified, true, aRecipe);}
|
if (sSingleNonBlockDamagableRecipeList_verified.size() != 0) {rList = getRecipeOutputs(sSingleNonBlockDamagableRecipeList_verified, true, aRecipe);}
|
||||||
|
@ -1434,11 +1462,11 @@ public class GT_ModHandler {
|
||||||
} else {
|
} else {
|
||||||
rList.add(GT_Utility.copy(tOutput));
|
rList.add(GT_Utility.copy(tOutput));
|
||||||
if (aDeleteFromList) {tempaList_list.add(i);}
|
if (aDeleteFromList) {tempaList_list.add(i);}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//boolean tempaList_list_b = tempaList_list.size() != 0 ? true : false;
|
}
|
||||||
if (aDeleteFromList && tempaList_list.size() != 0) {
|
//boolean tempaList_list_b = tempaList_list.size() != 0 ? true : false;
|
||||||
|
if (aDeleteFromList && tempaList_list.size() != 0) {
|
||||||
List<IRecipe> tempaList_2 = new ArrayList<IRecipe>();
|
List<IRecipe> tempaList_2 = new ArrayList<IRecipe>();
|
||||||
for (int i = 0; i < aList_sS; i++) {
|
for (int i = 0; i < aList_sS; i++) {
|
||||||
int k = 0, l = 0;
|
int k = 0, l = 0;
|
||||||
|
@ -1496,7 +1524,7 @@ public class GT_ModHandler {
|
||||||
for (Entry<IRecipeInput, RecipeOutput> tEntry : aRecipeList.entrySet()) {
|
for (Entry<IRecipeInput, RecipeOutput> tEntry : aRecipeList.entrySet()) {
|
||||||
if (tEntry.getKey().matches(aInput)) {
|
if (tEntry.getKey().matches(aInput)) {
|
||||||
if (tEntry.getKey().getAmount() <= aInput.stackSize) {
|
if (tEntry.getKey().getAmount() <= aInput.stackSize) {
|
||||||
ItemStack[] tList = (ItemStack[]) tEntry.getValue().items.toArray();
|
ItemStack[] tList = (ItemStack[]) tEntry.getValue().items.toArray(new ItemStack[tEntry.getValue().items.size()]);
|
||||||
if (tList.length == 0) break;
|
if (tList.length == 0) break;
|
||||||
ItemStack[] rList = new ItemStack[aOutputSlots.length];
|
ItemStack[] rList = new ItemStack[aOutputSlots.length];
|
||||||
rRecipeMetaData.setTag("return", tEntry.getValue().metadata);
|
rRecipeMetaData.setTag("return", tEntry.getValue().metadata);
|
||||||
|
|
Loading…
Add table
Reference in a new issue