aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java84
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java18
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java20
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GTPP_Recipe.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java24
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Plasma.java13
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java153
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java107
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java150
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java62
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java38
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java18
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java44
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java41
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java26
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java46
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java27
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java15
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java67
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AssLineAchievements.java180
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java75
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java22
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCryogenicFreezer.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java5
53 files changed, 1050 insertions, 407 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
index 6903305f9d..6edc47badf 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
@@ -12,18 +12,23 @@ import gregtech.api.interfaces.IToolStats;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.util.Recipe_GT;
import gregtech.common.items.GT_MetaGenerated_Tool_01;
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.australia.gen.gt.WorldGen_GT_Australia;
import gtPlusPlus.core.handler.COMPAT_HANDLER;
import gtPlusPlus.core.handler.OldCircuitHandler;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.everglades.gen.gt.WorldGen_GT;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config;
import gtPlusPlus.xmod.gregtech.api.world.GTPP_Worldgen;
+import gtPlusPlus.xmod.gregtech.common.StaticFields59;
import gtPlusPlus.xmod.gregtech.common.blocks.fluid.GregtechFluidHandler;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
import gtPlusPlus.xmod.gregtech.loaders.*;
@@ -104,6 +109,7 @@ public class HANDLER_GT {
public static void onLoadComplete(FMLLoadCompleteEvent event) {
removeCrudeTurbineRotors();
+ cleanAssemblyLineRecipeMap();
}
private static int removeCrudeTurbineRotors() {
@@ -165,5 +171,83 @@ public class HANDLER_GT {
return aRemoved;
}
+
+ /**
+ * Should clean out any invalid Assembly Line recipes, if the map actually exists.
+ * Prevents NPE's being thrown by GT's AL handler. (Fucking Annoying)
+ * @return - Amount of Recipes removed, which were invalid in some way.
+ */
+ private static int cleanAssemblyLineRecipeMap() {
+ GT_Recipe_Map g = StaticFields59.sAssemblylineVisualRecipes;
+ if (g == null) {
+ return 0;
+ }
+ else {
+ AutoMap<GT_Recipe> aNewMap = new AutoMap<GT_Recipe>();
+ AutoMap<GT_Recipe> aBadRecipeTempMap = new AutoMap<GT_Recipe>();
+ for (GT_Recipe r : g.mRecipeList) {
+ if (r != null) {
+ if (r.mOutputs == null || r.mOutputs.length == 0 || r.mOutputs[0] == null) {
+ aBadRecipeTempMap.put(r.copy());
+ continue;
+ }
+ else {
+ aNewMap.put(r.copy());
+ }
+ }
+ }
+ if (aNewMap.size() > 0) {
+ g.mRecipeList.clear();
+ for (GT_Recipe i : aNewMap) {
+ g.add(i);
+ }
+ }
+ if (aBadRecipeTempMap.size() > 0) {
+ Logger.INFO("Found "+aBadRecipeTempMap.size()+" bad Assembly Line Recipes, attempting to dump all data about them.");
+ Logger.INFO("This data should be given to the mod author for the recipe in question.");
+ for (GT_Recipe i : aBadRecipeTempMap) {
+ if (i == null) {
+ Logger.INFO("Found NULL recipe. Impossible to determine who added this one. Please Report to Alkalus on Github.");
+ }
+ else {
+ if (i.mOutputs == null || i.mOutputs.length == 0 || i.mOutputs[0] == null) {
+ Logger.INFO("Found recipe with NULL output array, this will cause some issues. Attempting to determine other info about recipe.");
+ if (i.mInputs != null && i.mInputs.length > 0) {
+ Logger.INFO("Inputs: "+ItemUtils.getArrayStackNames(i.mInputs));
+ }
+ else {
+ Logger.INFO("Recipe had no valid inputs.");
+ }
+ Logger.INFO("Time: "+i.mDuration);
+ Logger.INFO("EU/T: "+i.mEUt);
+ Logger.INFO("Special: "+i.mSpecialValue);
+ }
+ else {
+ Logger.INFO("Found bad recipe, Attempting to determine other info.");
+ if (i.mInputs != null && i.mInputs.length > 0) {
+ Logger.INFO("Inputs: "+ItemUtils.getArrayStackNames(i.mInputs));
+ }
+ else {
+ Logger.INFO("Recipe had no valid inputs.");
+ }
+ if (i.mOutputs != null && i.mOutputs.length > 0) {
+ Logger.INFO("Outputs: "+ItemUtils.getArrayStackNames(i.mOutputs));
+ }
+ else {
+ Logger.INFO("Recipe had no valid outputs.");
+ }
+ Logger.INFO("Time: "+i.mDuration);
+ Logger.INFO("EU/T: "+i.mEUt);
+ Logger.INFO("Special: "+i.mSpecialValue);
+ }
+ }
+ }
+ }
+ else {
+ Logger.INFO("No bad Assembly Line recipes found, this is great news!");
+ }
+ return aBadRecipeTempMap.size();
+ }
+ }
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
index c228364149..83abe22568 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
@@ -84,8 +84,13 @@ public enum GregtechItemList implements GregtechItemContainer {
//Computer Cube
Gregtech_Computer_Cube,
- //Custom Batteries (Unused)
- Battery_Gem_1, Battery_Gem_2, Battery_Gem_3,
+ //Casings for batteries
+ Battery_Casing_Gem_1, Battery_Casing_Gem_2,
+ Battery_Casing_Gem_3, Battery_Casing_Gem_4,
+
+ //Custom Batteries
+ Battery_Gem_1, Battery_Gem_2,
+ Battery_Gem_3, Battery_Gem_4,
//Compressed Fusion MK3
Compressed_Fusion_Reactor,
@@ -99,6 +104,11 @@ public enum GregtechItemList implements GregtechItemContainer {
//End Game Laser Engraver Lens
Laser_Lens_Special,
+ //Bombs
+ Bomb_Cast, Bomb_Cast_Molten,
+ Bomb_Cast_Set, Bomb_Cast_Broken,
+ Bomb_Cast_Mold,
+
//----------------------------------------------------------------------------
@@ -556,7 +566,7 @@ public enum GregtechItemList implements GregtechItemContainer {
*/
//Fluid Void Covers
- Cover_Overflow_ULV, Cover_Overflow_LV, Cover_Overflow_MV, Cover_Overflow_HV, Cover_Overflow_EV, Cover_Overflow_IV,
+ Cover_Overflow_ULV, Cover_Overflow_LV, Cover_Overflow_MV, Cover_Overflow_HV, Cover_Overflow_EV, Cover_Overflow_IV,
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
index d5b484e314..721facd8d0 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
@@ -141,7 +141,23 @@ public interface IGregtech_RecipeAdder {
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,
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
index 47e4a7ae53..e637365c1e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
@@ -12,6 +12,7 @@ import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Pollution;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import ic2.api.Direction;
import net.minecraft.item.ItemStack;
@@ -88,7 +89,7 @@ public class BaseCustomTileEntity extends BaseMetaTileEntity {
}
}
- GT_Pollution.addPollution(this, 100000);
+ PollutionUtils.addPollution(this, 100000);
this.mMetaTileEntity.doExplosion(aAmount);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java
index b0dc635aee..19ba932a02 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java
@@ -361,17 +361,7 @@ public abstract class GTPP_MTE_BasicMachine extends GTPP_MTE_BasicTank {
@Override
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) return true;
- if(!GT_Mod.gregtechproxy.mForceFreeFace) {
- aBaseMetaTileEntity.openGUI(aPlayer);
- return true;
- }
- for(byte i=0;i < 6; i++){
- if(aBaseMetaTileEntity.getAirAtSide(i)){
- aBaseMetaTileEntity.openGUI(aPlayer);
- return true;
- }
- }
- GT_Utility.sendChatToPlayer(aPlayer,"No free Side!");
+ aBaseMetaTileEntity.openGUI(aPlayer);
return true;
}
@@ -461,7 +451,8 @@ public abstract class GTPP_MTE_BasicMachine extends GTPP_MTE_BasicTank {
}
if (mProgresstime > 5) mStuttering = false;
XSTR aXSTR = new XSTR();
- if(GT_Mod.gregtechproxy.mAprilFool && aXSTR.nextInt(5000)==0)GT_Utility.sendSoundToPlayers(aBaseMetaTileEntity.getWorld(), GregTech_API.sSoundList.get(5), 10.0F, -1.0F, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(),aBaseMetaTileEntity.getZCoord());
+ //Dumb April Fools Shit
+ // if(GT_Mod.gregtechproxy.mAprilFool && aXSTR.nextInt(5000)==0)GT_Utility.sendSoundToPlayers(aBaseMetaTileEntity.getWorld(), GregTech_API.sSoundList.get(5), 10.0F, -1.0F, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(),aBaseMetaTileEntity.getZCoord());
} else {
if (!mStuttering) {
stutterProcess();
@@ -726,7 +717,7 @@ public abstract class GTPP_MTE_BasicMachine extends GTPP_MTE_BasicTank {
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
if (aSide == getBaseMetaTileEntity().getFrontFacing() || aSide == mMainFacing) {
mAllowInputFromOutputSide = !mAllowInputFromOutputSide;
- GT_Utility.sendChatToPlayer(aPlayer, mAllowInputFromOutputSide ? trans("095","Input from Output Side allowed") : trans("096","Input from Output Side forbidden"));
+ GT_Utility.sendChatToPlayer(aPlayer, mAllowInputFromOutputSide ? "Input from Output Side allowed" : "Input from Output Side forbidden");
}
}
@@ -790,9 +781,6 @@ public abstract class GTPP_MTE_BasicMachine extends GTPP_MTE_BasicTank {
GT_Recipe tRecipe = tMap.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, V[mTier], new FluidStack[]{getFillableStack()}, getSpecialSlot(), getAllInputs());
if (tRecipe == null) return DID_NOT_FIND_RECIPE;
- if (GT_Mod.gregtechproxy.mLowGravProcessing && tRecipe.mSpecialValue == -100 &&
- !isValidForLowGravity(tRecipe,getBaseMetaTileEntity().getWorld().provider.dimensionId))
- return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
if (tRecipe.mCanBeBuffered) mLastRecipe = tRecipe;
if (!canOutput(tRecipe)) {
mOutputBlocked++;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GTPP_Recipe.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GTPP_Recipe.java
index d5180ef4e1..18665538d0 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GTPP_Recipe.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GTPP_Recipe.java
@@ -27,7 +27,7 @@ public class GT_MetaTileEntity_BasicMachine_GTPP_Recipe extends GT_MetaTileEntit
GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity, int aAmperage,
int aGUIParameterA, int aGUIParameterB, ITexture[][][] aTextures, String aGUIName, String aNEIName,
String aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, int aSpecialEffect) {
- super(aName, aTier, aDescription, aRecipes, aInputSlots, aOutputSlots, aTankCapacity, aAmperage, aGUIParameterA,
+ super(aName, aTier, aDescription[0], aRecipes, aInputSlots, aOutputSlots, aTankCapacity, aAmperage, aGUIParameterA,
aGUIParameterB, aTextures, aGUIName, aNEIName, aSound, aSharedTank, aRequiresFluidForFiltering, aSpecialEffect);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java
index fe0ffd5dc8..7a532807c8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java
@@ -8,16 +8,20 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.item.general.ItemControlCore;
import gtPlusPlus.xmod.gregtech.common.StaticFields59;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
public class GT_MetaTileEntity_Hatch_ControlCore extends GT_MetaTileEntity_Hatch {
public GT_Recipe_Map mRecipeMap = null;
+
+ public BlockPos mControllerLocation;
public GT_MetaTileEntity_Hatch_ControlCore(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, getSlots(aTier), "Core determines maximum tier machine will operate at");
@@ -113,4 +117,24 @@ public class GT_MetaTileEntity_Hatch_ControlCore extends GT_MetaTileEntity_Hatch
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return aSide == getBaseMetaTileEntity().getFrontFacing() && (aStack != null && aStack.getItem() instanceof ItemControlCore);
}
+
+ public boolean setOwner(TileEntity aTileEntity) {
+ if (mControllerLocation != null) {
+ return false;
+ }
+ else {
+ mControllerLocation = new BlockPos(aTileEntity);
+ return true;
+ }
+ }
+
+ public boolean setOwner(IGregTechTileEntity aTileEntity) {
+ if (mControllerLocation != null) {
+ return false;
+ }
+ else {
+ mControllerLocation = new BlockPos(aTileEntity);
+ return true;
+ }
+ }
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java
index e427587be0..9b730c84a3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java
@@ -2,7 +2,8 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
-
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -47,7 +48,14 @@ public class GT_MetaTileEntity_Hatch_DynamoBuffer extends GT_MetaTileEntity_Hatc
@Override
public String[] getDescription() {
- String[] g = new String[]{"Generating electric Energy from Multiblocks", "Stores "+maxEUStore()+"EU", "Puts out up to 4 Amps", "Does not accept more than "+this.maxEUOutput()+"EU/t as input", "Large Turbines only supply 1A to this, other Multiblocks can inject more amps"};
+ String[] g;
+ if (CORE.GTNH || (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && Utils.getGregtechVersionAsInt() >= 50932)) {
+ g = new String[]{"Dynamo with internal storage and additional Amp capacity", "Capacity: "+maxEUStore()+"EU", "Voltage: "+this.maxEUOutput(), "Amperage In: 4", "Amperage Out: 4"};
+
+ }
+ else {
+ g = new String[]{"Dynamo with internal storage and additional Amp capacity", "Stores "+maxEUStore()+"EU", "Amperage In: 4", "Amperage Out: 4", "Does not accept more than "+this.maxEUOutput()+"EU/t as input", "Large Turbines only supply 1A to this, other Multiblocks can inject more amps"};
+ }
return g;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java
index 2b7f44be59..0d4d8b6cdd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java
@@ -184,7 +184,7 @@ public class GT_MetaTileEntity_Hatch_Naquadah extends GT_MetaTileEntity_Hatch_In
a2 = F2.getByte(this);
}
}
- catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException n) {}
+ catch (IllegalArgumentException | IllegalAccessException n) {}
int textureIndex = a1 | a2 << 7;
byte texturePointer = (byte) (a1 & 127);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Plasma.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Plasma.java
index aeae474fb7..bed80d8d13 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Plasma.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Plasma.java
@@ -9,6 +9,7 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
@@ -19,7 +20,7 @@ import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
-public class GT_MetaTileEntity_Hatch_Plasma extends GT_MetaTileEntity_Hatch_Input {
+public class GT_MetaTileEntity_Hatch_Plasma extends GT_MetaTileEntity_Hatch_Output {
public final AutoMap<Fluid> mFluidsToUse = new AutoMap<Fluid>();
public final int mFluidCapacity;
@@ -49,11 +50,9 @@ public class GT_MetaTileEntity_Hatch_Plasma extends GT_MetaTileEntity_Hatch_Inpu
//Get all Plasmas, but the easiest way to do this is to just ask the Fluid Registry what exists and filter through them lazily.
Field fluidNameCache;
- try {
- fluidNameCache = ReflectionUtils.getField(FluidRegistry.class, "fluidNames");
- } catch (NoSuchFieldException e) {
- fluidNameCache = null;
- }
+
+ fluidNameCache = ReflectionUtils.getField(FluidRegistry.class, "fluidNames");
+
AutoMap<String> mValidPlasmaNameCache = new AutoMap<String>();
if (fluidNameCache != null) {
try {
@@ -198,7 +197,7 @@ public class GT_MetaTileEntity_Hatch_Plasma extends GT_MetaTileEntity_Hatch_Inpu
a2 = F2.getByte(this);
}
}
- catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException n) {}
+ catch (IllegalArgumentException | IllegalAccessException n) {}
int textureIndex = a1 | a2 << 7;
byte texturePointer = (byte) (a1 & 127);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java
index 96df4dbfd0..5e41af86af 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java
@@ -28,7 +28,7 @@ public class GT_MetaTileEntity_SuperBus_Input extends GT_MetaTileEntity_Hatch_In
}
public GT_MetaTileEntity_SuperBus_Input(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, aDescription, aTextures);
+ super(aName, aTier, aDescription[0], aTextures);
}
/**
@@ -65,7 +65,7 @@ public class GT_MetaTileEntity_SuperBus_Input extends GT_MetaTileEntity_Hatch_In
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_SuperBus_Input(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
+ return new GT_MetaTileEntity_SuperBus_Input(this.mName, this.mTier, this.mDescription, this.mTextures);
}
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java
index d09b71ee35..4fac3d36d8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java
@@ -26,7 +26,7 @@ public class GT_MetaTileEntity_SuperBus_Output extends GT_MetaTileEntity_Hatch_O
}
public GT_MetaTileEntity_SuperBus_Output(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, aDescription, aTextures);
+ super(aName, aTier, aDescription[0], aTextures);
}
/**
@@ -43,7 +43,7 @@ public class GT_MetaTileEntity_SuperBus_Output extends GT_MetaTileEntity_Hatch_O
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_SuperBus_Output(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
+ return new GT_MetaTileEntity_SuperBus_Output(this.mName, this.mTier, this.mDescription, this.mTextures);
}
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
index 04c1cf34cc..9393ca08be 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
@@ -16,6 +16,7 @@ import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
+import gregtech.api.enums.TAE;
import gregtech.api.gui.GT_Container_MultiMachine;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -38,7 +39,10 @@ import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.GTplusplus.INIT_PHASE;
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
@@ -68,6 +72,7 @@ extends
GT_MetaTileEntity_MultiBlockBase {
+ public static final boolean DEBUG_DISABLE_CORES_TEMPORARILY = true;
static {
@@ -199,7 +204,7 @@ GT_MetaTileEntity_MultiBlockBase {
}
}
- int tTier = requireControlCores ? this.getControlCoreTier() : -1;
+ int tTier = this.getControlCoreTier();
mInfo.add(getMachineTooltip());
@@ -265,6 +270,10 @@ GT_MetaTileEntity_MultiBlockBase {
private final String aRequiresCoreModule = "1x Core Module";
private final String aRequiresMaint = "1x Maintanence Hatch";*/
+ public final static String TAG_HIDE_HATCHES = "TAG_HIDE_HATCHES";
+ public final static String TAG_HIDE_POLLUTION = "TAG_HIDE_POLLUTION";
+ public final static String TAG_HIDE_MACHINE_TYPE = "TAG_HIDE_MACHINE_TYPE";
+
@Override
public final String[] getDescription() {
/*if (aCachedToolTip != null) {
@@ -287,22 +296,62 @@ GT_MetaTileEntity_MultiBlockBase {
String aRequiresCoreModule = "1x Core Module";
String aRequiresMaint = "1x Maintanence Hatch";
- String[] x = getTooltip();
- //Add Stock Tooltip to bottom of list
- String[] z;
- if (getPollutionPerTick(null) > 0) {
- z = new String[] {
- aRequiresMaint,
- aRequiresCoreModule,
- aRequiresMuffler,
- getPollutionTooltip(),
- getMachineTooltip()};
+ String[] x = getTooltip();
+
+ //Filter List, toggle switches, rebuild map without flags
+ boolean showHatches = true;
+ boolean showMachineType = true;
+ boolean showPollution = getPollutionPerTick(null) > 0;
+ AutoMap<String> aTempMap = new AutoMap<String>();
+ for (int ee = 0; ee < x.length; ee++) {
+ String hh = x[ee];
+ if (hh.equals(TAG_HIDE_HATCHES)) {
+ showHatches = false;
+ }
+ else if (hh.equals(TAG_HIDE_POLLUTION)) {
+ showPollution = false;
+ }
+ else if (hh.equals(TAG_HIDE_MACHINE_TYPE)) {
+ showMachineType = false;
+ }
+ else {
+ aTempMap.put(x[ee]);
+ }
}
- else {
- z = new String[] {
- aRequiresMaint,
- aRequiresCoreModule,
- getMachineTooltip(),};
+ //Rebuild
+ x = new String[aTempMap.size()];
+ for (int ee = 0; ee < x.length; ee++) {
+ x[ee] = aTempMap.get(ee);
+ }
+
+
+ //Assemble ordered map for misc tooltips
+ AutoMap<String> aOrderedMap = new AutoMap<String>();
+ if (showHatches) {
+ aOrderedMap.put(aRequiresMaint);
+ aOrderedMap.put(aRequiresCoreModule);
+ if (showPollution) {
+ aOrderedMap.put(aRequiresMuffler);
+ }
+ }
+
+ if (showMachineType) {
+ aOrderedMap.put(getMachineTooltip());
+ }
+
+ if (showPollution) {
+ aOrderedMap.put(getPollutionTooltip());
+ }
+
+
+
+
+
+ //Add Stock Tooltip to bottom of list
+ String[] z;
+ z = new String[aOrderedMap.size()];
+ for (int ee = 0; ee < z.length; ee++) {
+ z[ee] = aOrderedMap.get(ee);
}
int a2, a3;
@@ -435,7 +484,12 @@ GT_MetaTileEntity_MultiBlockBase {
public void log(String s) {
boolean isDebugLogging = CORE.DEBUG;
- boolean reset = false;
+ boolean reset = true;
+
+ if (!isDebugLogging) {
+ return;
+ }
+
if (aLogger == null || reset) {
if (isDebugLogging) {
try {
@@ -501,8 +555,8 @@ GT_MetaTileEntity_MultiBlockBase {
//Control Core to control the Multiblocks behaviour.
int aControlCoreTier = getControlCoreTier();
-
- //If no core, return false;
+
+ //If no core, return false;
if (aControlCoreTier == 0 && requireControlCores) {
log("No control core found.");
return false;
@@ -587,7 +641,7 @@ GT_MetaTileEntity_MultiBlockBase {
//Only Overclock as high as the control circuit.
byte tTierOld = tTier;
- tTier = requireControlCores ? (byte) aControlCoreTier : tTierOld;
+ tTier = getControlCoreTier() > 0 ? (byte) aControlCoreTier : tTierOld;
// Overclock
if (this.mEUt <= 16) {
@@ -859,10 +913,15 @@ GT_MetaTileEntity_MultiBlockBase {
public <E> boolean addToMachineListInternal(ArrayList<E> aList, final IMetaTileEntity aTileEntity,
- final int aBaseCasingIndex) {
+ final int aBaseCasingIndex) {
+ if (aTileEntity == null) {
+ return false;
+ }
if (aList.isEmpty()) {
if (aTileEntity instanceof GT_MetaTileEntity_Hatch) {
- log("Adding " + aTileEntity.getInventoryName() + " at " + new BlockPos(aTileEntity.getBaseMetaTileEntity()).getLocationString());
+ if (GTplusplus.CURRENT_LOAD_PHASE == INIT_PHASE.STARTED) {
+ log("Adding " + aTileEntity.getInventoryName() + " at " + new BlockPos(aTileEntity.getBaseMetaTileEntity()).getLocationString());
+ }
updateTexture(aTileEntity, aBaseCasingIndex);
return aList.add((E) aTileEntity);
}
@@ -875,13 +934,17 @@ GT_MetaTileEntity_MultiBlockBase {
BlockPos aPos = new BlockPos(b);
if (b != null && aPos != null) {
if (aCurPos.equals(aPos)) {
- log("Found Duplicate "+b.getInventoryName()+" at " + aPos.getLocationString());
+ if (GTplusplus.CURRENT_LOAD_PHASE == INIT_PHASE.STARTED) {
+ log("Found Duplicate "+b.getInventoryName()+" at " + aPos.getLocationString());
+ }
return false;
}
}
}
if (aTileEntity instanceof GT_MetaTileEntity_Hatch) {
- log("Adding " + aCur.getInventoryName() + " at " + aCurPos.getLocationString());
+ if (GTplusplus.CURRENT_LOAD_PHASE == INIT_PHASE.STARTED) {
+ log("Adding " + aCur.getInventoryName() + " at " + aCurPos.getLocationString());
+ }
updateTexture(aTileEntity, aBaseCasingIndex);
return aList.add((E) aTileEntity);
}
@@ -892,10 +955,10 @@ GT_MetaTileEntity_MultiBlockBase {
public int getControlCoreTier() {
//Always return best tier if config is off.
- boolean aCoresConfig = gtPlusPlus.core.lib.CORE.ConfigSwitches.requireControlCores;
+ /*boolean aCoresConfig = gtPlusPlus.core.lib.CORE.ConfigSwitches.requireControlCores;
if (!aCoresConfig) {
return 10;
- }
+ }*/
if (mControlCoreBus.isEmpty()) {
log("No Control Core Modules Found.");
@@ -936,9 +999,16 @@ GT_MetaTileEntity_MultiBlockBase {
log("Tried to add a secondary control core module.");
return false;
}
-
- log("Adding control core module.");
- return addToMachineListInternal(mControlCoreBus, aMetaTileEntity, aBaseCasingIndex);
+
+ GT_MetaTileEntity_Hatch_ControlCore Module = (GT_MetaTileEntity_Hatch_ControlCore) aMetaTileEntity;
+
+ if (Module != null) {
+ if (Module.setOwner(aTileEntity)) {
+ log("Adding control core module.");
+ return addToMachineListInternal(mControlCoreBus, aMetaTileEntity, aBaseCasingIndex);
+ }
+ }
+ return false;
}
@Override
@@ -1085,7 +1155,8 @@ GT_MetaTileEntity_MultiBlockBase {
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input || aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) {
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input){
((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = null;
- ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = aMap;
+ ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = aMap;
+ log("Remapped Input Hatch to "+aMap.mNEIName);
}
else {
((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = null;
@@ -1117,7 +1188,6 @@ GT_MetaTileEntity_MultiBlockBase {
* Enable Texture Casing Support if found in GT 5.09
*/
- @SuppressWarnings("deprecation")
public boolean updateTexture(final IGregTechTileEntity aTileEntity, int aCasingID){
final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
if (aMetaTileEntity == null) {
@@ -1138,7 +1208,7 @@ GT_MetaTileEntity_MultiBlockBase {
if (aMetaTileEntity == null) {
return false;
}
- Method mProper = Class.forName("gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch").getDeclaredMethod("updateTexture", int.class);
+ Method mProper = ReflectionUtils.getMethod(GT_MetaTileEntity_Hatch.class, "updateTexture", int.class);
if (mProper != null){
if (GT_MetaTileEntity_Hatch.class.isInstance(aMetaTileEntity)){
mProper.setAccessible(true);
@@ -1146,7 +1216,6 @@ GT_MetaTileEntity_MultiBlockBase {
log("Good Method Call for updateTexture.");
return true;
}
-
}
else {
log("Bad Method Call for updateTexture.");
@@ -1167,7 +1236,7 @@ GT_MetaTileEntity_MultiBlockBase {
log("updateTexture returning false. 1");
return false;
}
- catch (NoSuchMethodException | SecurityException | ClassNotFoundException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ catch (SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
log("updateTexture returning false.");
log("updateTexture returning false. 2");
e.printStackTrace();
@@ -1221,15 +1290,12 @@ GT_MetaTileEntity_MultiBlockBase {
@SuppressWarnings("rawtypes")
public boolean isThisHatchMultiDynamo(Object aMetaTileEntity){
Class mDynamoClass;
- try {
- mDynamoClass = Class.forName("com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti");
+ mDynamoClass = ReflectionUtils.getClass("com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti");
if (mDynamoClass != null){
if (mDynamoClass.isInstance(aMetaTileEntity)){
return true;
}
}
- }
- catch (ClassNotFoundException e) {}
return false;
}
@@ -1510,7 +1576,7 @@ GT_MetaTileEntity_MultiBlockBase {
public final boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
boolean aStructureCheck = checkMultiblock(aBaseMetaTileEntity, aStack);
- boolean aHasCore = (requireControlCores ? (this.getControlCoreBus() != null) : true);
+ boolean aHasCore = DEBUG_DISABLE_CORES_TEMPORARILY; //(requireControlCores ? (this.getControlCoreBus() != null) : true);
return aStructureCheck && aHasCore;
}
@@ -1521,6 +1587,11 @@ GT_MetaTileEntity_MultiBlockBase {
Block aFoundBlock, int aFoundMeta, Block aExpectedBlock, int aExpectedMeta) {
boolean isHatch = false;
if (aBaseMetaTileEntity != null) {
+
+ if (aCasingID < 64) {
+ aCasingID = TAE.GTPP_INDEX(aCasingID);
+ }
+
isHatch = this.addToMachineList(aBaseMetaTileEntity, aCasingID);
if (isHatch) {
return true;
@@ -1562,7 +1633,9 @@ GT_MetaTileEntity_MultiBlockBase {
}
else if (aFoundBlock != aExpectedBlock) {
log("A1 - Found: "+aFoundBlock.getLocalizedName()+":"+aFoundMeta+", Expected: "+aExpectedBlock.getLocalizedName()+":"+aExpectedMeta);
- log("Loc: "+(new BlockPos(aBaseMetaTileEntity).getLocationString()));
+ if (GTplusplus.CURRENT_LOAD_PHASE == INIT_PHASE.STARTED) {
+ log("Loc: "+(new BlockPos(aBaseMetaTileEntity).getLocationString()));
+ }
return false;
}
else if (aFoundMeta != aExpectedMeta) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
index a88d6a4832..b6e7b35d68 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
@@ -4,10 +4,6 @@ import static gregtech.api.enums.GT_Values.V;
import java.util.Collection;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -15,9 +11,12 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
-
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_BasicTank {
@@ -144,7 +143,7 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_
@Override
public boolean isOutputFacing(final byte aSide) {
- return true;
+ return this.getBaseMetaTileEntity().getFrontFacing() == aSide;
}
@Override
@@ -154,7 +153,7 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_
@Override
public long maxEUOutput() {
- return this.getBaseMetaTileEntity().isAllowedToWork() ? V[this.mTier] : 0;
+ return V[this.mTier];
}
@Override
@@ -164,22 +163,22 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_
@Override
public boolean doesFillContainers() {
- return this.getBaseMetaTileEntity().isAllowedToWork();
+ return false;
}
@Override
public boolean doesEmptyContainers() {
- return this.getBaseMetaTileEntity().isAllowedToWork();
+ return true;
}
@Override
public boolean canTankBeFilled() {
- return this.getBaseMetaTileEntity().isAllowedToWork();
+ return true;
}
@Override
public boolean canTankBeEmptied() {
- return this.getBaseMetaTileEntity().isAllowedToWork();
+ return false;
}
@Override
@@ -199,6 +198,61 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_
@Override
public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) {
+
+
+ //super.onPostTick(aBaseMetaTileEntity, aTick);
+
+ /*if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && aTick % 10L == 0L) {
+ int tFuelValue;
+ if (this.mFluid == null) {
+ if (aBaseMetaTileEntity.getUniversalEnergyStored() < this.maxEUOutput() + this.getMinimumStoredEU()) {
+ this.mInventory[this.getStackDisplaySlot()] = null;
+ } else {
+ if (this.mInventory[this.getStackDisplaySlot()] == null) {
+ this.mInventory[this.getStackDisplaySlot()] = new ItemStack(Blocks.fire, 1);
+ }
+
+ this.mInventory[this.getStackDisplaySlot()].setStackDisplayName("Generating: "
+ + (aBaseMetaTileEntity.getUniversalEnergyStored() - this.getMinimumStoredEU()) + " EU");
+ }
+ } else {
+ tFuelValue = this.getFuelValue(this.mFluid);
+ int tConsumed = this.consumedFluidPerOperation(this.mFluid);
+ if (tFuelValue > 0 && tConsumed > 0 && this.mFluid.amount > tConsumed) {
+ long tFluidAmountToUse = Math.min((long) (this.mFluid.amount / tConsumed),
+ (this.maxEUStore() - aBaseMetaTileEntity.getUniversalEnergyStored()) / (long) tFuelValue);
+ if (tFluidAmountToUse > 0L && aBaseMetaTileEntity
+ .increaseStoredEnergyUnits(tFluidAmountToUse * (long) tFuelValue, true)) {
+ PollutionUtils.addPollution(this.getBaseMetaTileEntity(), 10 * this.getPollution());
+ this.mFluid.amount = (int) ((long) this.mFluid.amount - tFluidAmountToUse * (long) tConsumed);
+ }
+ }
+ }
+
+ if (this.mInventory[this.getInputSlot()] != null
+ && aBaseMetaTileEntity.getUniversalEnergyStored() < this.maxEUOutput() * 20L
+ + this.getMinimumStoredEU()
+ && GT_Utility.getFluidForFilledItem(this.mInventory[this.getInputSlot()], true) == null) {
+ tFuelValue = this.getFuelValue(this.mInventory[this.getInputSlot()]);
+ if (tFuelValue > 0) {
+ ItemStack tEmptyContainer = this.getEmptyContainer(this.mInventory[this.getInputSlot()]);
+ if (aBaseMetaTileEntity.addStackToSlot(this.getOutputSlot(), tEmptyContainer)) {
+ aBaseMetaTileEntity.increaseStoredEnergyUnits((long) tFuelValue, true);
+ aBaseMetaTileEntity.decrStackSize(this.getInputSlot(), 1);
+ PollutionUtils.addPollution(this.getBaseMetaTileEntity(), 10 * this.getPollution());
+ }
+ }
+ }
+ }
+
+ if (aBaseMetaTileEntity.isServerSide()) {
+ aBaseMetaTileEntity.setActive(aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity
+ .getUniversalEnergyStored() >= this.maxEUOutput() + this.getMinimumStoredEU());
+ }*/
+
+
+
+
if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && ((aTick % 10) == 0)) {
if (this.mFluid == null) {
if (aBaseMetaTileEntity.getUniversalEnergyStored() < (this.maxEUOutput() + this.getMinimumStoredEU())) {
@@ -211,16 +265,14 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_
}
} else {
final int tFuelValue = this.getFuelValue(this.mFluid), tConsumed = this.consumedFluidPerOperation(this.mFluid);
- if ((tFuelValue > 0) && (tConsumed > 0) && (this.mFluid.amount > tConsumed)) {
+ if ((tFuelValue > 0) && (tConsumed > 0) && (this.mFluid.amount >= tConsumed)) {
final long tFluidAmountToUse = Math.min(this.mFluid.amount / tConsumed, (((this.maxEUOutput() * 20) + this.getMinimumStoredEU()) - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue);
- if ((tFluidAmountToUse > 0) && aBaseMetaTileEntity.increaseStoredEnergyUnits(tFluidAmountToUse * tFuelValue, true)){
- if (this.useFuel){
- this.mFluid.amount -= tFluidAmountToUse * tConsumed;
- this.useFuel = false;
- }
- else {
- this.useFuel = true;
- }
+ if ((tFluidAmountToUse > 0) && aBaseMetaTileEntity.increaseStoredEnergyUnits(tFluidAmountToUse * tFuelValue, true)){
+ useFuel = Utils.invertBoolean(useFuel);
+ int aSafeFloor= (int) Math.max(((tFluidAmountToUse * tConsumed)/3), 1);
+ int toConsumeTrue = (int) (useFuel ? aSafeFloor : 0);
+ //Logger.INFO("True consumption: "+toConsumeTrue+" | Consuming this tick? "+useFuel);
+ this.mFluid.amount -= toConsumeTrue;
PollutionUtils.addPollution(getBaseMetaTileEntity(), 10 * getPollution());
}
}
@@ -260,14 +312,25 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_
FluidStack tLiquid;
final Collection<GT_Recipe> tRecipeList = this.getRecipes().mRecipeList;
if (tRecipeList != null) {
+ //Logger.INFO("Step A");
for (final GT_Recipe tFuel : tRecipeList) {
- if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) {
+ //Logger.INFO("Step B");
+ if ((tLiquid = tFuel.mFluidInputs[0]) != null) {
+ //Logger.INFO("Step C");
if (aLiquid.isFluidEqual(tLiquid)) {
- return (int) (((long) tFuel.mSpecialValue * this.getEfficiency() * this.consumedFluidPerOperation(tLiquid)) / 100);
+ //Logger.INFO("Found some fuel?");
+ int aperOp = this.consumedFluidPerOperation(tLiquid);
+ int aConsume = (int) (((long) tFuel.mSpecialValue * this.getEfficiency() * aperOp) / 100);
+ //Logger.INFO("Fuel Value: "+tFuel.mSpecialValue);
+ //Logger.INFO("Efficiency: "+getEfficiency());
+ //Logger.INFO("Consumed per op: "+aperOp);
+ //Logger.INFO("Consuming "+aConsume);
+ return aConsume;
}
}
}
}
+ //Logger.INFO("No Fuel Value | Valid? "+(aLiquid != null));
return 0;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java
index 88b4c7bc99..c5554a6679 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/MultiblockLayer.java
@@ -17,6 +17,7 @@ import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
import net.minecraft.block.Block;
import net.minecraft.block.BlockAir;
import net.minecraft.init.Blocks;
@@ -124,10 +125,11 @@ public class MultiblockLayer {
GT_MetaTileEntity_Hatch.class
};
}
- else {
- try {
+ else {
+ Class aDataHatch = ReflectionUtils.getClass("gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess");
+ if (aDataHatch != null) {
aHatchTypeClass = new Class[] {
- Class.forName("gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess"),
+ aDataHatch,
GT_MetaTileEntity_Hatch_Dynamo.class,
GT_MetaTileEntity_Hatch_Energy.class,
GT_MetaTileEntity_Hatch_Input.class,
@@ -138,7 +140,7 @@ public class MultiblockLayer {
GT_MetaTileEntity_Hatch_OutputBus.class,
GT_MetaTileEntity_Hatch.class
};
- } catch (ClassNotFoundException e) {
+ } else {
aHatchTypeClass = new Class[] {
GT_MetaTileEntity_Hatch_Dynamo.class,
GT_MetaTileEntity_Hatch_Energy.class,
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java
index d5327a6a99..3e0084139e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java
@@ -38,12 +38,9 @@ public class GregtechOreDictUnificator {
private static boolean mRunThroughTheList = true;
static {
- try {
if (ReflectionUtils.getField(GT_OreDictUnificator.class, "sUnificationTable") == null) {
GregTech_API.sItemStackMappings.add(sUnificationTable);
}
- }
- catch (NoSuchFieldException e) {}
}
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java b/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java
index 0556a7f4fe..6b4bab9e26 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java
@@ -5,6 +5,7 @@ import static gtPlusPlus.xmod.gregtech.common.covers.GTPP_Cover_Overflow.mOverfl
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
@@ -15,37 +16,42 @@ import java.util.TimerTask;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraftforge.fluids.FluidStack;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
-import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.enums.Materials;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseMetaTileEntity;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Log;
+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.Recipe_GT.Gregtech_Recipe_Map;
import gregtech.common.GT_Proxy;
-import gregtech.common.blocks.GT_Block_Machines;
-import gregtech.common.render.GT_Renderer_Block;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.data.ObjMap;
import gtPlusPlus.api.objects.minecraft.FormattedTooltipString;
+import gtPlusPlus.core.handler.AchievementHandler;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.core.util.reflect.ProxyFinder;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.BaseCustomTileEntity;
import gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power.BaseCustomPower_MTE;
-import gtPlusPlus.xmod.gregtech.common.blocks.GTPP_Block_Machines;
-import gtPlusPlus.xmod.gregtech.common.render.GTPP_Render_MachineBlock;
+import gtPlusPlus.xmod.gregtech.loaders.misc.AssLineAchievements;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraftforge.fluids.FluidStack;
public class Meta_GT_Proxy {
@@ -64,6 +70,8 @@ public class Meta_GT_Proxy {
private static Class sBaseMetaTileEntityClass;
private static Class sBaseMetaTileEntityClass2;
+ public static AchievementHandler mAssemblyAchievements;
+
public static final Map<String, FormattedTooltipString> mCustomGregtechMetaTooltips = new LinkedHashMap<String, FormattedTooltipString>();
@@ -102,7 +110,121 @@ public class Meta_GT_Proxy {
}
public void postInit() {
+ mAssemblyAchievements = new AchievementHandler();
+ }
+
+ public static boolean generatePlasmaRecipesForAdvVacFreezer() {
+
+ AutoMap<Recipe_GT> aFreezerMapRebaked = new AutoMap<Recipe_GT>();
+ AutoMap<Recipe_GT> aRemovedRecipes = new AutoMap<Recipe_GT>();
+
+ //Find recipes containing Plasma and map them
+ for (Recipe_GT y : Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes.mRecipeList) {
+ if (y.mFluidInputs.length > 0) {
+ for (FluidStack r : y.mFluidInputs) {
+ if (r.getUnlocalizedName().toLowerCase().contains("plasma")) {
+ aRemovedRecipes.put(y);
+ continue;
+ }
+ }
+ aFreezerMapRebaked.put(y);
+ }
+ }
+
+ AutoMap<Recipe_GT> aNewRecipes = new AutoMap<Recipe_GT>();
+ int aAtomicMass = 0;
+ int aAtomicTier = 0;
+
+ final FluidStack NULL_PLASMA = Materials._NULL.getPlasma(1);
+
+ for (String s : ELEMENT.NAMES) {
+
+ aAtomicMass++;
+ aAtomicTier = (aAtomicMass/30)+1;
+ FluidStack aMoltenFluid = null;
+ FluidStack aPlasma = null;
+
+ //Try Get Material via Gregtech
+ Materials aGregMaterial = MaterialUtils.getMaterial(s);
+ if (aGregMaterial != null) {
+ aMoltenFluid = aGregMaterial.getMolten(1);
+ if (aMoltenFluid == null) {
+ aMoltenFluid = aGregMaterial.getFluid(1);
+ if (aMoltenFluid == null) {
+ aMoltenFluid = aGregMaterial.getGas(1);
+ if (aMoltenFluid == null) {
+ aMoltenFluid = aGregMaterial.getSolid(1);
+ }
+ }
+ }
+ aPlasma = aGregMaterial.getPlasma(100);
+ }
+
+ //Just wildcard values
+ if (aMoltenFluid == null || aPlasma == null) {
+ if (aMoltenFluid == null) {
+ aMoltenFluid = FluidUtils.getWildcardFluidStack(s, 1);
+ }
+ if (aPlasma == null) {
+ aPlasma = FluidUtils.getFluidStack("plasma."+s.toLowerCase(), 1);
+ }
+ }
+
+ //Skip this material
+ if (aMoltenFluid == null || aPlasma == null || aPlasma.isFluidEqual(NULL_PLASMA)) {
+ Logger.INFO("Could not generate Advanced Vacuum Freezer recipe. Cooling "+s+" plasma. Molten Form Exists? "+(aMoltenFluid != null)+" | Plasma Exists? "+(aPlasma != null));
+ continue;
+ }
+ else {
+ //Build a new plasma recipe
+ int aTotalTickTime = (20 * 1 + (aAtomicMass));
+ Recipe_GT aTempRecipe = new Recipe_GT(true,
+ new ItemStack[] {},
+ new ItemStack[] {},
+ null,
+ new int[] {10000},
+ new FluidStack[] {
+ aPlasma,
+ FluidUtils.getFluidStack("cryotheum", aTotalTickTime)
+ },
+ new FluidStack[] {
+ aMoltenFluid
+ },
+ aTotalTickTime,
+ (int) GT_Values.V[4+aAtomicTier],
+ aAtomicMass);
+
+ //Add it to the map if it's valid
+ if (aTempRecipe != null) {
+ aNewRecipes.put(aTempRecipe);
+ }
+ }
+
+ }
+
+
+ //Add the new recipes to the map we will rebake over the original
+ for (Recipe_GT w : aNewRecipes) {
+ aFreezerMapRebaked.put(w);
+ }
+
+ //Best not touch the original map if we don't have a valid map to override it with.
+ if (aFreezerMapRebaked.size() > 0) {
+
+ int aOriginalCount = Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes.mRecipeList.size();
+
+ //Empty the original map
+ Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes.mRecipeList.clear();
+
+ //Rebake the real map
+ for (Recipe_GT w : aFreezerMapRebaked) {
+ Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes.mRecipeList.add(w);
+ }
+
+ return Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes.mRecipeList.size() >= aOriginalCount;
+ }
+ return false;
}
public static TileEntity constructCustomGregtechMetaTileEntityByMeta(int aMeta) {
@@ -280,7 +402,7 @@ public class Meta_GT_Proxy {
if (proxyGT != null && proxyGT instanceof GT_Proxy) {
try {
return ReflectionUtils.getField(proxyGT.getClass(), fieldName).get(proxyGT);
- } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {
+ } catch (IllegalArgumentException | IllegalAccessException e) {
}
}
return null;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java b/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java
index c1db39b132..1604cc5acd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java
@@ -5,7 +5,6 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -33,6 +32,8 @@ public class StaticFields59 {
public static final Field mMultiblockChemicalRecipes;
public static final Field mDescriptionArray;
public static final Field mCasingTexturePages;
+ public static final Field mAssLineVisualMapNEI;
+ public static final GT_Recipe_Map sAssemblylineVisualRecipes;
public static final Method mCalculatePollutionReduction;
public static final Method mAddFurnaceRecipe;
@@ -43,28 +44,51 @@ public class StaticFields59 {
//OrePrefixes
static {
+ Logger.INFO("[SH] Creating Static Helper for various fields which require reflective access.");
mGtBlockCasings5 = getField(GregTech_API.class, "sBlockCasings5");
+ Logger.INFO("[SH] Got Field: sBlockCasings5");
mPreventableComponents = getField(OrePrefixes.class, "mPreventableComponents");
+ Logger.INFO("[SH] Got Field: mPreventableComponents");
mDisabledItems = getField(OrePrefixes.class, "mDisabledItems");
- mMultiblockChemicalRecipes = getField(GT_Recipe_Map.class, "sMultiblockChemicalRecipes");
+ Logger.INFO("[SH] Got Field: mDisabledItems");
mDescriptionArray = getField(GT_MetaTileEntity_TieredMachineBlock.class, "mDescriptionArray");
+ Logger.INFO("[SH] Got Field: mDescriptionArray");
mCasingTexturePages = getField(BlockIcons.class, "casingTexturePages");
-
- mCalculatePollutionReduction = getMethod(GT_MetaTileEntity_Hatch_Muffler.class, "calculatePollutionReduction", int.class);
-
- Logger.INFO("Initializing a recipe handler for different versions of Gregtech 5.");
- //Yep...
- if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
- Logger.INFO("Selecting GT 5.7/5.8 Recipe Set");
- mAddFurnaceRecipe = getMethod(GT_ModHandler.class, "addSmeltingAndAlloySmeltingRecipe", ItemStack.class, ItemStack.class);
+ Logger.INFO("[SH] Got Field: casingTexturePages");
+
+ mAssLineVisualMapNEI = getField(GT_Recipe_Map.class, "sAssemblylineVisualRecipes");
+ Logger.INFO("[SH] Got Field: mAssLineVisualMapNEI");
+ GT_Recipe_Map aTemp;
+ if (mAssLineVisualMapNEI != null) {
+ try {
+ aTemp = (GT_Recipe_Map) mAssLineVisualMapNEI.get(null);
+ Logger.INFO("[SH] Got Field: sAssemblylineVisualRecipes");
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ aTemp = null;
+ }
+ } else {
+ aTemp = null;
}
- else {
- Logger.INFO("Selecting GT 5.9 Recipe Set");
- mAddFurnaceRecipe = getMethod(GT_ModHandler.class, "addSmeltingAndAlloySmeltingRecipe", ItemStack.class, ItemStack.class, boolean.class);
+
+ sAssemblylineVisualRecipes = aTemp;
+ mMultiblockChemicalRecipes = getField(GT_Recipe_Map.class, "sMultiblockChemicalRecipes");
+ Logger.INFO("[SH] Got Field: sMultiblockChemicalRecipes");
+
+ mCalculatePollutionReduction = getMethod(GT_MetaTileEntity_Hatch_Muffler.class, "calculatePollutionReduction",
+ int.class);
+ Logger.INFO("[SH] Got Method: calculatePollutionReduction");
+
+ // Yep...
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ mAddFurnaceRecipe = getMethod(GT_ModHandler.class, "addSmeltingAndAlloySmeltingRecipe", ItemStack.class,
+ ItemStack.class);
+ Logger.INFO("[SH] Got Method: addSmeltingAndAlloySmeltingRecipe");
+ } else {
+ mAddFurnaceRecipe = getMethod(GT_ModHandler.class, "addSmeltingAndAlloySmeltingRecipe", ItemStack.class,
+ ItemStack.class, boolean.class);
+ Logger.INFO("[SH] Got Method: addSmeltingAndAlloySmeltingRecipe");
}
-
-
-
+
}
public static synchronized final Block getBlockCasings5() {
@@ -84,11 +108,7 @@ public class StaticFields59 {
}
public static Field getField(Class a, String b) {
- try {
- return ReflectionUtils.getField(a, b);
- } catch (NoSuchFieldException e) {
- return null;
- }
+ return ReflectionUtils.getField(a, b);
}
public static Method getMethod(Class a, String b, Class... params) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java
index b3366df96b..54323d8c2e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java
@@ -86,8 +86,8 @@ extends GregtechMetaCasingBlocksAbstract {
case 2:
return TexturesGtBlock.TEXTURE_ORGANIC_PANEL_A_GLOWING.getIcon();
//Coke Oven Casing Tier 2
- case 3:
- return TexturesGtBlock.Casing_Material_MaragingSteel.getIcon();
+ case 3:
+ return TexturesGtBlock.TEXTURE_METAL_PANEL_A.getIcon();
//Material Press Casings
case 4:
return TexturesGtBlock.Casing_Material_MaragingSteel.getIcon();
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java
index 0178bac4da..bda75be793 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java
@@ -23,6 +23,7 @@ import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.NBTUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaWirelessCharger;
import ic2.api.info.Info;
import ic2.api.item.ElectricItem;
@@ -291,12 +292,11 @@ public class ChargingHelper {
}
//Try get charge direct from NBT for GT and IC2 stacks
- try {
Logger.WARNING("3");
if (mTemp.getItem() instanceof GT_MetaGenerated_Tool_01
|| mTemp.getItem() instanceof GT_MetaGenerated_Item_01
|| mTemp.getItem() instanceof GT_MetaGenerated_Item_02
- || Class.forName("gregtech.common.items.GT_MetaGenerated_Item_03").isInstance(mTemp.getItem())
+ || ReflectionUtils.getClass("gregtech.common.items.GT_MetaGenerated_Item_03").isInstance(mTemp.getItem())
|| mTemp.getItem().getClass().getName().toLowerCase().equals(("gregtech.common.items.GT_MetaGenerated_Tool_01").toLowerCase())){
if (!NBTUtils.hasKey(mTemp, "GT.ItemCharge")){
if (!mTemp.getDisplayName().toLowerCase().contains("battery")){
@@ -314,10 +314,7 @@ public class ChargingHelper {
}
else if (mTemp.getItem() instanceof IElectricItem){
mitemCurrentCharge = NBTUtils.getLong(mTemp, "charge");
- }
- } catch (ClassNotFoundException e) {
-
- }
+ }
double mVoltageIncrease;
if (mItemEuTLimit >= mVoltage){
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
index 2bfb07ff4a..3c60ae664e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
@@ -321,14 +321,12 @@ public class TreeFarmHelper {
return blockHumus;
}
else if (ReflectionUtils.doesClassExist("forestry.core.blocks.BlockSoil")){
- try {
- final Class<?> humusClass = Class.forName("forestry.core.blocks.BlockSoil");
+ final Class<?> humusClass = ReflectionUtils.getClass("forestry.core.blocks.BlockSoil");
final ItemStack humusStack = ItemUtils.getCorrectStacktype("Forestry:soil", 1);
if (humusClass != null){
blockHumus = Block.getBlockFromItem(humusStack.getItem());
return Block.getBlockFromItem(humusStack.getItem());
}
- } catch (final ClassNotFoundException e) {}
}
return null;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java
index 7f426f8abb..f42fc49e53 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java
@@ -169,12 +169,12 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 {
* Power Gems
*/
- GregtechItemList.Battery_Gem_1.set(this.addItem(tLastID = 66, "Fission Power Cell", "Reusable", new Object[]{getTcAspectStack(TC_Aspects.ELECTRUM, 8L), getTcAspectStack(TC_Aspects.METALLUM, 24L), getTcAspectStack(TC_Aspects.POTENTIA, 16L)}));
- this.setElectricStats(32000 + tLastID, 32000000L, GT_Values.V[5], 5L, -3L, false);
- GregtechItemList.Battery_Gem_2.set(this.addItem(tLastID = 68, "Fusion Power Cell", "Reusable", new Object[]{getTcAspectStack(TC_Aspects.ELECTRUM, 16L), getTcAspectStack(TC_Aspects.METALLUM, 32L), getTcAspectStack(TC_Aspects.POTENTIA, 32L)}));
- this.setElectricStats(32000 + tLastID, 750000000L, GT_Values.V[6], 6L, -3L, false);
- GregtechItemList.Battery_Gem_3.set(this.addItem(tLastID = 70, "Portable Neutron Star", "Reusable", new Object[]{getTcAspectStack(TC_Aspects.ELECTRUM, 32L), getTcAspectStack(TC_Aspects.METALLUM, 48L), getTcAspectStack(TC_Aspects.POTENTIA, 64L)}));
- this.setElectricStats(32000 + tLastID, 64000000000L, GT_Values.V[7], 7L, -3L, false);
+ GregtechItemList.Battery_Gem_1.set(this.addItem(tLastID = 66, "Proton Cell", "Reusable", new Object[]{getTcAspectStack(TC_Aspects.ELECTRUM, 8L), getTcAspectStack(TC_Aspects.METALLUM, 24L), getTcAspectStack(TC_Aspects.POTENTIA, 16L)}));
+ this.setElectricStats(32000 + tLastID, GT_Values.V[6] * 20 * 300 / 4, GT_Values.V[6], 6L, -3L, false);
+ GregtechItemList.Battery_Gem_2.set(this.addItem(tLastID = 68, "Electron Cell", "Reusable", new Object[]{getTcAspectStack(TC_Aspects.ELECTRUM, 16L), getTcAspectStack(TC_Aspects.METALLUM, 32L), getTcAspectStack(TC_Aspects.POTENTIA, 32L)}));
+ this.setElectricStats(32000 + tLastID, GT_Values.V[7] * 20 * 300 / 4, GT_Values.V[7], 7L, -3L, false);
+ GregtechItemList.Battery_Gem_3.set(this.addItem(tLastID = 70, "Quark Entanglement", "Reusable", new Object[]{getTcAspectStack(TC_Aspects.ELECTRUM, 32L), getTcAspectStack(TC_Aspects.METALLUM, 48L), getTcAspectStack(TC_Aspects.POTENTIA, 64L)}));
+ this.setElectricStats(32000 + tLastID, GT_Values.V[8] * 20 * 300 / 4, GT_Values.V[8], 8L, -3L, false);
//ItemUtils.addItemToOreDictionary(GregtechItemList.Battery_Gem_1.get(1), "batteryFutureBasic");
//ItemUtils.addItemToOreDictionary(GregtechItemList.Battery_Gem_2.get(1), "batteryFutureGood");
//ItemUtils.addItemToOreDictionary(GregtechItemList.Battery_Gem_3.get(1), "batteryFutureAdvanced");
@@ -285,7 +285,7 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 {
//Fusion Reactor MK4 Singularity
GregtechItemList.Compressed_Fusion_Reactor.set(this.addItem(100, "Hypervisor Matrix (Fusion)", "A memory unit containing an RI (Restricted Intelligence)", new Object[0]));
- CORE.RA.addCompressorRecipe(ItemList.FusionComputer_UV.get(9), GregtechItemList.Compressed_Fusion_Reactor.get(1), (int) GT_Values.V[7], (int) GT_Values.V[8]);
+
//NanoTubes
GregtechItemList.NanoTube_Base_Substrate.set(this.addItem(101, "Silicon Base Substrate", "Used in the production of Carbon Nanotubes", new Object[0]));
@@ -294,6 +294,30 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 {
GregtechItemList.Carbyne_Sheet_Finished.set(this.addItem(104, "Carbyne Composite Panel", "Nanotubes which contain LAC, arranged side by side and compressed further", new Object[0]));
GregtechItemList.Laser_Lens_Special.set(this.addItem(105, "Quantum Anomaly", "Probably should shoot it with lasers", new Object[0]));
+ GregtechItemList.Battery_Casing_Gem_1.set(this.addItem(106, "Containment Unit I", "Used in crafting", new Object[0]));
+ GregtechItemList.Battery_Casing_Gem_2.set(this.addItem(107, "Containment Unit II", "Used in crafting", new Object[0]));
+ GregtechItemList.Battery_Casing_Gem_3.set(this.addItem(108, "Advanced Containment Unit", "Used in crafting", new Object[0]));
+ GregtechItemList.Battery_Casing_Gem_4.set(this.addItem(109, "Exotic Containment Unit", "Used in crafting", new Object[0]));
+
+ GregtechItemList.Battery_Gem_4.set(this.addItem(tLastID = 110, "Graviton Anomaly", "Reusable", new Object[]{getTcAspectStack(TC_Aspects.ELECTRUM, 64L), getTcAspectStack(TC_Aspects.METALLUM, 64L), getTcAspectStack(TC_Aspects.POTENTIA, 64L)}));
+ this.setElectricStats(32000 + tLastID, (64000000000L*16), GT_Values.V[9], 9L, -3L, false);
+
+
+
+ /*
+ * Bombs
+ */
+ GregtechItemList.Bomb_Cast.set(this.addItem(111, "Bomb Cast", "Used in the production of Bombs", new Object[0]));
+ GregtechItemList.Bomb_Cast_Molten.set(this.addItem(112, "Bomb Cast (Hot)", "Consider cooling this off", new Object[0]));
+ GregtechItemList.Bomb_Cast_Set.set(this.addItem(113, "Bomb Cast (Set)", "Break it open for the goodies inside!", new Object[0]));
+ GregtechItemList.Bomb_Cast_Broken.set(this.addItem(114, "Bomb Cast (Broken)", "This is probably just junk", new Object[0]));
+ GregtechItemList.Bomb_Cast_Mold.set(this.addItem(115, "Mold (Bomb Cast)", "Used in the production of Bombs", new Object[0]));
+
+
+
+
+
+
}
private boolean registerComponents_ULV(){
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java
index 22ce41282f..7dd376759a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java
@@ -82,14 +82,14 @@ public class GTPP_CapeRenderer extends RenderPlayer {
AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer;
if (!ConfigSwitches.enableCustomCapes) {
aEvent.setCanceled(true);
- Logger.INFO("A1");
+ Logger.WARNING("A1");
return;
}
if (hasResourceChecked) {
if (!hasCape && !CORE.DEVENV) {
aEvent.setCanceled(true);
- Logger.INFO("A2");
+ Logger.WARNING("A2");
return;
}
}
@@ -141,7 +141,7 @@ public class GTPP_CapeRenderer extends RenderPlayer {
if (GT_Utility.getFullInvisibility(aPlayer) || aPlayer.isInvisible()
|| GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) {
aEvent.setCanceled(true);
- Logger.INFO("A3");
+ Logger.WARNING("A3");
return;
}
@@ -209,7 +209,7 @@ public class GTPP_CapeRenderer extends RenderPlayer {
Logger.WORLD("[Capes++] Mojang/Cache checking for " + name + ".");
GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152652_a(g);
if (profile != null) {
- Logger.INFO("[Capes++] Found for UUID check: " + profile.getName() + ".");
+ Logger.WARNING("[Capes++] Found for UUID check: " + profile.getName() + ".");
return profile.getName();
}
} else {
@@ -218,7 +218,7 @@ public class GTPP_CapeRenderer extends RenderPlayer {
Logger.WORLD("[Capes++] Mojang/Cache checking for " + name + ".");
GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152652_a(g);
if (profile != null) {
- Logger.INFO("[Capes++] Found for UUID check 2: " + profile.getName() + ".");
+ Logger.WARNING("[Capes++] Found for UUID check 2: " + profile.getName() + ".");
return profile.getName();
}
}
@@ -230,7 +230,7 @@ public class GTPP_CapeRenderer extends RenderPlayer {
Logger.WORLD("[Capes++] Mojang/Cache checking for " + name + ".");
GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152655_a(name);
if (profile != null) {
- Logger.INFO("[Capes++] Found for name check: " + profile.getName() + ".");
+ Logger.WARNING("[Capes++] Found for name check: " + profile.getName() + ".");
return profile.getName();
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
index 288501086b..6a42232e40 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
@@ -1,9 +1,6 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
-
-import net.minecraft.item.ItemStack;
-
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.ItemList;
@@ -18,6 +15,7 @@ import gregtech.api.util.Recipe_GT;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechRocketFuelGeneratorBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
+import net.minecraft.item.ItemStack;
public class GregtechMetaTileEntityRocketFuelGenerator
extends GregtechRocketFuelGeneratorBase {
@@ -25,7 +23,7 @@ extends GregtechRocketFuelGeneratorBase {
public int mEfficiency;
public GregtechMetaTileEntityRocketFuelGenerator(final int aID, final String aName, final String aNameRegional, final int aTier) {
- super(aID, aName, aNameRegional, aTier, "Requires Rocket Fuels.", new ITexture[0]);
+ super(aID, aName, aNameRegional, aTier, "Requires GT++ Rocket Fuels", new ITexture[0]);
this.onConfigLoad();
}
@@ -41,6 +39,7 @@ extends GregtechRocketFuelGeneratorBase {
@Override
public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
+ //Logger.INFO("Valid Fuels: "+Recipe_GT.Gregtech_Recipe_Map.sRocketFuels.mRecipeList.size());
return new GregtechMetaTileEntityRocketFuelGenerator(this.mName, this.mTier, this.mDescription, this.mTextures);
}
@@ -60,7 +59,9 @@ extends GregtechRocketFuelGeneratorBase {
@Override
public int getEfficiency() {
- return ((40+((this.mTier) * 16))/4)+(this.mTier);
+ int eff = ((40+((this.mTier) * 16))/4)+(this.mTier);
+ return eff;
+
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java
index eb6a9bfcd3..c364fe5e9e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java
@@ -229,7 +229,7 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi
//I stole this code
reduction = (MathUtils.safeInt((long)reduction*this.mBaseEff)/100000)*mAirSides*Math.max((tTier-2), 1);
Logger.WARNING("reduction[2]:"+reduction);
- reduction = GT_Utility.safeInt(((long)reduction/100)*this.mOptimalAirFlow);
+ reduction = MathUtils.safeInt(((long)reduction/100)*this.mOptimalAirFlow);
Logger.WARNING("reduction[3]:"+reduction);
mPollutionReduction = reduction;
@@ -683,7 +683,7 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi
byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
reduction += (((Math.max((tTier-2), 1)*2)*50)*mAirSides);
reduction = (MathUtils.safeInt((long)reduction*this.mBaseEff)/100000)*mAirSides*Math.max((tTier-2), 1);
- reduction = GT_Utility.safeInt(((long)reduction/100)*this.mOptimalAirFlow);
+ reduction = MathUtils.safeInt(((long)reduction/100)*this.mOptimalAirFlow);
aTooltipSuper.put("Maximum pollution removed per second: "+reduction);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java
index 25c14a68e7..f2e3b3c3c0 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java
@@ -17,7 +17,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
-
import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.minecraft.EntityUtils;
@@ -457,7 +456,7 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity {
}
}
- public BlockPos getTileEntityPosition(){
+ public BlockPos getTileEntityPosition(){
return new BlockPos(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord(), this.getBaseMetaTileEntity().getWorld());
}
@@ -533,10 +532,7 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity {
@Override
public void onServerStart() {
mWirelessChargingMap.clear();
- mLocalChargingMap.clear();
- if (!mHasBeenMapped && ChargingHelper.addEntry(getTileEntityPosition(), this)){
- mHasBeenMapped = true;
- }
+ mLocalChargingMap.clear();
super.onServerStart();
}
@@ -552,4 +548,12 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity {
super.doExplosion(aExplosionPower);
}
+ @Override
+ public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ if (!mHasBeenMapped && ChargingHelper.addEntry(getTileEntityPosition(), this)){
+ mHasBeenMapped = true;
+ }
+ super.onPreTick(aBaseMetaTileEntity, aTick);
+ }
+
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java
index 6515589905..eca02d290e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java
@@ -70,13 +70,11 @@ public class GMTE_AmazonPackager extends GregtechMeta_MultiBlockBase {
"Only uses 75% of the eu/t normally required",
"Processes five items per voltage tier",
"Size: 3x3x3 (Hollow)",
+ "Supply Depot. Casings (10 at least!)",
"Controller (front centered)",
- "1x Input Bus (anywhere)",
- "1x Output Bus (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Maintenance Hatch (anywhere)",
- "1x Muffler (anywhere)",
- "Supply Depot. Casings for the rest (10 at least!)"
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Energy Hatch",
};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
index d90b88e4d8..c549cf9216 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
@@ -65,15 +65,13 @@ extends GregtechMeta_MultiBlockBase {
"Size: nx3xn [WxHxL] (Hollow)",
"n can be 3, 5 or 7",
"Max Size required to process Plasma recipes",
+ mCasingName+"s (10 at least!)",
"Controller (top centered)",
- "1x Input Bus (anywhere)",
- "1x Output Bus (anywhere)",
- "1x Input Hatch (anywhere)",
- "1x Output Hatch (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Muffler Hatch (anywhere)",
- "1x Maintenance Hatch (Back Center)",
- mCasingName+"s for the rest",
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Input Hatch",
+ "1x Output Hatch",
+ "1x Energy Hatch",
};
}
@@ -85,10 +83,10 @@ extends GregtechMeta_MultiBlockBase {
@Override
public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) {
if (aSide == 0 || aSide == 1) {
- return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[TAE.getIndexFromPage(2, 1)],
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[mCasingTextureID],
new GT_RenderedTexture(aActive ? TexturesGtBlock.Overlay_Machine_Controller_Default_Active : TexturesGtBlock.Overlay_Machine_Controller_Default)};
}
- return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[TAE.getIndexFromPage(2, 1)]};
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[mCasingTextureID]};
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
index e627e99aa7..5e852b5f76 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
@@ -51,7 +51,6 @@ extends GregtechMeta_MultiBlockBase {
"1x Output Bus",
"1x Input Hatch",
"1x Energy Hatch",
- "Maintenance Hatch must be at the back, centered",
};
}
@@ -114,6 +113,24 @@ extends GregtechMeta_MultiBlockBase {
final int tX = this.getBaseMetaTileEntity().getXCoord();
final int tY = this.getBaseMetaTileEntity().getYCoord();
final int tZ = this.getBaseMetaTileEntity().getZCoord();
+
+
+ //Check Rear Middle
+ {
+ Block aBlock = this.getBaseMetaTileEntity()
+ .getBlockAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ int aMeta = this.getBaseMetaTileEntity()
+ .getMetaIDAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ IGregTechTileEntity aTile = this.getBaseMetaTileEntity()
+ .getIGregTechTileEntityAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(),
+ getCasingMeta())) {
+ log("Bad Casing on Cutting Machine.");
+ return false;
+ }
+ }
+
+
for (byte i = -1; i < 2; i = (byte) (i + 1)) {
for (byte j = -1; j < 2; j = (byte) (j + 1)) {
if ((i != 0) || (j != 0)) {
@@ -122,41 +139,26 @@ extends GregtechMeta_MultiBlockBase {
int aMeta = this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
IGregTechTileEntity aTile = this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(), getCasingMeta())) {
- Logger.INFO("Bad Casing on Cutting Machine.");
+ log("Bad Casing on Cutting Machine.");
return false;
}
}
}
}
}
- if ((this.mOutputHatches.size() != 0) || (this.mInputHatches.size() != 0)) {
- Logger.INFO("Use Busses, Not Hatches for Input/Output.");
- return false;
- }
if ((this.mInputBusses.size() == 0) || (this.mOutputBusses.size() == 0)) {
- Logger.INFO("Incorrect amount of Input & Output busses.");
+ log("Incorrect amount of Input & Output busses.");
return false;
}
- this.mMaintenanceHatches.clear();
- final IGregTechTileEntity tTileEntity = this.getBaseMetaTileEntity().getIGregTechTileEntityAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
- if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
- if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Maintenance)) {
- this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) tTileEntity.getMetaTileEntity());
- ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = this.getCasingTextureIndex();
- } else {
- Logger.INFO("Maintenance hatch must be in the middle block on the back.");
- return false;
- }
- }
if ((this.mMaintenanceHatches.size() != 1)) {
- Logger.INFO("Incorrect amount of Maintenance or Energy hatches.");
+ log("Incorrect amount of Maintenance or Energy hatches.");
return false;
}
} else {
- Logger.INFO("False 5");
+ log("False 5");
return false;
}
- Logger.INFO("True");
+ log("True");
return true;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
index 0b1691358c..f4f8a5fe78 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
@@ -113,9 +113,9 @@ extends GregtechMeta_MultiBlockBase {
}
if (inputs.length > 0) {
int para = (4* GT_Utility.getTier(this.getMaxInputVoltage()));
- Logger.WARNING("Recipe. ["+inputs.length+"]["+para+"]");
+ log("Recipe. ["+inputs.length+"]["+para+"]");
if (checkRecipeGeneric(inputs, new FluidStack[]{}, para, 100, 250, 10000)) {
- Logger.WARNING("Recipe 2.");
+ log("Recipe 2.");
return true;
}
}
@@ -152,6 +152,22 @@ extends GregtechMeta_MultiBlockBase {
return false;
}
}
+
+ //Check Rear Middle
+ {
+ Block aBlock = this.getBaseMetaTileEntity()
+ .getBlockAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ int aMeta = this.getBaseMetaTileEntity()
+ .getMetaIDAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ IGregTechTileEntity aTile = this.getBaseMetaTileEntity()
+ .getIGregTechTileEntityAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(),
+ getCasingMeta())) {
+ log("Bad Casing on Extruder.");
+ return false;
+ }
+ }
+
final int tX = this.getBaseMetaTileEntity().getXCoord();
final int tY = this.getBaseMetaTileEntity().getYCoord();
final int tZ = this.getBaseMetaTileEntity().getZCoord();
@@ -164,7 +180,7 @@ extends GregtechMeta_MultiBlockBase {
int aMeta = this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
IGregTechTileEntity aTile = this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(), getCasingMeta())) {
- Logger.INFO("Bad Casing on Extruder.");
+ log("Bad Casing on Extruder.");
return false;
}
@@ -173,29 +189,18 @@ extends GregtechMeta_MultiBlockBase {
}
}
if ((this.mInputBusses.size() == 0) || (this.mOutputBusses.size() == 0)) {
- Logger.WARNING("Incorrect amount of Input || Output busses.");
+ log("Incorrect amount of Input || Output busses.");
return false;
}
- this.mMaintenanceHatches.clear();
- final IGregTechTileEntity tTileEntity = this.getBaseMetaTileEntity().getIGregTechTileEntityAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
- if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
- if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Maintenance)) {
- this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) tTileEntity.getMetaTileEntity());
- ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = this.getCasingTextureIndex();
- } else {
- Logger.WARNING("Maintenance hatch must be in the middle block on the back.");
- return false;
- }
- }
if ((this.mMaintenanceHatches.size() != 1)) {
- Logger.WARNING("Incorrect amount of Maintenance hatches.");
+ log("Incorrect amount of Maintenance hatches.");
return false;
}
} else {
- Logger.WARNING("False 5");
+ log("False 5");
return false;
}
- Logger.WARNING("True");
+ log("True");
return true;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
index 7472b71a95..064dc8372b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
@@ -3,6 +3,7 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing;
import static gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes;
import static gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes_GT;
+import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
@@ -28,6 +29,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
public static int CASING_TEXTURE_ID;
public static String mCryoFuelName = "Gelid Cryotheum";
public static String mCasingName = "Advanced Cryogenic Casing";
+ public static String mHatchName = "Cryotheum Hatch";
public static FluidStack mFuelStack;
public GregtechMetaTileEntity_IndustrialVacuumFreezer(final int aID, final String aName, final String aNameRegional) {
@@ -36,6 +38,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 10);
mCryoFuelName = mFuelStack.getLocalizedName();
mCasingName = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings3Misc, 10);
+ mHatchName = ItemUtils.getLocalizedNameOfBlock(GregTech_API.sBlockMachines, 967);
}
public GregtechMetaTileEntity_IndustrialVacuumFreezer(final String aName) {
@@ -44,6 +47,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 10);
mCryoFuelName = mFuelStack.getLocalizedName();
mCasingName = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings3Misc, 10);
+ mHatchName = ItemUtils.getLocalizedNameOfBlock(GregTech_API.sBlockMachines, 967);
}
public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
@@ -63,21 +67,19 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
if (mCryoFuelName.toLowerCase().contains(".")) {
mCryoFuelName = FluidUtils.getFluidStack("cryotheum", 1).getLocalizedName();
}
+ if (mHatchName.toLowerCase().contains(".name")) {
+ mHatchName = ItemUtils.getLocalizedNameOfBlock(GregTech_API.sBlockMachines, 967);
+ }
return new String[]{
- "Controller Block for the Advanced Cryogenic Freezer",
- "Super cools hot ingots and cells",
- "Processes four Vacuum Freezer Recipes at 200% speed",
+ "Factory Grade Advanced Vacuum Freezer",
+ "Speed: 200% | Eu Usage: 100% | Parallel: 4",
"Consumes 1L of "+mCryoFuelName+"/t during operation",
- "Size(WxHxD): 3x3x3 (Hollow)",
- mCasingName+"s for the rest (10 at least!)",
- "Controller (Front centered)",
- "1x Input Bus",
- "1x Output Bus",
- "1x Input Hatch",
- "1x Output Hatch (optional)",
- "1x Energy Hatch",
- };
+ "Constructed exactly the same as a normal Vacuum Freezer",
+ "Use "+mCasingName+"s (10 at least!)",
+ "1x " + mHatchName + " (Required)",
+ "TAG_HIDE_HATCHES"
+ };
}
public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing,
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
index bf33892420..d798691d04 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
@@ -118,6 +118,21 @@ extends GregtechMeta_MultiBlockBase {
return false;
}
}
+
+ //Check Rear Middle
+ {
+ Block aBlock = this.getBaseMetaTileEntity()
+ .getBlockAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ int aMeta = this.getBaseMetaTileEntity()
+ .getMetaIDAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ IGregTechTileEntity aTile = this.getBaseMetaTileEntity()
+ .getIGregTechTileEntityAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(),
+ getCasingMeta())) {
+ log("Bad Casing on Wiremill.");
+ return false;
+ }
+ }
final int tX = this.getBaseMetaTileEntity().getXCoord();
final int tY = this.getBaseMetaTileEntity().getYCoord();
final int tZ = this.getBaseMetaTileEntity().getZCoord();
@@ -129,7 +144,7 @@ extends GregtechMeta_MultiBlockBase {
int aMeta = this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
IGregTechTileEntity aTile = this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(), getCasingMeta())) {
- Logger.INFO("Bad Casing on Wiremill.");
+ log("Bad Casing on Wiremill.");
return false;
}
}
@@ -137,33 +152,22 @@ extends GregtechMeta_MultiBlockBase {
}
}
if ((this.mOutputHatches.size() != 0) || (this.mInputHatches.size() != 0)) {
- Logger.INFO("Use Busses, Not Hatches for Input/Output.");
+ log("Use Busses, Not Hatches for Input/Output.");
return false;
}
if ((this.mInputBusses.size() == 0) || (this.mOutputBusses.size() == 0)) {
- Logger.INFO("Incorrect amount of Input & Output busses.");
+ log("Incorrect amount of Input & Output busses.");
return false;
}
- this.mMaintenanceHatches.clear();
- final IGregTechTileEntity tTileEntity = this.getBaseMetaTileEntity().getIGregTechTileEntityAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
- if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
- if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Maintenance)) {
- this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) tTileEntity.getMetaTileEntity());
- ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = this.getCasingTextureIndex();
- } else {
- Logger.INFO("Maintenance hatch must be in the middle block on the back.");
- return false;
- }
- }
if ((this.mMaintenanceHatches.size() != 1)) {
- Logger.INFO("Incorrect amount of Maintenance or Energy hatches.");
+ log("Incorrect amount of Maintenance or Energy hatches.");
return false;
}
} else {
- Logger.INFO("False 5");
+ log("False 5");
return false;
}
- Logger.INFO("True");
+ log("True");
return true;
}
@@ -200,12 +204,4 @@ extends GregtechMeta_MultiBlockBase {
public byte getCasingTextureIndex() {
return (byte) TAE.GTPP_INDEX(6);
}
-
- private boolean addToMachineList(final IGregTechTileEntity tTileEntity) {
- return ((this.addMaintenanceToMachineList(tTileEntity, this.getCasingTextureIndex())) || (this.addInputToMachineList(tTileEntity, this.getCasingTextureIndex())) || (this.addOutputToMachineList(tTileEntity, this.getCasingTextureIndex())) || (this.addMufflerToMachineList(tTileEntity, this.getCasingTextureIndex())));
- }
-
- private boolean addEnergyInputToMachineList(final IGregTechTileEntity tTileEntity) {
- return ((this.addEnergyInputToMachineList(tTileEntity, this.getCasingTextureIndex())));
- }
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
index e4f984ee18..ac362e2c40 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -103,21 +103,14 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
mHatchName = ItemUtils.getLocalizedNameOfBlock(GregTech_API.sBlockMachines, 968);
}
- return new String[] { "Controller Block for the Advanced Electric Blast Furnace",
- "120% faster than using an equal tier EBF", "Only uses 90% of the eu/t normally required",
- "Processes upto 8 recipes at once",
- "Consumes 10L of " + mHotFuelName + "/s during operation",
- "Each 900K over the min. Heat Capacity grants 5% speedup (multiplicatively)",
- "Each 1800K over the min. Heat Capacity allows for one upgraded overclock",
- "Upgraded overclocks reduce recipe time to 25% and increase EU/t to 400%",
- "Size(WxHxD): 3x4x3 (Hollow), Controller (Front middle bottom)",
- "16x Heating Coils (Two middle Layers, hollow)",
- "1x " + mHatchName,
- "1x Input Hatch/Bus",
- "1x Output Hatch/Bus (Bottom Layer)",
- "1x Output Hatch to recover CO2/CO/SO2 (optional, any top layer casing),",
- " Recovery scales with Muffler Hatch tier", mCasingName + "s for the rest",
- "1x Energy Hatch",
+ return new String[] {
+ "Factory Grade Advanced Blast Furnace",
+ "Speed: 120% | Eu Usage: 90% | Parallel: 8",
+ "Consumes 10L of " + mHotFuelName + " per second during operation",
+ "Constructed exactly the same as a normal EBF",
+ "Use "+mCasingName+"s (10 at least!)",
+ "1x " + mHatchName + " (Required)",
+ "TAG_HIDE_HATCHES"
};
}
@@ -230,10 +223,10 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
this.mHeatingCapacity = 9001;
break;
case 7:
- this.mHeatingCapacity = 12001;
+ this.mHeatingCapacity = 9901;
break;
case 8:
- this.mHeatingCapacity = 15001;
+ this.mHeatingCapacity = 10801;
break;
default:
Logger.INFO("Heating Coils are bad.");
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
index 8abf506e55..7dfdbf75d6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
@@ -47,15 +47,12 @@ extends GregtechMeta_MultiBlockBase {
if (mCasingName.contains("gt.blockcasings")) {
mCasingName = ItemList.Casing_RobustTungstenSteel.get(1).getDisplayName();
}
- return new String[]{
- "Controller Block for the Advanced Implosion Compressor",
- "Processes upto ((Tier/2)+1) recipes at once",
- "Size(WxHxD): 3x3x3 (Hollow)",
- mCasingName+"s (10 at least!)",
- "Controller (Front centered)",
- "1x Input Bus",
- "1x Output Bus",
- "1x Energy Hatch",
+ return new String[]{
+ "Factory Grade Advanced Implosion Compressor",
+ "Speed: 100% | Eu Usage: 100% | Parallel: ((Tier/2)+1)",
+ "Constructed exactly the same as a normal Implosion Compressor",
+ "Use "+mCasingName+"s (10 at least!)",
+ "TAG_HIDE_HATCHES"
};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
index 759378013c..c31a7c0758 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
@@ -221,7 +221,7 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase {
return r;
}
}
- } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
+ } catch (IllegalArgumentException | IllegalAccessException e) {
}
}
return GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java
index 6ec95ff16b..8925caf480 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java
@@ -130,19 +130,18 @@ public class GregtechMTE_MiniFusionPlant extends GregtechMeta_MultiBlockBase {
//"Input voltage can be changed within the GUI",
"Place Input/Output Hatches on sides and bottom",
"Power can only be inserted into the back",
- "Power can only be extracted from the top",
+ //e"Power can only be extracted from the top",
+ TAG_HIDE_HATCHES
};
}
@Override
public int getMaxParallelRecipes() {
- // TODO Auto-generated method stub
return 1;
}
@Override
public int getEuDiscountForParallelism() {
- // TODO Auto-generated method stub
return 0;
}
@@ -317,7 +316,7 @@ public class GregtechMTE_MiniFusionPlant extends GregtechMeta_MultiBlockBase {
@Override
public boolean isEnetOutput() {
- return true;
+ return false;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java
index 8446737017..23ca94e54d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java
@@ -22,6 +22,7 @@ import gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map;
import gregtech.common.GT_Pollution;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import net.minecraft.block.Block;
@@ -401,7 +402,7 @@ public class GregtechMetaTileEntityGeneratorArray extends GregtechMeta_MultiBloc
if (this.addOutput(tEmptyContainer1)) {
aBaseMetaTileEntity.increaseStoredEnergyUnits((long) tFuelValue, true);
this.depleteInput(a);
- GT_Pollution.addPollution(this.getBaseMetaTileEntity(), 10 * this.getPollutionPerTick(null));
+ PollutionUtils.addPollution(this.getBaseMetaTileEntity(), 10 * this.getPollutionPerTick(null));
}
}
}
@@ -418,7 +419,7 @@ public class GregtechMetaTileEntityGeneratorArray extends GregtechMeta_MultiBloc
(this.maxEUStore() - aBaseMetaTileEntity.getUniversalEnergyStored()) / (long) tFuelValue);
if (tFluidAmountToUse > 0L && aBaseMetaTileEntity
.increaseStoredEnergyUnits(tFluidAmountToUse * (long) tFuelValue, true)) {
- GT_Pollution.addPollution(this.getBaseMetaTileEntity(), 10 * this.getPollutionPerTick(null));
+ PollutionUtils.addPollution(this.getBaseMetaTileEntity(), 10 * this.getPollutionPerTick(null));
mFluid.amount = (int) ((long) mFluid.amount
- tFluidAmountToUse * (long) tEmptyContainer);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
index 1623e7cb54..de5d731dd5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
@@ -410,9 +410,13 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
//Time Counter
this.mTotalRunTime++;
- onRunningTick(null);
+ onRunningTick(null);
- if (mRunningOnLoad && checkMultiblock(aBaseMetaTileEntity, mInventory[1])) {
+ boolean aFormCheck = (aTick % 100 == 0 ? checkMultiblock(aBaseMetaTileEntity, mInventory[1]) : true);
+
+
+
+ if (mRunningOnLoad && aFormCheck) {
this.mEUStore = (int) aBaseMetaTileEntity.getStoredEU();
checkRecipe(mInventory[1]);
}
@@ -429,7 +433,7 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
mDischargeHatches.clear();
mControlCoreBus.clear();
mMultiDynamoHatches.clear();
- mMachine = checkMultiblock(aBaseMetaTileEntity, mInventory[1]);
+ mMachine = aFormCheck;
}
if (mStartUpCheck < 0) {
if (mMachine) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
index b1e433e276..fc0cb85bac 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
@@ -459,7 +459,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
ItemStack k = ItemUtils.getSimpleStack(t, 1);
reflectiveFishMap.put(y, k);
return t;
- } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {
+ } catch (IllegalArgumentException | IllegalAccessException e) {
}
return null;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
index f052d64a34..e531103a37 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
@@ -134,13 +134,13 @@ public class GregtechMetaTileEntity_MassFabricator extends GregtechMeta_MultiBlo
public static ItemStack getScrapPile() {
if (mScrap[0] == null) {
- mScrap[0] = ItemUtils.getSimpleStack(ItemUtils.getItem("IC2:itemScrap"));
+ mScrap[0] = ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrap"));
}
return mScrap[0];
}
public static ItemStack getScrapBox() {
if (mScrap[1] == null) {
- mScrap[1] = ItemUtils.getSimpleStack(ItemUtils.getItem("IC2:itemScrapbox"));
+ mScrap[1] = ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrapbox"));
}
return mScrap[1];
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java
index 1a19bc7b96..07c8a4a7ac 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java
@@ -1,23 +1,25 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production;
-import java.util.ArrayList;
+import static gregtech.api.enums.GT_Values.E;
+import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+
+import java.util.HashSet;
-import gregtech.api.enums.GT_Values;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.CustomRecipeMap;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.FluidStack;
public class GregtechMetaTileEntity_Refinery extends GregtechMeta_MultiBlockBase {
@@ -69,42 +71,30 @@ public class GregtechMetaTileEntity_Refinery extends GregtechMeta_MultiBlockBase
@Override
public String getCustomGUIResourceName() {
- return "LFTR";
+ return "MatterFabricator";
}
+ private static final GT_Recipe_Map mGregTypeRecipeMap = new GT_Recipe_Map(new HashSet<GT_Recipe>(), "internal.recipe.fissionfuel", "Fission Fuel Processing", null, RES_PATH_GUI + "basicmachines/FissionFuel", 0, 0, 0, 4, 1, E, 1, E, true, true);
+
@Override
- public boolean checkRecipe(ItemStack aStack) {
- ArrayList<FluidStack> tFluidList = getStoredFluids();
- int tFluidList_sS=tFluidList.size();
- for (int i = 0; i < tFluidList_sS - 1; i++) {
- for (int j = i + 1; j < tFluidList_sS; j++) {
- if (GT_Utility.areFluidsEqual(tFluidList.get(i), tFluidList.get(j))) {
- if (tFluidList.get(i).amount >= tFluidList.get(j).amount) {
- tFluidList.remove(j--); tFluidList_sS=tFluidList.size();
- } else {
- tFluidList.remove(i--); tFluidList_sS=tFluidList.size();
- break;
- }
- }
- }
- }
- if (tFluidList.size() > 1) {
- FluidStack[] tFluids = tFluidList.toArray(new FluidStack[tFluidList.size()]);
- GT_Recipe tRecipe = CustomRecipeMap.sFissionFuelProcessing.findRecipe(this.getBaseMetaTileEntity(), this.mLastRecipe, false, GT_Values.V[4], tFluids, new ItemStack[]{});
- if (tRecipe == null) {
- this.mLastRecipe = null;
- return false;
- }
- if (tRecipe.isRecipeInputEqual(true, tFluids, new ItemStack[]{})) {
- this.mLastRecipe = tRecipe;
- this.mEUt = this.mLastRecipe.mEUt;
- this.mMaxProgresstime = this.mLastRecipe.mDuration;
- this.mEfficiencyIncrease = 10000;
- this.mOutputFluids = this.mLastRecipe.mFluidOutputs;
- return true;
- }
- }
- return false;
+ public GT_Recipe_Map getRecipeMap() {
+ if (mGregTypeRecipeMap.mRecipeList.size() <= 0) {
+ for (GT_Recipe g : CustomRecipeMap.sFissionFuelProcessing.mRecipeList) {
+ mGregTypeRecipeMap.mRecipeList.add(g);
+ }
+ }
+ return mGregTypeRecipeMap;
+ }
+
+ @Override
+ public boolean checkRecipe(ItemStack aStack) {
+ //this.resetRecipeMapForAllInputHatches();
+ for (GT_MetaTileEntity_Hatch_Input g : this.mInputHatches) {
+ g.mRecipeMap = null;
+ }
+ boolean ab = super.checkRecipeGeneric();
+ //Logger.INFO("Did Recipe? "+ab);
+ return ab;
}
@Override
@@ -261,7 +251,8 @@ public class GregtechMetaTileEntity_Refinery extends GregtechMeta_MultiBlockBase
Logger.INFO("Your Muffler must be AT LEAST ZPM tier or higher.");
}
}
- Logger.INFO("Fission Fuel Production Plant Formed.");
+ Logger.INFO("Fission Fuel Production Plant Formed. "+mGregTypeRecipeMap.mRecipeList.size());
+ this.resetRecipeMapForAllInputHatches(this.getRecipeMap());
return true;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
index 1d2fad941b..b77529220f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
@@ -294,7 +294,6 @@ public class GregtechMetaEnergyBuffer extends GregtechMetaTileEntity {
cur = String.format(fmt, cur);
return new String[] {
- this.getLocalName(),
cur+" EU stored",
max+" EU capacity"};
}
@@ -345,7 +344,7 @@ public class GregtechMetaEnergyBuffer extends GregtechMetaTileEntity {
@Override
public String getInventoryName() {
- return null;
+ return super.getInventoryName();
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
index 68f78503e8..4c8707e5e8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
@@ -38,8 +38,7 @@ public class GT_Material_Loader {
instance = this;
//Try Reflectively add ourselves to the GT loader.
- try {
- Class mInterface = Class.forName("gregtech.api.interfaces.IMaterialHandler");
+ Class mInterface = ReflectionUtils.getClass("gregtech.api.interfaces.IMaterialHandler");
if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && mInterface != null){
//Make this class Dynamically implement IMaterialHandler
@@ -49,7 +48,7 @@ public class GT_Material_Loader {
new MaterialHandler(getInstance()));
}
- if (ReflectionUtils.invoke(Materials.class, "add", new Class[]{Class.forName("gregtech.api.interfaces.IMaterialHandler")}, new Object[]{mProxyObject})){
+ if (ReflectionUtils.invoke(Materials.class, "add", new Class[]{ReflectionUtils.getClass("gregtech.api.interfaces.IMaterialHandler")}, new Object[]{mProxyObject})){
Logger.REFLECTION("Successfully invoked add, on the proxied object implementing IMaterialHandler.");
@@ -65,9 +64,7 @@ public class GT_Material_Loader {
else {
Logger.REFLECTION("Failed to invoke add, on the proxied object implementing IMaterialHandler.");
}
- }
- }
- catch (ClassNotFoundException e) {}
+ }
//Materials.add(this);
//Stupid shit running twice, I don't think so.
@@ -139,12 +136,12 @@ public class GT_Material_Loader {
return false;
}
try {
- Method enableComponent = Class.forName("gregtech.api.enums.OrePrefixes").getDeclaredMethod("enableComponent", Materials.class);
+ Method enableComponent = ReflectionUtils.getClass("gregtech.api.enums.OrePrefixes").getDeclaredMethod("enableComponent", Materials.class);
enableComponent.invoke(prefix, mMaterial);
Logger.DEBUG_MATERIALS("Enabled "+prefix.name()+" for "+mMaterial.mDefaultLocalName+".");
return true;
}
- catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | ClassNotFoundException error) {
+ catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException error) {
Logger.DEBUG_MATERIALS("Failed to enabled "+prefix.name()+" for "+mMaterial.mDefaultLocalName+". Caught "+error.getCause().toString()+".");
error.printStackTrace();
}
@@ -228,7 +225,7 @@ public class GT_Material_Loader {
//Loading the class at runtime
public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, ClassNotFoundException {
- Class<?> someInterface = Class.forName("gregtech.api.interfaces.IMaterialHandler");
+ Class<?> someInterface = ReflectionUtils.getClass("gregtech.api.interfaces.IMaterialHandler");
Object instance = Proxy.newProxyInstance(someInterface.getClassLoader(), new Class<?>[]{someInterface}, new InvocationHandler() {
@Override
@@ -274,7 +271,7 @@ public class GT_Material_Loader {
public static void init(){
- Class<?> someInterface = Class.forName("gregtech.api.interfaces.IMaterialHandler");
+ Class<?> someInterface = ReflectionUtils.getClass("gregtech.api.interfaces.IMaterialHandler");
GT_Material_Loader original = GT_Material_Loader.instance;
MaterialHandler handler = new MaterialHandler(original);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
index 1932f30969..ecdc3af1db 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
@@ -221,14 +221,14 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
}
//Add Shapeless recipe for low tier alloys.
- if (tVoltageMultiplier <= 30){
+ /*if (tVoltageMultiplier <= 30){
if (RecipeUtils.addShapedGregtechRecipe(inputStacks, outputStacks)){
Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Success");
}
else {
Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Failed");
}
- }
+ }*/
}
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index ddba6b5bf0..15627a827f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -164,6 +164,15 @@ public class RecipeGen_Ore extends RecipeGen_Base {
ItemStack matDustB = getDust(bonusB);
/**
+ * Package
+ */
+ //Allow ore dusts to be packaged
+ if (ItemUtils.checkForInvalidItems(material.getSmallDust(1)) && ItemUtils.checkForInvalidItems(material.getTinyDust(1))) {
+ RecipeGen_DustGeneration.generatePackagerRecipes(material);
+ }
+
+
+ /**
* Macerate
*/
//Macerate ore to Crushed
@@ -255,8 +264,8 @@ public class RecipeGen_Ore extends RecipeGen_Base {
matDust, tinyDustA,null,
null, null,null,
new int[]{10000, 10000}, //Chances
- 5*20, //Eu
- tVoltageMultiplier/2)){ //Time
+ 5*20, //Time
+ tVoltageMultiplier/2)){ //Eu
Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust");
}
@@ -268,8 +277,8 @@ public class RecipeGen_Ore extends RecipeGen_Base {
matDust, tinyDustB,null,
null, null,null,
new int[]{10000, 10000}, //Chances
- 5*20, //Eu
- tVoltageMultiplier/2)){ //Time
+ 5*20, //Time
+ tVoltageMultiplier/2)){ //Eu
Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust");
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
index 79615d8457..3249e0101d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
@@ -3,18 +3,15 @@ package gtPlusPlus.xmod.gregtech.loaders;
import java.util.HashSet;
import java.util.Set;
-import net.minecraft.item.ItemStack;
-
import gregtech.api.util.GT_ModHandler;
-
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import net.minecraft.item.ItemStack;
public class RecipeGen_ShapedCrafting extends RecipeGen_Base {
@@ -35,7 +32,7 @@ public class RecipeGen_ShapedCrafting extends RecipeGen_Base {
private void generateRecipes(final Material material){
Logger.WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); //TODO
-
+
if (!CORE.GTNH) {
//Nuggets
if (ItemUtils.checkForInvalidItems(material.getNugget(1)) && ItemUtils.checkForInvalidItems(material.getIngot(1)))
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AssLineAchievements.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AssLineAchievements.java
new file mode 100644
index 0000000000..351a4cc546
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AssLineAchievements.java
@@ -0,0 +1,180 @@
+package gtPlusPlus.xmod.gregtech.loaders.misc;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import gregtech.GT_Mod;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_Recipe;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.common.StaticFields59;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.stats.Achievement;
+import net.minecraft.stats.AchievementList;
+import net.minecraft.stats.StatBase;
+import net.minecraftforge.common.AchievementPage;
+import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
+
+public class AssLineAchievements {
+
+ public static int assReg = -1;
+ public static ConcurrentHashMap<String, Achievement> mAchievementMap;
+ public static ConcurrentHashMap<String, Boolean> mIssuedAchievementMap;
+ public static int adjX = 5;
+ public static int adjY = 9;
+ private static boolean active = true;
+
+ public AssLineAchievements() {
+ Logger.INFO(active ? "Loading custom achievement page for Assembly Line recipes."
+ : "Achievements are disabled.");
+ Utils.registerEvent(this);
+ }
+
+ private static boolean ready = false;
+ private static int recipeTotal = 0;
+ private static int recipeCount = 0;
+ private static void init() {
+ if (!ready) {
+ active = GT_Mod.gregtechproxy.mAchievements;
+ try {
+ recipeTotal = ((GT_Recipe.GT_Recipe_Map) StaticFields59.mAssLineVisualMapNEI.get(null)).mRecipeList.size();
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ recipeTotal = 0;
+ }
+ mAchievementMap = new ConcurrentHashMap<String, Achievement>();
+ mIssuedAchievementMap = new ConcurrentHashMap<String, Boolean>();
+ ready = true;
+ }
+
+ }
+
+ public static void registerAchievements() {
+ if (active && mAchievementMap.size() > 0) {
+ AchievementPage.registerAchievementPage(new AchievementPage("GT Assembly Line",
+ (Achievement[]) mAchievementMap.values().toArray(new Achievement[mAchievementMap.size()])));
+ }
+ else if (active) {
+ Logger.INFO("Unable to register custom achievement page for Assembly Line recipes.");
+ }
+ }
+
+ public static Achievement registerAssAchievement(GT_Recipe recipe) {
+ init();
+ String aSafeUnlocalName;
+ // Debugging
+ if (recipe == null) {
+ Logger.INFO(
+ "Someone tried to register an achievement for an invalid recipe. Please report this to Alkalus.");
+ return null;
+ }
+ if (recipe.getOutput(0) == null) {
+ Logger.INFO(
+ "Someone tried to register an achievement for a recipe with null output. Please report this to Alkalus.");
+ return null;
+ }
+ ItemStack aStack = recipe.getOutput(0);
+ try {
+ aSafeUnlocalName = aStack.getUnlocalizedName();
+ } catch (Throwable t) {
+ aSafeUnlocalName = ItemUtils.getUnlocalizedItemName(aStack);
+ }
+
+ Achievement aYouDidSomethingInGT;
+ if (mAchievementMap.get(aSafeUnlocalName) == null) {
+ assReg++;
+ recipeCount++;
+ aYouDidSomethingInGT = registerAchievement(aSafeUnlocalName, -(11 + assReg % 5), ((assReg) / 5) - 8,
+ recipe.getOutput(0), AchievementList.openInventory, false);
+ }
+ else {
+ aYouDidSomethingInGT = null;
+ }
+ if (recipeCount >= recipeTotal) {
+ Logger.INFO("Critical mass achieved. ["+recipeCount+"]");
+ registerAchievements();
+ }
+
+ return aYouDidSomethingInGT;
+ }
+
+ public static Achievement registerAchievement(String textId, int x, int y, ItemStack icon,
+ Achievement requirement, boolean special) {
+ if (!GT_Mod.gregtechproxy.mAchievements) {
+ return null;
+ }
+ Achievement achievement = new Achievement(textId, textId, adjX + x, adjY + y, icon, requirement);
+ if (special) {
+ achievement.setSpecial();
+ }
+ achievement.registerStat();
+ if (CORE.DEVENV) {
+ GT_Log.out.println("achievement." + textId + "=");
+ GT_Log.out.println("achievement." + textId + ".desc=");
+ }
+ mAchievementMap.put(textId, achievement);
+ return achievement;
+ }
+
+ public static void issueAchievement(EntityPlayer entityplayer, String textId) {
+ if (entityplayer == null || !GT_Mod.gregtechproxy.mAchievements) {
+ return;
+ }
+
+ entityplayer.triggerAchievement((StatBase) getAchievement(textId));
+ }
+
+ public static Achievement getAchievement(String textId) {
+ if (mAchievementMap.containsKey(textId)) {
+ Logger.INFO("Found Achivement: "+textId);
+ return (Achievement) mAchievementMap.get(textId);
+ }
+ return null;
+ }
+
+ @SubscribeEvent
+ public void onItemPickup(EntityItemPickupEvent event) {
+ EntityPlayer player = event.entityPlayer;
+ ItemStack stack = event.item.getEntityItem();
+ String aPickupUnlocalSafe = ItemUtils.getUnlocalizedItemName(stack);
+ if (player == null || stack == null) {
+ return;
+ }
+
+ if (StaticFields59.sAssemblylineVisualRecipes == null) {
+ return;
+ }
+
+ Logger.INFO("Trying to check for achievements");
+ // Debug scanner unlocks all AL recipes in creative
+ if (player.capabilities.isCreativeMode && aPickupUnlocalSafe.equals("gt.metaitem.01.32761")) {
+ for (GT_Recipe recipe : StaticFields59.sAssemblylineVisualRecipes.mRecipeList) {
+ issueAchievement(player, recipe.getOutput(0).getUnlocalizedName());
+ recipe.mHidden = false;
+ }
+ }
+ for (GT_Recipe recipe : StaticFields59.sAssemblylineVisualRecipes.mRecipeList) {
+
+ String aSafeUnlocalName;
+ if (recipe.getOutput(0) == null) {
+ Logger.INFO(
+ "Someone tried to register an achievement for a recipe with null output. Please report this to Alkalus.");
+ continue;
+ }
+ ItemStack aStack = recipe.getOutput(0);
+ aSafeUnlocalName = ItemUtils.getUnlocalizedItemName(aStack);
+ if (aSafeUnlocalName.equals(aPickupUnlocalSafe)) {
+ issueAchievement(player, aSafeUnlocalName);
+ recipe.mHidden = false;
+ Logger.INFO("FOUND: " + aSafeUnlocalName + " | " + aPickupUnlocalSafe);
+ }
+ else {
+ //Logger.INFO(aSafeUnlocalName + " | " + aPickupUnlocalSafe);
+ }
+ }
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
index ace4876639..d16bffef86 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
@@ -12,9 +12,12 @@ import gregtech.api.enums.Materials;
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
import gregtech.api.util.CustomRecipeMap;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.Recipe_GT;
+import gregtech.api.util.SemiFluidFuelHandler;
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.MaterialGenerator;
@@ -694,8 +697,7 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
Method T = null;
if (LoadedMods.TecTech) {
- try {
- Class TTRecipeAdder = Class.forName("com.github.technus.tectech.recipe.TT_recipeAdder");
+ Class TTRecipeAdder = ReflectionUtils.getClass("com.github.technus.tectech.recipe.TT_recipeAdder");
if (TTRecipeAdder != null) {
Method ttTest = ReflectionUtils.getMethod(TTRecipeAdder, "addResearchableAssemblylineRecipe",
ItemStack.class, int.class, int.class, int.class, int.class, Object[].class,
@@ -704,8 +706,6 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
T = ttTest;
}
}
- } catch (ClassNotFoundException e) {
- }
}
else {
T = null;
@@ -750,11 +750,27 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
return CORE.RA.addComponentMakerRecipe(aInputs, aInputFluid, aOutput1, aDuration, aEUt);
}
- 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_OLD, ItemStack aOutput, int aDuration, int aEUt) {
+
+ FluidStack[] aFluidInputs = new FluidStack[4];
+ AutoMap<FluidStack> aNewFluidMap = new AutoMap<FluidStack>();
+ if (aFluidInputs_OLD.length > 4) {
+ for (FluidStack s : aFluidInputs_OLD) {
+ aNewFluidMap.put(s);
+ }
+ for (int i = 0; i < 4; i++) {
+ aFluidInputs[i] = aNewFluidMap.get(i);
+ }
+ }
+ else {
+ aFluidInputs = aFluidInputs_OLD;
+ }
+
+
if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
if (aInputs.length < 6 && aFluidInputs.length < 2) {
ItemStack[] aInputStack = new ItemStack[] {aResearchItem, aInputs[0], aInputs[1], aInputs[2], aInputs[3], aInputs[4]};
- return CORE.RA.addSixSlotAssemblingRecipe(aInputStack, aFluidInputs[0], aOutput, aDuration, aEUt);
+ return addSixSlotAssemblingRecipe(aInputStack, aFluidInputs[0], aOutput, aDuration, aEUt);
}
return false;
}
@@ -766,7 +782,12 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
if (mAssemblyLine != null) {
try {
if (!tryAddTecTechScannerRecipe(aResearchItem, aInputs, aFluidInputs, aOutput, aDuration, aEUt)) {
- Logger.INFO("Failed to generate TecTech recipe for "+aResearchItem.getDisplayName()+", please report this to Alkalus.");
+ try {
+ Logger.INFO("Failed to generate TecTech recipe for "+ItemUtils.getItemName(aResearchItem)+", please report this to Alkalus.");
+ }
+ catch (Throwable t) {
+
+ }
}
return (boolean) mAssemblyLine.invoke(GT_Values.RA, aResearchItem, aResearchTime, aInputs,
aFluidInputs, aOutput, aDuration, aEUt);
@@ -774,7 +795,7 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
if (aInputs.length < 6 && aFluidInputs.length < 2) {
ItemStack[] aInputStack = new ItemStack[] { aResearchItem, aInputs[0], aInputs[1],
aInputs[2], aInputs[3], aInputs[4] };
- return CORE.RA.addSixSlotAssemblingRecipe(aInputStack, aFluidInputs[0], aOutput, aDuration,
+ return addSixSlotAssemblingRecipe(aInputStack, aFluidInputs[0], aOutput, aDuration,
aEUt);
}
return false;
@@ -783,7 +804,7 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
if (aInputs.length < 6 && aFluidInputs.length < 2) {
ItemStack[] aInputStack = new ItemStack[] { aResearchItem, aInputs[0], aInputs[1], aInputs[2],
aInputs[3], aInputs[4] };
- return CORE.RA.addSixSlotAssemblingRecipe(aInputStack, aFluidInputs[0], aOutput, aDuration,
+ return addSixSlotAssemblingRecipe(aInputStack, aFluidInputs[0], aOutput, aDuration,
aEUt);
}
return false;
@@ -803,10 +824,13 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
if (mScannerTT != null) {
try {
- return (boolean) mScannerTT.invoke(null, aResearchItem, compMax, compSec,
- (assEUt/2), 16, aInputs, aFluidInputs, aOutput, assDuration, assEUt);
+ boolean aResult = (boolean) mScannerTT.invoke(null, aResearchItem, compMax, compSec,
+ (assEUt/2), 16, aInputs, aFluidInputs, aOutput, assDuration, assEUt);
+ Logger.INFO("Added TecTech Scanner Recipe for "+ItemUtils.getItemName(aResearchItem)+"? "+aResult);
+ return aResult;
+
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
- Logger.INFO("Failed to generate TecTech recipe for "+aResearchItem.getDisplayName()+", please report this to Alkalus. [Severe]");
+ Logger.INFO("Failed to generate TecTech recipe for "+ItemUtils.getItemName(aResearchItem)+", please report this to Alkalus. [Severe]");
e.printStackTrace();
}
}
@@ -851,7 +875,7 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
@Override
public boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, FluidStack[] fluidStacks2, ItemStack[] outputs, int time, int eu) {
- if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK || mLargeChemReactor == null) {
return false;
}
try {
@@ -1042,10 +1066,29 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
}
+ @Override
+ public boolean addSemifluidFuel(ItemStack aFuelItem, int aFuelValue) {
+ return SemiFluidFuelHandler.addSemiFluidFuel(aFuelItem, aFuelValue);
+ }
-
-
-
+ @Override
+ public boolean addSemifluidFuel(FluidStack aFuelItem, int aFuelValue) {
+ return SemiFluidFuelHandler.addSemiFluidFuel(aFuelItem, aFuelValue);
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java
index a3a04a44da..54ab6d45bb 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java
@@ -105,7 +105,7 @@ public class GregtechDehydrator {
| GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
new Object[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('P'),
ItemList.Robot_Arm_MV, Character.valueOf('E'), OrePrefixes.wireFine.get(Materials.RedAlloy), Character.valueOf('C'),
- OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('W'),
+ OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'),
OrePrefixes.cableGt04.get(Materials.Copper), Character.valueOf('G'),
OrePrefixes.gearGt.get(Materials.Steel) });
GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Dehydrator_HV.get(1L, new Object[0]),
@@ -113,7 +113,7 @@ public class GregtechDehydrator {
| GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
new Object[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('P'),
ItemList.Robot_Arm_HV, Character.valueOf('E'), OrePrefixes.wireFine.get(Materials.Electrum), Character.valueOf('C'),
- OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'),
+ OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('W'),
OrePrefixes.cableGt04.get(Materials.Silver), Character.valueOf('G'),
ALLOY.POTIN.getGear(1) });
@@ -123,7 +123,7 @@ public class GregtechDehydrator {
| GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
new Object[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'),
ItemList.Robot_Arm_EV, Character.valueOf('E'), coilT1, Character.valueOf('C'),
- OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('W'),
+ OrePrefixes.circuit.get(Materials.Data), Character.valueOf('W'),
OrePrefixes.cableGt04.get(Materials.Aluminium), Character.valueOf('G'),
ALLOY.TUMBAGA.getGear(1) });
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
index 7b87cd0f24..e07837c2ba 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
@@ -41,20 +41,20 @@ public class GregtechEnergyBuffer
//Energy Buffers
- GregtechItemList.Energy_Buffer_1by1_ULV.set(new GregtechMetaEnergyBuffer(770, "energybuffer.01.tier.00", "Ultra Low Voltage Energy Buffer", 0, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_LV.set(new GregtechMetaEnergyBuffer(771, "energybuffer.01.tier.01", "Low Voltage Energy Buffer", 1, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_MV.set(new GregtechMetaEnergyBuffer(772, "energybuffer.01.tier.02", "Medium Voltage Energy Buffer", 2, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_HV.set(new GregtechMetaEnergyBuffer(773, "energybuffer.01.tier.03", "High Voltage Energy Buffer", 3, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_EV.set(new GregtechMetaEnergyBuffer(774, "energybuffer.01.tier.04", "Extreme Voltage Energy Buffer", 4, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_IV.set(new GregtechMetaEnergyBuffer(775, "energybuffer.01.tier.05", "Insane Voltage Energy Buffer", 5, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_LuV.set(new GregtechMetaEnergyBuffer(776, "energybuffer.01.tier.06", "Ludicrous Voltage Energy Buffer", 6, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_ZPM.set(new GregtechMetaEnergyBuffer(777, "energybuffer.01.tier.07", "ZPM Voltage Energy Buffer", 7, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_UV.set(new GregtechMetaEnergyBuffer(778, "energybuffer.01.tier.08", "Ultimate Voltage Energy Buffer", 8, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_MAX.set(new GregtechMetaEnergyBuffer(779, "energybuffer.01.tier.09", "MAX Voltage Energy Buffer", 9, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_ULV.set(new GregtechMetaEnergyBuffer(770, "energybuffer.tier.00", "Ultra Low Voltage Energy Buffer", 0, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_LV.set(new GregtechMetaEnergyBuffer(771, "energybuffer.tier.01", "Low Voltage Energy Buffer", 1, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_MV.set(new GregtechMetaEnergyBuffer(772, "energybuffer.tier.02", "Medium Voltage Energy Buffer", 2, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_HV.set(new GregtechMetaEnergyBuffer(773, "energybuffer.tier.03", "High Voltage Energy Buffer", 3, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_EV.set(new GregtechMetaEnergyBuffer(774, "energybuffer.tier.04", "Extreme Voltage Energy Buffer", 4, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_IV.set(new GregtechMetaEnergyBuffer(775, "energybuffer.tier.05", "Insane Voltage Energy Buffer", 5, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_LuV.set(new GregtechMetaEnergyBuffer(776, "energybuffer.tier.06", "Ludicrous Voltage Energy Buffer", 6, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_ZPM.set(new GregtechMetaEnergyBuffer(777, "energybuffer.tier.07", "ZPM Voltage Energy Buffer", 7, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_UV.set(new GregtechMetaEnergyBuffer(778, "energybuffer.tier.08", "Ultimate Voltage Energy Buffer", 8, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_MAX.set(new GregtechMetaEnergyBuffer(779, "energybuffer.tier.09", "MAX Voltage Energy Buffer", 9, "", 1).getStackForm(1L));
// Creative Buffer Has Special ID
GregtechItemList.Energy_Buffer_CREATIVE
.set(new GregtechMetaCreativeEnergyBuffer(750,
- "energybuffer.01.tier.xx",
+ "energybuffer.tier.xx",
"512V Creative Energy Buffer", 3, "", 0)
.getStackForm(1L));
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCryogenicFreezer.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCryogenicFreezer.java
index 213b6f0ccb..65f3e41911 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCryogenicFreezer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCryogenicFreezer.java
@@ -17,10 +17,10 @@ public class GregtechIndustrialCryogenicFreezer {
private static void run1() {
Logger.INFO("Gregtech 5 Content | Registering Advanced GT Multiblock replacements.");
- GregtechItemList.Machine_Adv_BlastFurnace.set(new GregtechMetaTileEntity_Adv_EBF(963, "multimachine.adv.blastfurnace", "[Factory Grade] Adv. EBF").getStackForm(1L));
- GregtechItemList.Machine_Adv_ImplosionCompressor.set(new GregtechMetaTileEntity_Adv_Implosion(964, "multimachine.adv.implosioncompressor", "[Factory Grade] Adv. Implosion Compressor").getStackForm(1L));
- GregtechItemList.Industrial_Cryogenic_Freezer.set(new GregtechMetaTileEntity_IndustrialVacuumFreezer(910, "multimachine.adv.industrialfreezer", "[Factory Grade] Cryogenic Freezer").getStackForm(1L));
- GregtechItemList.FusionComputer_UV2.set(new GregtechMetaTileEntity_Adv_Fusion_MK4(965, "fusioncomputer.tier.09", "FusionTek MK IV").getStackForm(1L));
+ GregtechItemList.Machine_Adv_BlastFurnace.set(new GregtechMetaTileEntity_Adv_EBF(963, "multimachine.adv.blastfurnace", "Volcanus").getStackForm(1L));
+ GregtechItemList.Machine_Adv_ImplosionCompressor.set(new GregtechMetaTileEntity_Adv_Implosion(964, "multimachine.adv.implosioncompressor", "Density^2").getStackForm(1L));
+ GregtechItemList.Industrial_Cryogenic_Freezer.set(new GregtechMetaTileEntity_IndustrialVacuumFreezer(910, "multimachine.adv.industrialfreezer", "Cryogenic Freezer").getStackForm(1L));
+ GregtechItemList.FusionComputer_UV2.set(new GregtechMetaTileEntity_Adv_Fusion_MK4(965, "fusioncomputer.tier.09", "FusionTech MK IV").getStackForm(1L));
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java
index 8064c68559..6362b07b93 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java
@@ -221,10 +221,10 @@ public class GregtechIndustrialMassFabricator {
public static ItemStack getScrapPile() {
- return ItemUtils.getSimpleStack(ItemUtils.getItem("IC2:itemScrap"));
+ return ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrap"));
}
public static ItemStack getScrapBox() {
- return ItemUtils.getSimpleStack(ItemUtils.getItem("IC2:itemScrapbox"));
+ return ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrapbox"));
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java
index f924e5233d..6095413150 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java
@@ -22,6 +22,7 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
import net.minecraftforge.fluids.FluidStack;
public class GregtechNitroDieselFix {
@@ -34,7 +35,7 @@ public class GregtechNitroDieselFix {
int mSub = Utils.getGregtechSubVersion();
if (mSub != 0){
if (mSub >= 30){
- Class mb = Class.forName("gregtech.api.enums.MaterialBuilder");
+ Class mb = ReflectionUtils.getClass("gregtech.api.enums.MaterialBuilder");
Object df = mb.getConstructor(int.class, TextureSet.class, String.class).newInstance(975, TextureSet.SET_FLUID, "Nitro-Diesel [Old]");
if (mb.isInstance(df)){
@@ -158,7 +159,7 @@ public class GregtechNitroDieselFix {
}
}
}
- catch (ClassNotFoundException | IllegalArgumentException | IllegalAccessException | InstantiationException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
+ catch (IllegalArgumentException | IllegalAccessException | InstantiationException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
Logger.INFO("[Nitro] ================ Error ================");
e.printStackTrace();
Logger.INFO("[Nitro] ================ Error ================");