fix: explicitly execute stop method on co-processes started client-side
This commit is contained in:
parent
d8e15bdb34
commit
60d91a7b2a
@ -0,0 +1,26 @@
|
||||
package io.gitlab.jfronny.libjf.mixin.client;
|
||||
|
||||
import io.gitlab.jfronny.libjf.coprocess.CoProcessManager;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(MinecraftClient.class)
|
||||
public class MinecraftClientMixin {
|
||||
@Inject(method = "stop", at = @At(value = "INVOKE", target = "Ljava/lang/System;exit(I)V"))
|
||||
private void onStop(CallbackInfo ci) {
|
||||
CoProcessManager.stop();
|
||||
}
|
||||
|
||||
@Inject(method = "stop", at = @At(value = "TAIL"))
|
||||
private void onStopTail(CallbackInfo ci) {
|
||||
CoProcessManager.stop();
|
||||
}
|
||||
|
||||
@Inject(method = "printCrashReport(Lnet/minecraft/client/MinecraftClient;Ljava/io/File;Lnet/minecraft/util/crash/CrashReport;)V", at = @At(value = "INVOKE", target = "Ljava/lang/System;exit(I)V"))
|
||||
private static void onCrashReport(MinecraftClient client, java.io.File file, net.minecraft.util.crash.CrashReport report, CallbackInfo ci) {
|
||||
CoProcessManager.stop();
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"required": true,
|
||||
"minVersion": "0.8",
|
||||
"package": "io.gitlab.jfronny.libjf.mixin",
|
||||
"compatibilityLevel": "JAVA_16",
|
||||
"client": [
|
||||
"client.MinecraftClientMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|
@ -1,10 +1,7 @@
|
||||
package io.gitlab.jfronny.libjf.mixin;
|
||||
package io.gitlab.jfronny.libjf.mixin.server;
|
||||
|
||||
import io.gitlab.jfronny.libjf.coprocess.CoProcessManager;
|
||||
import net.fabricmc.api.DedicatedServerModInitializer;
|
||||
import net.minecraft.server.Main;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.dedicated.MinecraftDedicatedServer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
@ -21,7 +21,13 @@
|
||||
"main": ["io.gitlab.jfronny.libjf.coprocess.CoProcessManager::start"],
|
||||
"preLaunch": ["io.gitlab.jfronny.libjf.LibJf"]
|
||||
},
|
||||
"mixins": ["libjf-base.mixins.json"],
|
||||
"mixins": [
|
||||
"libjf-base.mixins.json",
|
||||
{
|
||||
"config": "libjf-base.client.mixins.json",
|
||||
"environment": "client"
|
||||
}
|
||||
],
|
||||
"custom": {
|
||||
"modmenu": {
|
||||
"parent": "libjf",
|
||||
|
@ -3,10 +3,8 @@
|
||||
"minVersion": "0.8",
|
||||
"package": "io.gitlab.jfronny.libjf.mixin",
|
||||
"compatibilityLevel": "JAVA_16",
|
||||
"mixins": [
|
||||
],
|
||||
"server": [
|
||||
"MainMixin"
|
||||
"server.MainMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
Loading…
Reference in New Issue
Block a user