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 io.gitlab.jfronny.libjf.coprocess.CoProcessManager;
|
||||||
import net.fabricmc.api.DedicatedServerModInitializer;
|
|
||||||
import net.minecraft.server.Main;
|
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.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
@ -21,7 +21,13 @@
|
|||||||
"main": ["io.gitlab.jfronny.libjf.coprocess.CoProcessManager::start"],
|
"main": ["io.gitlab.jfronny.libjf.coprocess.CoProcessManager::start"],
|
||||||
"preLaunch": ["io.gitlab.jfronny.libjf.LibJf"]
|
"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": {
|
"custom": {
|
||||||
"modmenu": {
|
"modmenu": {
|
||||||
"parent": "libjf",
|
"parent": "libjf",
|
||||||
|
@ -3,10 +3,8 @@
|
|||||||
"minVersion": "0.8",
|
"minVersion": "0.8",
|
||||||
"package": "io.gitlab.jfronny.libjf.mixin",
|
"package": "io.gitlab.jfronny.libjf.mixin",
|
||||||
"compatibilityLevel": "JAVA_16",
|
"compatibilityLevel": "JAVA_16",
|
||||||
"mixins": [
|
|
||||||
],
|
|
||||||
"server": [
|
"server": [
|
||||||
"MainMixin"
|
"server.MainMixin"
|
||||||
],
|
],
|
||||||
"injectors": {
|
"injectors": {
|
||||||
"defaultRequire": 1
|
"defaultRequire": 1
|
||||||
|
Loading…
Reference in New Issue
Block a user