Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix steam multi #2657

Merged
merged 6 commits into from
Jul 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public String getMachineType() {

private static final String STRUCTUR_PIECE_MAIN = "main";

private static IStructureDefinition<GregtechMetaTileEntity_SteamCentrifuge> STRUCTURE_DEFINITION = null;
private IStructureDefinition<GregtechMetaTileEntity_SteamCentrifuge> STRUCTURE_DEFINITION = null;
private final String[][] shape = new String[][] { { " AAA ", "AAAAA", "AAAAA", "AAAAA", " AAA " },
{ " ", " ABA ", " BDB ", " ABA ", " " }, { " A ", " ACA ", "ACDCA", " ACA ", " A " },
{ " A~A ", "AABAA", "ABDBA", "AABAA", " AAA " }, { " AAA ", "AAAAA", "AAAAA", "AAAAA", " AAA " } };
Expand All @@ -85,38 +85,46 @@ public String getMachineType() {
private int tierFireBoxCasing = -1;
private int tierMachineCasing = -1;

private int tCountCasing = 0;

private int tierMachine = 1;

private String tMachineCasing = "Solid Bronze or Steel Machine Casing";

public static int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) return 1;
if (block == sBlockCasings2 && 0 == meta) return 2;
return -1;
public int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) {
tCountCasing++;
return 1;
}
if (block == sBlockCasings2 && 0 == meta) {
tCountCasing++;
return 2;
}
return 0;
}

private String tFireBoxCasing = "Bronze or Steel Firebox Casing";

public static int getTierFireBoxCasing(Block block, int meta) {
if (block == sBlockCasings3 && 13 == meta) return 1;
if (block == sBlockCasings3 && 14 == meta) return 2;
return -1;
return 0;
}

private String tGearBoxCasing = "Bronze or Steel Gear Box Casing";

public static int getTierGearBoxCasing(Block block, int meta) {
if (block == sBlockCasings2 && 2 == meta) return 1;
if (block == sBlockCasings2 && 3 == meta) return 2;
return -1;
return 0;
}

private String tPipeCasing = "Bronze or Steel Pipe Casing";

public static int getTierPipeCasing(Block block, int meta) {
if (block == sBlockCasings2 && 12 == meta) return 1;
if (block == sBlockCasings2 && 13 == meta) return 2;
return -1;
return 0;
}

