diff options
Diffstat (limited to 'main/java/gregtech/common/tileentities')
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) { |