33import com .gregtechceu .gtceu .api .GTValues ;
44import com .gregtechceu .gtceu .api .capability .GTCapabilityHelper ;
55import com .gregtechceu .gtceu .api .capability .IEnergyContainer ;
6+ import com .gregtechceu .gtceu .api .capability .IEnergyInfoProvider ;
67import com .gregtechceu .gtceu .api .capability .IWorkable ;
78import com .gregtechceu .gtceu .api .cover .filter .ItemFilter ;
89import com .gregtechceu .gtceu .api .item .ComponentItem ;
910import com .gregtechceu .gtceu .api .item .component .IDataItem ;
1011import com .gregtechceu .gtceu .api .item .component .IItemComponent ;
12+ import com .gregtechceu .gtceu .api .machine .IMachineBlockEntity ;
1113import com .gregtechceu .gtceu .api .machine .MetaMachine ;
1214import com .gregtechceu .gtceu .api .machine .feature .multiblock .IMaintenanceMachine ;
1315import com .gregtechceu .gtceu .api .misc .virtualregistry .EntryTypes ;
@@ -88,6 +90,11 @@ public static void initPlaceholders() {
8890 public MultiLineComponent apply (PlaceholderContext ctx ,
8991 List <MultiLineComponent > args ) throws PlaceholderException {
9092 PlaceholderUtils .checkArgs (args , 0 );
93+ if (ctx .level ().getBlockEntity (ctx .pos ()) instanceof IMachineBlockEntity machineBE ) {
94+ if (machineBE .getMetaMachine () instanceof IEnergyInfoProvider energyInfoProvider ) {
95+ return MultiLineComponent .literal (energyInfoProvider .getEnergyInfo ().stored ().longValue ());
96+ }
97+ }
9198 IEnergyContainer energy = GTCapabilityHelper .getEnergyContainer (ctx .level (), ctx .pos (), ctx .side ());
9299 return MultiLineComponent .literal (energy != null ? energy .getEnergyStored () : 0 );
93100 }
@@ -98,6 +105,11 @@ public MultiLineComponent apply(PlaceholderContext ctx,
98105 public MultiLineComponent apply (PlaceholderContext ctx ,
99106 List <MultiLineComponent > args ) throws PlaceholderException {
100107 PlaceholderUtils .checkArgs (args , 0 );
108+ if (ctx .level ().getBlockEntity (ctx .pos ()) instanceof IMachineBlockEntity machineBE ) {
109+ if (machineBE .getMetaMachine () instanceof IEnergyInfoProvider energyInfoProvider ) {
110+ return MultiLineComponent .literal (energyInfoProvider .getEnergyInfo ().capacity ().longValue ());
111+ }
112+ }
101113 IEnergyContainer energy = GTCapabilityHelper .getEnergyContainer (ctx .level (), ctx .pos (), ctx .side ());
102114 return MultiLineComponent .literal (energy != null ? energy .getEnergyCapacity () : 0 );
103115 }
0 commit comments