protected void updateHatchTexture() {
Expand Down Expand Up @@ -181,14 +189,21 @@ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack a
tierPipeCasing = -1;
tierFireBoxCasing = -1;
tierMachineCasing = -1;
tCountCasing = 0;
if (!checkPiece(STRUCTUR_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet)) return false;
if (tierGearBoxCasing < 0 && tierPipeCasing < 0 && tierFireBoxCasing < 0 && tierMachineCasing < 0) return false;
if (tierGearBoxCasing == 1 && tierPipeCasing == 1 && tierFireBoxCasing == 1 && tierMachineCasing == 1) {
if (tierGearBoxCasing == 1 && tierPipeCasing == 1
&& tierFireBoxCasing == 1
&& tierMachineCasing == 1
&& tCountCasing > 60) {
updateHatchTexture();
tierMachine = 1;
return true;
}
if (tierGearBoxCasing == 2 && tierPipeCasing == 2 && tierFireBoxCasing == 2 && tierMachineCasing == 2) {
if (tierGearBoxCasing == 2 && tierPipeCasing == 2
&& tierFireBoxCasing == 2
&& tierMachineCasing == 2
&& tCountCasing > 60) {
updateHatchTexture();
tierMachine = 2;
return true;
Expand All @@ -215,55 +230,45 @@ public IStructureDefinition<GregtechMetaTileEntity_SteamCentrifuge> getStructure
.addShape(STRUCTUR_PIECE_MAIN, transpose(shape))
.addElement(
'B',
withChannel(
"tier",
ofBlocksTiered(
GregtechMetaTileEntity_SteamCentrifuge::getTierGearBoxCasing,
ImmutableList.of(Pair.of(sBlockCasings2, 2), Pair.of(sBlockCasings2, 3)),
-1,
(t, m) -> t.tierGearBoxCasing = m,
t -> t.tierGearBoxCasing)))
ofBlocksTiered(
GregtechMetaTileEntity_SteamCentrifuge::getTierGearBoxCasing,
ImmutableList.of(Pair.of(sBlockCasings2, 2), Pair.of(sBlockCasings2, 3)),
-1,
(t, m) -> t.tierGearBoxCasing = m,
t -> t.tierGearBoxCasing))
.addElement(
'C',
withChannel(
"tier",
ofBlocksTiered(
GregtechMetaTileEntity_SteamCentrifuge::getTierPipeCasing,
ImmutableList.of(Pair.of(sBlockCasings2, 12), Pair.of(sBlockCasings2, 13)),
-1,
(t, m) -> t.tierPipeCasing = m,
t -> t.tierPipeCasing)))
ofBlocksTiered(
GregtechMetaTileEntity_SteamCentrifuge::getTierPipeCasing,
ImmutableList.of(Pair.of(sBlockCasings2, 12), Pair.of(sBlockCasings2, 13)),
-1,
(t, m) -> t.tierPipeCasing = m,
t -> t.tierPipeCasing))
.addElement(
'D',
withChannel(
"tier",
ofBlocksTiered(
GregtechMetaTileEntity_SteamCentrifuge::getTierFireBoxCasing,
ImmutableList.of(Pair.of(sBlockCasings3, 13), Pair.of(sBlockCasings3, 14)),
-1,
(t, m) -> t.tierFireBoxCasing = m,
t -> t.tierFireBoxCasing)))
ofBlocksTiered(
GregtechMetaTileEntity_SteamCentrifuge::getTierFireBoxCasing,
ImmutableList.of(Pair.of(sBlockCasings3, 13), Pair.of(sBlockCasings3, 14)),
-1,
(t, m) -> t.tierFireBoxCasing = m,
t -> t.tierFireBoxCasing))
.addElement(
'A',
withChannel(
"tier",
ofChain(
ofBlocksTiered(
GregtechMetaTileEntity_SteamCentrifuge::getTierMachineCasing,
ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)),
-1,
(t, m) -> t.tierMachineCasing = m,
t -> t.tierMachineCasing),
buildSteamInput(GregtechMetaTileEntity_SteamCentrifuge.class).casingIndex(10)
.dot(1)
.build(),
buildHatchAdder(GregtechMetaTileEntity_SteamCentrifuge.class)
.atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam)
.casingIndex(10)
.dot(1)
.buildAndChain()

)))
ofChain(
buildSteamInput(GregtechMetaTileEntity_SteamCentrifuge.class).casingIndex(10)
.dot(1)
.build(),
buildHatchAdder(GregtechMetaTileEntity_SteamCentrifuge.class)
.atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam)
.casingIndex(10)
.dot(1)
.buildAndChain(),
ofBlocksTiered(
this::getTierMachineCasing,
ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)),
-1,
(t, m) -> t.tierMachineCasing = m,
t -> t.tierMachineCasing)))
.build();

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,24 @@ public class GregtechMetaTileEntity_SteamCompressor
extends GregtechMeta_SteamMultiBase<GregtechMetaTileEntity_SteamCompressor> implements ISurvivalConstructable {

private String mCasingName = "Bronze or Steel Plated Bricks";
private static IStructureDefinition<GregtechMetaTileEntity_SteamCompressor> STRUCTURE_DEFINITION = null;

private int mCountCasing = 0;
private IStructureDefinition<GregtechMetaTileEntity_SteamCompressor> STRUCTURE_DEFINITION = null;

private int tierMachine = 1;

private int tierMachineCasing = -1;

public static int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) return 1;
if (block == sBlockCasings2 && 0 == meta) return 2;
return -1;
public int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) {
mCountCasing++;
return 1;
}
if (block == sBlockCasings2 && 0 == meta) {
mCountCasing++;
return 2;
}
return 0;
}

