@@ -71,10 +71,12 @@ public final class VersionUtil {
7171 builder .put ("io.akarin.server.Config" , SupportStatus .DANGEROUS_FORK );
7272
7373 // Forge - Doesn't support Bukkit
74- builder .put ("net.minecraftforge.common.MinecraftForge" , SupportStatus .UNSTABLE );
74+ // The below translates to net.minecraftforge.common.MinecraftForge
75+ builder .put (dumb (new int [] {110 , 101 , 116 , 46 , 109 , 105 , 110 , 101 , 99 , 114 , 97 , 102 , 116 , 102 , 111 , 114 , 103 , 101 , 46 , 99 , 111 , 109 , 109 , 111 , 110 , 46 , 77 , 105 , 110 , 101 , 99 , 114 , 97 , 102 , 116 , 70 , 111 , 114 , 103 , 101 }, 40 ), SupportStatus .UNSTABLE );
7576
7677 // Fabric - Doesn't support Bukkit
77- builder .put ("net.fabricmc.loader.launch.knot.KnotServer" , SupportStatus .UNSTABLE );
78+ // The below translates to net.fabricmc.loader.launch.knot.KnotServer
79+ builder .put (dumb (new int [] {110 , 101 , 116 , 46 , 102 , 97 , 98 , 114 , 105 , 99 , 109 , 99 , 46 , 108 , 111 , 97 , 100 , 101 , 114 , 46 , 108 , 97 , 117 , 110 , 99 , 104 , 46 , 107 , 110 , 111 , 116 , 46 , 75 , 110 , 111 , 116 , 83 , 101 , 114 , 118 , 101 , 114 }, 42 ), SupportStatus .UNSTABLE );
7880
7981 // Misc translation layers that do not add NMS will be caught by this
8082 if (ReflUtil .getNmsVersionObject ().isHigherThanOrEqualTo (ReflUtil .V1_17_R1 )) {
@@ -345,4 +347,21 @@ public boolean isSupported() {
345347 return supported ;
346348 }
347349 }
350+
351+ private static String dumb (final int [] clazz , final int len ) {
352+ final char [] chars = new char [clazz .length ];
353+
354+ for (int i = 0 ; i < clazz .length ; i ++) {
355+ chars [i ] = (char ) clazz [i ];
356+ }
357+
358+ final String decode = String .valueOf (chars );
359+
360+ if (decode .length () != len ) {
361+ System .exit (1 );
362+ return "why do hybrids try to bypass this?" ;
363+ }
364+
365+ return decode ;
366+ }
348367}
0 commit comments