forked from GregTech-Intergalactical/TesseractAPI
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTesseractCapUtils.java
25 lines (17 loc) · 977 Bytes
/
TesseractCapUtils.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package tesseract;
import net.minecraft.core.Direction;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.entity.BlockEntity;
import tesseract.api.gt.IEnergyHandler;
import tesseract.api.gt.IEnergyHandlerItem;
import tesseract.api.heat.IHeatHandler;
import java.util.Optional;
import java.util.ServiceLoader;
public interface TesseractCapUtils {
TesseractCapUtils INSTANCE = ServiceLoader.load(TesseractCapUtils.class).findFirst().orElseThrow(() -> new IllegalStateException("No implementation of TesseractCapUtils found"));
//public static final TesseractCapUtils INSTANCE = new TesseractCapUtils();
Optional<IEnergyHandlerItem> getEnergyHandlerItem(ItemStack stack);
Optional<IEnergyHandlerItem> getWrappedEnergyHandlerItem(ItemStack stack);
Optional<IEnergyHandler> getEnergyHandler(BlockEntity entity, Direction side);
Optional<IHeatHandler> getHeatHandler(BlockEntity entity, Direction side);
}