Skip to content

Commit e321763

Browse files
committed
fix: patch netty's NativeLibraryLoader
1 parent ae86695 commit e321763

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package link.e4mc.mixin.netty;
2+
3+
import dev.xhyrom.e4mc.shadow.io.netty.util.internal.NativeLibraryLoader;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.injection.At;
6+
import org.spongepowered.asm.mixin.injection.Inject;
7+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
8+
9+
import java.net.URL;
10+
11+
@Mixin(value = NativeLibraryLoader.class, remap = false)
12+
public class NativeLibraryLoaderMixin {
13+
@Inject(
14+
method = "getResource(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/net/URL;",
15+
at = @At("RETURN"),
16+
cancellable = true
17+
)
18+
private static void e4mc_retro_minecraft$fallbackToGetResource(String path, ClassLoader loader, CallbackInfoReturnable<URL> cir) {
19+
if (cir.getReturnValue() == null && loader != null) {
20+
URL fallbackUrl = loader.getResource(path);
21+
if (fallbackUrl == null) return;
22+
23+
cir.setReturnValue(fallbackUrl);
24+
}
25+
}
26+
}

common/src/main/resources/e4mc_retro_minecraft.mixins.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
"PardonCommandMixin",
1010
"WhitelistCommandMixin",
1111
"ServerConnectionListenerMixin",
12-
"CommandsMixin"
12+
"CommandsMixin",
13+
"netty.NativeLibraryLoaderMixin"
1314
],
1415
"client": [
1516
"PlayerListMixin"

0 commit comments

Comments
 (0)