aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech/common/tileentities
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/gregtech/common/tileentities')
-rw-r--r--main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java2
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java21
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java17
-rw-r--r--main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java16
-rw-r--r--main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java21
-rw-r--r--main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java24
-rw-r--r--main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java24
7 files changed, 101 insertions, 24 deletions
diff --git a/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java b/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java
index 35243db699..6f6d887c90 100644
--- a/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java
+++ b/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java
@@ -138,7 +138,7 @@ public class GT_MetaTileEntity_Boiler_Lava
}
if ((this.mTemperature < 1000) && (this.mProcessingEnergy > 0) && (aTick % 8L == 0L))
{
- this.mProcessingEnergy -= 2;
+ this.mProcessingEnergy -= 3;
this.mTemperature += 1;
}
aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java
index 5c16af3e37..89b8c29e69 100644
--- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java
@@ -75,14 +75,14 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc
{
if(GT_ModHandler.isLava(mInputHotFluidHatch.getFluid())){
int fluidAmount = mInputHotFluidHatch.getFluidAmount();
- if(fluidAmount >= 1000){superheated=true;}else{superheated=false;}
- if(fluidAmount>2000){fluidAmount=2000;}
+ if(fluidAmount >= 500){superheated=true;}else{superheated=false;}
+ if(fluidAmount>1000){fluidAmount=1000;}
mInputHotFluidHatch.drain(fluidAmount, true);
mOutputColdFluidHatch.fill(FluidRegistry.getFluidStack("ic2pahoehoelava", fluidAmount), true);
this.mMaxProgresstime = 20;
- this.mEUt = fluidAmount*2;
+ this.mEUt = fluidAmount*4;
this.mEfficiencyIncrease = 80;
return true;
}
@@ -102,15 +102,22 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc
}
return false;}
+ private float water;
+ private int useWater(float input){
+ water = water + input;
+ int usage = (int)water;
+ water = water - (int)usage;
+ return usage;
+ }
+
public boolean onRunningTick(ItemStack aStack)
{
if (this.mEUt > 0)
- {System.out.println("EU: "+mEUt+" Eff: "+mEfficiency);
+ {
int tGeneratedEU = (int)(this.mEUt * 2L * this.mEfficiency / 10000L);
if (tGeneratedEU > 0) {
- if (depleteInput(GT_ModHandler.getDistilledWater(((superheated ? tGeneratedEU/2 :tGeneratedEU) + 160) / 160))) {
- if(superheated){
- addOutput(FluidRegistry.getFluidStack("ic2superheatedsteam", tGeneratedEU/2));
+ if (depleteInput(GT_ModHandler.getDistilledWater(useWater(((float)(superheated ? tGeneratedEU/2 :tGeneratedEU) + 160f) / 160f)))) {
+ if(superheated){addOutput(FluidRegistry.getFluidStack("ic2superheatedsteam", tGeneratedEU/2));
}else{
addOutput(GT_ModHandler.getSteam(tGeneratedEU));}
} else {
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
index 0f20246eed..e43070333a 100644
--- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
@@ -37,6 +37,15 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
"Needs a Turbine Item (inside controller GUI)" };
}
+ private float water;
+ private int useWater(float input){
+ water = water + input;
+ int usage = (int)water;
+ water = water - (int)usage;
+ return usage;
+ }
+
+
@Override
public boolean checkRecipe(ItemStack aStack) {
ArrayList<FluidStack> steams = getStoredFluids();
@@ -47,11 +56,11 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50);
}
int tEU=0;
- int distOut=0;
+ float distOut=0;
for(int i=0;i<steams.size();i++){
if(steams.get(i).getFluid().getUnlocalizedName(steams.get(i)).equals("fluid.steam")||steams.get(i).getFluid().getUnlocalizedName(steams.get(i)).equals("ic2.fluidSteam")){
- int out = Math.min((int)(optFlow*1.5f),steams.get(i).amount);
- depleteInput(new FluidStack(steams.get(i),out));
+ float out = Math.min((int)(optFlow*1.5f),steams.get(i).amount);
+ depleteInput(new FluidStack(steams.get(i),(int)out));
distOut += out/160;
tEU += steams.get(i).amount/2;
}
@@ -64,7 +73,7 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
// System.out.println("Eff: "+baseEff+" optFlow: "+optFlow+" tEff: "+tEff+" eut: "+mEUt+" out: "+distOut);
this.mEfficiencyIncrease = (this.mMaxProgresstime * 10);
if(mEUt==0){return false;}
- addOutput(GT_ModHandler.getDistilledWater(distOut));
+ addOutput(GT_ModHandler.getDistilledWater(useWater(distOut)));
return true;
}
if(this.mEfficiency>50){
diff --git a/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java b/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
index 2647cf6eef..6a28464ec7 100644
--- a/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
+++ b/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
@@ -11,7 +11,9 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import java.util.Map;
import java.util.Random;
@@ -56,13 +58,17 @@ public class GT_MetaTileEntity_Macerator_Bronze
public int checkRecipe()
{
- if (null != (this.mOutputItems[0] = GT_ModHandler.getMaceratorOutput(getInputAt(0), true, getOutputAt(0))))
- {
+ GT_Recipe_Map tMap = GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+ if (tMap == null) return DID_NOT_FIND_RECIPE;
+ GT_Recipe tRecipe = tMap.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, V[1], null, null, getAllInputs());
+ if (tRecipe == null) return DID_NOT_FIND_RECIPE;
+ if (tRecipe.mCanBeBuffered) mLastRecipe = tRecipe;
+ if (!canOutput(tRecipe)) {mOutputBlocked++; return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;}
+ if(tRecipe.getOutput(0)!=null) mOutputItems[0] = tRecipe.getOutput(0);
this.mEUt = 2;
this.mMaxProgresstime = 800;
- return 2;
- }
- return 0;
+ getInputAt(0).stackSize-=tRecipe.mInputs[0].stackSize;
+ return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
}
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
diff --git a/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java b/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
index 3fde9702d5..4f8104ccc7 100644
--- a/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
+++ b/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.machines.steam;
+import static gregtech.api.enums.GT_Values.V;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.enums.Textures.BlockIcons;
@@ -10,7 +11,9 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import java.util.Map;
import java.util.Random;
@@ -54,13 +57,17 @@ public class GT_MetaTileEntity_Macerator_Steel
public int checkRecipe()
{
- if (null != (this.mOutputItems[0] = GT_ModHandler.getMaceratorOutput(getInputAt(0), true, getOutputAt(0))))
- {
- this.mEUt = 6;
- this.mMaxProgresstime = 400;
- return 2;
- }
- return 0;
+ GT_Recipe_Map tMap = GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+ if (tMap == null) return DID_NOT_FIND_RECIPE;
+ GT_Recipe tRecipe = tMap.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, V[1], null, null, getAllInputs());
+ if (tRecipe == null) return DID_NOT_FIND_RECIPE;
+ if (tRecipe.mCanBeBuffered) mLastRecipe = tRecipe;
+ if (!canOutput(tRecipe)) {mOutputBlocked++; return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;}
+ if(tRecipe.getOutput(0)!=null) mOutputItems[0] = tRecipe.getOutput(0);
+ this.mEUt = 6;
+ this.mMaxProgresstime = 400;
+ getInputAt(0).stackSize-=tRecipe.mInputs[0].stackSize;
+ return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
}
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
diff --git a/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java b/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
index dca6a92998..be75334a3e 100644
--- a/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
+++ b/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
@@ -184,6 +184,30 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_TieredMach
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return true;
}
+
+ @Override
+ public String[] getInfoData() {
+
+ if(mItemStack==null){
+ return new String[]{
+ "Quantum Chest",
+ "Stored Items:",
+ "No Items",
+ Integer.toString(0),
+ Integer.toString(getMaxItemCount())};
+ }
+ return new String[] {
+ "Quantum Chest",
+ "Stored Items:",
+ mItemStack.getDisplayName(),
+ Integer.toString(mItemCount),
+ Integer.toString(getMaxItemCount())};
+ }
+
+ @Override
+ public boolean isGivingInformation() {
+ return true;
+ }
@Override
public void saveNBTData(NBTTagCompound aNBT) {
diff --git a/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java b/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java
index 1fb314d5c9..c7e855eb66 100644
--- a/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java
+++ b/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java
@@ -86,6 +86,30 @@ public class GT_MetaTileEntity_QuantumTank
public boolean displaysStackSize() {
return false;
}
+
+ @Override
+ public String[] getInfoData() {
+
+ if(mFluid==null){
+ return new String[]{
+ "Quantum Tank",
+ "Stored Fluid:",
+ "No Fluid",
+ Integer.toString(0)+"L",
+ Integer.toString(getCapacity())+"L"};
+ }
+ return new String[] {
+ "Quantum Tank",
+ "Stored Fluid:",
+ mFluid.getLocalizedName(),
+ Integer.toString(mFluid.amount)+"L",
+ Integer.toString(getCapacity())+"L"};
+ }
+
+ @Override
+ public boolean isGivingInformation() {
+ return true;
+ }
@Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {