Skip to content

Commit 1edca92

Browse files
authored
Make different amp diodes easier to add (#2724)
1 parent a061c0d commit 1edca92

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

src/main/java/gregtech/common/metatileentities/MetaTileEntities.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,7 @@ public static void init() {
867867
endPos = GregTechAPI.isHighTier() ? DIODES.length - 1 : Math.min(DIODES.length - 1, GTValues.UV + 2);
868868
for (int i = 0; i < endPos; i++) {
869869
String diodeId = "diode." + GTValues.VN[i].toLowerCase();
870-
MetaTileEntityDiode diode = new MetaTileEntityDiode(gregtechId(diodeId), i);
870+
MetaTileEntityDiode diode = new MetaTileEntityDiode(gregtechId(diodeId), i, 16);
871871
DIODES[i] = registerMetaTileEntity(1300 + i, diode);
872872
}
873873

src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityDiode.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,22 @@ public class MetaTileEntityDiode extends MetaTileEntityMultiblockPart
5050
private static final String AMP_NBT_KEY = "amp_mode";
5151
private int amps;
5252
private boolean isWorkingEnabled;
53+
private final int maxAmps;
5354

54-
public MetaTileEntityDiode(ResourceLocation metaTileEntityId, int tier) {
55+
/**
56+
* @param maxAmps Must be power of 2
57+
*/
58+
public MetaTileEntityDiode(ResourceLocation metaTileEntityId, int tier, int maxAmps) {
5559
super(metaTileEntityId, tier);
5660
amps = 1;
5761
reinitializeEnergyContainer();
5862
isWorkingEnabled = true;
63+
this.maxAmps = maxAmps;
5964
}
6065

6166
@Override
6267
public MetaTileEntity createMetaTileEntity(IGregTechTileEntity tileEntity) {
63-
return new MetaTileEntityDiode(metaTileEntityId, getTier());
68+
return new MetaTileEntityDiode(metaTileEntityId, getTier(), getMaxAmperage());
6469
}
6570

6671
@Override
@@ -115,14 +120,14 @@ private void setAmpMode() {
115120
}
116121
}
117122

118-
/** Change this value (or override) to make the Diode able to handle more amps. Must be a power of 2 */
119123
protected int getMaxAmperage() {
120-
return 16;
124+
return maxAmps;
121125
}
122126

123127
protected void reinitializeEnergyContainer() {
124128
long tierVoltage = GTValues.V[getTier()];
125-
this.energyContainer = new EnergyContainerHandler(this, tierVoltage * 16, tierVoltage, amps, tierVoltage, amps);
129+
this.energyContainer = new EnergyContainerHandler(this, tierVoltage * getMaxAmperage(), tierVoltage, amps,
130+
tierVoltage, amps);
126131
((EnergyContainerHandler) this.energyContainer).setSideInputCondition(s -> s != getFrontFacing());
127132
((EnergyContainerHandler) this.energyContainer).setSideOutputCondition(s -> s == getFrontFacing());
128133
}

0 commit comments

Comments
 (0)