5
5
import codechicken .lib .render .pipeline .IVertexOperation ;
6
6
import codechicken .lib .vec .Matrix4 ;
7
7
import gregtech .api .GTValues ;
8
- import gregtech .api .capability .IEnergyContainer ;
9
8
import gregtech .api .capability .impl .EnergyContainerHandler ;
10
- import gregtech .api .gui .ModularUI ;
11
9
import gregtech .api .metatileentity .MetaTileEntity ;
12
10
import gregtech .api .metatileentity .MetaTileEntityHolder ;
13
- import gregtech .api .metatileentity .multiblock .IMultiblockAbilityPart ;
14
- import gregtech .api .metatileentity .multiblock .MultiblockAbility ;
15
11
import gregtech .api .render .SimpleOverlayRenderer ;
16
12
import gregtech .api .render .Textures ;
17
13
import gregtech .api .util .PipelineUtil ;
29
25
import javax .annotation .Nullable ;
30
26
import java .util .List ;
31
27
32
- public class MetaTileEntityAdjustableEnergyHatch extends MetaTileEntityMultiblockPart implements IMultiblockAbilityPart < IEnergyContainer > {
28
+ public class MetaTileEntityAdjustableEnergyHatch extends MetaTileEntityEnergyHatch {
33
29
34
30
private static final int [] ampRange = {2 , 4 , 8 , 16 };
35
31
private int ampIndex ;
36
32
37
- private final boolean isExportHatch ;
38
- private IEnergyContainer energyContainer ;
39
-
40
33
public MetaTileEntityAdjustableEnergyHatch (ResourceLocation metaTileEntityId , int tier , boolean isExportHatch ) {
41
- super (metaTileEntityId , tier );
42
- this .isExportHatch = isExportHatch ;
34
+ super (metaTileEntityId , tier , isExportHatch );
43
35
this .ampIndex = 1 ;
44
- if (isExportHatch ) {
45
- this .energyContainer = EnergyContainerHandler .emitterContainer (this , GTValues .V [tier ] * 32L , GTValues .V [tier ], 2 );
46
- ((EnergyContainerHandler ) this .energyContainer ).setSideOutputCondition (s -> s == getFrontFacing ());
47
- } else {
48
- this .energyContainer = EnergyContainerHandler .receiverContainer (this , GTValues .V [tier ] * 32L , GTValues .V [tier ], 2 );
49
- }
36
+ reinitializeEnergyContainer ();
50
37
}
51
38
52
39
@ Override
@@ -55,15 +42,13 @@ public MetaTileEntity createMetaTileEntity(MetaTileEntityHolder holder) {
55
42
}
56
43
57
44
@ Override
58
- public void renderMetaTileEntity (CCRenderState renderState , Matrix4 translation , IVertexOperation [] pipeline ) {
59
- super .renderMetaTileEntity (renderState , translation , pipeline );
45
+ protected void renderOverlay (CCRenderState renderState , Matrix4 translation , IVertexOperation [] pipeline ) {
60
46
if (shouldRenderOverlay ()) {
61
47
SimpleOverlayRenderer renderer ;
62
48
switch (ampIndex ) {
63
49
case 1 :
64
50
renderer = isExportHatch ? Textures .ENERGY_OUT_MULTI : Textures .ENERGY_IN_MULTI ;
65
51
break ;
66
-
67
52
case 2 :
68
53
renderer = isExportHatch ? Textures .ENERGY_OUT_HI : Textures .ENERGY_IN_HI ;
69
54
break ;
@@ -73,7 +58,6 @@ public void renderMetaTileEntity(CCRenderState renderState, Matrix4 translation,
73
58
default :
74
59
renderer = isExportHatch ? Textures .ENERGY_OUT : Textures .ENERGY_IN ;
75
60
}
76
-
77
61
renderer .renderSided (getFrontFacing (), renderState , translation , PipelineUtil .color (pipeline , GTValues .VC [getTier ()]));
78
62
}
79
63
}
@@ -125,11 +109,12 @@ protected void incrementAmpIndex() {
125
109
126
110
protected void reinitializeEnergyContainer () {
127
111
long tierVoltage = GTValues .V [getTier ()];
112
+ int amperage = ampRange [ampIndex ];
128
113
if (isExportHatch ) {
129
- this .energyContainer = EnergyContainerHandler .emitterContainer (this , tierVoltage * 32L , tierVoltage , ampRange [ ampIndex ] );
114
+ this .energyContainer = EnergyContainerHandler .emitterContainer (this , amperage * tierVoltage * 32L , tierVoltage , amperage );
130
115
((EnergyContainerHandler ) this .energyContainer ).setSideOutputCondition (s -> s == getFrontFacing ());
131
116
} else {
132
- this .energyContainer = EnergyContainerHandler .receiverContainer (this , tierVoltage * 32L , tierVoltage , ampRange [ ampIndex ] );
117
+ this .energyContainer = EnergyContainerHandler .receiverContainer (this , amperage * tierVoltage * 32L , tierVoltage , amperage );
133
118
}
134
119
}
135
120
@@ -139,50 +124,15 @@ public boolean onScrewdriverClick(EntityPlayer playerIn, EnumHand hand, EnumFaci
139
124
scheduleRenderUpdate ();
140
125
return true ;
141
126
}
142
-
143
127
incrementAmpIndex ();
144
128
playerIn .sendMessage (new TextComponentTranslation ("gregtech.machine.energy_hatch_adjustable.message_adjust" ,
145
129
isExportHatch ? energyContainer .getOutputAmperage () : energyContainer .getInputAmperage ()));
146
-
147
130
return true ;
148
131
}
149
132
150
- @ Override
151
- public MultiblockAbility <IEnergyContainer > getAbility () {
152
- return isExportHatch ? MultiblockAbility .OUTPUT_ENERGY : MultiblockAbility .INPUT_ENERGY ;
153
- }
154
-
155
- @ Override
156
- public void registerAbilities (List <IEnergyContainer > abilityList ) {
157
- abilityList .add (energyContainer );
158
- }
159
-
160
- @ Override
161
- protected boolean openGUIOnRightClick () {
162
- return false ;
163
- }
164
-
165
- @ Override
166
- protected ModularUI createUI (EntityPlayer entityPlayer ) {
167
- return null ;
168
- }
169
-
170
133
@ Override
171
134
public void addInformation (ItemStack stack , @ Nullable World player , List <String > tooltip , boolean advanced ) {
172
- String tierName = GTValues .VN [getTier ()];
173
-
174
135
tooltip .add (I18n .format ("gregtech.machine.transformer_adjustable.tooltip_tool_usage" ));
175
-
176
- if (isExportHatch ) {
177
- tooltip .add (I18n .format ("gregtech.machine.energy_hatch.adjustable.output.tooltip" ));
178
- tooltip .add (I18n .format ("gregtech.universal.tooltip.voltage_out" , energyContainer .getOutputVoltage (), tierName ));
179
- tooltip .add (I18n .format ("gregtech.universal.tooltip.amperage_out_till" , energyContainer .getOutputAmperage ()));
180
- } else {
181
- tooltip .add (I18n .format ("gregtech.machine.energy_hatch.adjustable.input.tooltip" ));
182
- tooltip .add (I18n .format ("gregtech.universal.tooltip.voltage_in" , energyContainer .getInputVoltage (), tierName ));
183
- tooltip .add (I18n .format ("gregtech.universal.tooltip.amperage_in_till" , energyContainer .getInputAmperage ()));
184
- }
185
- tooltip .add (I18n .format ("gregtech.universal.tooltip.energy_storage_capacity" , energyContainer .getEnergyCapacity ()));
186
- tooltip .add (I18n .format ("gregtech.universal.enabled" ));
136
+ super .addInformation (stack , player , tooltip , advanced );
187
137
}
188
138
}
0 commit comments