diff options
author | Muramasa <haydenkilloh@gmail.com> | 2016-05-23 18:15:21 +0100 |
---|---|---|
committer | Muramasa <haydenkilloh@gmail.com> | 2016-05-23 18:15:21 +0100 |
commit | 960087a0a859aa8c5743e654ade0b5394729b438 (patch) | |
tree | bbf06f770bd32e413b707372020b53d9bc845700 /src/main/java/gregtech/common/tileentities | |
parent | 4fdbf01fae57d49f625b73615bd1437c3c7a7342 (diff) | |
download | GT5-Unofficial-960087a0a859aa8c5743e654ade0b5394729b438.tar.gz GT5-Unofficial-960087a0a859aa8c5743e654ade0b5394729b438.tar.bz2 GT5-Unofficial-960087a0a859aa8c5743e654ade0b5394729b438.zip |
Cleanup + Improvement
Diffstat (limited to 'src/main/java/gregtech/common/tileentities')
2 files changed, 40 insertions, 77 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java index 492607f6f7..52d169203d 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java @@ -6,8 +6,10 @@ import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbo; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Recipe; @@ -22,6 +24,9 @@ import java.util.ArrayList; import java.util.Collection; public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlockBase { + protected int fuelConsumption = 0; + protected int fuelRemaining = 0; + public GT_MetaTileEntity_DieselEngine(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); } @@ -61,24 +66,37 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock @Override public boolean checkRecipe(ItemStack aStack) { + ArrayList<GT_MetaTileEntity_Hatch_Turbo> tHatches = mTurboHatches; ArrayList<FluidStack> tFluids = getStoredFluids(); Collection<GT_Recipe> tRecipeList = GT_Recipe.GT_Recipe_Map.sDieselFuels.mRecipeList; - int baseEUt = requiresTurboHatch() ? 8192 : 2048; - - if(tFluids.size() > 0 && tRecipeList != null) { - for (FluidStack hatchFluid1 : tFluids) { //Loops through hatches - for(GT_Recipe aFuel : tRecipeList) { //Loops through diesel fuel recipes - FluidStack tLiquid; - if ((tLiquid = GT_Utility.getFluidForFilledItem(aFuel.getRepresentativeInput(0), true)) != null) { - if (hatchFluid1.isFluidEqual(tLiquid)) { //Has a diesel fluid - System.out.println("Fuel Value: "+aFuel.mSpecialValue); //For testing, needs to be removed - tLiquid.amount = baseEUt / aFuel.mSpecialValue; //Calc fuel consumption - depleteInput(tLiquid); //Deplete that amount - mProgresstime = 1; - mMaxProgresstime = 1; - mEfficiencyIncrease = 10; - mEUt = mEfficiency <= 2000 ? 0 : baseEUt * (mEfficiency / 10000); //Output 0 if startup is 20% or less - return true; + + if(tHatches.size() > 0) { + if(tHatches.get(0).getStackInSlot(0) != null) { + ItemStack hatchStack = tHatches.get(0).getStackInSlot(0); + if(hatchStack.getItem() instanceof GT_MetaGenerated_Tool) { //Has a GT tool + GT_MetaGenerated_Tool hatchTool = (GT_MetaGenerated_Tool)tHatches.get(0).getStackInSlot(0).getItem(); + + //TODO Better method to detect turbine item. This will do for testing. + int baseEUt = GT_MetaGenerated_Tool.getPrimaryMaterial(hatchStack).mDurability > 0 ? 8192 : 2048; //Choose base output + + if(tFluids.size() > 0 && tRecipeList != null) { //Does input hatch have a diesel fuel? + for (FluidStack hatchFluid1 : tFluids) { //Loops through hatches + for(GT_Recipe aFuel : tRecipeList) { //Loops through diesel fuel recipes + FluidStack tLiquid; + if ((tLiquid = GT_Utility.getFluidForFilledItem(aFuel.getRepresentativeInput(0), true)) != null) { //Create fluidstack from current recipe + if (hatchFluid1.isFluidEqual(tLiquid)) { //Has a diesel fluid + System.out.println("Fuel Value: "+aFuel.mSpecialValue); //For testing, needs to be removed + fuelConsumption = tLiquid.amount = baseEUt / aFuel.mSpecialValue; //Calc fuel consumption + depleteInput(tLiquid); //Deplete that amount + fuelRemaining = hatchFluid1.amount; //Record available fuel + this.mProgresstime = 1; + this.mMaxProgresstime = 1; + this.mEfficiencyIncrease = 10; + this.mEUt = mEfficiency < 2000 ? 0 : (int)(baseEUt * ((float)mEfficiency / 10000)); //Output 0 if startup is less than 20% + return true; + } + } + } } } } @@ -112,10 +130,6 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == getCasingBlock() && getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == getCasingMeta()) { } else if (!addMufflerToMachineList(getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? 2 : tSide == 4 ? -2 : 0), tY + 1, tZ + (tSide == 3 ? 2 : tSide == 2 ? -2 : 0)), getCasingTextureIndex())) { return false; //Fail if no muffler top middle back - } else if (!requiresTurboHatch() && addTurboToMachineList(getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)), getCasingTextureIndex())) { - return false; //Fail if has turbo hatch and !requiresTurboHatch() - } else if (requiresTurboHatch() && !addTurboToMachineList(getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)), getCasingTextureIndex())) { - return false; //Fail if does not have turbo hatch and requiresTurboHatch() } else if (!addToMachineList(getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)))) { return false; } @@ -144,10 +158,6 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock return true; } - public boolean requiresTurboHatch() { - return false; - } - public Block getCasingBlock() { return GregTech_API.sBlockCasings4; } @@ -177,7 +187,7 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock } private boolean addToMachineList(IGregTechTileEntity tTileEntity) { - return ((addTurboToMachineList(tTileEntity, getCasingTextureIndex()) && requiresTurboHatch()) || (addMaintenanceToMachineList(tTileEntity, getCasingTextureIndex())) || (addInputToMachineList(tTileEntity, getCasingTextureIndex())) || (addOutputToMachineList(tTileEntity, getCasingTextureIndex())) || (addMufflerToMachineList(tTileEntity, getCasingTextureIndex()))); + return ((addTurboToMachineList(tTileEntity, getCasingTextureIndex()) || (addMaintenanceToMachineList(tTileEntity, getCasingTextureIndex())) || (addInputToMachineList(tTileEntity, getCasingTextureIndex())) || (addOutputToMachineList(tTileEntity, getCasingTextureIndex())) || (addMufflerToMachineList(tTileEntity, getCasingTextureIndex())))); } @Override @@ -222,9 +232,11 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock @Override public String[] getInfoData() { return new String[]{ - "Diesel Engine", - "Current Output: "+mEUt+" EU/t", - "Current Efficiency: "+(mEfficiency/100)+"%"}; + "Diesel Engine", + "Current Output: "+mEUt+" EU/t", + "Fuel Consumption: "+fuelConsumption+"L/t", + "Fuel Remaining: "+fuelRemaining+" Litres", + "Current Efficiency: "+(mEfficiency/100)+"%"}; } @Override diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngineTurbo.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngineTurbo.java deleted file mode 100644 index e124214584..0000000000 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngineTurbo.java +++ /dev/null @@ -1,49 +0,0 @@ -package gregtech.common.tileentities.machines.multi; - -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; - -public class GT_MetaTileEntity_DieselEngineTurbo extends GT_MetaTileEntity_DieselEngine { - public GT_MetaTileEntity_DieselEngineTurbo(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - public GT_MetaTileEntity_DieselEngineTurbo(String aName) { - super(aName); - } - - @Override - public String[] getDescription() { - return new String[]{ - "Controller Block for the Large Diesel Engine", - "Size: 3x3x4", - "Controller (front centered)", - "3x3x4 of Stable Titanium Casing (hollow, Min 24!)", - "2x Titanium Pipe Casing Block inside the Hollow Casing", - "1x Input Hatch (one of the Casings)", - "1x Maintenance Hatch (one of the Casings)", - "1x Muffler Hatch (top middle back)", - "1x Dynamo Hatch (back centered)", - "Engine Intake Casings not obstructed (only air blocks)"}; - } - - @Override - public boolean requiresTurboHatch() { - return true; - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_DieselEngineTurbo(this.mName); - } - - @Override - public String[] getInfoData() { - return new String[]{ - "Large Diesel Engine", - "Current Output: " + mEUt + " EU/t", - - "Efficiency: " + (float) mEfficiency / 100 + "%", - "EfficiencyRaw: " + mEfficiency //For testing only, needs to be removed - }; - } -} |