aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2020-04-14 19:22:46 +0000
committerAlkalus <draknyte1@hotmail.com>2020-04-14 19:22:46 +0000
commitbc0b4b644dd410c86c925c7ef2422bd18789437c (patch)
treedd96160d195653e79ceaf6f18b982f4f5f5a265d /src/Java/gtPlusPlus
parente724a728061ec4a78cff73a4a2dd46eea4af4521 (diff)
parent994cb1962434737cf3cfadc06361db2f2cec2020 (diff)
downloadGT5-Unofficial-bc0b4b644dd410c86c925c7ef2422bd18789437c.tar.gz
GT5-Unofficial-bc0b4b644dd410c86c925c7ef2422bd18789437c.tar.bz2
GT5-Unofficial-bc0b4b644dd410c86c925c7ef2422bd18789437c.zip
Merged in RecipeVerification(pull request #8)
Recipe verification
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java33
-rw-r--r--src/Java/gtPlusPlus/api/interfaces/IComparableRecipe.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java20
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java8
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java7
-rw-r--r--src/Java/gtPlusPlus/nei/GTPP_NEI_CustomMapHandler.java828
-rw-r--r--src/Java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java829
-rw-r--r--src/Java/gtPlusPlus/nei/GTPP_NEI_DefaultHandlerEx.java829
-rw-r--r--src/Java/gtPlusPlus/nei/GT_NEI_FlotationCell.java14
-rw-r--r--src/Java/gtPlusPlus/nei/GT_NEI_FluidReactor.java18
-rw-r--r--src/Java/gtPlusPlus/nei/GT_NEI_MillingMachine.java16
-rw-r--r--src/Java/gtPlusPlus/nei/GT_NEI_MultiBlockHandler.java20
-rw-r--r--src/Java/gtPlusPlus/nei/GT_NEI_VacFurnace.java14
-rw-r--r--src/Java/gtPlusPlus/nei/NEI_GT_Config.java33
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java56
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_ChemicalReactor.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java13
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java78
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/RecipesToRemove.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java18
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java60
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java12
54 files changed, 2814 insertions, 283 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index 4ddec1f9f4..1bf67c15fc 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -11,23 +11,15 @@ import java.util.Collection;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
-import cpw.mods.fml.common.event.FMLInitializationEvent;
-import cpw.mods.fml.common.event.FMLLoadCompleteEvent;
-import cpw.mods.fml.common.event.FMLPostInitializationEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.event.FMLServerStartingEvent;
-import cpw.mods.fml.common.event.FMLServerStoppingEvent;
+import cpw.mods.fml.common.event.*;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.Materials;
import gregtech.api.enums.Textures;
import gregtech.api.enums.Textures.BlockIcons;
-import gregtech.api.util.FishPondFakeRecipe;
-import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.*;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import gregtech.api.util.Recipe_GT;
-import gregtech.api.util.SemiFluidFuelHandler;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.chunkloading.GTPP_ChunkManager;
import gtPlusPlus.core.commands.CommandDebugChunks;
@@ -205,6 +197,7 @@ public class GTplusplus implements ActionListener {
//SprinklerHandler.registerModFerts();
BlockEventHandler.init();
+ GTPP_Recipe.reInit();
Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Logger.INFO("| Recipes succesfully Loaded: " + RegistrationHandler.recipesSuccess + " | Failed: "
@@ -256,8 +249,16 @@ public class GTplusplus implements ActionListener {
public void onLoadComplete(FMLLoadCompleteEvent event) {
proxy.onLoadComplete(event);
generateGregtechRecipeMaps();
+ // Check our maps are untouched
+ GTPP_Recipe.checkRecipeModifications();
+ Logger.INFO("Passed verification checks.");
}
+ @Mod.EventHandler
+ public void onIDChangingEvent(FMLModIdMappingEvent aEvent) {
+ GTPP_Recipe.reInit();
+ }
+
public static void tryPatchTurbineTextures() {
if (enableAnimatedTurbines) {
BlockIcons h = Textures.BlockIcons.GAS_TURBINE_SIDE_ACTIVE;
@@ -315,9 +316,9 @@ public class GTplusplus implements ActionListener {
}
}
- if (Recipe_GT.Gregtech_Recipe_Map.sMultiblockCentrifugeRecipes_GT.mRecipeList.size() < 1) {
- for (GT_Recipe a : Recipe_GT.Gregtech_Recipe_Map.sMultiblockCentrifugeRecipes.mRecipeList) {
- Recipe_GT.Gregtech_Recipe_Map.sMultiblockCentrifugeRecipes_GT.add(a);
+ if (GTPP_Recipe.GTPP_Recipe_Map.sMultiblockCentrifugeRecipes_GT.mRecipeList.size() < 1) {
+ for (GT_Recipe a : GTPP_Recipe.GTPP_Recipe_Map.sMultiblockCentrifugeRecipes.mRecipeList) {
+ GTPP_Recipe.GTPP_Recipe_Map.sMultiblockCentrifugeRecipes_GT.add(a);
}
}
@@ -346,9 +347,9 @@ public class GTplusplus implements ActionListener {
}
}
- if (Recipe_GT.Gregtech_Recipe_Map.sMultiblockElectrolyzerRecipes_GT.mRecipeList.size() < 1) {
- for (GT_Recipe a : Recipe_GT.Gregtech_Recipe_Map.sMultiblockElectrolyzerRecipes.mRecipeList) {
- Recipe_GT.Gregtech_Recipe_Map.sMultiblockElectrolyzerRecipes_GT.add(a);
+ if (GTPP_Recipe.GTPP_Recipe_Map.sMultiblockElectrolyzerRecipes_GT.mRecipeList.size() < 1) {
+ for (GT_Recipe a : GTPP_Recipe.GTPP_Recipe_Map.sMultiblockElectrolyzerRecipes.mRecipeList) {
+ GTPP_Recipe.GTPP_Recipe_Map.sMultiblockElectrolyzerRecipes_GT.add(a);
}
}
diff --git a/src/Java/gtPlusPlus/api/interfaces/IComparableRecipe.java b/src/Java/gtPlusPlus/api/interfaces/IComparableRecipe.java
index 5d79fd8a51..ddbf9f38bb 100644
--- a/src/Java/gtPlusPlus/api/interfaces/IComparableRecipe.java
+++ b/src/Java/gtPlusPlus/api/interfaces/IComparableRecipe.java
@@ -1,7 +1,7 @@
package gtPlusPlus.api.interfaces;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.Recipe_GT;
+import gregtech.api.util.GTPP_Recipe;
public interface IComparableRecipe extends Comparable<GT_Recipe>{
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
index 7745f50010..719e5145e9 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
@@ -9,7 +9,7 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
-import gregtech.api.util.Recipe_GT;
+import gregtech.api.util.GTPP_Recipe;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
@@ -281,8 +281,8 @@ public class RocketFuels extends ItemPackage {
}
private static void addRocketFuelsToMap() {
- HashMap<Integer, Recipe_GT> mRocketFuels = new LinkedHashMap<Integer, Recipe_GT>();
- mRocketFuels.put(0, new Recipe_GT(
+ HashMap<Integer, GTPP_Recipe> mRocketFuels = new LinkedHashMap<Integer, GTPP_Recipe>();
+ mRocketFuels.put(0, new GTPP_Recipe(
true,
new ItemStack[] {},
new ItemStack[] {},
@@ -294,7 +294,7 @@ public class RocketFuels extends ItemPackage {
0,
256)); //Fuel Value
- mRocketFuels.put(1, new Recipe_GT(
+ mRocketFuels.put(1, new GTPP_Recipe(
true,
new ItemStack[] {},
new ItemStack[] {},
@@ -306,7 +306,7 @@ public class RocketFuels extends ItemPackage {
0,
512)); //Fuel Value
- mRocketFuels.put(2, new Recipe_GT(
+ mRocketFuels.put(2, new GTPP_Recipe(
true,
new ItemStack[] {},
new ItemStack[] {},
@@ -318,7 +318,7 @@ public class RocketFuels extends ItemPackage {
0,
768)); //Fuel Value
- mRocketFuels.put(3, new Recipe_GT(
+ mRocketFuels.put(3, new GTPP_Recipe(
true,
new ItemStack[] {},
new ItemStack[] {},
@@ -336,11 +336,11 @@ public class RocketFuels extends ItemPackage {
mValidRocketFuelNames.add(FluidRegistry.getFluidName(Diesel));
for (int mID : mRocketFuels.keySet()) {
- Recipe_GT aFuelRecipe = mRocketFuels.get(mID);
+ GTPP_Recipe aFuelRecipe = mRocketFuels.get(mID);
if (aFuelRecipe != null) {
mValidRocketFuelNames.add(FluidRegistry.getFluidName(aFuelRecipe.mFluidInputs[0].getFluid()));
mValidRocketFuels.put(mID, aFuelRecipe.mFluidInputs[0].getFluid());
- Recipe_GT.Gregtech_Recipe_Map.sRocketFuels.add(aFuelRecipe);
+ GTPP_Recipe.GTPP_Recipe_Map.sRocketFuels.add(aFuelRecipe);
}
}
@@ -1007,8 +1007,8 @@ public class RocketFuels extends ItemPackage {
return true;
}
- private static Recipe_GT getHalfBakedRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, int aEU) {
- return new Recipe_GT(false, aInputs, null, null, null, aFluidInputs, null, 0, aEU, 0);
+ private static GTPP_Recipe getHalfBakedRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, int aEU) {
+ return new GTPP_Recipe(false, aInputs, null, null, null, aFluidInputs, null, 0, aEU, 0);
}
diff --git a/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java b/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java
index add55b8d27..4b9cda0b9b 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java
@@ -1,7 +1,7 @@
package gtPlusPlus.core.slots;
-import gregtech.api.util.Recipe_GT;
-import gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map;
+import gregtech.api.util.GTPP_Recipe;
+import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
@@ -20,9 +20,9 @@ public class SlotChemicalPlantInput extends Slot {
}
public static boolean isItemValidForChemicalPlantSlot(ItemStack aStack) {
- boolean validItem = Gregtech_Recipe_Map.sChemicalPlantRecipes.containsInput(aStack);
+ boolean validItem = GTPP_Recipe_Map.sChemicalPlantRecipes.containsInput(aStack);
if (!validItem) {
- for (Recipe_GT f : Gregtech_Recipe_Map.sChemicalPlantRecipes.mRecipeList) {
+ for (GTPP_Recipe f : GTPP_Recipe_Map.sChemicalPlantRecipes.mRecipeList) {
if (f.mFluidInputs.length > 0) {
for (FluidStack g : f.mFluidInputs) {
if (g != null) {
diff --git a/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java b/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
index e7b7c46e7b..2d389d8bb2 100644
--- a/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
+++ b/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
@@ -22,6 +22,7 @@ import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable;
import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
import gtPlusPlus.plugin.villagers.tile.TileEntityGenericSpawner;
+import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
public class ModTileEntities {
@@ -52,6 +53,12 @@ public class ModTileEntities {
if (LoadedMods.Thaumcraft){
}
+ blacklistTilesFromAcceleration();
+ }
+
+ private static void blacklistTilesFromAcceleration() {
+ Meta_GT_Proxy.setTileEntityClassAsBlacklistedInWorldAccelerator("gtPlusPlus.core.tileentities.general.TileEntityFishTrap");
+ Meta_GT_Proxy.setTileEntityClassAsBlacklistedInWorldAccelerator("gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest");
}
}
diff --git a/src/Java/gtPlusPlus/nei/GTPP_NEI_CustomMapHandler.java b/src/Java/gtPlusPlus/nei/GTPP_NEI_CustomMapHandler.java
new file mode 100644
index 0000000000..ca6eb55b90
--- /dev/null
+++ b/src/Java/gtPlusPlus/nei/GTPP_NEI_CustomMapHandler.java
@@ -0,0 +1,828 @@
+package gtPlusPlus.nei;
+
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.util.*;
+
+import org.lwjgl.opengl.GL11;
+
+import codechicken.lib.gui.GuiDraw;
+import codechicken.nei.PositionedStack;
+import codechicken.nei.guihook.GuiContainerManager;
+import codechicken.nei.guihook.IContainerInputHandler;
+import codechicken.nei.guihook.IContainerTooltipHandler;
+import codechicken.nei.recipe.*;
+import cpw.mods.fml.common.event.FMLInterModComms;
+import gregtech.GT_Mod;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+import gregtech.api.objects.ItemData;
+import gregtech.api.util.*;
+import gregtech.common.gui.GT_GUIContainer_FusionReactor;
+import gregtech.common.gui.GT_GUIContainer_PrimitiveBlastFurnace;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+public class GTPP_NEI_CustomMapHandler
+ extends TemplateRecipeHandler {
+ public static final int sOffsetX = 5;
+ public static final int sOffsetY = 11;
+
+ static {
+ GuiContainerManager.addInputHandler(new GT_RectHandler());
+ GuiContainerManager.addTooltipHandler(new GT_RectHandler());
+ }
+
+ protected final CustomRecipeMap mRecipeMap;
+
+ public GTPP_NEI_CustomMapHandler(CustomRecipeMap tMap) {
+ this.mRecipeMap = tMap;
+ this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier(), new Object[0]));
+ if (!NEI_GT_Config.sIsAdded) {
+ FMLInterModComms.sendRuntimeMessage(GT_Values.GT, "NEIPlugins", "register-crafting-handler", "gregtech@" + getRecipeName() + "@" + getOverlayIdentifier());
+ GuiCraftingRecipe.craftinghandlers.add(this);
+ GuiUsageRecipe.usagehandlers.add(this);
+ }
+ }
+
+ public List<GT_Recipe> getSortedRecipes() {
+ List<GT_Recipe> result = new ArrayList<>(this.mRecipeMap.mRecipeList);
+ Collections.sort(result);
+ return result;
+ }
+
+ public static void drawText(int aX, int aY, String aString, int aColor) {
+ Minecraft.getMinecraft().fontRenderer.drawString(aString, aX, aY, aColor);
+ }
+
+ public TemplateRecipeHandler newInstance() {
+ return new GTPP_NEI_CustomMapHandler(this.mRecipeMap);
+ }
+
+ public void loadCraftingRecipes(String outputId, Object... results) {
+ if (outputId.equals(getOverlayIdentifier())) {
+ for (GT_Recipe tRecipe : getSortedRecipes()) {
+ if (!tRecipe.mHidden) {
+ this.arecipes.add(new CachedDefaultRecipe(tRecipe));
+ }
+ }
+ } else {
+ super.loadCraftingRecipes(outputId, results);
+ }
+ }
+
+ public void loadCraftingRecipes(ItemStack aResult) {
+ ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aResult);
+
+ ArrayList<ItemStack> tResults = new ArrayList<ItemStack>();
+ tResults.add(aResult);
+ tResults.add(GT_OreDictUnificator.get(true, aResult));
+ if ((tPrefixMaterial != null) && (!tPrefixMaterial.mBlackListed) && (!tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty())) {
+ for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) {
+ tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L));
+ }
+ }
+ FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true);
+ if (tFluid != null) {
+ tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false));
+ for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) {
+ if (tData.fluid.isFluidEqual(tFluid)) {
+ tResults.add(GT_Utility.copy(new Object[]{tData.filledContainer}));
+ }
+ }
+ }
+ for (GT_Recipe tRecipe : getSortedRecipes()) {
+ if (!tRecipe.mHidden) {
+ CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe);
+ for (ItemStack tStack : tResults) {
+ if (tNEIRecipe.contains(tNEIRecipe.mOutputs, tStack)) {
+ this.arecipes.add(tNEIRecipe);
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ public void loadUsageRecipes(ItemStack aInput) {
+ ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aInput);
+ ArrayList<ItemStack> tInputs = new ArrayList<ItemStack>();
+ tInputs.add(aInput);
+ tInputs.add(GT_OreDictUnificator.get(false, aInput));
+ if ((tPrefixMaterial != null) && (!tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty())) {
+ for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) {
+ tInputs.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L));
+ }
+ }
+ FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true);
+ if (tFluid != null) {
+ tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false));
+ for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) {
+ if (tData.fluid.isFluidEqual(tFluid)) {
+ tInputs.add(GT_Utility.copy(new Object[]{tData.filledContainer}));
+ }
+ }
+ }
+ for (GT_Recipe tRecipe : getSortedRecipes()) {
+ if (!tRecipe.mHidden) {
+ CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe);
+ for (ItemStack tStack : tInputs) {
+ if (tNEIRecipe.contains(tNEIRecipe.mInputs, tStack)) {
+ this.arecipes.add(tNEIRecipe);
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ public String getOverlayIdentifier() {
+ return this.mRecipeMap.mNEIName;
+ }
+
+ public void drawBackground(int recipe) {
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ GuiDraw.changeTexture(getGuiTexture());
+ GuiDraw.drawTexturedModalRect(-4, -8, 1, 3, 174, 78);
+ }
+
+ public int recipiesPerPage() {
+ return 1;
+ }
+
+ public String getRecipeName() {
+ return GT_LanguageManager.getTranslation(this.mRecipeMap.mUnlocalizedName);
+ }
+
+ public String getGuiTexture() {
+// return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png";
+ return this.mRecipeMap.mNEIGUIPath;
+ }
+
+ public List<String> handleItemTooltip(GuiRecipe gui, ItemStack aStack, List<String> currenttip, int aRecipeIndex) {
+ TemplateRecipeHandler.CachedRecipe tObject = (TemplateRecipeHandler.CachedRecipe) this.arecipes.get(aRecipeIndex);
+ if ((tObject instanceof CachedDefaultRecipe)) {
+ CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject;
+ for (PositionedStack tStack : tRecipe.mOutputs) {
+ if (aStack == tStack.item) {
+ if ((!(tStack instanceof FixedPositionedStack)) || (((FixedPositionedStack) tStack).mChance <= 0) || (((FixedPositionedStack) tStack).mChance == 10000)) {
+ break;
+ }
+ currenttip.add(trans("150","Chance: ") + ((FixedPositionedStack) tStack).mChance / 100 + "." + (((FixedPositionedStack) tStack).mChance % 100 < 10 ? "0" + ((FixedPositionedStack) tStack).mChance % 100 : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + "%");
+ break;
+ }
+ }
+ for (PositionedStack tStack : tRecipe.mInputs) {
+ if (aStack == tStack.item) {