aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/makamys/lodmod/MixinConfigPlugin.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/makamys/lodmod/MixinConfigPlugin.java')
-rw-r--r--src/main/java/makamys/lodmod/MixinConfigPlugin.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/main/java/makamys/lodmod/MixinConfigPlugin.java b/src/main/java/makamys/lodmod/MixinConfigPlugin.java
new file mode 100644
index 0000000..4d9fed1
--- /dev/null
+++ b/src/main/java/makamys/lodmod/MixinConfigPlugin.java
@@ -0,0 +1,73 @@
+package makamys.lodmod;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import org.spongepowered.asm.lib.tree.ClassNode;
+import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
+import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
+
+public class MixinConfigPlugin implements IMixinConfigPlugin {
+
+ private static boolean isOptiFinePresent = MixinConfigPlugin.class.getResource("/optifine/OptiFineTweaker.class") != null;
+
+ @Override
+ public void onLoad(String mixinPackage) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public String getRefMapperConfig() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
+ return true;
+ }
+
+ @Override
+ public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public List<String> getMixins() {
+ List<String> mixins = new ArrayList<>();
+ mixins.addAll(Arrays.asList("MixinChunkCache",
+ "MixinEntityRenderer",
+ "MixinRenderGlobal",
+ "MixinTessellator",
+ "MixinWorldRenderer",
+ "MixinRenderBlocks"));
+
+ if (isOptiFinePresent()) {
+ System.out.println("Detected OptiFine");
+ mixins.add("MixinRenderGlobal_OptiFine");
+ }
+
+ return mixins;
+ }
+
+ @Override
+ public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public static boolean isOptiFinePresent() {
+ return isOptiFinePresent;
+ }
+
+}