public GregtechMetaTileEntity_SteamCompressor(String aName) {
Expand Down Expand Up @@ -107,7 +115,7 @@ protected GT_Multiblock_Tooltip_Builder createTooltip() {
.addSeparator()
.beginStructureBlock(3, 3, 4, true)
.addController("Front center")
.addCasingInfoMin(mCasingName, 28, false)
.addCasingInfoMin(mCasingName, 25, false)
.addOtherStructurePart(TT_steaminputbus, "Any casing", 1)
.addOtherStructurePart(TT_steamoutputbus, "Any casing", 1)
.addOtherStructurePart(TT_steamhatch, "Any casing", 1)
Expand All @@ -126,23 +134,21 @@ public IStructureDefinition<GregtechMetaTileEntity_SteamCompressor> getStructure
{ "CCC", "CCC", "CCC", "CCC" }, }))
.addElement(
'C',
withChannel(
"tier",
ofChain(
ofBlocksTiered(
GregtechMetaTileEntity_SteamCompressor::getTierMachineCasing,
ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)),
-1,
(t, m) -> t.tierMachineCasing = m,
t -> t.tierMachineCasing),
buildSteamInput(GregtechMetaTileEntity_SteamCompressor.class).casingIndex(10)
.dot(1)
.build(),
buildHatchAdder(GregtechMetaTileEntity_SteamCompressor.class)
.atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam)
.casingIndex(10)
.dot(1)
.buildAndChain())))
ofChain(
buildSteamInput(GregtechMetaTileEntity_SteamCompressor.class).casingIndex(10)
.dot(1)
.build(),
buildHatchAdder(GregtechMetaTileEntity_SteamCompressor.class)
.atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam)
.casingIndex(10)
.dot(1)
.buildAndChain(),
ofBlocksTiered(
this::getTierMachineCasing,
ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)),
-1,
(t, m) -> t.tierMachineCasing = m,
t -> t.tierMachineCasing)))
.build();
}
return STRUCTURE_DEFINITION;
Expand All @@ -160,15 +166,16 @@ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBu

@Override
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
mCountCasing = 0;
tierMachineCasing = -1;
if (!checkPiece(mName, 1, 1, 0)) return false;
if (tierMachineCasing < 0) return false;
if (tierMachineCasing == 1) {
if (tierMachineCasing == 1 && mCountCasing > 25) {
updateHatchTexture();
tierMachine = 1;
return true;
}
if (tierMachineCasing == 2) {
if (tierMachineCasing == 2 && mCountCasing > 25) {
updateHatchTexture();
tierMachine = 2;
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@ public class GregtechMetaTileEntity_SteamMacerator
extends GregtechMeta_SteamMultiBase<GregtechMetaTileEntity_SteamMacerator> implements ISurvivalConstructable {

private String mCasingName = "Bronze or Steel Plated Bricks";
private static IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> STRUCTURE_DEFINITION = null;

private int mCounCasing = 0;
private IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> STRUCTURE_DEFINITION = null;

private int tierMachine = 0;

Expand All @@ -75,10 +77,16 @@ public IMetaTileEntity newMetaEntity(IGregTechTileEntity arg0) {
return new GregtechMetaTileEntity_SteamMacerator(this.mName);
}

public static int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) return 1;
if (block == sBlockCasings2 && 0 == meta) return 2;
return -1;
public int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) {
mCounCasing++;
return 1;
}
if (block == sBlockCasings2 && 0 == meta) {
mCounCasing++;
return 2;
}
return 0;
}

@Override
Expand Down Expand Up @@ -130,23 +138,21 @@ public IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> getStructureD
new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, }))
.addElement(
'C',
withChannel(
"tier",
ofChain(
ofBlocksTiered(
GregtechMetaTileEntity_SteamMacerator::getTierMachineCasing,
ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)),
-1,
(t, m) -> t.tierMachineCasing = m,
t -> t.tierMachineCasing),
buildSteamInput(GregtechMetaTileEntity_SteamMacerator.class).casingIndex(10)
.dot(1)
.build(),
buildHatchAdder(GregtechMetaTileEntity_SteamMacerator.class)
.atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam)
.casingIndex(10)
.dot(1)
.buildAndChain())))
ofChain(
buildSteamInput(GregtechMetaTileEntity_SteamMacerator.class).casingIndex(10)
.dot(1)
.build(),
buildHatchAdder(GregtechMetaTileEntity_SteamMacerator.class)
.atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam)
.casingIndex(10)
.dot(1)
.buildAndChain(),
ofBlocksTiered(
this::getTierMachineCasing,
ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)),
-1,
(t, m) -> t.tierMachineCasing = m,
t -> t.tierMachineCasing)))
.build();
}
return STRUCTURE_DEFINITION;
Expand All @@ -165,14 +171,15 @@ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBu
@Override
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
tierMachineCasing = -1;
mCounCasing = 0;
if (!checkPiece(mName, 1, 1, 0)) return false;
if (tierMachineCasing < 0) return false;
if (tierMachineCasing == 1) {
if (tierMachineCasing == 1 && mCounCasing > 14) {
updateHatchTexture();
tierMachine = 1;
return true;
}
if (tierMachineCasing == 2) {
if (tierMachineCasing == 2 && mCounCasing > 14) {
updateHatchTexture();
tierMachine = 2;
return true;
Expand Down
Loading
Loading