aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-01-12 16:26:50 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-01-12 16:26:50 +0000
commite77318c49d6aa5c1c626e32375fbb7331fbc804c (patch)
tree748a7f4f5b0ca445fe6b350fa0f790cb8c6e5531 /src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi
parent5821c31b6df50cfbdd64734a12fa5add1e493e1a (diff)
downloadGT5-Unofficial-e77318c49d6aa5c1c626e32375fbb7331fbc804c.tar.gz
GT5-Unofficial-e77318c49d6aa5c1c626e32375fbb7331fbc804c.tar.bz2
GT5-Unofficial-e77318c49d6aa5c1c626e32375fbb7331fbc804c.zip
% Refactored *most* Multiblock Tooltips.
% Disabled lots of debug logging. $ Greatly improved the structural checks of many multis.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java72
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java40
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java45
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java58
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java30
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java38
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java46
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java77
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java76
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java37
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java49
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java48
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java76
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java47
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java48
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java13
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java63
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java23
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java117
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_MultiTank.java9
26 files changed, 458 insertions, 591 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java
index 85a8c34900..e3c05a8388 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java
@@ -1,5 +1,6 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing;
+import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -61,16 +62,13 @@ extends GregtechMeta_MultiBlockBase {
"Only uses 90% of the eu/t normally required",
"Processes six items per voltage tier",
"Size: 3x3x3 (Hollow)",
- "Controller (Front Center) [Orange]",
- "1x Maintenance Hatch (Rear Center) [Green]",
- "The rest can be placed anywhere except the Front [Red]",
+ "Centrifuge Casings (10 at least)",
+ "Controller (Front Center)",
"1x Input Hatch",
"1x Output Hatch",
"1x Input Bus",
"1x Output Bus",
- "1x Muffler Hatch",
- "1x Energy Hatch [Blue]",
- "Centrifuge Casings for the rest (10 at least)",
+ "1x Energy Hatch",
};
}
@@ -128,59 +126,35 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkMultiblock(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
- /*if (ConfigSwitches.disableCentrifugeFormation){
- EntityPlayerMP player = MinecraftServer.getServer().getConfigurationManager().func_152612_a(this.getBaseMetaTileEntity().getOwnerName());
- if (!player.getEntityWorld().isRemote && isDisabled == false)
- PlayerUtils.messagePlayer(player, "This Multiblock is disabled via the config. [Only re-enable if you're bugtesting.]");
- isDisabled = true;
- return false;
- }*/
- final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
- final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
- //Utils.LOG_WARNING("X:"+xDir+" Z:"+zDir);
- if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
- return false;
- }
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
int tAmount = 0;
- for (int i = -1; i < 2; i++) { //X-Dir
- for (int j = -1; j < 2; j++) { //Z-Dir
- for (int h = -1; h < 2; h++) { //Y-Dir
- if ((h != 0) || ((((xDir + i) != 0) || ((zDir + j) != 0)) && ((i != 0) || (j != 0)))) {
-
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- //Utils.LOG_WARNING("X:"+tTileEntity.getXCoord()+" Y:"+tTileEntity.getYCoord()+" Z:"+tTileEntity.getZCoord());
- if ((!this.addToMachineList(tTileEntity, getCasingTextureIndex())) && (!this.addInputToMachineList(tTileEntity, getCasingTextureIndex())) && (!this.addOutputToMachineList(tTileEntity, getCasingTextureIndex())) && (!this.addEnergyInputToMachineList(tTileEntity, getCasingTextureIndex()))) {
-
- //Maintenance Hatch
- if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
- if ((tTileEntity.getXCoord() == aBaseMetaTileEntity.getXCoord()) && (tTileEntity.getYCoord() == aBaseMetaTileEntity.getYCoord()) && (tTileEntity.getZCoord() == (aBaseMetaTileEntity.getZCoord()+2))) {
- if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Maintenance)) {
- Logger.WARNING("MAINT HATCH IN CORRECT PLACE");
- this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) tTileEntity.getMetaTileEntity());
- ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = this.getCasingTextureIndex();
- } else {
- return false;
- }
- }
- else {
- Logger.WARNING("MAINT HATCH IN WRONG PLACE");
- }
- }
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasingsMisc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 0) {
+ if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
+ return false;
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, getCasingTextureIndex(), true, aBlock, aMeta,
+ ModBlocks.blockCasingsMisc, 0)) {
+ Logger.INFO("Bad centrifuge casing");
return false;
}
- tAmount++;
+ ++tAmount;
}
}
}
}
+ return tAmount >= 10;
}
- return tAmount >= 10;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java
index 94ebdef132..4d048b5903 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java
@@ -10,6 +10,7 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.Recipe_GT;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
@@ -46,16 +47,14 @@ extends GregtechMeta_MultiBlockBase {
"Process 12x materials with Heat Resistant Casings",
"Or 24x materials with Heat Proof Casings",
"Size: 3x3x3 (Hollow)",
+ "Structural Coke Oven Casings (8 at least!)",
"Controller (front middle at bottom)",
"8x Heat Resistant/Proof Coke Oven Casings (middle Layer, hollow)",
- "1x Input Hatch (one of bottom)",
- "1x Output Hatch (one of bottom)",
- "1x Input Bus (one of bottom)",
- "1x Output Bus (one of bottom)",
- "1x Energy Hatch (one of bottom) [EV or better recommended]",
- "1x Maintenance Hatch (one of bottom)",
- "1x Muffler Hatch (top middle)",
- "Structural Coke Oven Casings for the rest",
+ "1x Input Hatch",
+ "1x Output Hatch",
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Energy Hatch"
};
}
@@ -121,7 +120,6 @@ extends GregtechMeta_MultiBlockBase {
if (!aBaseMetaTileEntity.getAirOffset(xDir, 1, zDir)) {
return false;
}
- this.addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 2, zDir), TAE.GTPP_INDEX(1));
final byte tUsedMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + 1, 1, zDir);
switch (tUsedMeta) {
@@ -137,16 +135,14 @@ extends GregtechMeta_MultiBlockBase {
for (int i = -1; i < 2; i++) {
for (int j = -1; j < 2; j++) {
if ((i != 0) || (j != 0)) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != ModBlocks.blockCasingsMisc) {
+ final IGregTechTileEntity tTileEntity2 = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 2, zDir + j);
+ if (!isValidBlockForStructure(null, TAE.GTPP_INDEX(1), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j), ModBlocks.blockCasingsMisc, tUsedMeta)) {
+ Logger.INFO("Heating Coils missing.");
return false;
}
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != tUsedMeta) {
- return false;
- }
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != ModBlocks.blockCasingsMisc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j) != 1) {
+
+ if (!isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(1), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j), ModBlocks.blockCasingsMisc, 1)) {
+ Logger.INFO("Casings missing from top layer of coke oven.");
return false;
}
}
@@ -156,13 +152,9 @@ extends GregtechMeta_MultiBlockBase {
for (int j = -1; j < 2; j++) {
if (((xDir + i) != 0) || ((zDir + j) != 0)) {
final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0, zDir + j);
- if ((!this.addMaintenanceToMachineList(tTileEntity, TAE.GTPP_INDEX(1))) && (!this.addInputToMachineList(tTileEntity, TAE.GTPP_INDEX(1))) && (!this.addOutputToMachineList(tTileEntity, TAE.GTPP_INDEX(1))) && (!this.addEnergyInputToMachineList(tTileEntity, TAE.GTPP_INDEX(1)))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j) != ModBlocks.blockCasingsMisc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j) != 1) {
- return false;
- }
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(1), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j), ModBlocks.blockCasingsMisc, 1)) {
+ Logger.INFO("Casings missing from bottom layer of coke oven.");
+ return false;
}
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
index 0dddcbcce1..e627e99aa7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java
@@ -15,7 +15,6 @@ import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
@@ -47,13 +46,12 @@ extends GregtechMeta_MultiBlockBase {
"Only uses 75% of the eu/t normally required",
"Processes four items per voltage tier",
"Size: 3x3x5 [WxHxL] (Hollow)", "Controller (front centered)",
- "1x Input Bus (side centered)",
- "1x Output Bus (side centered)",
- "1x Energy Hatch (top or bottom centered)",
- "1x Input Hatch (top or bottom centered)",
- "1x Muffler Hatch (top)",
- "1x Maintenance Hatch (back centered)",
- "Cutting Factory Frames for the rest (26 at least!)"
+ "Cutting Factory Frames (26 at least!)",
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Input Hatch",
+ "1x Energy Hatch",
+ "Maintenance Hatch must be at the back, centered",
};
}
@@ -119,30 +117,23 @@ extends GregtechMeta_MultiBlockBase {
for (byte i = -1; i < 2; i = (byte) (i + 1)) {
for (byte j = -1; j < 2; j = (byte) (j + 1)) {
if ((i != 0) || (j != 0)) {
- for (byte k = 0; k < 5; k = (byte) (k + 1)) {
- if (((i == 0) || (j == 0)) && ((k == 1) || (k == 2) || (k == 3))) {
- if ((this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingBlock()) && (this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingMeta())) {
- }
- else if (!this.addToMachineList(this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i))) && (!this.addEnergyInputToMachineList(this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i))))) {
- Logger.INFO("False 2");
+ for (byte k = 0; k < 5; k = (byte) (k + 1)) {
+ Block aBlock = this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ int aMeta = this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ IGregTechTileEntity aTile = this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(), getCasingMeta())) {
+ Logger.INFO("Bad Casing on Cutting Machine.");
return false;
- }
- }
- else if ((this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingBlock()) && (this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingMeta())) {
- }
- else {
- Logger.INFO("False 3");
- return false;
- }
+ }
}
}
}
}
- if ((this.mOutputHatches.size() != 0)) {
- Logger.INFO("Use Busses, Not Hatches for Output.");
+ if ((this.mOutputHatches.size() != 0) || (this.mInputHatches.size() != 0)) {
+ Logger.INFO("Use Busses, Not Hatches for Input/Output.");
return false;
}
- if ((this.mInputBusses.size() < 1) || (this.mOutputBusses.size() < 1)) {
+ if ((this.mInputBusses.size() == 0) || (this.mOutputBusses.size() == 0)) {
Logger.INFO("Incorrect amount of Input & Output busses.");
return false;
}
@@ -157,8 +148,8 @@ extends GregtechMeta_MultiBlockBase {
return false;
}
}
- if ((this.mMaintenanceHatches.size() != 1) || (this.mMufflerHatches.size() < 1) || (this.mEnergyHatches.size() < 1)) {
- Logger.INFO("Incorrect amount of Maintenance or Energy or Muffler hatches.");
+ if ((this.mMaintenanceHatches.size() != 1)) {
+ Logger.INFO("Incorrect amount of Maintenance or Energy hatches.");
return false;
}
} else {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java
index 5af8ec027a..aca635fa84 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java
@@ -8,6 +8,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
@@ -44,15 +45,13 @@ extends GregtechMeta_MultiBlockBase {
"Only uses 90% of the eu/t normally required",
"Processes two items per voltage tier",
"Size: 3x3x3 (Hollow)",
+ "Electrolyzer Casings for the rest (10 at least!)",
"Controller (front centered)",
- "1x Input Bus (anywhere)",
- "1x Output Bus (anywhere)",
- "1x Input Hatch (anywhere)",
- "1x Output Hatch (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Maintenance Hatch (anywhere)",
- "1x Muffler (anywhere)",
- "Electrolyzer Casings for the rest (10 at least!)"
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Input Hatch",
+ "1x Output Hatch",
+ "1x Energy Hatch",
};
}
@@ -121,38 +120,35 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkMultiblock(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
- /*if (mBluePrint == null) {
- mBluePrint = new Blueprint_Electrolyzer();
- }
- return mBluePrint.checkMachine(aBaseMetaTileEntity);*/
-
- final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
- final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int tAmount = 0;
+
if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
return false;
- }
-
- int tAmount = 0;
- for (int i = -1; i < 2; i++) {
- for (int j = -1; j < 2; j++) {
- for (int h = -1; h < 2; h++) {
- if ((h != 0) || ((((xDir + i) != 0) || ((zDir + j) != 0)) && ((i != 0) || (j != 0)))) {
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- if ((!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(5)))) {
- final Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
- final byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
- if (((tBlock != ModBlocks.blockCasingsMisc) || (tMeta != 5))) {
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(5), true, aBlock, aMeta,
+ ModBlocks.blockCasingsMisc, 5)) {
+ Logger.INFO("Bad Electrolyzer casing");
return false;
}
- tAmount++;
+ ++tAmount;
+
}
}
}
}
+ return tAmount >= 10;
}
- return tAmount >= 10;
-
-
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
index 76c738ffe7..0b1691358c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java
@@ -52,14 +52,13 @@ extends GregtechMeta_MultiBlockBase {
"Each Input Bus can have a different shape!",
"You can use several input busses per multiblock",
"Size: 3x3x5 [WxHxL] (Hollow)",
+ "Inconel Reinforced Casings (28 at least!)",
"Controller (front centered)",
- "Busses & Hatches cannot replace edge casings",
- "1x Input Bus (anywhere)",
- "1x Output Bus (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Muffler Hatch (anywhere)",
- "1x Maintenance Hatch (Back Center)",
- "Inconel Reinforced Casings for the rest (28 at least!)"
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Input Hatch",
+ "1x Energy Hatch",
+ "Maintenance Hatch must be at the back, centered",
};
}
@@ -160,18 +159,15 @@ extends GregtechMeta_MultiBlockBase {
for (byte j = -1; j < 2; j = (byte) (j + 1)) {
if ((i != 0) || (j != 0)) {
for (byte k = 0; k < 5; k = (byte) (k + 1)) {
- //if (((i == 0) || (j == 0)) && ((k == 1) || (k == 2) || (k == 3))) {
- if ((this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingBlock()) && (this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingMeta())) {
- }
- else if (!this.addToMachineList(this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)), getCasingTextureIndex()) && (!this.addEnergyInputToMachineList(this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)), getCasingTextureIndex()))) {
- Logger.WARNING("False 2");
+
+ Block aBlock = this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ int aMeta = this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ IGregTechTileEntity aTile = this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(), getCasingMeta())) {
+ Logger.INFO("Bad Casing on Extruder.");
return false;
}
- /*}
- else {
- Logger.WARNING("False 3");
- return false;
- }*/
+
}
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java
index 1b393989cd..93593ad0a8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java
@@ -52,13 +52,11 @@ extends GregtechMeta_MultiBlockBase {
"ULV = Tier 0, LV = Tier 1, etc.",
"-------------------------------------------------------",
"Size[WxHxL]: 3x6x3 (Hollow)",
+ "Maceration Stack Casings (26 at least!)",
"Controller (Center Bottom)",
"1x Input Bus (Any bottom layer casing)",
"5x Output Bus (One per layer except bottom layer)",
- "1x Maintenance Hatch (Any casing)",
- "1x Energy Hatch (Any casing)",
- "1x Muffler Hatch (Any casing)",
- "Maceration Stack Casings for the rest (26 at least!)"
+ "1x Energy Hatch (Any bottom layer casing)",
};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java
index 1d78f048c4..c4ef545b09 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java
@@ -67,14 +67,12 @@ extends GregtechMeta_MultiBlockBase {
"250% faster than using single block machines of the same voltage",
"Processes eight recipes per voltage tier",
"Size: 3x4x3 (LxHxW)",
- "Controller (front centered)",
- "1x Input Bus (anywhere)",
- "1x Output Bus (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Maintenance Hatch (anywhere)",
- "1x Muffler Hatch (anywhere)",
- mCasingName+"s for the rest (16 at least!)",
+ mCasingName+"s (16 at least!)",
mCasingName2+"s for the internal blocks (2)",
+ "Controller (front centered)",
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Energy Hatch",
};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
index fdfb395a0c..e6a043f29f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
@@ -169,30 +169,36 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkMultiblock(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
- final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
- final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int tAmount = 0;
+
if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
return false;
- }
- int tAmount = 0;
- for (int i = -1; i < 2; i++) {
- for (int j = -1; j < 2; j++) {
- for (int h = -1; h < 2; h++) {
- if ((h != 0) || ((((xDir + i) != 0) || ((zDir + j) != 0)) && ((i != 0) || (j != 0)))) {
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- if (!this.addToMachineList(tTileEntity, getTextureIndex())) {
- final Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
- final byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
- if (((tBlock != ModBlocks.blockCasings3Misc) || (tMeta != 2))) {
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, getTextureIndex(), true, aBlock, aMeta,
+ ModBlocks.blockCasings3Misc, 2)) {
+ Logger.INFO("Bad centrifuge casing");
return false;
}
- tAmount++;
+ ++tAmount;
+
}
}
}
}
- }
- return tAmount >= 6 && this.mMufflerHatches.size() > 0;
+ return tAmount >= 6;
+ }
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java
index e3eceab2a2..0939a9e6be 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java
@@ -12,6 +12,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.PlayerUtils;
@@ -55,13 +56,11 @@ public class GregtechMetaTileEntity_IndustrialPlatePress extends GregtechMeta_Mu
"Circuit for recipe goes in the Input Bus",
"Each Input Bus can have a different Circuit/Shape!",
"Size: 3x3x3 (Hollow)",
+ "Material Press Machine Casings (10 at least!)",
"Controller (front centered)",
- "1x Input Bus (anywhere)",
- "1x Output Bus (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Maintenance Hatch (anywhere)",
- "1x Muffler Hatch (anywhere)",
- "Material Press Machine Casings for the rest (12 at least!)"
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Energy Hatch",
};
}
@@ -133,30 +132,35 @@ public class GregtechMetaTileEntity_IndustrialPlatePress extends GregtechMeta_Mu
@Override
public boolean checkMultiblock(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
- final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
- final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int tAmount = 0;
+
if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
return false;
- }
- int tAmount = 0;
- for (int i = -1; i < 2; i++) {
- for (int j = -1; j < 2; j++) {
- for (int h = -1; h < 2; h++) {
- if ((h != 0) || ((((xDir + i) != 0) || ((zDir + j) != 0)) && ((i != 0) || (j != 0)))) {
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- if ((!this.addMaintenanceToMachineList(tTileEntity, TAE.GTPP_INDEX(4))) && (!this.addMufflerToMachineList(tTileEntity, TAE.GTPP_INDEX(4))) && (!this.addInputToMachineList(tTileEntity, TAE.GTPP_INDEX(4))) && (!this.addOutputToMachineList(tTileEntity, TAE.GTPP_INDEX(4))) && (!this.addEnergyInputToMachineList(tTileEntity, TAE.GTPP_INDEX(4)))) {
- final Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
- final byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
- if (((tBlock != ModBlocks.blockCasingsMisc) || (tMeta != 4))) {
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, 4, true, aBlock, aMeta,
+ ModBlocks.blockCasingsMisc, 4)) {
+ Logger.INFO("Bad material press casing");
return false;
}
- tAmount++;
+ ++tAmount;
+
}
}
}
}
+ return tAmount >= 10;
}
- return tAmount >= 12;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java
index b0ee87ea13..bd36e4429e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java
@@ -131,7 +131,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkMultiblock(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
- Logger.MACHINE_INFO("Checking structure for Industrial Sifter.");
+ log("Checking structure for Industrial Sifter.");
final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2;
final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2;
@@ -157,31 +157,21 @@ extends GregtechMeta_MultiBlockBase {
// Sifter Floor/Roof inner 3x3
if (((i != -2) && (i != 2)) && ((j != -2) && (j != 2))) {
if (h != 0){
- if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(21))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Sifter Casing(s) Missing from one of the "+sHeight+" layers inner 3x3.");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 6) {
- Logger.MACHINE_INFO("Sifter Casing(s) Missing from one of the "+sHeight+" layers inner 3x3. Wrong Meta for Casing. Found:"+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName()+" with meta:"+aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j));
- return false;
- }
+
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(21), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasings2Misc, 6)) {
+ log("Sifter Casing(s) Missing from one of the "+sHeight+" layers inner 3x3.");
+ log("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ return false;
}
+
}
- else {
- if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(21))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Sifter Casing(s) Missing from one of the "+sHeight+" layers inner 3x3.");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 5) {
- Logger.MACHINE_INFO("Sifter Casing(s) Missing from one of the "+sHeight+" layers inner 3x3. Wrong Meta for Casing. Found:"+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName()+" with meta:"+aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j));
- return false;
- }
- tAmount++;
+ else {
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(21), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasings2Misc, 5)) {
+ log("Sifter Casing(s) Missing from one of the "+sHeight+" layers inner 3x3.");
+ log("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ return false;
}
+ tAmount++;
}
}
else {
@@ -193,32 +183,19 @@ extends GregtechMeta_MultiBlockBase {
}
else {
checkController = false;
- }
-
- if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(21))) {
- if (!checkController){
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
+ }
+ if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(21))) {
+ if (!checkController){
+ if (!isValidBlockForStructure(null, TAE.GTPP_INDEX(21), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasings2Misc, 5)) {
if ((tTileEntity instanceof GregtechMetaTileEntity_IndustrialSifter) || (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) == GregTech_API.sBlockMachines)){
if (h != 0){
- Logger.MACHINE_INFO("Found a secondary controller at the wrong Y level.");
+ log("Found a secondary controller at the wrong Y level.");
return false;
}
}
else {
- Logger.MACHINE_INFO("Sifter Casings Missing from somewhere in the "+sHeight+" layer edge.");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- return false;
- }
- }
-
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 5) {
- if ((tTileEntity instanceof GregtechMetaTileEntity_IndustrialSifter) || (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) == GregTech_API.sBlockMachines)){
-
- }
- else {
- Logger.MACHINE_INFO("Sifter Casings Missing from somewhere in the "+sHeight+" layer edge.");
- Logger.MACHINE_INFO("Incorrect Meta value for block, expected 5.");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j)+".");
+ log("Sifter Casings Missing from somewhere in the "+sHeight+" layer edge.");
+ log("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
}
@@ -234,11 +211,11 @@ extends GregtechMeta_MultiBlockBase {
}
if ((this.mInputBusses.size() < 1) || (this.mOutputBusses.size() < 4)
|| (this.mMaintenanceHatches.size() != 1) || (this.mEnergyHatches.size() < 1)) {
- Logger.MACHINE_INFO("Returned False 3");
- Logger.MACHINE_INFO("Input Buses: "+this.mInputBusses.size()+" | expected: 1");
- Logger.MACHINE_INFO("Output Buses: "+this.mOutputBusses.size()+" | expected: 4");
- Logger.MACHINE_INFO("Energy Hatches: "+this.mEnergyHatches.size()+" | expected: 1");
- Logger.MACHINE_INFO("Maint. hatches: "+this.mMaintenanceHatches.size()+" | expected: 1");
+ log("Returned False 3");
+ log("Input Buses: "+this.mInputBusses.size()+" | expected: 1");
+ log("Output Buses: "+this.mOutputBusses.size()+" | expected: 4");
+ log("Energy Hatches: "+this.mEnergyHatches.size()+" | expected: 1");
+ log("Maint. hatches: "+this.mMaintenanceHatches.size()+" | expected: 1");
return false;
}
final int height = this.getBaseMetaTileEntity().getYCoord();
@@ -249,7 +226,7 @@ extends GregtechMeta_MultiBlockBase {
if (tmpHatches[i] == null) {
tmpHatches[i] = this.mOutputBusses.get(i);
} else {
- Logger.MACHINE_INFO("Returned False 5 - "+this.mOutputBusses.size());
+ log("Returned False 5 - "+this.mOutputBusses.size());
return false;
}
}
@@ -258,7 +235,7 @@ extends GregtechMeta_MultiBlockBase {
this.mOutputBusses.add(tmpHatches[i]);
}
- Logger.MACHINE_INFO("Industrial Sifter - Structure Built? "+(tAmount>=35));
+ log("Industrial Sifter - Structure Built? "+(tAmount>=35));
return tAmount >= 35;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
index dc928e3bfb..fd23e04c5f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
@@ -44,14 +44,13 @@ extends GregtechMeta_MultiBlockBase {
"150% faster than using single block machines of the same voltage",
"Only uses 80% of the eu/t normally required",
"Processes eight items per voltage tier",
- "Size: 3x2x3 [WxHxL]", "Controller (front centered, top layer)",
+ "Size: 3x2x3 [WxHxL]",
+ "Thermal processing Casings (8 at least!)",
+ "Noise Hazard Sign Blocks also count as valid casings",
+ "Controller (front centered, top layer)",
"1x Input Bus (Any bottom layer casing)",
"1x Output Bus (Any bottom layer casing)",
- "1x Maintenance Hatch (Any bottom layer casing)",
- "1x Muffler Hatch (Casing under controller)",
"1x Energy Hatch (Any bottom layer casing)",
- "Thermal processing Casings for the rest (8 at least!)",
- "Noise Hazard Sign Blocks also count as valid casings",
};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
index 7b3b652c92..240cf657cd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
@@ -1,27 +1,27 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing;
-import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.FluidStack;
+import static gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes;
+import static gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes_GT;
import gregtech.api.enums.TAE;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.Recipe_GT;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
+import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
-import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
-import gregtech.api.util.Recipe_GT;
-import static gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map.*;
-
-import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.enums.Textures;
-import gregtech.api.interfaces.ITexture;
-import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidStack;
public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta_MultiBlockBase {
@@ -69,14 +69,14 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
"Super cools hot ingots and cells",
"Processes four Vacuum Freezer Recipes at 200% speed",
"Consumes 1L of "+mCryoFuelName+"/t during operation",
- "Size(WxHxD): 3x3x3 (Hollow), Controller (Front centered)",
- "1x Input Bus (Any casing)",
- "1x Output Bus (Any casing)",
- "1x Input Hatch (Any casing, optional)",
- "1x Output Hatch (Any casing, optional)",
- "1x Maintenance Hatch (Any casing)",
- "1x Energy Hatch (Any casing)",
+ "Size(WxHxD): 3x3x3 (Hollow)",
mCasingName+"s for the rest (10 at least!)",
+ "Controller (Front centered)",
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Input Hatch",
+ "1x Output Hatch (optional)",
+ "1x Energy Hatch",
};
}
@@ -136,32 +136,34 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
}
public boolean checkMultiblock(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
- final int xDir = ForgeDirection.getOrientation((int) aBaseMetaTileEntity.getBackFacing()).offsetX;
- final int zDir = ForgeDirection.getOrientation((int) aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int tAmount = 0;
if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
return false;
- }
- int tAmount = 0;
- for (int i = -1; i < 2; ++i) {
- for (int j = -1; j < 2; ++j) {
- for (int h = -1; h < 2; ++h) {
- if (h != 0 || ((xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0))) {
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity
- .getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- if (!this.addToMachineList(tTileEntity, CASING_TEXTURE_ID)) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings3Misc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 10) {
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, CASING_TEXTURE_ID, true, aBlock, aMeta,
+ ModBlocks.blockCasings3Misc, 10)) {
+ Logger.INFO("Bad centrifuge casing");
return false;
}
++tAmount;
+
}
}
}
}
+ return tAmount >= 10;
}
- return tAmount >= 10;
}
public int getMaxEfficiency(final ItemStack aStack) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java
index 172c293235..ce1fe57e63 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java
@@ -64,8 +64,6 @@ extends GregtechMeta_MultiBlockBase {
"1x Input Bus (Any casing)",
"1x Input Hatch (Any casing)",
"1x Output Bus (Any casing)",
- "1x Muffler Hatch (Any casing)",
- "1x Maintenance Hatch (Any casing)",
"1x Energy Hatch (Any casing)",
"Wash Plant Casings for the rest"
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
index 0510a554c8..bf33892420 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java
@@ -47,16 +47,16 @@ extends GregtechMeta_MultiBlockBase {
"200% faster than using single block machines of the same voltage",
"Only uses 75% of the eu/t normally required",
"Processes four items per voltage tier",
- "Size: 3x3x5 [WxHxL] (Hollow)", "Controller (front centered)",
- "2x Input Bus (side centered)",
- "2x Output Bus (side centered)",
- "1x Energy Hatch (top or bottom centered)",
- "1x Muffler Hatch (top or bottom centered)",
- "1x Maintenance Hatch (back centered)",
- "Wire Factory Casings for the rest (32 at least!)"
+ "Size: 3x3x5 [WxHxL] (Hollow)",
+ "Wire Factory Casings (32 at least!)",
+ "Controller (front centered)",
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Energy Hatch",
+ "Maintenance Hatch must be at the back, centered",
};
}
-
+
@Override
public String getSound() {
return GregTech_API.sSoundList.get(Integer.valueOf(204));
@@ -124,21 +124,14 @@ extends GregtechMeta_MultiBlockBase {
for (byte i = -1; i < 2; i = (byte) (i + 1)) {
for (byte j = -1; j < 2; j = (byte) (j + 1)) {
if ((i != 0) || (j != 0)) {
- for (byte k = 0; k < 5; k = (byte) (k + 1)) {
- //if (((i == 0) || (j == 0)) && ((k == 1) || (k == 2) || (k == 3))) {
- if ((this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingBlock()) && (this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingMeta())) {
- }
- else if (!this.addToMachineList(this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i))) && (!this.addEnergyInputToMachineList(this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i))))) {
- Logger.INFO("False 2");
+ for (byte k = 0; k < 5; k = (byte) (k + 1)) {
+ Block aBlock = this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ int aMeta = this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ IGregTechTileEntity aTile = this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i));
+ if (!isValidBlockForStructure(aTile, getCasingTextureIndex(), true, aBlock, aMeta, getCasingBlock(), getCasingMeta())) {
+ Logger.INFO("Bad Casing on Wiremill.");
return false;
- }
- /*}
- else if ((this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingBlock()) && (this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingMeta())) {
- }
- else {
- Logger.INFO("False 3");
- return false;
- }*/
+ }
}
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
index f21c4e0554..305ed1b64d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -104,17 +104,19 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
return new String[] { "Controller Block for the Advanced Electric Blast Furnace",
"120% faster than using an equal tier EBF", "Only uses 90% of the eu/t normally required",
- "Processes upto 8 recipes at once", "Consumes 10L of " + mHotFuelName + "/s during operation",
+ "Processes upto 8 recipes at once",
+ "Consumes 10L of " + mHotFuelName + "/s during operation",
+ "Each 900K over the min. Heat Capacity grants 5% speedup (multiplicatively)",
+ "Each 1800K over the min. Heat Capacity allows for one upgraded overclock",
+ "Upgraded overclocks reduce recipe time to 25% and increase EU/t to 400%",
"Size(WxHxD): 3x4x3 (Hollow), Controller (Front middle bottom)",
- "16x Heating Coils (Two middle Layers, hollow)", "1x " + mHatchName + " (Any bottom layer casing)",
- "1x Input Hatch/Bus (Any bottom layer casing)", "1x Output Hatch/Bus (Any bottom layer casing)",
- "1x Energy Hatch (Any bottom layer casing)", "1x Maintenance Hatch (Any bottom layer casing)",
- "1x Muffler Hatch (Top middle)",
+ "16x Heating Coils (Two middle Layers, hollow)",
+ "1x " + mHatchName,
+ "1x Input Hatch/Bus",
+ "1x Output Hatch/Bus (Bottom Layer)",
"1x Output Hatch to recover CO2/CO/SO2 (optional, any top layer casing),",
" Recovery scales with Muffler Hatch tier", mCasingName + "s for the rest",
- "Each 900K over the min. Heat Capacity grants 5% speedup (multiplicatively)",
- "Each 1800K over the min. Heat Capacity allows for one upgraded overclock",
- "Upgraded overclocks reduce recipe time to 25% and increase EU/t to 400%"
+ "1x Energy Hatch",
};
}
@@ -254,34 +256,21 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
}
if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != tUsedMeta) {
return false;
- }
- if (!addOutputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j),
- CASING_TEXTURE_ID)) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j) != ModBlocks.blockCasings3Misc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j) != 11) {
- return false;
- }
- }
+ }
+ if (!isValidBlockForStructure(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j), CASING_TEXTURE_ID, true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j), ModBlocks.blockCasings3Misc, 11)) {
+ Logger.INFO("Matter Fabricator Casings Missing from one of the top layers inner 3x3.");
+ return false;
+ }
}
}
}
for (int i = -1; i < 2; i++) {
for (int j = -1; j < 2; j++) {
if ((xDir + i != 0) || (zDir + j != 0)) {
- IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0,
- zDir + j);
- if ((!addMaintenanceToMachineList(tTileEntity, CASING_TEXTURE_ID))
- && (!addInputToMachineList(tTileEntity, CASING_TEXTURE_ID))
- && (!addOutputToMachineList(tTileEntity, CASING_TEXTURE_ID))
- && (!addEnergyInputToMachineList(tTileEntity, CASING_TEXTURE_ID))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j) != ModBlocks.blockCasings3Misc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j) != 11) {
- return false;
- }
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0,zDir + j);
+ if (!isValidBlockForStructure(tTileEntity, CASING_TEXTURE_ID, true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j), ModBlocks.blockCasings3Misc, 11)) {
+ Logger.INFO("Matter Fabricator Casings Missing from one of the top layers inner 3x3.");
+ return false;
}
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
index 3f292b8313..78dd5e8b7a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
@@ -9,6 +9,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
@@ -48,13 +50,12 @@ extends GregtechMeta_MultiBlockBase {
return new String[]{
"Controller Block for the Advanced Implosion Compressor",
"Processes upto ((Tier/2)+1) recipes at once",
- "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)",
- mCasingName+"s for the rest (16 at least!)"
+ "Size(WxHxD): 3x3x3 (Hollow)",
+ mCasingName+"s (10 at least!)",
+ "Controller (Front centered)",
+ "1x Input Bus",
+ "1x Output Bus",
+ "1x Energy Hatch",
};
}
@@ -103,32 +104,35 @@ extends GregtechMeta_MultiBlockBase {
}
}
- public boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
+ public boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int tAmount = 0;
if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
return false;
- }
- int tAmount = 0;
- for (int i = -1; i < 2; i++) {
- for (int j = -1; j < 2; j++) {
- for (int h = -1; h < 2; h++) {
- if ((h != 0) || (((xDir + i != 0) || (zDir + j != 0)) && ((i != 0) || (j != 0)))) {
- IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
-
- if ((!addMaintenanceToMachineList(tTileEntity, 48)) && (!addMufflerToMachineList(tTileEntity, 48)) && (!addInputToMachineList(tTileEntity, 48)) && (!addOutputToMachineList(tTileEntity, 48)) && (!addEnergyInputToMachineList(tTileEntity, 48))) {
- Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
- byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
- if ((tBlock != sBlockCasings4) || (tMeta != 0)) {
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, 48, true, aBlock, aMeta,
+ sBlockCasings4, 0)) {
+ Logger.INFO("Bad centrifuge casing");
return false;
}
- tAmount++;
+ ++tAmount;
+
}
}
}
}
+ return tAmount >= 10;
}
- return tAmount >= 16;
}
public int getMaxEfficiency(ItemStack aStack) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
index 038b8f9297..a39bc5d31b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java
@@ -4,6 +4,7 @@ import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
+import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -127,16 +128,25 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase {
@Override
public String[] getTooltip() {
- return new String[] { "Highly Advanced Autocrafter", "Right Click with a Screwdriver to change mode",
+ return new String[] {
+ "Highly Advanced Autocrafter",
+ "Right Click with a Screwdriver to change mode",
"This Machine Can Autocraft, Assemble, Disassemble or Circuit Assemble",
"200% faster than using single block machines of the same voltage",
- "Processes two items per voltage tier", "--------------------------------------",
- "Insert a Memory stick into the GUI", "to automate a crafting table recipe",
- "Requires recipe to be scanned in a project table", "--------------------------------------",
- "Size: 3x3x3 (Hollow)", "1x Input Bus", "1x Input Hatch", "1x Output Bus", "1x Output Hatch",
- "1x Muffler Hatch", "1x Maintenance Hatch", "1x Energy Hatch",
- "Hatches & Busses can be placed anywhere", "Rest is Autocrafter Frame",
- "--------------------------------------",
+ "Processes two items per voltage tier",
+ "--------------------------------------",
+ "Insert a Memory stick into the GUI",
+ "to automate a crafting table recipe",
+ "Requires recipe to be scanned in a project table",
+ "--------------------------------------",
+ "Size: 3x3x3 (Hollow)",
+ "Autocrafter Frame (10 at least!)",
+ "Controller (Front Center)",
+ "1x Input Bus",
+ "1x Input Hatch",
+ "1x Output Bus",
+ "1x Output Hatch",
+ "1x Energy Hatch",
};
}
@@ -153,51 +163,41 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack p1) {
- final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
- final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int tAmount = 0;
+
if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
return false;
- }
- int tAmount = 0;
- for (int i = -1; i < 2; ++i) {
- for (int j = -1; j < 2; ++j) {
- for (int h = -1; h < 2; ++h) {
- if (h != 0 || ((xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0))) {
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity
- .getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(28))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h,
- zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.WARNING("Bad Block. Found "
- + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- Logger.WARNING("Block Found at x:" + (aBaseMetaTileEntity.getXCoord() + xDir + i)
- + " | y:" + (aBaseMetaTileEntity.getYCoord() + h) + " | z:"
- + (aBaseMetaTileEntity.getZCoord() + zDir + j));
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 12) {
- Logger.WARNING("Bad Meta.");
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(28), true, aBlock, aMeta,
+ ModBlocks.blockCasings2Misc, 12)) {
+ Logger.INFO("Bad Autcrafter casing");
return false;
}
++tAmount;
+
}
}
}
}
}
- if ((this.mInputHatches.size() == 0) || (this.mOutputHatches.size() == 0) || (this.mInputBusses.size() == 0)
- || (this.mOutputBusses.size() == 0) || (this.mMufflerHatches.size() != 1)
- || (this.mMaintenanceHatches.size() != 1) || (this.mEnergyHatches.size() == 0)) {
+ if ((this.mMaintenanceHatches.size() != 1) || (this.mEnergyHatches.size() == 0)) {
Logger.WARNING("Wrong Hatch count.");
- Logger.WARNING("|" + this.mInputHatches.size() + "|" + this.mOutputHatches.size() + "|"
- + this.mInputBusses.size() + "|" + this.mOutputBusses.size() + "|" + this.mMufflerHatches.size()
- + "|" + this.mMaintenanceHatches.size() + "|" + this.mEnergyHatches.size() + "|");
return false;
}
-
// mInventoryCrafter = new CraftingHelper(this);
- return tAmount >= 16;
+ return tAmount >= 10;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
index 2cbb4a9fd2..6103375bcf 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
@@ -16,6 +16,7 @@ import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.general.ItemLavaFilter;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
+import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
@@ -192,15 +193,14 @@ extends GregtechMeta_MultiBlockBase
{
return new String[]{
"Thermal Boiler Controller",
- "Converts Heat into Steam",
+ "Converts Water & Heat into Steam",
+ "Consult user manual for more information",
"Size: 3x3x3 (Hollow)",
+ "Thermal Containment Casings (10 at least!)",
"Controller (front middle)",
- "2x Output Hatch/Bus",
"2x Input Hatch",
- "1x Maintenance Hatch",
- "Thermal Containment Casings for the rest",
- "Use 2 Output Hatches by default, change one to a Bus if filtering Lava",
- "Consult user manual for more information",
+ "1x Output Hatch (Steam)",
+ "1x Output Bus (Filter results, optional)",
};
}
@@ -215,32 +215,35 @@ extends GregtechMeta_MultiBlockBase
@Override
public boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack arg1) {
- final int xDir = ForgeDirection.getOrientation((int) aBaseMetaTileEntity.getBackFacing()).offsetX;
- final int zDir = ForgeDirection.getOrientation((int) aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int tAmount = 0;
+
if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
return false;
- }
- int tAmount = 0;
- for (int i = -1; i < 2; ++i) {
- for (int j = -1; j < 2; ++j) {
- for (int h = -1; h < 2; ++h) {
- if (h != 0 || ((xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0))) {
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity
- .getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(1))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 11) {
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, 1, true, aBlock, aMeta,
+ ModBlocks.blockCasings2Misc, 11)) {
+ Logger.INFO("Bad Thermal Boiler casing");
return false;
}
++tAmount;
+
}
}
}
}
+ return tAmount >= 10;
}
- return tAmount >= 10;
}
public boolean damageFilter(){
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java
index d72a8da0fc..ee3207a4aa 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityGeneratorArray.java
@@ -17,6 +17,7 @@ import gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
+import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
@@ -46,13 +47,13 @@ public class GregtechMetaTileEntityGeneratorArray extends GregtechMeta_MultiBloc
return new String[]{
"Controller Block for the Generator Array",
"Runs supplied generators 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 Machine Casings for the rest (16 at least!)",
- "Place up to 16 Single Block GT Generators into the Controller Inventory",
+ "Size(WxHxD): 3x3x3 (Hollow)",
+ "Robust Tungstensteel Machine Casings (10 at least!)",
+ "Place up to 16 Single Block GT Generators into the Controller",
+ "Controller (Front centered)",
+ "1x Input Hatch/Bus",
+ "1x Output Hatch/Bus",
+ "1x Energy Hatch",
};
}
@@ -207,32 +208,35 @@ public class GregtechMetaTileEntityGeneratorArray extends GregtechMeta_MultiBloc
}
@Override
- public boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
+ public boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ int tAmount = 0;
if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
return false;
- }
- int tAmount = 0;
- for (int i = -1; i < 2; i++) {
- for (int j = -1; j < 2; j++) {
- for (int h = -1; h < 2; h++) {
- if ((h != 0) || (((xDir + i != 0) || (zDir + j != 0)) && ((i != 0) || (j != 0)))) {
- IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- if ((!addMaintenanceToMachineList(tTileEntity, 48)) && (!addInputToMachineList(tTileEntity, 48)) && (!addOutputToMachineList(tTileEntity, 48)) && (!addDynamoToMachineList(tTileEntity, 48))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != GregTech_API.sBlockCasings4) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 0) {
+ } else {
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || (xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i,
+ h, zDir + j);
+ Block aBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ int aMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+
+ if (!isValidBlockForStructure(tTileEntity, 48, true, aBlock, aMeta,
+ GregTech_API.sBlockCasings4, 0)) {
+ Logger.INFO("Bad centrifuge casing");
return false;
}
- tAmount++;
+ ++tAmount;
+
}
}
}
}
+ return tAmount >= 10;
}
- return tAmount >= 16;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
index 4eec84439f..9081e6bc64 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
@@ -10,7 +10,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energ
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.block.ModBlocks;
@@ -55,18 +54,6 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
public String[] getTooltip() {
return new String[]{
"THIS MULTIBLOCK IS DISABLED - DO NOT BUILD",
- "Controller Block for the Tree Farmer",
- "How to get your first logs without an axe.",
- "Size(WxHxD): 15x2x15",
- "Purple: Farm Keeper Blocks",
- "Dark Purple: Dirt/Grass/Podzol/Humus",
- "Light Blue: Fence/Fence Gate",
- "Blue/Yellow: Controller",
- "1x Input Bus (anywhere)",
- "1x Output Bus (anywhere)",
- "1x Input Hatch (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Maintenance Hatch (anywhere)",
};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
index a7f7be4faa..85bc4c4c17 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
@@ -56,15 +56,13 @@ extends GregtechMeta_MultiBlockBase {
"Allows Complex GT++ alloys to be created",
"Circuit for recipe goes in the Input Bus or GUI slot",
"Size: 3x4x3 (Hollow)",
+ "Blast Smelter Casings (10 at least!)",
"Controller (front middle at bottom)",
"16x Blast Smelter Heat Containment Coils (two middle Layers, hollow)",
- "1x Input bus (one of bottom)",
- "1x Output Hatch (one of bottom)",
- "1x Energy Hatch (one of bottom)",
- "1x Maintenance Hatch (one of bottom)",
- "1x Muffler Hatch (top middle)",
- "1x Fluid Input Hatch (optional, top layer)",
- "Blast Smelter Casings for the rest",
+ "1x Input bus",
+ "1x Input Hatch (optional)",
+ "1x Output Hatch",
+ "1x Energy Hatch",
};
}
@@ -178,7 +176,7 @@ extends GregtechMeta_MultiBlockBase {
final long tVoltage = this.getMaxInputVoltage();
final byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
final GT_Recipe tRecipe = Recipe_GT.Gregtech_Recipe_Map.sAlloyBlastSmelterRecipes.findRecipe(this.getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
- if ((tRecipe != null) && (this.mHeatingCapacity >= tRecipe.mSpecialValue) && (tRecipe.isRecipeInputEqual(true, tFluids, tInputs))) {
+ if ((tRecipe != null) && (tRecipe.isRecipeInputEqual(true, tFluids, tInputs))) {
Logger.WARNING("Found some Valid Inputs.");
this.mEfficiency = (10000 - ((this.getIdealStatus() - this.getRepairStatus()) * 1000));
this.mEfficiencyIncrease = 10000;
@@ -222,55 +220,50 @@ extends GregtechMeta_MultiBlockBase {
final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
- //this.mHeatingCapacity = 0;
+ this.mHeatingCapacity = 0;
if (!aBaseMetaTileEntity.getAirOffset(xDir, 1, zDir)) {
return false;
}
if (!aBaseMetaTileEntity.getAirOffset(xDir, 2, zDir)) {
return false;
}
- this.addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 3, zDir), TAE.GTPP_INDEX(15));
this.mHeatingCapacity = 20000;
for (int i = -1; i < 2; i++) {
for (int j = -1; j < 2; j++) {
if ((i != 0) || (j != 0)) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != ModBlocks.blockCasingsMisc) {
+
+ //Coils 1
+ if (!isValidBlockForStructure(null, TAE.GTPP_INDEX(1), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j), ModBlocks.blockCasingsMisc, 14)) {
+ Logger.INFO("Heating Coils missing.");
return false;
}
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j) != 14) {
+
+ //Coils 2
+ if (!isValidBlockForStructure(null, TAE.GTPP_INDEX(1), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j), ModBlocks.blockCasingsMisc, 14)) {
+ Logger.INFO("Heating Coils missing.");
return false;
- }
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != ModBlocks.blockCasingsMisc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != 14) {
+ }
+
+ //Top Layer
+ final IGregTechTileEntity tTileEntity2 = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 2, zDir + j);
+ if (!isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(15), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j), ModBlocks.blockCasingsMisc, 15)) {
+ Logger.INFO("Heating Coils missing.");
return false;
}
- if (!this.addFluidInputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j), TAE.GTPP_INDEX(15))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j) != ModBlocks.blockCasingsMisc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j) != 15) {
- return false;
- }
- }
}
}
}
for (int i = -1; i < 2; i++) {
for (int j = -1; j < 2; j++) {
- if (((xDir + i) != 0) || ((zDir + j) != 0)) {
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0, zDir + j);
- if ((!this.addMaintenanceToMachineList(tTileEntity, TAE.GTPP_INDEX(15))) && (!this.addInputToMachineList(tTileEntity, TAE.GTPP_INDEX(15))) && (!this.addOutputToMachineList(tTileEntity, TAE.GTPP_INDEX(15))) && (!this.addEnergyInputToMachineList(tTileEntity, TAE.GTPP_INDEX(15)))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j) != ModBlocks.blockCasingsMisc) {
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j) != 15) {
- return false;
- }
- }
+ if (((xDir + i) != 0) || ((zDir + j) != 0)) {
+ //Bottom Layer
+ final IGregTechTileEntity tTileEntity2 = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 2, zDir + j);
+ if (!isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(15), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j), ModBlocks.blockCasingsMisc, 15)) {
+ Logger.INFO("Heating Coils missing.");
+ return false;
+ }
}
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
index f3328e4656..25e838e57a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java
@@ -234,7 +234,10 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
}
private boolean isAdvancedMachineCasing(int aX, int aY, int aZ) {
- return (getBaseMetaTileEntity().getBlock(aX, aY, aZ) == getCasing()) && (getBaseMetaTileEntity().getMetaID(aX, aY, aZ) == getCasingMeta());
+ final Block aBlock = getBaseMetaTileEntity().getBlock(aX, aY, aZ);
+ final int aMeta = getBaseMetaTileEntity().getMetaID(aX, aY, aZ);
+ final IGregTechTileEntity tTileEntity2 = getBaseMetaTileEntity().getIGregTechTileEntity(aX, aY, aZ);
+ return isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(26), true, aBlock, aMeta, getCasing(), getCasingMeta());
}
private boolean isCyclotronCoil(int aX, int aY, int aZ) {
@@ -268,11 +271,11 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
"------------------------------------------------------------",
"Consists of the same layout as a Fusion Reactor",
"Cyclotron Machine Casings around Cyclotron Coil Blocks",
+ "All Hatches must be IV or better",
"1-16 Input Hatches",
"1-16 Input Busses",
"1-16 Output Busses",
"1-16 Energy Hatches",
- "All Hatches must be IV or better",
};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
index c96a6636ff..17e6430f99 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
@@ -63,12 +63,23 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
@Override
public String[] getTooltip() {
- return new String[] { "Controller Block for the Fishing Pond", "Size: 9x3x9 [WxHxL] (open)", "X X",
- "X X", "XXXXXXXXX", "Put a numbered circuit into the input bus.", "Circuit 14 for Fish",
- "Circuit 15 for Junk", "Circuit 16 for Treasure", "Controller (front centered)",
- "1x Output Bus (Any casing)", "1x Input Bus (Any casing)",
- "1x Input Hatch (Any casing, fill with water)", "1x Maintenance Hatch (Any casing)",
- "1x Energy Hatch (Any casing)", "Aquatic Casings for the rest", };
+ return new String[] {
+ "Controller Block for the Fishing Pond",
+ "Size: 9x3x9 [WxHxL] (open)",
+ "X X",
+ "X X",
+ "XXXXXXXXX",
+ "Put a numbered circuit into the input bus.",
+ "Circuit 14 for Fish",
+ "Circuit 15 for Junk",
+ "Circuit 16 for Treasure",
+ "Aquatic Casings (all non-hatches)",
+ "Controller (front centered)",
+ "1x Output Bus",
+ "1x Input Bus",
+ "1x Input Hatch (fill with water)",
+ "1x Energy Hatch",
+ };
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
index 3aba5108ed..f052d64a34 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java
@@ -89,29 +89,27 @@ public class GregtechMetaTileEntity_MassFabricator extends GregtechMeta_MultiBlo
@Override
public String[] getTooltip() {
- //if (mCasingName1.toLowerCase().contains(".name")) {
+ if (mCasingName1.toLowerCase().contains(".name")) {
mCasingName1 = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasingsMisc, 9);
- //}
- //if (mCasingName2.toLowerCase().contains(".name")) {
+ }
+ if (mCasingName2.toLowerCase().contains(".name")) {
mCasingName2 = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings3Misc, 15);
- //}
- //if (mCasingName3.toLowerCase().contains(".name")) {
+ }
+ if (mCasingName3.toLowerCase().contains(".name")) {
mCasingName3 = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasingsMisc, 8);
- //}
+ }
return new String[]{
"Controller Block for the Matter Fabricator",
- "Produces UU-A, UU-m & Scrap",
+ "Produces UU-A, UU-M & Scrap",
"Size(WxHxD): 5x4x5, Controller (Bottom center)",
"3x1x3 "+mCasingName3+"s (Inside bottom 5x1x5 layer)",
"9x "+mCasingName3+" (Centered 3x1x3 area in Bottom layer)",
- "1x Input Hatch (Any bottom layer casing)",
- "1x Output Hatch (Any bottom layer casing)",
- "1x Maintenance Hatch (Any bottom layer casing)",
- "1x Muffler Hatch (Centered 3x1x3 area in Top layer)",
- "1x Energy Hatch (Any bottom layer casing)",
"24x "+mCasingName2+" for the walls",
mCasingName1+"s for the edges & top (40 at least!)",
+ "1x Input Hatch/Bus",
+ "1x Output Hatch/Bus",
+ "1x Energy Hatch",
};
}
@@ -187,110 +185,63 @@ public class GregtechMetaTileEntity_MassFabricator extends GregtechMeta_MultiBlo
//Utils.LOG_INFO("Logging Variables - xDir:"+xDir+" zDir:"+zDir+" h:"+h+" i:"+i+" j:"+j);
final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- /*if (tTileEntity != Block.getBlockFromItem(UtilsItems.getItem("IC2:blockAlloyGlass"))) {
- Utils.LOG_INFO("h:"+h+" i:"+i+" j:"+j);
- double tX = tTileEntity.getXCoord();
- double tY = tTileEntity.getYCoord();
- double tZ = tTileEntity.getZCoord();
- Utils.LOG_INFO("Found Glass at X:"+tX+" Y:"+tY+" Z:"+tZ);
- //return false;
- }*/
- if (((i != -2) && (i != 2)) && ((j != -2) && (j != 2))) {// innerer 3x3 ohne h�he
- if (h == 0) {// innen boden (kantal coils)
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasingsMisc) {
+
+ if (((i != -2) && (i != 2)) && ((j != -2) && (j != 2))) {
+ if (h == 0) {
+ if (!isValidBlockForStructure(null, TAE.GTPP_INDEX(9), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasingsMisc, 8)) {
Logger.INFO("Matter Generation Coils missings from the bottom layer, inner 3x3.");
return false;
}
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 8) {
- Logger.INFO("Matter Generation Coils missings from the bottom layer, inner 3x3.");
+ } else if (h == 3) {
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(9), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasingsMisc, 9)) {
+ Logger.INFO("Matter Fabricator Casings Missing from one of the top layers inner 3x3.");
return false;
}
- } else if (h == 3) {// innen decke (ulv casings + input + muffler)
- if ((!this.addMufflerToMachineList(tTileEntity, TAE.GTPP_INDEX(9)))) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasingsMisc) {
- Logger.INFO("Matter Fabricator Casings Missing from one of the top layers inner 3x3.");
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 9) {
- Logger.INFO("Matter Fabricator Casings Missing from one of the top layers inner 3x3.");
- return false;
- }
- }
- } else {// innen air
+ } else {
if (!aBaseMetaTileEntity.getAirOffset(xDir + i, h, zDir + j)) {
Logger.INFO("Make sure the inner 3x3 of the Multiblock is Air.");
return false;
}
}
- } else {// Outer 5x5
- if (h == 0) {// au�en boden (controller, output, energy, maintainance, rest ulv casings)
- if ((!this.addMaintenanceToMachineList(tTileEntity, TAE.GTPP_INDEX(9))) && (!this.addInputToMachineList(tTileEntity, TAE.GTPP_INDEX(9))) && (!this.addOutputToMachineList(tTileEntity, TAE.GTPP_INDEX(9))) && (!this.addEnergyInputToMachineList(tTileEntity, TAE.GTPP_INDEX(9)))) {
- if (((xDir + i) != 0) || ((zDir + j) != 0)) {//no controller
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasingsMisc) {
- Logger.INFO("Matter Fabricator Casings Missing from one of the edges of the bottom layer.");
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 9) {
- Logger.INFO("Matter Fabricator Casings Missing from one of the edges of the bottom layer.");
- return false;
- }
- }
+ } else {
+ if (h == 0) {
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(9), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasingsMisc, 9)) {
+ Logger.INFO("Matter Fabricator Casings Missing from one of the edges of the bottom layer.");
+ return false;
}
- } else {// au�en �ber boden (ulv casings)
+ } else {
if (h == 1) {
-
- if (((i == -2) || (i == 2)) && ((j == -2) || (j == 2))){
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasingsMisc) {
- Logger.INFO("Matter Fabricator Casings Missing from one of the corners in the second layer.");
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 9) {
+ if (((i == -2) || (i == 2)) && ((j == -2) || (j == 2))){
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(9), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasingsMisc, 9)) {
Logger.INFO("Matter Fabricator Casings Missing from one of the corners in the second layer.");
return false;
}
}
- else if (((i != -2) || (i != 2)) && ((j != -2) || (j != 2))){
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != aContainmentGlass) {
+ else if (((i != -2) || (i != 2)) && ((j != -2) || (j != 2))){
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(9), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), aContainmentGlass, aContainmentMeta)) {
Logger.INFO("Glass Casings Missing from somewhere in the second layer.");
return false;
}
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != aContainmentMeta) {
- Logger.INFO("Glass Casings wrong meta from the second layer.");
- return false;
- }
}
}
if (h == 2) {
- if (((i == -2) || (i == 2)) && ((j == -2) || (j == 2))){
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasingsMisc) {
- Logger.INFO("Matter Fabricator Casings Missing from one of the corners in the third layer.");
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 9) {
+ if (((i == -2) || (i == 2)) && ((j == -2) || (j == 2))){
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(9), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasingsMisc, 9)) {
Logger.INFO("Matter Fabricator Casings Missing from one of the corners in the third layer.");
return false;
}
}
- else if (((i != -2) || (i != 2)) && ((j != -2) || (j != 2))){
-
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != aContainmentGlass) {
+ else if (((i != -2) || (i != 2)) && ((j != -2) || (j != 2))){
+ if (!isValidBlockForStructure(null, TAE.GTPP_INDEX(9), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), aContainmentGlass, aContainmentMeta)) {
Logger.INFO("Glass Casings Missing from somewhere in the third layer.");
return false;
}
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != aContainmentMeta) {
- Logger.INFO("Glass Casings wrong meta from the third layer.");
- return false;
- }
}
}
- if (h == 3) {
- if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasingsMisc) {
- Logger.INFO("Matter Fabricator Casings Missing from one of the edges on the top layer.");
- return false;
- }
- if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 9) {
+ if (h == 3) {
+ if (!isValidBlockForStructure(tTileEntity, TAE.GTPP_INDEX(9), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j), ModBlocks.blockCasingsMisc, 9)) {
Logger.INFO("Matter Fabricator Casings Missing from one of the edges on the top layer.");
return false;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java
index 0300508147..a38c6540fc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java
@@ -13,7 +13,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.block.ModBlocks;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_MultiTank.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_MultiTank.java
index 10fcc21222..c1e0ab4911 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_MultiTank.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_MultiTank.java
@@ -207,12 +207,11 @@ extends GregtechMeta_MultiBlockBase {
"Size: 3xHx3 (Block behind controller must be air)",
"Structure must be at least 4 blocks tall, maximum 20.",
"Each casing within the structure adds 128000L storage.",
+ "Multitank Exterior Casings (16 at least!)",
"Controller (front centered)",
- "1x Input hatch (anywhere)",
- "1x Output hatch (anywhere)",
- "1x Energy Hatch (anywhere)",
- "1x Maintenance Hatch (anywhere)",
- "Multitank Exterior Casings for the rest (16 at least!)"
+ "1x Input hatch",
+ "1x Output hatch",
+ "1x Energy Hatch",
};
}