aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tileentities
diff options
context:
space:
mode:
authorDream-Master <dream-master@gmx.net>2016-06-21 21:07:14 +0200
committerDream-Master <dream-master@gmx.net>2016-06-21 21:07:14 +0200
commita88d9c4e72adc5b5063398af39c5c80817623cb5 (patch)
treec43a18724a90355599a18934a2215352ba916049 /src/main/java/gregtech/common/tileentities
parentfafe1bcc8823158382ed9d45c1e1fc42e02fa9c5 (diff)
downloadGT5-Unofficial-a88d9c4e72adc5b5063398af39c5c80817623cb5.tar.gz
GT5-Unofficial-a88d9c4e72adc5b5063398af39c5c80817623cb5.tar.bz2
GT5-Unofficial-a88d9c4e72adc5b5063398af39c5c80817623cb5.zip
experimental branch
Diffstat (limited to 'src/main/java/gregtech/common/tileentities')
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java1
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java26
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java74
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java20
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java14
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MonsterRepellent.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java1
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java14
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java46
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java31
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java26
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java17
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java12
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java15
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java14
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java18
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java15
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java15
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java15
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java43
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java70
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java12
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java3
34 files changed, 340 insertions, 204 deletions
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java
index 4ed6031877..2cd775c70d 100644
--- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java
@@ -63,7 +63,6 @@ public class GT_MetaTileEntity_TypeFilter
i = OrePrefixes.values().length - 1;
}
} while (OrePrefixes.values()[i].mPrefixedItems.isEmpty());
-
} else {
do {
i++;
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java
index f9dd1ccf73..04be6888a4 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java
@@ -228,7 +228,7 @@ public abstract class GT_MetaTileEntity_Boiler
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
}
} else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite)))) {
- this.mProcessingEnergy += 40;
+ this.mProcessingEnergy += 120;
aBaseMetaTileEntity.decrStackSize(2, 1);
if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
@@ -244,11 +244,11 @@ public abstract class GT_MetaTileEntity_Boiler
}
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- return (aIndex == 1) || (aIndex == 3);
+ return false;
}
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- return aIndex == 2;
+ return false;
}
public void doSound(byte aIndex, double aX, double aY, double aZ) {
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java
index 1a68147f51..dfe74e34fe 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java
@@ -127,7 +127,7 @@ public class GT_MetaTileEntity_Boiler_Bronze
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
}
} else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite)))) {
- this.mProcessingEnergy += 40;
+ this.mProcessingEnergy += 120;
aBaseMetaTileEntity.decrStackSize(2, 1);
if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java
index 0a35e84973..ced9fb6b99 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java
@@ -10,6 +10,7 @@ import gregtech.api.util.GT_ModHandler;
import gregtech.common.gui.GT_Container_Boiler;
import gregtech.common.gui.GT_GUIContainer_Boiler;
import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
@@ -58,6 +59,20 @@ public class GT_MetaTileEntity_Boiler_Solar
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Boiler_Solar(this.mName, this.mTier, this.mDescription, this.mTextures);
}
+
+ private int mRunTime = 0;
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ aNBT.setInteger("mRunTime", this.mRunTime);
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ this.mRunTime = aNBT.getInteger("mRunTime");
+ }
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L)) {
@@ -92,12 +107,17 @@ public class GT_MetaTileEntity_Boiler_Solar
return;
}
this.mFluid.amount -= 1;
+ mRunTime += 1;
+ int tOutput = 150;
+ if(mRunTime > 10000){
+ tOutput = Math.max(50, 150 - ((mRunTime-10000)/100));
+ }
if (this.mSteam == null) {
- this.mSteam = GT_ModHandler.getSteam(150L);
+ this.mSteam = GT_ModHandler.getSteam(tOutput);
} else if (GT_ModHandler.isSteam(this.mSteam)) {
- this.mSteam.amount += 150;
+ this.mSteam.amount += tOutput;
} else {
- this.mSteam = GT_ModHandler.getSteam(150L);
+ this.mSteam = GT_ModHandler.getSteam(tOutput);
}
}
} else {
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java
index bf9c67e617..e9751a2d31 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java
@@ -132,7 +132,7 @@ public class GT_MetaTileEntity_Boiler_Steel
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
}
} else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite)))) {
- this.mProcessingEnergy += 40;
+ this.mProcessingEnergy += 120;
aBaseMetaTileEntity.decrStackSize(2, 1);
if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
index 91f5ed38c5..14c4e58c76 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
@@ -46,7 +46,7 @@ public class GT_MetaTileEntity_DieselGenerator
}
public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, (100 - this.mTier * 10));
+ this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, (100 - this.mTier * 5));
}
public int getEfficiency() {
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
index 44d6ceb1d5..3c311e5e74 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
@@ -42,7 +42,7 @@ public class GT_MetaTileEntity_GasTurbine
}
public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "GasTurbine.efficiency.tier." + this.mTier, (100 - this.mTier * 10));
+ this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "GasTurbine.efficiency.tier." + this.mTier, (100 - this.mTier * 5));
}
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java
index 602c7fc8d0..5007c9a907 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java
@@ -42,7 +42,7 @@ public class GT_MetaTileEntity_MagicEnergyConverter
}
public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyConverter.efficiency.tier." + this.mTier, 100 - this.mTier * 10);
+ this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyConverter.efficiency.tier." + this.mTier, 100 - this.mTier * 5);
}
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
index f638bebad5..a7438235d6 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
@@ -70,7 +70,8 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
}
public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.efficiency.tier." + this.mTier, 100 - this.mTier * 10);
+ this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.efficiency.tier." + this.mTier,
+ 100 - this.mTier * 10);
this.sAllowMultipleEggs = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.AllowMultipleEggs", false);
this.sEnergyPerEnderCrystal = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerTick.EnderCrystal", 32);
this.sEnergyFromVis = (GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerVisDivisor", 2500) * 10);
@@ -80,12 +81,14 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
@Override
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
- if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + aBaseMetaTileEntity.getEUCapacity()) {
- //Dragon Egg
+ if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork()
+ && aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + aBaseMetaTileEntity.getEUCapacity()) {
+ // Dragon Egg
if (hasEgg() && aTick % 10 == 0) {
- getBaseMetaTileEntity().increaseStoredEnergyUnits(sDragonEggEnergyPerTick * getEfficiency() * 10, false);
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(sDragonEggEnergyPerTick * getEfficiency() / 10, false);
if ((mActiveSiphon != this) && (!sAllowMultipleEggs)) {
- if ((mActiveSiphon == null) || (mActiveSiphon.getBaseMetaTileEntity() == null) || (mActiveSiphon.getBaseMetaTileEntity().isInvalidTileEntity()) || (!mActiveSiphon.hasEgg())) {
+ if ((mActiveSiphon == null) || (mActiveSiphon.getBaseMetaTileEntity() == null)
+ || (mActiveSiphon.getBaseMetaTileEntity().isInvalidTileEntity()) || (!mActiveSiphon.hasEgg())) {
mActiveSiphon = this;
} else {
Block tEgg = mActiveSiphon.getBaseMetaTileEntity().getBlockOffset(0, 1, 0);
@@ -94,11 +97,10 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
} else {
mActiveSiphon = this;
}
-
}
}
}
- //Energyzed node
+ // Energyzed node
if (isThaumcraftLoaded) {
try {
World tmpWorld = this.getBaseMetaTileEntity().getWorld();
@@ -111,24 +113,34 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
int destruction = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.ENTROPY, 1000);
int order = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.ORDER, 1000);
int water = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.WATER, 1000);
- int visEU = (int) (Math.pow(fire, 4) + Math.pow(earth, 4) + Math.pow(air, 4) + Math.pow(destruction, 4) + Math.pow(order, 4) + Math.pow(water, 4));
+ int visEU = (int) (Math.pow(fire, 4) + Math.pow(earth, 4) + Math.pow(air, 4) + Math.pow(destruction, 4) + Math.pow(order, 4) + Math.pow(
+ water, 4));
int mult = 85;
- if (fire > 4) mult += 15;
- if (earth > 4) mult += 15;
- if (air > 4) mult += 15;
- if (destruction > 4) mult += 15;
- if (order > 4) mult += 15;
- if (water > 4) mult += 15;
+ if (fire > 4)
+ mult += 15;
+ if (earth > 4)
+ mult += 15;
+ if (air > 4)
+ mult += 15;
+ if (destruction > 4)
+ mult += 15;
+ if (order > 4)
+ mult += 15;
+ if (water > 4)
+ mult += 15;
visEU = (visEU * mult) / 100;
getBaseMetaTileEntity().increaseStoredEnergyUnits(Math.min(maxEUOutput(), visEU * getEfficiency() / this.sEnergyFromVis), false);
} catch (Throwable e) {
}
}
- //EnderCrystal
-
+ // EnderCrystal
if (sEnergyPerEnderCrystal > 0) {
if (this.mTargetedCrystal == null) {
- ArrayList<EntityEnderCrystal> tList = (ArrayList) getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(EntityEnderCrystal.class, AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getXCoord() - 64, getBaseMetaTileEntity().getYCoord() - 64, getBaseMetaTileEntity().getZCoord() - 64, getBaseMetaTileEntity().getXCoord() + 64, getBaseMetaTileEntity().getYCoord() + 64, getBaseMetaTileEntity().getZCoord() + 64));
+ ArrayList<EntityEnderCrystal> tList = (ArrayList) getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(
+ EntityEnderCrystal.class,
+ AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getXCoord() - 64, getBaseMetaTileEntity().getYCoord() - 64,
+ getBaseMetaTileEntity().getZCoord() - 64, getBaseMetaTileEntity().getXCoord() + 64,
+ getBaseMetaTileEntity().getYCoord() + 64, getBaseMetaTileEntity().getZCoord() + 64));
if ((tList != null) && (!tList.isEmpty())) {
tList.removeAll(sUsedDragonCrystalList);
if (tList.size() > 0) {
@@ -146,14 +158,14 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
}
}
- //Absorb entchantments
+ // Absorb entchantments and TC essentia
try {
if ((this.mInventory[0] != null) && (this.mInventory[1] == null)) {
if (isThaumcraftLoaded && this.mInventory[0].getItem() instanceof IEssentiaContainerItem) {
AspectList tAspect = ((IEssentiaContainerItem) this.mInventory[0].getItem()).getAspects(this.mInventory[0]);
TC_Aspects tValue = TC_Aspects.valueOf(tAspect.getAspects()[0].getTag().toUpperCase());
int tEU = (tValue.mValue * tAspect.getAmount((Aspect) tValue.mAspect) * 100);
- getBaseMetaTileEntity().increaseStoredEnergyUnits(tEU, true);
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(tEU * getEfficiency() / 100, true);
ItemStack tStack = this.mInventory[0].copy();
tStack.setTagCompound(null);
tStack.setItemDamage(0);
@@ -174,7 +186,8 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
if ((tID > -1) && (tID < Enchantment.enchantmentsList.length)) {
Enchantment tEnchantment = Enchantment.enchantmentsList[tID];
if (tEnchantment != null) {
- getBaseMetaTileEntity().increaseStoredEnergyUnits(1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(
+ 1000000 * getEfficiency() * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight() * 100), true);
}
}
}
@@ -186,10 +199,11 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
for (int i = 0; i < tEnchantments.tagCount(); i++) {
short tID = ((NBTTagCompound) tEnchantments.getCompoundTagAt(i)).getShort("id");
short tLevel = ((NBTTagCompound) tEnchantments.getCompoundTagAt(i)).getShort("lvl");
- if ((tID > -1) && (tID < Enchantment.enchantmentsBookList.length)) {
- Enchantment tEnchantment = Enchantment.enchantmentsBookList[tID];
+ if ((tID > -1) && (tID < Enchantment.enchantmentsList.length)) {
+ Enchantment tEnchantment = Enchantment.enchantmentsList[tID];
if (tEnchantment != null) {
- getBaseMetaTileEntity().increaseStoredEnergyUnits(1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(
+ 1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
}
}
}
@@ -219,17 +233,18 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
return Blocks.dragon_egg == above || above.getUnlocalizedName().equals("tile.dragonEgg");
}
+ public int getEfficiency() {
+ return this.mEfficiency;
+ }
+
@Override
public long maxEUStore() {
return Math.max(getEUVar(), V[mTier] * 16000 + getMinimumStoredEU());
}
- public int getEfficiency() {
- return this.mEfficiency;
- }
-
public ITexture[] getFront(byte aColor) {
- return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
+ return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC),
+ Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
public ITexture[] getBack(byte aColor) {
@@ -249,7 +264,8 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
}
public ITexture[] getFrontActive(byte aColor) {
- return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
+ return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE),
+ Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
public ITexture[] getBackActive(byte aColor) {
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java
index f9d1e22bfc..870d61d5fa 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java
@@ -12,8 +12,7 @@ import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
import net.minecraftforge.fluids.FluidStack;
-public class GT_MetaTileEntity_SteamTurbine
- extends GT_MetaTileEntity_BasicGenerator {
+public class GT_MetaTileEntity_SteamTurbine extends GT_MetaTileEntity_BasicGenerator {
public int mEfficiency;
@@ -39,12 +38,17 @@ public class GT_MetaTileEntity_SteamTurbine
return null;
}
+ @Override
+ public String[] getDescription() {
+ return new String[]{mDescription, "Fuel Efficiency: " + (600 / getEfficiency()) + "%"};
+ }
+
public int getCapacity() {
return 24000 * this.mTier;
}
public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SteamTurbine.efficiency.tier." + this.mTier, (200 / consumedFluidPerOperation(GT_ModHandler.getSteam(1L))));
+ this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SteamTurbine.efficiency.tier." + this.mTier, 6 + this.mTier);
}
public int getEfficiency() {
@@ -52,15 +56,16 @@ public class GT_MetaTileEntity_SteamTurbine
}
public int getFuelValue(FluidStack aLiquid) {
- return GT_ModHandler.isSteam(aLiquid) ? 1 : 0;
+ return GT_ModHandler.isSteam(aLiquid) ? 3 : 0;
}
public int consumedFluidPerOperation(FluidStack aLiquid) {
- return 2 + this.mTier;
+ return this.mEfficiency;
}
public ITexture[] getFront(byte aColor) {
- return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
+ return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT),
+ Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
public ITexture[] getBack(byte aColor) {
@@ -80,7 +85,8 @@ public class GT_MetaTileEntity_SteamTurbine
}
public ITexture[] getFrontActive(byte aColor) {
- return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
+ return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT_ACTIVE),
+ Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
public ITexture[] getBackActive(byte aColor) {
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java
index 137ebacfd1..315207d601 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java
@@ -30,7 +30,6 @@ public class GT_MetaTileEntity_Disassembler
if (tNBT != null) {
tNBT = tNBT.getCompoundTag("GT.CraftingComponents");
if (tNBT != null) {
- getInputAt(0).stackSize -= 1;
this.mEUt = (16 * (1 << this.mTier - 1) * (1 << this.mTier - 1));
this.mMaxProgresstime = 80;
for (int i = 0; i < this.mOutputItems.length; i++) {
@@ -41,6 +40,10 @@ public class GT_MetaTileEntity_Disassembler
}
}
}
+ if(mMaxProgresstime==80){
+ return 0;
+ }
+ getInputAt(0).stackSize -= 1;
return 2;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
index 948ab8eede..da08f3253c 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
@@ -12,6 +12,8 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Config;
import net.minecraftforge.fluids.FluidStack;
+import static gregtech.api.enums.GT_Values.V;
+
public class GT_MetaTileEntity_Massfabricator
extends GT_MetaTileEntity_BasicMachine {
public static int sUUAperUUM = 1;
@@ -40,11 +42,21 @@ public class GT_MetaTileEntity_Massfabricator
Materials.UUAmplifier.mChemicalFormula = ("Mass Fabricator Eff/Speed Bonus: x" + sUUASpeedBonus);
}
+ @Override
+ public long maxAmperesIn() {
+ return 10;
+ }
+
+ @Override
+ public long maxEUStore() {
+ return V[mTier] * 512;
+ }
+
public int checkRecipe() {
FluidStack tFluid = getDrainableStack();
if ((tFluid == null) || (tFluid.amount < getCapacity())) {
this.mOutputFluid = Materials.UUMatter.getFluid(1L);
- this.mEUt = ((int) gregtech.api.enums.GT_Values.V[this.mTier]);
+ this.mEUt = (((int) gregtech.api.enums.GT_Values.V[1]) * (int)Math.pow(2, this.mTier + 2));
this.mMaxProgresstime = (sDurationMultiplier / (1 << this.mTier - 1));
if (((tFluid = getFillableStack()) != null) && (tFluid.amount >= sUUAperUUM) && (tFluid.isFluidEqual(Materials.UUAmplifier.getFluid(1L)))) {
tFluid.amount -= sUUAperUUM;
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MonsterRepellent.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MonsterRepellent.java
index 88434e315f..2ba2cd140b 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MonsterRepellent.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MonsterRepellent.java
@@ -17,7 +17,7 @@ public class GT_MetaTileEntity_MonsterRepellent extends GT_MetaTileEntity_Tiered
public int mRange = 16;
public GT_MetaTileEntity_MonsterRepellent(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier, 0, "Reprells nasty Creatures. Range: " + (4 + (12 * aTier)) + " unpowered / " + (16 + (48 * aTier)) + " powered");
+ super(aID, aName, aNameRegional, aTier, 0, "Repels nasty Creatures. Range: " + (4 + (12 * aTier)) + " unpowered / " + (16 + (48 * aTier)) + " powered");
}
public GT_MetaTileEntity_MonsterRepellent(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
index b1ba0101e0..6aabea8286 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
@@ -203,7 +203,6 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
getBaseMetaTileEntity().getWorld().setBlock(getBaseMetaTileEntity().getXCoord(), y, getBaseMetaTileEntity().getZCoord(),
GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L)));
getBaseMetaTileEntity().decrStackSize(0, 1);
-
}
return y;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
index 2ff6e9f093..90746e3fbd 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
@@ -134,6 +134,20 @@ public class GT_MetaTileEntity_Scanner
return 2;
}
}
+ if (getSpecialSlot() == null && ItemList.Tool_DataStick.isStackEqual(aStack, false, true)) {
+ if (GT_Utility.ItemNBT.getBookTitle(aStack).equals("Raw Prospection Data")) {
+ GT_Utility.ItemNBT.setBookTitle(aStack, "Analyzed Prospection Data");
+ GT_Utility.ItemNBT.convertProspectionData(aStack);
+ aStack.stackSize -= 1;
+
+ this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{aStack});
+ this.mMaxProgresstime = (1000 / (1 << this.mTier - 1));
+ this.mEUt = (32 * (1 << this.mTier - 1) * (1 << this.mTier - 1));
+ return 2;
+
+ }
+ }
+
}
return 0;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java
index 0410c92717..e49a1bbe60 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java
@@ -160,7 +160,7 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
public boolean isGivingInformation() {
return true;
}
-
+
public String[] getInfoData() {
return new String[]{"Coordinates:", "X: " + this.mTargetX, "Y: " + this.mTargetY, "Z: " + this.mTargetZ, "Dimension: " + this.mTargetD};
@@ -431,4 +431,4 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
return null;
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
index 5e0d539a52..e4a7d0dff5 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
@@ -36,8 +36,7 @@ public class GT_MetaTileEntity_AssemblyLine
public String[] getDescription() {
return new String[]{"Assembly line",
"Size: 3x(2-16)x4, variable length",
- "Bottom: Steel Casing(or Maintenance or Input Hatch), +",
- "Input Bus(Last Output Bus), Steel Casing",
+ "Bottom: Steel Casing(or Maintenance or Input Hatch), Input Bus(Last Output Bus), Steel Casing",
"Middle: Reinforced Glass, Assembling Line, Reinforced Glass",
"UpMiddle: Grate Casing(or Controller), Assembling Casing, Grate Casing",
"Top: Steel Casing(or Energy Hatch)",
@@ -228,4 +227,4 @@ public class GT_MetaTileEntity_AssemblyLine
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java
index affc22220a..5d17de69d4 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java
@@ -43,7 +43,11 @@ public class GT_MetaTileEntity_BronzeBlastFurnace
}
public String[] getDescription() {
- return new String[]{"To get your first Steel", "Multiblock: 3x3x4 hollow with opening on top", "32 Bronze Plated Bricks required"};
+ return new String[]{
+ "Controller Block for the Bronze Blast Furnace",
+ "How to get your first Steel",
+ "Size(WxHxD): 3x4x3 (Hollow, with opening on top)",
+ "Bronze Plated Bricks for the rest (32 at least!)"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
@@ -338,4 +342,4 @@ public class GT_MetaTileEntity_BronzeBlastFurnace
public byte getTileEntityBaseType() {
return 0;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
index 5174e7d062..d1274c0cc0 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
@@ -1,5 +1,10 @@
package gregtech.common.tileentities.machines.multi;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+import org.apache.commons.lang3.ArrayUtils;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -36,11 +41,12 @@ public class GT_MetaTileEntity_DistillationTower
public String[] getDescription() {
return new String[]{
"Controller Block for the Distillation Tower",
- "Size: 3x3x6 (Hollow)", "Controller (front bottom)",
- "1x Input Hatch (bottom)",
- "5x Output Hatch (one each height level besides botton)",
- "1x Output Bus (Botton)", "1x Energy Hatch (anywhere)",
- "1x Maintenance Hatch (anywhere)",
+ "Size(WxHxD): 3x6x3 (Hollow), Controller (Front bottom)",
+ "1x Input Hatch (Any bottom layer casing)",
+ "5x Output Hatch (Any casing besides bottom layer)",
+ "1x Output Bus (Any bottom layer casing)",
+ "1x Maintenance Hatch (Any casing)",
+ "1x Energy Hatch (Any casing)",
"Clean Stainless Steel Casings for the rest (26 at least!)"};
}
@@ -69,12 +75,28 @@ public class GT_MetaTileEntity_DistillationTower
public boolean checkRecipe(ItemStack aStack) {
+ ArrayList<FluidStack> tFluidList = getStoredFluids();
+ for (int i = 0; i < tFluidList.size() - 1; i++) {
+ for (int j = i + 1; j < tFluidList.size(); j++) {
+ if (GT_Utility.areFluidsEqual((FluidStack) tFluidList.get(i), (FluidStack) tFluidList.get(j))) {
+ if (((FluidStack) tFluidList.get(i)).amount >= ((FluidStack) tFluidList.get(j)).amount) {
+ tFluidList.remove(j--);
+ } else {
+ tFluidList.remove(i--);
+ break;
+ }
+ }
+ }
+ }
+
long tVoltage = getMaxInputVoltage();
byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
- if (this.mInputHatches.size() > 0 && this.mInputHatches.get(0) != null && this.mInputHatches.get(0).mFluid != null && this.mInputHatches.get(0).mFluid.amount > 0) {
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistillationRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{this.mInputHatches.get(0).mFluid}, new ItemStack[]{});
+ FluidStack[] tFluids = (FluidStack[]) Arrays.copyOfRange(tFluidList.toArray(new FluidStack[tFluidList.size()]), 0, tFluidList.size());
+ if (tFluids.length > 0) {
+ for(int i = 0;i<tFluids.length;i++){
+ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistillationRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{tFluids[i]}, new ItemStack[]{});
if (tRecipe != null) {
- if (tRecipe.isRecipeInputEqual(true, new FluidStack[]{this.mInputHatches.get(0).mFluid}, new ItemStack[]{})) {
+ if (tRecipe.isRecipeInputEqual(true, tFluids, new ItemStack[]{})) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
if (tRecipe.mEUt <= 16) {
@@ -93,9 +115,11 @@ public class GT_MetaTileEntity_DistillationTower
}
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0)};
- this.mOutputFluids = tRecipe.mFluidOutputs;
+ this.mOutputFluids = tRecipe.mFluidOutputs.clone();
+ ArrayUtils.reverse(mOutputFluids);
updateSlots();
return true;
+ }
}
}
}
@@ -130,7 +154,7 @@ public class GT_MetaTileEntity_DistillationTower
}
}
}
- if (this.mInputHatches.size() != 1 || this.mOutputBusses.size() != 1 || this.mInputBusses.size() != 0 || this.mOutputHatches.size() != 5) {
+ if (this.mOutputBusses.size() != 1 || this.mInputBusses.size() != 0 || this.mOutputHatches.size() != 5) {
return false;
}
int height = this.getBaseMetaTileEntity().getYCoord();
@@ -179,4 +203,4 @@ public class GT_MetaTileEntity_DistillationTower
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
index 9a8d3cd419..c3139a9b92 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
@@ -35,7 +35,16 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
}
public String[] getDescription() {
- return new String[]{"Controller Block for the Blast Furnace", "Size: 3x3x4 (Hollow)", "Controller (front middle at bottom)", "16x Heating Coils (two middle Layers, hollow)", "1x Input (one of bottom)", "1x Output (one of bottom)", "1x Energy Hatch (one of bottom)", "1x Maintenance Hatch (one of bottom)", "1x Muffler Hatch (top middle)", "Heat Proof Machine Casings for the rest"};
+ return new String[]{
+ "Controller Block for the Blast Furnace",
+ "Size(WxHxD): 3x4x3 (Hollow), Controller (Front middle bottom)",
+ "16x Heating Coils (Two middle Layers, hollow)",
+ "1x Input (Any bottom layer casing)",
+ "1x Output (Any bottom layer casing)",
+ "1x Energy Hatch (Any bottom layer casing)",
+ "1x Maintenance Hatch (Any bottom layer casing)",
+ "1x Muffler Hatch (Top middle)",
+ "Heat Proof Machine Casings for the rest"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
@@ -121,7 +130,7 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
return false;
}
- private boolean checkMachineFunction(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
@@ -145,9 +154,6 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
case 14:
this.mHeatingCapacity = 3600;
break;
- case 15:
- this.mHeatingCapacity = 9000;
- break;
default:
return false;
}
@@ -194,12 +200,6 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
return true;
}
- public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack){
- boolean result= this.checkMachineFunction(aBaseMetaTileEntity,aStack);
- if (!result) this.mHeatingCapacity=0;
- return result;
- }
-
public int getMaxEfficiency(ItemStack aStack) {
return 10000;
}
@@ -219,11 +219,4 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-
-
- @Override
- public String[] getInfoData() {
- return new String[]{"Heating Capacity: " + (this.mHeatingCapacity) + "K", "Progress:", (mProgresstime / 20) + " secs", (mMaxProgresstime / 20) + " secs", "Efficiency: " + (mEfficiency / 100.0F) + "%", "Problems: " + (getIdealStatus() - getRepairStatus())};
- }
-
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
index 53eaa5e8c9..7d950a490b 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
@@ -440,4 +440,28 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-}
+
+ @Override
+ public String[] getInfoData() {
+ String tier = tier() == 6 ? "I" : tier() == 7 ? "II" : "III";
+ float plasmaOut = 0;
+ int powerRequired = 0;
+ if (this.mLastRecipe != null) {
+ powerRequired = this.mLastRecipe.mEUt;
+ if (this.mLastRecipe.getFluidOutput(0) != null) {
+ plasmaOut = (float)this.mLastRecipe.getFluidOutput(0).amount / (float)this.mLastRecipe.mDuration;
+ }
+ }
+
+ return new String[]{
+ "Fusion Reactor MK "+tier,
+ "EU Required: "+powerRequired+"EU/t",
+ "Stored EU: "+mEUStore+" / "+maxEUStore(),
+ "Plasma Output: "+plasmaOut+"L/t"};
+ }
+
+ @Override
+ public boolean isGivingInformation() {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java
index 5ff14b89bb..0127a4332a 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java
@@ -38,15 +38,14 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc
public String[] getDescription() {
return new String[]{
"Controller Block for the Heat Exchanger",
- "Size: 3x3x4",
- "Controller (front middle at bottom)",
+ "Size(WxHxD): 3x4x3, Controller (Front middle at bottom)",
"3x3x4 of Stable Titanium Casing (hollow, Min 24!)",
- "2 Titanium Pipe Casing Blocks inside the Hollow Casing",
- "1x Distillated Water Input (one of the Casings)",
- "min 1 Steam Output (one of the Casings)",
- "1x Maintenance Hatch (one of the Casings)",
- "1x Hot Fluid Input (botton Center)",
- "1x Cold Fluid Output (top Center)"};
+ "2 Titanium Pipe Casing Blocks (Inside the Hollow Casing)",
+ "1x Distillated Water Input (Any casing)",
+ "min 1 Steam Output (Any casing)",
+ "1x Hot Fluid Input (Bottom center)",
+ "1x Cold Fluid Output (Top Center)",
+ "1x Maintenance Hatch (Any casing)"};
}
@Override
@@ -288,4 +287,4 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_HeatExchanger(this.mName);
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
index 51519575aa..5ae5b5710b 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
@@ -33,7 +33,15 @@ public class GT_MetaTileEntity_ImplosionCompressor
}
public String[] getDescription() {
- return new String[]{"Controller Block for the Implosion Compressor", "Size: 3x3x3 (Hollow)", "Controller (front centered)", "1x Input (anywhere)", "1x Output (anywhere)", "1x Energy Hatch (anywhere)", "1x Maintenance Hatch (anywhere)", "1x Muffler Hatch (anywhere)", "Solid Steel Casings for the rest (16 at least!)"};
+ return new String[]{
+ "Controller Block for the Implosion Compressor",
+ "Size(WxHxD): 3x3x3 (Hollow), Controller (Front centered)",
+ "1x Input Bus (Any casing)",
+ "1x Output Bus (Any casing)",
+ "1x Maintenance Hatch (Any casing)",
+ "1x Muffler Hatch (Any casing)",
+ "1x Energy Hatch (Any casing)",
+ "Solid Steel Casings for the rest (16 at least!)"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
@@ -144,4 +152,4 @@ public class GT_MetaTileEntity_ImplosionCompressor
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
index f19f5718d7..ff6a43067a 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
@@ -32,7 +32,18 @@ public abstract class GT_MetaTileEntity_LargeBoiler
}
public String[] getDescription() {
- return new String[]{"Controller Block for the Large Boiler", "Size: 3x3x5", "Controller (front middle in Fireboxes)", "3x3 of Fire Boxes (bottom Layer, Min 3!)", "3x3x4 of Casing (above Fireboxes, hollow, Min 24!)", "3 Pipe Casing Blocks inside the Hollow Casing", "1x Input (one of Fireboxes)", "1x Maintenance Hatch (one of Fireboxes)", "1x Muffler Hatch (one of Fireboxes)", "1x Fluid Output (one of Main Casing)","Produces "+getEUt()*40+"L/sec steam","Runs "+(runtimeBoost(20)/20f)+" sec per coal of fuel","Refined liquid fuels have 1/4 efficiency"};
+ return new String[]{
+ "Controller Block for the Large Boiler",
+ "Produces "+(getEUt()*40)*(runtimeBoost(20)/20f)+"L of Steam/sec for 1 Coal",
+ "Size(WxHxD): 3x5x3, Controller (Front middle in Fireboxes)",
+ "3x1x3 of Fire Boxes (Bottom layer, Min 3)",
+ "3x4x3 of Casing (Above Fireboxes, hollow, Min 24!)",
+ "3 Pipe Casing Blocks (Inside the Hollow Casing)",
+ "1x Input Hatch/Bus (Any Firebox)",
+ "1x Output Hatch (Any Firebox)",
+ "1x Maintenance Hatch (Any Firebox)",
+ "1x Muffler Hatch (Any Firebox)",
+ "Refined liquid fuels have 1/4 efficiency"};
}
public abstract Block getCasingBlock();
@@ -227,4 +238,4 @@ public abstract class GT_MetaTileEntity_LargeBoiler
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
index 0219aa846f..6fc32f8c34 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
@@ -63,4 +63,4 @@ public class GT_MetaTileEntity_LargeBoiler_Titanium
int runtimeBoost(int mTime) {
return mTime * 130 / 100;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java
index c22ca41474..458b65bda0 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java
@@ -20,6 +20,8 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M
protected int baseEff = 0;
protected int optFlow = 0;
+ protected int realOptFlow = 0;
+ protected int storedFluid = 0;
protected int counter = 0;
public GT_MetaTileEntity_LargeTurbine(int aID, String aName, String aNameRegional) {
@@ -204,10 +206,12 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M
return new String[]{
"Large Turbine",
tRunning,
- "Current output: "+mEUt+" EU/t",
- "Current speed: "+(mEfficiency/100)+"%",
- tMaintainance,
- "Turbine Damage: "+tDura+"%"};
+ "Current Output: "+mEUt+" EU/t",
+ "Optimal Flow: "+realOptFlow+" L/t",
+ "Fuel Remaining: "+storedFluid+"L",
+ "Current Speed: "+(mEfficiency/100)+"%",
+ "Turbine Damage: "+tDura+"%",
+ tMaintainance};
}
@Override
@@ -215,4 +219,4 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M
return true;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
index a914ab3a12..0e59e9e9c3 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
@@ -35,13 +35,13 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
public String[] getDescription() {
return new String[]{
"Controller Block for the Large Gas Turbine",
- "Size: 3x4x3 (Hollow)", "Controller (front centered)",
- "1x Input Hatch (side centered)",
- "1x Dynamo Hatch (back centered)",
- "1x Maintenance Hatch (side centered)",
- "1x Muffler Hatch (side centered)",
- "Stainless Steel Turbine Casings for the rest (24 at least!)",
- "Needs a Turbine Item (inside controller GUI)"};
+ "Size(WxHxD): 3x3x4 (Hollow), Controller (Front centered)",
+ "1x Input Hatch (Side centered)",
+ "1x Maintenance Hatch (Side centered)",
+ "1x Muffler Hatch (Side centered)",
+ "1x Dynamo Hatch (Back centered)",
+ "Titanium Turbine Casings for the rest (24 at least!)",
+ "Needs a Turbine Item (Inside controller GUI)"};
}
public int getFuelValue(FluidStack aLiquid) {
@@ -89,6 +89,7 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
FluidStack firstFuelType = new FluidStack(aFluids.get(0), 0); // Identify a SINGLE type of fluid to process. Doesn't matter which one. Ignore the rest!
int fuelValue = getFuelValue(firstFuelType);
actualOptimalFlow = (int) (aOptFlow / fuelValue);
+ this.realOptFlow = actualOptimalFlow;
int remainingFlow = (int) (actualOptimalFlow * 1.25f); // Allowed to use up to 125% of optimal flow. Variable required outside of loop for multi-hatch scenarios.
int flow = 0;
@@ -99,6 +100,7 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
flow = aFluids.get(i).amount; // Get all (steam) in hatch
flow = Math.min(flow, Math.min(remainingFlow, (int) (actualOptimalFlow * 1.25f))); // try to use up to 125% of optimal flow w/o exceeding remainingFlow
depleteInput(new FluidStack(aFluids.get(i), flow)); // deplete that amount
+ this.storedFluid = aFluids.get(i).amount;
remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches
totalFlow += flow; // track total input used
}
@@ -124,4 +126,4 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java
index 3b39651a0d..3321efd9e0 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java
@@ -34,12 +34,13 @@ public class GT_MetaTileEntity_LargeTurbine_HPSteam extends GT_MetaTileEntity_La
public String[] getDescription() {
return new String[]{
"Controller Block for the Large High Pressure Steam Turbine",
- "Size: 3x4x3 (Hollow)", "Controller (front centered)",
- "1x Input Hatch (side centered)", "1x Output Hatch(side centered)",
- "1x Dynamo Hatch (back centered)",
- "1x Maintenance Hatch (side centered)",
+ "Size(WxHxD): 3x3x4 (Hollow), Controller (Front centered)",
+ "1x Input Hatch (Side centered)",
+ "1x Maintenance Hatch (Side centered)",
+ "1x Muffler Hatch (Side centered)",
+ "1x Dynamo Hatch (Back centered)",
"Stainless Steel Turbine Casings for the rest (24 at least!)",
- "Needs a Turbine Item (inside controller GUI)"};
+ "Needs a Turbine Item (Inside controller GUI)"};
}
@Override
@@ -73,6 +74,7 @@ public class GT_MetaTileEntity_LargeTurbine_HPSteam extends GT_MetaTileEntity_La
int totalFlow = 0; // Byproducts are based on actual flow
int flow = 0;
int remainingFlow = (int) (aOptFlow * 1.25f); // Allowed to use up to 125% of optimal flow
+ this.realOptFlow = (aOptFlow / 2);
for (int i = 0; i < aFluids.size() && remainingFlow > 0; i++) {
String fluidName = aFluids.get(i).getFluid().getUnlocalizedName(aFluids.get(i));
@@ -80,6 +82,7 @@ public class GT_MetaTileEntity_LargeTurbine_HPSteam extends GT_MetaTileEntity_La
flow = aFluids.get(i).amount; // Get all (steam) in hatch
flow = Math.min(flow, Math.min(remainingFlow, (int) (aOptFlow * 1.25f))); // try to use up to 125% of optimal flow w/o exceeding remainingFlow
depleteInput(new FluidStack(aFluids.get(i), flow)); // deplete that amount
+ this.storedFluid = aFluids.get(i).amount;
remainingFlow -= flow; // track amount we're allowed to keep depleting from hatches
totalFlow += flow; // track total used
if (!achievement) {
@@ -109,4 +112,4 @@ public class GT_MetaTileEntity_LargeTurbine_HPSteam extends GT_MetaTileEntity_La
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java
index c72e880783..2880c609a9 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java
@@ -35,12 +35,13 @@ public class GT_MetaTileEntity_LargeTurbine_Plasma extends GT_MetaTileEntity_Lar
public String[] getDescription() {
return new String[]{
"Controller Block for the Large Plasma Generator",
- "Size: 3x4x3 (Hollow)", "Controller (front centered)",
- "1x Input Hatch (side centered)",
- "1x Dynamo Hatch (back centered)",
- "1x Maintenance Hatch (side centered)",
+ "Size(WxHxD): 3x3x4 (Hollow), Controller (Front centered)",
+ "1x Input Hatch (Side centered)",
+ "1x Maintenance Hatch (Side centered)",
+ "1x Muffler Hatch (Side centered)",
+ "1x Dynamo Hatch (Back centered)",
"Tungstensteel Turbine Casings for the rest (24 at least!)",
- "Needs a Turbine Item (inside controller GUI)"};
+ "Needs a Turbine Item (Inside controller GUI)"};
}
public int getFuelValue(FluidStack aLiquid) {
@@ -90,6 +91,7 @@ public class GT_MetaTileEntity_LargeTurbine_Plasma extends GT_MetaTileEntity_Lar
FluidStack firstFuelType = new FluidStack(aFluids.get(0), 0); // Identify a SINGLE type of fluid to process. Doesn't matter which one. Ignore the rest!
int fuelValue = getFuelValue(firstFuelType);
actualOptimalFlow = (int) ((aOptFlow + fuelValue - 1) / fuelValue);
+ this.realOptFlow = (aOptFlow / fuelValue); // For scanner info
int remainingFlow = (int) (actualOptimalFlow * 1.25f); // Allowed to use up to 125% of optimal flow. Variable required outside of loop for multi-hatch scenarios.
int flow = 0;
@@ -100,6 +102,7 @@ public class GT_MetaTileEntity_LargeTurbine_Plasma extends GT_MetaTileEntity_Lar
flow = aFluids.get(i).amount; // Get all (steam) in hatch
flow = Math.min(flow, Math.min(remainingFlow, (int) (actualOptimalFlow * 1.25f))); // try to use up to 125% of optimal flow w/o exceeding remainingFlow
depleteInput(new FluidStack(aFluids.get(i), flow)); // deplete that amount
+ this.storedFluid = aFluids.get(i).amount;
remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches
totalFlow += flow; // track total input used
}
@@ -125,4 +128,4 @@ public class GT_MetaTileEntity_LargeTurbine_Plasma extends GT_MetaTileEntity_Lar
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
index 534f53c36b..6cf3897ebb 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
@@ -36,12 +36,13 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
public String[] getDescription() {
return new String[]{
"Controller Block for the Large Steam Turbine",
- "Size: 3x4x3 (Hollow)", "Controller (front centered)",
- "1x Input Hatch (side centered)", "1x Output Hatch(side centered)",
- "1x Dynamo Hatch (back centered)",
- "1x Maintenance Hatch (side centered)",
+ "Size(WxHxD): 3x3x4 (Hollow), Controller (Front centered)",
+ "1x Input Hatch (Side centered)",
+ "1x Maintenance Hatch (Side centered)",
+ "1x Muffler Hatch (Side centered)",
+ "1x Dynamo Hatch (Back centered)",
"Turbine Casings for the rest (24 at least!)",
- "Needs a Turbine Item (inside controller GUI)"};
+ "Needs a Turbine Item (Inside controller GUI)"};
}
@Override
@@ -82,6 +83,7 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
int totalFlow = 0; // Byproducts are based on actual flow
int flow = 0;
int remainingFlow = (int) (aOptFlow * 1.25f); // Allowed to use up to 125% of optimal flow. Variable required outside of loop for multi-hatch scenarios.
+ this.realOptFlow = ((aOptFlow / 2) / 2);
for (int i = 0; i < aFluids.size() && remainingFlow > 0; i++) { // loop through each hatch; extract inputs and track totals.
String fluidName = aFluids.get(i).getFluid().getUnlocalizedName(aFluids.get(i));
@@ -89,6 +91,7 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
flow = aFluids.get(i).amount; // Get all (steam) in hatch
flow = Math.min(flow, Math.min(remainingFlow, (int) (aOptFlow * 1.25f))); // try to use up to 125% of optimal flow w/o exceeding remainingFlow
depleteInput(new FluidStack(aFluids.get(i), flow)); // deplete that amount
+ this.storedFluid = aFluids.get(i).amount;
remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches
totalFlow += flow; // track total input used
if (!achievement) {
@@ -115,4 +118,4 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg
return tEU;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
index 32ae0a678a..efd69309d5 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
@@ -34,7 +34,17 @@ public class GT_MetaTileEntity_MultiFurnace
}
public String[] getDescription() {
- return new String[]{"Smelts up to 8-256 Items at once", "Controller Block for the Multi Smelter", "Size: 3x3x3 (Hollow)", "Controller (front middle at bottom)", "8x Coil Blocks (middle Layer, hollow)", "1x Input (one of bottom)", "1x Output (one of bottom)", "1x Energy Hatch (one of bottom)", "1x Maintenance Hatch (one of bottom)", "1x Muffler Hatch (top middle)", "Heat Proof Machine Casings for the rest"};
+ return new String[]{
+ "Controller Block for the Multi Smelter",
+ "Smelts up to 6-18 Items at once",
+ "Size(WxHxD): 3x3x3 (Hollow), Controller (Front middle at bottom)",
+ "8x Heating Coils (Middle layer, hollow)",
+ "1x Input Bus (One of bottom)",
+ "1x Output Bus (One of bottom)",
+ "1x Maintenance Hatch (One of bottom)",
+ "1x Muffler Hatch (Top middle)",
+ "1x Energy Hatch (One of bottom)",
+ "Heat Proof Machine Casings for the rest",};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
@@ -66,8 +76,8 @@ public class GT_MetaTileEntity_MultiFurnace
byte tTier = (byte) Math.max(1, GT_Utility.getTier(getMaxInputVoltage()));
int j = 0;
- this.mOutputItems = new ItemStack[8 * this.mLevel];
- for (int i = 0; (i < 256) && (j < this.mOutputItems.length); i++) {
+ this.mOutputItems = new ItemStack[6 * this.mLevel];
+ for (int i = 0; (i < 100) && (j < this.mOutputItems.length); i++) {
if (null != (this.mOutputItems[j] = GT_ModHandler.getSmeltingOutput((ItemStack) tInputList.get(i % tInputList.size()), true, null))) {
j++;
}
@@ -76,7 +86,7 @@ public class GT_MetaTileEntity_MultiFurnace
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
- this.mEUt = (-5 * (1 << tTier - 1) * (1 << tTier - 1) * Math.min(this.mLevel,8));
+ this.mEUt = (-4 * (1 << tTier - 1) * (1 << tTier - 1) * this.mLevel);
this.mMaxProgresstime = Math.max(1, 512 / (1 << tTier - 1));
}
updateSlots();
@@ -85,7 +95,7 @@ public class GT_MetaTileEntity_MultiFurnace
return false;
}
- private boolean checkMachineFunction(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
@@ -98,16 +108,13 @@ public class GT_MetaTileEntity_MultiFurnace
byte tUsedMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + 1, 1, zDir);
switch (tUsedMeta) {
case 12:
- this.mLevel = 1;//8 at once
+ this.mLevel = 1;
break;
case 13:
- this.mLevel = 2;//16 at once
+ this.mLevel = 2;
break;
case 14:
- this.mLevel = 4;//32 at once
- break;
- case 15://Superconductor Coil Block Support
- this.mLevel = 32;//4 stacks at once
+ this.mLevel = 3;
break;
default:
return false;
@@ -148,12 +155,6 @@ public class GT_MetaTileEntity_MultiFurnace
return true;
}
- public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack){
- boolean result= this.checkMachineFunction(aBaseMetaTileEntity,aStack);
- if (!result) this.mLevel=0;
- return result;
- }
-
public int getMaxEfficiency(ItemStack aStack) {
return 10000;
}
@@ -173,10 +174,4 @@ public class GT_MetaTileEntity_MultiFurnace
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-
- @Override
- public String[] getInfoData() {
-
- return new String[]{"Parallel smelting: " + this.mLevel*8, "Progress:", (mProgresstime / 20) + " secs", (mMaxProgresstime / 20) + " secs", "Efficiency: " + (mEfficiency / 100.0F) + "%", "Problems: " + (getIdealStatus() - getRepairStatus())};
- }
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
index 8d46c43e85..036709e038 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
@@ -37,16 +37,16 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
}
public String[] getDescription() {
- return new String[]{"Controller Block for the Processing Array",
- "Size: 3x3x3 (Hollow)",
- "Controller (front centered)",
- "1x Input (anywhere)",
- "1x Output (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Maintenance Hatch (anywhere)",
+ return new String[]{
+ "Controller Block for the Processing Array",
+ "Runs supplied machines as if placed in the world",
+ "Size(WxHxD): 3x3x3 (Hollow), Controller (Front centered)",
+ "1x Input Hatch/Bus (Any casing)",
+ "1x Output Hatch/Bus (Any casing)",
+ "1x Maintenance Hatch (Any casing)",
+ "1x Energy Hatch (Any casing)",
"Robust Tungstensteel Casings for the rest (16 at least!)",
- "Place up to 64 Single Block GT Machines into the GUI Inventory",// Updated String
- "They will work the same way as placed directly in world"};
+ "Place up to 16 Single Block GT Machines into the GUI Inventory"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
@@ -107,41 +107,28 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
return GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
} else if (tmp.startsWith("arcfurnace")) {
return GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes;
- } else if (tmp.startsWith("plasmaarcfurnace")) {//OK
- return GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes;
- } else if (tmp.startsWith("press")) {//OK
- return GT_Recipe.GT_Recipe_Map.sPressRecipes;
- } else if (tmp.startsWith("polarizer")) {//OK
- return GT_Recipe.GT_Recipe_Map.sPolarizerRecipes;
- } else if (tmp.startsWith("fluidcanner")) {//OK
- return GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
- } else if (tmp.startsWith("brewer")) {//OK
+ } else if (tmp.startsWith("brewery")) {
return GT_Recipe.GT_Recipe_Map.sBrewingRecipes;
- } else if (tmp.startsWith("fluidheater")) {//OK
- return GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes;
- } else if (tmp.startsWith("distillery")) {//OK
- return GT_Recipe.GT_Recipe_Map.sDistilleryRecipes;
- } else if (tmp.startsWith("fermenter")) {//OK
+ } else if (tmp.startsWith("canner")) {
+ return GT_Recipe.GT_Recipe_Map.sCannerRecipes;
+ } else if (tmp.startsWith("cutter")) {
+ return GT_Recipe.GT_Recipe_Map.sCutterRecipes;
+ } else if (tmp.startsWith("fermenter")) {
return GT_Recipe.GT_Recipe_Map.sFermentingRecipes;
- } else if (tmp.startsWith("fluidsolidifier")) {//OK
- return GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
- } else if (tmp.startsWith("fluidextractor")) {//OK
+ } else if (tmp.startsWith("fluidextractor")) {
return GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
- } else if (tmp.startsWith("boxinator")) {//OK
+ } else if (tmp.startsWith("fluidsolidifier")) {
+ return GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
+ } else if (tmp.startsWith("lathe")) {
+ return GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+ } else if (tmp.startsWith("boxinator")) {
return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
- } else if (tmp.startsWith("unboxinator")) {//OK
+ } else if (tmp.startsWith("unboxinator")) {
return GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes;
- } else if (tmp.startsWith("canner")) {//OK
- return GT_Recipe.GT_Recipe_Map.sCannerRecipes;
- } else if (tmp.startsWith("lathe")) {//OK
- return GT_Recipe.GT_Recipe_Map.sLatheRecipes;
- } else if (tmp.startsWith("cutter")) {//OK
- return GT_Recipe.GT_Recipe_Map.sCutterRecipes;
- } else if (tmp.startsWith("slicer")) {//OK
- return GT_Recipe.GT_Recipe_Map.sSlicerRecipes;
- } else if (tmp.startsWith("amplifab")) {//OK
- return GT_Recipe.GT_Recipe_Map.sAmplifiers;
+ } else if (tmp.startsWith("polarizer")) {
+ return GT_Recipe.GT_Recipe_Map.sPolarizerRecipes;
}
+
return null;
}
@@ -212,14 +199,11 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
if (tInputList.size() > 0 || tFluids.length > 0) {
GT_Recipe tRecipe = map.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
if (tRecipe != null) {
- if (tRecipe.mFluidInputs != null) {
-
- }
mLastRecipe = tRecipe;
this.mEUt = 0;
this.mOutputItems = null;
this.mOutputFluids = null;
- int machines = Math.min(64, mInventory[1].stackSize);//Upped max cap to 64
+ int machines = Math.min(16, mInventory[1].stackSize);
int i = 0;
for (; i < machines; i++) {
if (!tRecipe.isRecipeInputEqual(true, tFluids, tInputs)) {
@@ -344,4 +328,4 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
index f5cfd16121..6bad3005b2 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
@@ -31,7 +31,15 @@ public class GT_MetaTileEntity_VacuumFreezer
}
public String[] getDescription() {
- return new String[]{"Controller Block for the Vacuum Freezer", "Size: 3x3x3 (Hollow)", "Controller (front centered)", "1x Input (anywhere)", "1x Output (anywhere)", "1x Energy Hatch (anywhere)", "1x Maintenance Hatch (anywhere)", "Frost Proof Casings for the rest (16 at least!)"};
+ return new String[]{
+ "Controller Block for the Vacuum Freezer",
+ "Super cools hot ingots and cells",
+ "Size(WxHxD): 3x3x3 (Hollow), Controller (Front centered)",
+ "1x Input Bus (Any casing)",
+ "1x Output Bus (Any casing)",
+ "1x Maintenance Hatch (Any casing)",
+ "1x Energy Hatch (Any casing)",
+ "Frost Proof Casings for the rest (16 at least!)"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
@@ -139,4 +147,4 @@ public class GT_MetaTileEntity_VacuumFreezer
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
index a920f55096..a5a0a11ac6 100644
--- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
+++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
@@ -109,6 +109,9 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_TieredMach
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) {
if (getBaseMetaTileEntity().isServerSide() && getBaseMetaTileEntity().isAllowedToWork()) {
+// if(mInventory[0]!=null)System.out.println("input: "+mInventory[0].stackSize);
+// System.out.println("store: "+mItemCount);
+// if(mInventory[0]!=null)System.out.println("output: "+mInventory[2].stackSize);
if ((getItemCount() <= 0)) {
this.mItemStack = null;
this.mItemCount = 0;