summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/moe/nea/kowalski/init/EventClassTransformer.java1
-rw-r--r--src/main/java/moe/nea/kowalski/init/KowalskiTweaker.java23
2 files changed, 23 insertions, 1 deletions
diff --git a/src/main/java/moe/nea/kowalski/init/EventClassTransformer.java b/src/main/java/moe/nea/kowalski/init/EventClassTransformer.java
index a80a5b5..c28116b 100644
--- a/src/main/java/moe/nea/kowalski/init/EventClassTransformer.java
+++ b/src/main/java/moe/nea/kowalski/init/EventClassTransformer.java
@@ -35,6 +35,7 @@ public class EventClassTransformer implements IClassTransformer {
continue;
}
method.instructions.insert(insn, buildCallKowalski());
+ break;
}
}
diff --git a/src/main/java/moe/nea/kowalski/init/KowalskiTweaker.java b/src/main/java/moe/nea/kowalski/init/KowalskiTweaker.java
index 4cb836c..5af17ee 100644
--- a/src/main/java/moe/nea/kowalski/init/KowalskiTweaker.java
+++ b/src/main/java/moe/nea/kowalski/init/KowalskiTweaker.java
@@ -1,20 +1,41 @@
package moe.nea.kowalski.init;
import net.minecraft.launchwrapper.ITweaker;
+import net.minecraft.launchwrapper.Launch;
import net.minecraft.launchwrapper.LaunchClassLoader;
+import net.minecraftforge.fml.relauncher.CoreModManager;
+import org.spongepowered.asm.launch.MixinBootstrap;
import java.io.File;
+import java.net.URISyntaxException;
+import java.net.URL;
import java.util.List;
public class KowalskiTweaker implements ITweaker {
@Override
public void acceptOptions(List<String> args, File gameDir, File assetsDir, String profile) {
+// ((List<String>) Launch.blackboard.get("TweakClasses")).add("org.spongepowered.asm.launch.MixinTweaker");
+ URL location = KowalskiTweaker.class.getProtectionDomain().getCodeSource().getLocation();
+ if (location == null) return;
+ if (!"file".equals(location.getProtocol())) return;
+ try {
+ MixinBootstrap.getPlatform().addContainer(location.toURI());
+ String file = new File(location.toURI()).getName();
+ CoreModManager.getIgnoredMods().remove(file);
+ CoreModManager.getReparseableCoremods().add(file);
+ } catch (URISyntaxException e) {
+ System.err.println("Kowalski could not re-add itself as mod.");
+ e.printStackTrace();
+ }
+ }
+ static {
+ Launch.classLoader.registerTransformer("moe.nea.kowalski.init.EventClassTransformer");
}
@Override
public void injectIntoClassLoader(LaunchClassLoader classLoader) {
-classLoader.registerTransformer("moe.nea.kowalski.init.EventClassTransformer");
+
}
@Override