aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorGlease <4586901+Glease@users.noreply.github.com>2022-08-23 12:36:21 +0800
committerGitHub <noreply@github.com>2022-08-23 05:36:21 +0100
commit61bf7cd2215e844aff5f18837499cf0d40bc2a41 (patch)
tree8a4a44524cb4bff75f478e2c0f28c4ce77eb9cda /src/main
parent2663d6169157c329f079f42a6f4a8c17f52cbba5 (diff)
downloadGT5-Unofficial-61bf7cd2215e844aff5f18837499cf0d40bc2a41.tar.gz
GT5-Unofficial-61bf7cd2215e844aff5f18837499cf0d40bc2a41.tar.bz2
GT5-Unofficial-61bf7cd2215e844aff5f18837499cf0d40bc2a41.zip
fix a bunch of structure code error (#294)
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java23
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java19
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java10
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java4
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java2
8 files changed, 34 insertions, 30 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
index da38f14758..0e5027fc09 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
@@ -1622,7 +1622,28 @@ public abstract class GregtechMeta_MultiBlockBase<T extends GT_MetaTileEntity_En
return null;
}
- @Override
+ /**
+ * Deplete fluid input from a set of restricted hatches. This assumes these hatches can store nothing else but your
+ * expected fluid
+ */
+ protected boolean depleteInputFromRestrictedHatches(Collection<GT_MetaTileEntity_Hatch_CustomFluidBase> aHatches, int aAmount) {
+ for (final GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : aHatches) {
+ if (isValidMetaTileEntity(tHatch)) {
+ FluidStack tLiquid = tHatch.getFluid();
+ if (tLiquid == null || tLiquid.amount < aAmount) {
+ continue;
+ }
+ tLiquid = tHatch.drain(aAmount, false);
+ if (tLiquid != null && tLiquid.amount >= aAmount) {
+ tLiquid = tHatch.drain(aAmount, true);
+ return tLiquid != null && tLiquid.amount >= aAmount;
+ }
+ }
+ }
+ return false;
+ }
+
+ @Override
public void updateSlots() {
for (final GT_MetaTileEntity_Hatch_InputBattery tHatch : this.mChargeHatches) {
if (isValidMetaTileEntity(tHatch)) {
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
index 1d8beb6833..79025840ed 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java
@@ -106,7 +106,7 @@ public class GregtechMetaTileEntity_IndustrialArcFurnace extends GregtechMeta_Mu
.addElement(
'C',
buildHatchAdder(GregtechMetaTileEntity_IndustrialArcFurnace.class)
- .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler)
+ .atLeast(InputBus, InputHatch, OutputBus, OutputHatch, Maintenance, Energy, Muffler)
.casingIndex(getCasingTextureIndex())
.dot(1)
.buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings4Misc, 3)))
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
index 4083a0f7db..93e7ac85c6 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
@@ -89,7 +89,7 @@ public class GregtechMetaTileEntity_IndustrialCuttingMachine extends GregtechMet
.addElement(
'C',
buildHatchAdder(GregtechMetaTileEntity_IndustrialCuttingMachine.class)
- .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler)
+ .atLeast(InputBus, InputHatch, OutputBus, Maintenance, Energy, Muffler)
.casingIndex(getCasingTextureIndex())
.dot(1)
.buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 13)))
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
index 96b0c59200..c08ee159d5 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
@@ -150,23 +150,6 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
return super.checkHatch() && !mCryotheumHatches.isEmpty();
}
- private boolean depleteFuel(int aAmount) {
- for (final GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : this.mCryotheumHatches) {
- if (isValidMetaTileEntity(tHatch)) {
- FluidStack tLiquid = tHatch.getFluid();
- if (tLiquid == null || tLiquid.amount < aAmount) {
- continue;
- }
- tLiquid = tHatch.drain(aAmount, false);
- if (tLiquid != null && tLiquid.amount >= aAmount) {
- tLiquid = tHatch.drain(aAmount, true);
- return tLiquid != null && tLiquid.amount >= aAmount;
- }
- }
- }
- return false;
- }
-
private boolean addCryotheumHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) {
if (aTileEntity == null) {
return false;
@@ -268,7 +251,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
if (this.mStartUpCheck < 0) {
if (this.mMaxProgresstime > 0 && this.mProgresstime != 0 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled()) {
if (aTick % 10 == 0 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled()) {
- if (!this.depleteFuel(10)) {
+ if (!this.depleteInputFromRestrictedHatches(this.mCryotheumHatches, 10)) {
if (mGraceTimer-- == 0) {
this.causeMaintenanceIssue();
this.stopMachine();
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java
index 29f57104af..23d28bb3dc 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java
@@ -386,7 +386,7 @@ public class GregtechMetaTileEntity_SpargeTower extends GregtechMeta_MultiBlockB
built = survivialBuildPiece(STRUCTURE_PIECE_LAYER_HINT, stackSize, 1, i, 0, elementBudget, source, actor, false, true);
if (built >= 0) return built;
}
- mHeight = tTotalHeight;
+ mHeight = tTotalHeight - 1;
return survivialBuildPiece(STRUCTURE_PIECE_TOP_HINT, stackSize, 1, tTotalHeight - 1, 0, elementBudget, source, actor, false, true);
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java
index 0519c30139..bd74d51686 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java
@@ -58,7 +58,7 @@ public class GregtechMetaTileEntity_Adv_DistillationTower extends GregtechMeta_M
protected final List<List<GT_MetaTileEntity_Hatch_Output>> mOutputHatchesByLayer = new ArrayList<>();
protected int mHeight;
protected int mCasing;
- protected int mTopLayerFound;
+ protected boolean mTopLayerFound;
private static IStructureDefinition<GregtechMetaTileEntity_Adv_DistillationTower> STRUCTURE_DEFINITION = null;
@@ -147,7 +147,7 @@ public class GregtechMetaTileEntity_Adv_DistillationTower extends GregtechMeta_M
}
protected void onTopLayerFound() {
- mTopLayerFound |= 1;
+ mTopLayerFound = true;
}
@Override
@@ -205,7 +205,7 @@ public class GregtechMetaTileEntity_Adv_DistillationTower extends GregtechMeta_M
// reset
mOutputHatchesByLayer.forEach(List::clear);
mHeight = 1;
- mTopLayerFound = 0;
+ mTopLayerFound = false;
// check base
if (!checkPiece(STRUCTURE_PIECE_BASE, 1, 0, 0))
@@ -219,13 +219,13 @@ public class GregtechMetaTileEntity_Adv_DistillationTower extends GregtechMeta_M
if (mOutputHatchesByLayer.size() < mHeight || mOutputHatchesByLayer.get(mHeight - 1).isEmpty())
// layer without output hatch
return false;
- if (mTopLayerFound != 0) {
+ if (mTopLayerFound || !mMufflerHatches.isEmpty()) {
break;
}
// not top
mHeight++;
}
- return mTopLayerFound == 3 && mHeight >= 2 && checkHatch();
+ return mTopLayerFound && mHeight >= 2 && checkHatch();
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
index 6f5b18cc5f..238d641150 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -443,7 +443,7 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase<
}
- private volatile int mGraceTimer = 2;
+ private int mGraceTimer = 2;
@Override
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
@@ -452,7 +452,7 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase<
if (this.mStartUpCheck < 0) {
if (this.mMaxProgresstime > 0 && this.mProgresstime != 0 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled()) {
if (aTick % 10 == 0 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled()) {
- if (!this.depleteInput(FluidUtils.getFluidStack("pyrotheum", 5))) {
+ if (!this.depleteInputFromRestrictedHatches(this.mPyrotheumHatches, 5)) {
if (mGraceTimer-- == 0) {
this.causeMaintenanceIssue();
this.stopMachine();
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
index 59d2a89b36..8c986db704 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
@@ -117,7 +117,7 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter extends GregtechMeta_Multi
.addElement(
'C',
buildHatchAdder(GregtechMetaTileEntity_AlloyBlastSmelter.class)
- .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler)
+ .atLeast(InputBus, InputHatch, OutputBus, OutputHatch, Maintenance, Energy, Muffler)
.casingIndex(TAE.GTPP_INDEX(15))
.dot(1)
.buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 15)))