@@ -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