19
19
package appeng .tile .networking ;
20
20
21
21
22
+ import appeng .api .config .AccessRestriction ;
22
23
import appeng .api .config .Actionable ;
24
+ import appeng .api .config .PowerMultiplier ;
23
25
import appeng .api .networking .energy .IEnergyGrid ;
26
+ import appeng .api .networking .events .MENetworkPowerStorage ;
24
27
import appeng .api .util .AECableType ;
25
28
import appeng .me .GridAccessException ;
26
29
import appeng .tile .grid .AENetworkPowerTile ;
@@ -41,12 +44,15 @@ public class TileEnergyAcceptor extends AENetworkPowerTile
41
44
public TileEnergyAcceptor ()
42
45
{
43
46
this .getProxy ().setIdlePowerUsage ( 0.0 );
44
- this .setInternalMaxPower ( 0 );
47
+ this .setInternalMaxPower ( 8000 );
48
+ this .setInternalPublicPowerStorage (true );
49
+ this .setInternalPowerFlow (AccessRestriction .READ_WRITE );
45
50
}
46
51
47
52
@ Override
48
53
public void readFromNBT_AENetwork ( final NBTTagCompound data )
49
54
{
55
+ this .setInternalCurrentPower ( data .getDouble ( "internalCurrentPower" ) );
50
56
/**
51
57
* Does nothing here since the NBT tag in the parent is not needed anymore
52
58
*/
@@ -55,6 +61,7 @@ public void readFromNBT_AENetwork( final NBTTagCompound data )
55
61
@ Override
56
62
public void writeToNBT_AENetwork ( final NBTTagCompound data )
57
63
{
64
+ data .setDouble ( "internalCurrentPower" , this .getInternalCurrentPower () );
58
65
/**
59
66
* Does nothing here since the NBT tag in the parent is not needed anymore
60
67
*/
@@ -98,6 +105,21 @@ protected double funnelPowerIntoStorage( final double power, final Actionable mo
98
105
return super .funnelPowerIntoStorage ( power , mode );
99
106
}
100
107
}
108
+ @ Override
109
+ protected double extractAEPower ( double amt , final Actionable mode )
110
+ {
111
+ double res = super .extractAEPower (amt , mode );
112
+ try
113
+ {
114
+ if (getInternalCurrentPower () < getInternalMaxPower ())
115
+ this .getProxy ().getGrid ().postEvent (new MENetworkPowerStorage (this , MENetworkPowerStorage .PowerEventType .REQUEST_POWER ));
116
+ }
117
+ catch ( final GridAccessException ignored )
118
+ {
119
+
120
+ }
121
+ return res ;
122
+ }
101
123
102
124
@ Override
103
125
public IInventory getInternalInventory ()
0 commit comments