aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus')
-rw-r--r--src/main/java/gtPlusPlus/core/block/ModBlocks.java1
-rw-r--r--src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java10
-rw-r--r--src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java16
-rw-r--r--src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java3
-rw-r--r--src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java1
-rw-r--r--src/main/java/gtPlusPlus/core/item/ModItems.java9
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java17
-rw-r--r--src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java19
-rw-r--r--src/main/java/gtPlusPlus/nei/GT_NEI_FluidReactor.java2
-rw-r--r--src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java2
-rw-r--r--src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java2
-rw-r--r--src/main/java/gtPlusPlus/nei/GT_NEI_MolecularTransformer.java2
-rw-r--r--src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java2
-rw-r--r--src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java2
-rw-r--r--src/main/java/gtPlusPlus/nei/GT_NEI_MultiTreeGrowthSimulator.java177
-rw-r--r--src/main/java/gtPlusPlus/nei/NEI_GT_Config.java3
-rw-r--r--src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java1
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java6
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_CopiedBlockTexture.java27
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_RenderedTexture.java27
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java13
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java20
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java4
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java12
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java12
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksPipeGearbox.java103
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMachineCasings.java4
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings.java13
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java9
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java244
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_HeatExchanger.java355
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java14
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java181
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java9
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java4
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java1
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java5
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java4
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java4
41 files changed, 1246 insertions, 138 deletions
diff --git a/src/main/java/gtPlusPlus/core/block/ModBlocks.java b/src/main/java/gtPlusPlus/core/block/ModBlocks.java
index 5b29d9a636..4842cb891e 100644
--- a/src/main/java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/main/java/gtPlusPlus/core/block/ModBlocks.java
@@ -61,6 +61,7 @@ public final class ModBlocks {
public static Block blockSpecialMultiCasings;
public static Block blockSpecialMultiCasings2;
public static Block blockCustomMachineCasings;
+ public static Block blockCustomPipeGearCasings;
public static Block blockMetaTileEntity;
public static Block blockHeliumGenerator;
diff --git a/src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java b/src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java
index 035b13dfbf..2dc780bb78 100644
--- a/src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java
+++ b/src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java
@@ -17,6 +17,7 @@ import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
+import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
@@ -29,6 +30,12 @@ public class BlockBaseModular extends BasicBlock {
public BlockTypes thisBlock;
protected String thisBlockMaterial;
protected final String thisBlockType;
+
+ private static HashMap<String, Block> sBlockCache = new HashMap<String, Block>();
+
+ public static Block getMaterialBlock(Material aMaterial, BlockTypes aType) {
+ return sBlockCache.get(aMaterial.getUnlocalizedName()+"."+aType.name());
+ }
public BlockBaseModular(final Material material, final BlockTypes blockType) {
this(material, blockType, material.getRgbAsHex());
@@ -39,6 +46,9 @@ public class BlockBaseModular extends BasicBlock {
blockType, colour, Math.min(Math.max(material.vTier, 1), 6));
blockMaterial = material;
registerComponent();
+ if (material != null) {
+ sBlockCache.put(material.getUnlocalizedName()+"."+blockType.name(), this);
+ }
}
protected BlockBaseModular(final String unlocalizedName, final String blockMaterialString,
diff --git a/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java b/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
index e1bc3462be..df69a050a6 100644
--- a/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
+++ b/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
@@ -7,8 +7,6 @@ import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.interfaces.ITexture;
-import gregtech.api.objects.GT_CopiedBlockTexture;
-import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.api.interfaces.ITexturedBlock;
import gtPlusPlus.core.client.renderer.CustomOreBlockRenderer;
@@ -18,6 +16,8 @@ import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture;
+import gtPlusPlus.xmod.gregtech.api.objects.GTPP_RenderedTexture;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EnumCreatureType;
@@ -93,9 +93,9 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
public ITexture[] getTexture(Block block, byte side) {
if (this.blockMaterial != null){
- GT_RenderedTexture aIconSet = new GT_RenderedTexture(blockMaterial.getTextureSet().mTextures[OrePrefixes.ore.mTextureIndex], this.blockMaterial.getRGBA());
+ GTPP_RenderedTexture aIconSet = new GTPP_RenderedTexture(blockMaterial.getTextureSet().mTextures[OrePrefixes.ore.mTextureIndex], this.blockMaterial.getRGBA());
if (aIconSet != null){
- return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet};
+ return new ITexture[]{new GTPP_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet};
}
}
@@ -118,7 +118,7 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
}
}
}
- return new ITexture[]{new GT_RenderedTexture(hiddenTextureArray[0], new short[]{240, 240, 240, 0})};
+ return new ITexture[]{new GTPP_RenderedTexture(hiddenTextureArray[0], new short[]{240, 240, 240, 0})};
}
@Override
@@ -196,9 +196,9 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
public ITexture[] getTexture(Block block, byte side) {
if (this.blockMaterial != null){
- GT_RenderedTexture aIconSet = new GT_RenderedTexture(blockMaterial.getTextureSet().mTextures[OrePrefixes.ore.mTextureIndex], this.blockMaterial.getRGBA());
+ GTPP_RenderedTexture aIconSet = new GTPP_RenderedTexture(blockMaterial.getTextureSet().mTextures[OrePrefixes.ore.mTextureIndex], this.blockMaterial.getRGBA());
if (aIconSet != null){
- return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet};
+ return new ITexture[]{new GTPP_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet};
}
}
@@ -221,7 +221,7 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
}
}
}
- return new ITexture[]{new GT_RenderedTexture(hiddenTextureArray[0], new short[]{240, 240, 240, 0})};
+ return new ITexture[]{new GTPP_RenderedTexture(hiddenTextureArray[0], new short[]{240, 240, 240, 0})};
}
}
diff --git a/src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java b/src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
index 493b7d415d..4f5615b60a 100644
--- a/src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
+++ b/src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
@@ -116,9 +116,10 @@ public class CommandEnableDebugWhileRunning implements ICommand
if (aItem != null) {
String aModID = GameRegistry.findUniqueIdentifierFor(aItem.getItem()).modId;
String aRegistryName = GameRegistry.findUniqueIdentifierFor(aItem.getItem()).name;
- Logger.INFO(aModID+":"+aRegistryName);
+ Logger.INFO(aModID+":"+aRegistryName+":"+aItem.getItemDamage()+" | "+aItem.getDisplayName());
}
}
+ PlayerUtils.messagePlayer(P, "Dumped Inventory.");
}
}
else if (argString[0].toLowerCase().equals("hand")) {
diff --git a/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
index 1faf07dde3..79446db6e6 100644
--- a/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
+++ b/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
@@ -165,6 +165,7 @@ public class COMPAT_HANDLER {
GregtechIndustrialElementDuplicator.run();
GregtechIndustrialRockBreaker.run();
GregtechIndustrialChisel.run();
+ GregtechIndustrialFluidHeater.run();
//New Horizons Content
NewHorizonsAccelerator.run();
diff --git a/src/main/java/gtPlusPlus/core/item/ModItems.java b/src/main/java/gtPlusPlus/core/item/ModItems.java
index 159598189e..b77b46d34b 100644
--- a/src/main/java/gtPlusPlus/core/item/ModItems.java
+++ b/src/main/java/gtPlusPlus/core/item/ModItems.java
@@ -297,6 +297,9 @@ public final class ModItems {
public static ItemStack itemHotTitaniumIngot;
public static Fluid fluidZrF4;
+ public static Fluid fluidFertBasic;
+ public static Fluid fluidFertUN32;
+ public static Fluid fluidFertUN18;
public static Item boxTools;
public static Item boxFood;
@@ -771,10 +774,10 @@ public final class ModItems {
temp2 = ItemUtils.getCorrectStacktype("Forestry:fertilizerCompound", 1);
}
if (temp1 != null){
- FluidUtils.generateFluidNonMolten("Fertiliser", "Fertiliser", 32, new short[]{45, 170, 45, 100}, temp1, temp2, true);
+ fluidFertBasic = FluidUtils.generateFluidNonMolten("Fertiliser", "Fertiliser", 32, new short[]{45, 170, 45, 100}, temp1, temp2, true);
}
- FluidUtils.generateFluidNonMolten("UN32Fertiliser", "UN-32 Fertiliser", 24, new short[]{55, 190, 55, 100}, null, null, true);
- FluidUtils.generateFluidNonMolten("UN18Fertiliser", "UN-18 Fertiliser", 22, new short[]{60, 155, 60, 100}, null, null, true);
+ fluidFertUN32 = FluidUtils.generateFluidNonMolten("UN32Fertiliser", "UN-32 Fertiliser", 24, new short[]{55, 190, 55, 100}, null, null, true);
+ fluidFertUN18 = FluidUtils.generateFluidNonMolten("UN18Fertiliser", "UN-18 Fertiliser", 22, new short[]{60, 155, 60, 100}, null, null, true);
/*GT_Values.RA.addMixerRecipe(
arg0, //Item In
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index d27919c18c..f9ab366285 100644
--- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -256,6 +256,7 @@ public class RECIPES_Machines {
sparging();
chisels();
rockBreaker();
+ thermicFluidHeater();
gt4FarmManager();
gt4Redstone();
@@ -276,6 +277,16 @@ public class RECIPES_Machines {
}
+
+ private static void thermicFluidHeater() {
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(5, 1), CI.circuitTier5, CI.getPlate(5, 1),
+ pipeTier7, ItemList.Machine_IV_FluidHeater.get(1), pipeTier7,
+ CI.getPlate(5, 1), CI.circuitTier4, CI.getPlate(5, 1),
+ GregtechItemList.Controller_IndustrialFluidHeater.get(1));
+ }
+
private static void computerCube() {
CORE.RA.addSixSlotAssemblingRecipe(
@@ -1299,6 +1310,12 @@ public class RECIPES_Machines {
"craftingPiston", ALLOY.TUMBAGA.getFrameBox(1), "craftingPiston",
aBronzeBricks, "gemDiamond", aBronzeBricks,
GregtechItemList.Controller_SteamMaceratorMulti.get(1));
+ // Steam Compressor Multi
+ RecipeUtils.addShapedGregtechRecipe(
+ aBronzeBricks, "craftingPiston", aBronzeBricks,
+ ALLOY.TUMBAGA.getGear(1), ALLOY.TUMBAGA.getFrameBox(1), ALLOY.TUMBAGA.getGear(1),
+ aBronzeBricks, "craftingPiston", aBronzeBricks,
+ GregtechItemList.Controller_SteamCompressorMulti.get(1));
// Steam Hatch
RecipeUtils.addShapedGregtechRecipe(
diff --git a/src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java b/src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java
index fe1204a661..8acd54c401 100644
--- a/src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java
+++ b/src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java
@@ -2,11 +2,7 @@ package gtPlusPlus.nei;
import java.awt.Rectangle;
import java.lang.ref.SoftReference;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
import org.lwjgl.opengl.GL11;
@@ -15,20 +11,13 @@ import codechicken.lib.gui.GuiDraw;
import codechicken.nei.PositionedStack;
import codechicken.nei.guihook.IContainerInputHandler;
import codechicken.nei.guihook.IContainerTooltipHandler;
-import codechicken.nei.recipe.GuiCraftingRecipe;
-import codechicken.nei.recipe.GuiRecipe;
-import codechicken.nei.recipe.GuiUsageRecipe;
-import codechicken.nei.recipe.TemplateRecipeHandler;
+import codechicken.nei.recipe.*;
import cpw.mods.fml.common.event.FMLInterModComms;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.objects.ItemData;
-import gregtech.api.util.GT_LanguageManager;
-import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.*;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.client.Minecraft;
@@ -246,7 +235,7 @@ public class GTPP_NEI_DefaultHandler extends TemplateRecipeHandler {
}
}
if (tDuration > 0) {
- drawText(10, 113, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(Long.valueOf(tDuration / 20))) + " secs", -16777216);
+ drawText(10, 113, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216);
}
if ((GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePre)) || (GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePost))) {
drawText(10, 123, this.mRecipeMap.mNEISpecialValuePre + (((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue * this.mRecipeMap.mNEISpecialValueMultiplier) + this.mRecipeMap.mNEISpecialValuePost, -16777216);
diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_FluidReactor.java b/src/main/java/gtPlusPlus/nei/GT_NEI_FluidReactor.java
index 7ef76f68b2..9885ac5474 100644
--- a/src/main/java/gtPlusPlus/nei/GT_NEI_FluidReactor.java
+++ b/src/main/java/gtPlusPlus/nei/GT_NEI_FluidReactor.java
@@ -78,7 +78,7 @@ public class GT_NEI_FluidReactor extends GTPP_NEI_DefaultHandler {
}
}
if (tDuration > 0) {
- drawText(10, 103, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(Integer.valueOf(tDuration / 20))) + " secs", -16777216);
+ drawText(10, 103, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216);
}
if ((GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePre)) || (GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePost))) {
int aTier = (((ChemPlantDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue);
diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java b/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java
index dd7338eccd..3683676808 100644
--- a/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java
+++ b/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java
@@ -36,7 +36,7 @@ public class GT_NEI_LFTR extends GTPP_NEI_DefaultHandler {
public void drawExtras(final int aRecipeIndex) {
final long tEUt = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue;
final int tDuration = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mDuration;
- drawText(10, 83, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(Integer.valueOf(tDuration / 20))) + " secs", -16777216);
+ drawText(10, 83, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216);
drawText(10, 93, this.mRecipeMap.mNEISpecialValuePre + MathUtils.formatNumbers((((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue * this.mRecipeMap.mNEISpecialValueMultiplier)) + this.mRecipeMap.mNEISpecialValuePost, -16777216);
drawText(10, 103, "Dynamo: " + MathUtils.formatNumbers((long) (tDuration * tEUt)) + " EU", -16777216);
drawText(10, 113, "Total: " + MathUtils.formatNumbers((long) (tDuration * tEUt * 4)) + " EU", -16777216);
diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java b/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java
index c9f9f0722a..5b8451b6b5 100644
--- a/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java
+++ b/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java
@@ -156,7 +156,7 @@ public class GT_NEI_LFTR_Sparging extends TemplateRecipeHandler {
final long tDuration = ((GasSpargingRecipeNEI) this.arecipes.get(aRecipeIndex)).mRecipe.mDuration;
GT_NEI_LFTR.drawText(10, 73, "Total: " + MathUtils.formatNumbers((long) (tDuration * tEUt)) + " EU", -16777216);
GT_NEI_LFTR.drawText(10, 83, "Usage: " + MathUtils.formatNumbers(tEUt) + " EU/t", -16777216);
- GT_NEI_LFTR.drawText(10, 93, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(Long.valueOf(tDuration / 20))) + " secs", -16777216);
+ GT_NEI_LFTR.drawText(10, 93, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216);
GT_NEI_LFTR.drawText(10, 103, "Gas not used to sparge is", -16777216);
GT_NEI_LFTR.drawText(10, 113, "returned alongside outputs.", -16777216);
}
diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_MolecularTransformer.java b/src/main/java/gtPlusPlus/nei/GT_NEI_MolecularTransformer.java
index fc2c16b423..5e62d8f3df 100644
--- a/src/main/java/gtPlusPlus/nei/GT_NEI_MolecularTransformer.java
+++ b/src/main/java/gtPlusPlus/nei/GT_NEI_MolecularTransformer.java
@@ -28,7 +28,7 @@ public class GT_NEI_MolecularTransformer extends GTPP_NEI_DefaultHandler {
drawText(10, 103, "Amperage: " + aRecipe.mSpecialValue, -16777216);
}
if (tDuration > 0) {
- drawText(10, 113, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(Long.valueOf(tDuration / 20))) + " secs", -16777216);
+ drawText(10, 113, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216);
}
}
diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java
index f4f69589b6..5fd6cc5b64 100644
--- a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java
+++ b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java
@@ -48,7 +48,7 @@ public class GT_NEI_MultiNoCell extends GTPP_NEI_DefaultHandler {
drawText(10, 100, "Usage: " + MathUtils.formatNumbers(tEUt) + " EU/t", -16777216);
}
if (tDuration > 0) {
- drawText(10, 110, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(Integer.valueOf(tDuration / 20))) + " secs", -16777216);
+ drawText(10, 110, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216);
}
if ((GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePre)) || (GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePost))) {
drawText(10, 120, this.mRecipeMap.mNEISpecialValuePre + MathUtils.formatNumbers((((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue * this.mRecipeMap.mNEISpecialValueMultiplier)) + this.mRecipeMap.mNEISpecialValuePost, -16777216);
diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java
index e5666d84b4..fd611cbabe 100644
--- a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java
+++ b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java
@@ -26,7 +26,7 @@ public class GT_NEI_MultiSolarTower extends GT_NEI_MultiNoCell {
public void drawExtras(final int aRecipeIndex) {
final int tDuration = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mDuration;
if (tDuration > 0) {
- drawText(10, 90, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(Integer.valueOf(tDuration / 20))) + " secs", -16777216);
+ drawText(10, 90, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216);
}
drawText(5, 100, "Solar Heater rings boost tier", -16777216);
drawText(5, 110, "R1:T1, R2:T2, R3:T4, R4:T8, R5:T16", -16777216);
diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiTreeGrowthSimulator.java b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiTreeGrowthSimulator.java
new file mode 100644
index 0000000000..33d5f1c884
--- /dev/null
+++ b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiTreeGrowthSimulator.java
@@ -0,0 +1,177 @@
+package gtPlusPlus.nei;
+
+import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.lwjgl.opengl.GL11;
+
+import codechicken.lib.gui.GuiDraw;
+import codechicken.nei.PositionedStack;
+import codechicken.nei.recipe.GuiRecipe;
+import codechicken.nei.recipe.TemplateRecipeHandler;
+import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.core.item.ModItems;
+import net.minecraft.item.ItemStack;
+
+public class GT_NEI_MultiTreeGrowthSimulator extends GTPP_NEI_DefaultHandler {
+
+ private static final HashMap<Integer, Pair<Integer, Integer>> mInputSlotMap = new HashMap<Integer, Pair<Integer, Integer>>();
+ private static final HashMap<Integer, Pair<Integer, Integer>> mOutputSlotMap = new HashMap<Integer, Pair<Integer, Integer>>();
+
+ static {
+ int[] aSlotX = new int[] {12, 30, 48};
+ int[] aSlotY = new int[] {5, 23, 41, 64};
+ // Input slots
+ int aIndex = 0;
+ for (int y=0; y<aSlotY.length;y++) {
+ for (int x=0; x<aSlotX.length;x++) {
+ mInputSlotMap.put(aIndex++, new Pair<Integer, Integer>(aSlotX[x], aSlotY[y]));
+ }
+ }
+ // Output slots
+ aSlotX = new int[] {102, 120, 138};
+ aIndex = 0;
+ for (int y=0; y<aSlotY.length;y++) {
+ for (int x=0; x<aSlotX.length;x++) {
+ mOutputSlotMap.put(aIndex++, new Pair<Integer, Integer>(aSlotX[x], aSlotY[y]));
+ }
+ }
+ }
+
+ public GT_NEI_MultiTreeGrowthSimulator() {
+ super(GTPP_Recipe_Map.sTreeSimFakeRecipes);
+ }
+
+ @Override
+ public TemplateRecipeHandler newInstance() {
+ return new GT_NEI_MultiTreeGrowthSimulator();
+ }
+
+ @Override
+ public CachedDefaultRecipe createCachedRecipe(GT_Recipe aRecipe) {
+ return new TreeSimDefaultRecipe(aRecipe);
+ }
+
+ @Override
+ public void drawBackground(final int recipe) {
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ GuiDraw.changeTexture(this.getGuiTexture());
+ GuiDraw.drawTexturedModalRect(-4, -8, 1, 3, 174, 89);
+ }
+
+ @Override
+ public String getGuiTexture() {
+ return RES_PATH_GUI + "basicmachines/FissionFuel.png";
+ }
+
+ @Override
+ public void drawExtras(final int aRecipeIndex) {
+ if (ModItems.fluidFertBasic != null) {
+ drawText(5, 90, "Chance of Sapling output if", -16777216);
+ drawText(5, 100, ""+ModItems.fluidFertBasic.getLocalizedName()+" is provided.", -16777216);
+ drawText(5, 110, "This is optional.", -16777216);
+ }
+ }
+
+ @Override
+ public List<String> handleItemTooltip(final GuiRecipe gui, final ItemStack aStack, final List<String> currenttip, final int aRecipeIndex) {
+ final TemplateRecipeHandler.CachedRecipe tObject = this.arecipes.get(aRecipeIndex);
+ if ((tObject instanceof CachedDefaultRecipe)) {
+ final CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject;
+ for (final PositionedStack tStack : tRecipe.mOutputs) {
+ if (aStack == tStack.item) {
+ if ((!(tStack instanceof FixedPositionedStack)) || (((FixedPositionedStack) tStack).mChance <= 0) || (((FixedPositionedStack) tStack).mChance == 10000)) {
+ break;
+ }
+ if (ModItems.fluidFertBasic != null) {
+ currenttip.add("Chance output if "+ModItems.fluidFertBasic.getLocalizedName()+" is provided.");
+ }
+ break;
+ }
+ }
+ }
+ return currenttip;
+ }
+
+ public class TreeSimDefaultRecipe extends CachedDefaultRecipe {
+
+ public TreeSimDefaultRecipe(final GT_Recipe aRecipe) {
+ super(aRecipe);
+
+ }
+
+ @Override
+ public void handleSlots() {
+
+ int aInputItemsCount = this.mRecipe.mInputs.length;
+ int aInputFluidsCount = this.mRecipe.mFluidInputs.length;
+ int aOutputItemsCount = this.mRecipe.mOutputs.length;
+ int aInputSlotsUsed = 0;
+ int aOutputSlotsUsed = 0;
+ int aSlotToCheck = 0;
+
+ // Special Slot
+ if (mRecipe.mSpecialItems != null) {
+ this.mInputs.add(new FixedPositionedStack(mRecipe.mSpecialItems, 120, 52));
+ }
+
+ /*
+ * Items
+ */
+
+ // Upto 9 Inputs Slots
+ if (aInputItemsCount > 0) {
+ if (aInputItemsCount > 9) {
+ aInputItemsCount = 9;
+ }
+ for (int i=0;i<aInputItemsCount;i++) {
+ int x = mInputSlotMap.get(aInputSlotsUsed).getKey();
+ int y = mInputSlotMap.get(aInputSlotsUsed).getValue();
+ ItemStack aRepStack = mRecipe.getRepresentativeInput(aSlotToCheck++);
+ if (aRepStack != null) {
+ this.mInputs.add(new FixedPositionedStack(aRepStack, x, y));
+ aInputSlotsUsed++;
+ }
+ }
+ }
+ aSlotToCheck = 0;
+ // Upto 9 Output Slots
+ if (aOutputItemsCount > 0) {
+ if (aOutputItemsCount > 9) {
+ aOutputItemsCount = 9;
+ }
+ for