forked from GregTech-Intergalactical/TesseractAPI
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTesseractPlatformUtils.java
33 lines (21 loc) · 1.05 KB
/
TesseractPlatformUtils.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
26
27
28
29
30
31
32
33
package tesseract;
import carbonconfiglib.config.Config;
import carbonconfiglib.config.ConfigHandler;
import net.minecraft.core.Direction;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import tesseract.api.gt.IGTNode;
import tesseract.api.heat.IHeatNode;
import tesseract.api.rf.IRFNode;
import tesseract.graph.INode;
import java.util.ServiceLoader;
public interface TesseractPlatformUtils {
TesseractPlatformUtils INSTANCE = ServiceLoader.load(TesseractPlatformUtils.class).findFirst().orElseThrow(() -> new IllegalStateException("No implementation of TesseractPlatformUtils found"));
IGTNode getGTNode(Level level, long pos, Direction direction, Runnable invalidate);
IRFNode getRFNode(Level level, long pos, Direction direction, Runnable invalidate);
IHeatNode getHeatNode(Level level, long pos, Direction direction, Runnable invalidate);
boolean isFeCap(Class<?> cap);
boolean isForge();
ConfigHandler createConfig(Config config);
boolean areCapsCompatible(ItemStack a, ItemStack b);
}