aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/bartworks/common/tileentities/multis/MTEBioVat.java10
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java45
2 files changed, 33 insertions, 22 deletions
diff --git a/src/main/java/bartworks/common/tileentities/multis/MTEBioVat.java b/src/main/java/bartworks/common/tileentities/multis/MTEBioVat.java
index 7859cc587d..b3d4347616 100644
--- a/src/main/java/bartworks/common/tileentities/multis/MTEBioVat.java
+++ b/src/main/java/bartworks/common/tileentities/multis/MTEBioVat.java
@@ -50,7 +50,9 @@ import net.minecraftforge.fluids.FluidStack;
import org.jetbrains.annotations.NotNull;
import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits;
+import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
+import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import bartworks.API.SideReference;
@@ -84,7 +86,7 @@ import gregtech.api.util.GTUtility;
import gregtech.api.util.MultiblockTooltipBuilder;
import gregtech.api.util.ParallelHelper;
-public class MTEBioVat extends MTEEnhancedMultiBlockBase<MTEBioVat> {
+public class MTEBioVat extends MTEEnhancedMultiBlockBase<MTEBioVat> implements ISurvivalConstructable {
public static final HashMap<Coords, Integer> staticColorMap = new HashMap<>();
@@ -784,6 +786,12 @@ public class MTEBioVat extends MTEEnhancedMultiBlockBase<MTEBioVat> {
}
@Override
+ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) {
+ if (mMachine) return -1;
+ return survivialBuildPiece(STRUCTURE_PIECE_MAIN, stackSize, 2, 3, 0, elementBudget, env, false, true);
+ }
+
+ @Override
public String[] getInfoData() {
final String[] baseInfoData = super.getInfoData();
final String[] infoData = new String[baseInfoData.length + 2];
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java
index 5e750d5465..5597023871 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java
@@ -248,7 +248,7 @@ public class MTEMultiSolidifier extends MTEExtendedPowerMultiBlockBase<MTEMultiS
int built = survivialBuildPiece(STRUCTURE_PIECE_MAIN, stackSize, 3, 4, 0, elementBudget, env, false, true);
if (built >= 0) return built;
int tTotalWidth = Math.min(stackSize.stackSize + 1, 6);
- for (int i = 1; i < tTotalWidth - 1; i++) {
+ for (int i = 1; i < tTotalWidth; i++) {
mWidth = i;
nWidth = i;
built = survivialBuildPiece(MS_LEFT_MID, stackSize, 3 + 2 * i, 4, 0, elementBudget, env, false, true);
@@ -256,26 +256,29 @@ public class MTEMultiSolidifier extends MTEExtendedPowerMultiBlockBase<MTEMultiS
built = survivialBuildPiece(MS_RIGHT_MID, stackSize, -2 - 2 * i, 4, 0, elementBudget, env, false, true);
if (built >= 0) return built;
}
- if (mWidth == tTotalWidth - 2) return survivialBuildPiece(
- MS_END,
- stackSize,
- (2 + tTotalWidth) * 2 - 4,
- 4,
- 0,
- elementBudget,
- env,
- false,
- true);
- else return survivialBuildPiece(
- MS_END,
- stackSize,
- (-2 - tTotalWidth) * 2 + 4,
- 4,
- 0,
- elementBudget,
- env,
- false,
- true);
+ if (mWidth == tTotalWidth - 1) {
+ built += survivialBuildPiece(
+ MS_END,
+ stackSize,
+ (3 + tTotalWidth) * 2 - 4,
+ 4,
+ 0,
+ elementBudget,
+ env,
+ false,
+ true);
+ built += survivialBuildPiece(
+ MS_END,
+ stackSize,
+ (-3 - tTotalWidth) * 2 + 4,
+ 4,
+ 0,
+ elementBudget,
+ env,
+ false,
+ true);
+ }
+ return built;
}
@Override