Jump to content

Recommended Posts

Posted

Hello there!

I'm trying to patch the method "allowUserToConnect" of the class "net.minecraft.server.management.ServerConfigurationManager". I'm adding a new level of authentication, in this way:

This is the original method:

/**
     * checks ban-lists, then white-lists, then space for the server. Returns null on success, or an error message
     */
    public String allowUserToConnect(SocketAddress p_148542_1_, GameProfile p_148542_2_)
    {
        String s;

        if (this.bannedPlayers.func_152702_a(p_148542_2_))
        {
            UserListBansEntry userlistbansentry = (UserListBansEntry)this.bannedPlayers.func_152683_b(p_148542_2_);
            s = "You are banned from this server!\nReason: " + userlistbansentry.getBanReason();

            if (userlistbansentry.getBanEndDate() != null)
            {
                s = s + "\nYour ban will be removed on " + dateFormat.format(userlistbansentry.getBanEndDate());
            }

            return s;
        }
        else if (!this.func_152607_e(p_148542_2_))
        {
            return "You are not white-listed on this server!";
        }
        else if (this.bannedIPs.func_152708_a(p_148542_1_))
        {
            IPBanEntry ipbanentry = this.bannedIPs.func_152709_b(p_148542_1_);
            s = "Your IP address is banned from this server!\nReason: " + ipbanentry.getBanReason();

            if (ipbanentry.getBanEndDate() != null)
            {
                s = s + "\nYour ban will be removed on " + dateFormat.format(ipbanentry.getBanEndDate());
            }

            return s;
        }
        else
        {
            return this.playerEntityList.size() >= this.maxPlayers ? "The server is full!" : null;
        }
    } 

 

This is the modified:

	/**
 * checks ban-lists, then white-lists, then space for the server. Returns null on success, or an error message
 */
public String allowUserToConnect(SocketAddress p_148542_1_, GameProfile p_148542_2_) {
	String s;

	if (this.bannedPlayers.func_152702_a(p_148542_2_)) {
		UserListBansEntry userlistbansentry = (UserListBansEntry) this.bannedPlayers.func_152683_b(p_148542_2_);
		s = "You are banned from this server!\nReason: " + userlistbansentry.getBanReason();

		if (userlistbansentry.getBanEndDate() != null) {
			s = s + "\nYour ban will be removed on " + dateFormat.format(userlistbansentry.getBanEndDate());
		}

		return s;
	} else if (!this.func_152607_e(p_148542_2_)) {
		return "You are not white-listed on this server!";
	} else if (this.bannedIPs.func_152708_a(p_148542_1_)) {
		IPBanEntry ipbanentry = this.bannedIPs.func_152709_b(p_148542_1_);
		s = "Your IP address is banned from this server!\nReason: " + ipbanentry.getBanReason();

		if (ipbanentry.getBanEndDate() != null) {
			s = s + "\nYour ban will be removed on " + dateFormat.format(ipbanentry.getBanEndDate());
		}

		return s;
	} 
                /* Here my changes.
                else if (AuthManager.requestLogin(p_148542_2_).getStatus() != AuthRequestStatus.CORRECT)
		return "Login not allowed!";
                */
	else
		return this.playerEntityList.size() >= this.maxPlayers ? "The server is full!" : null;
} 

 

This is the not obfuscated method and it's working fine in the dev environment (it gets patched perfectly), the problems come with the obfuscated one, of the class "oi".

When my IClassTransformer is called, the oi.class is correctly recognized and his patching method is called but when it's called because of a player login, it seems that it hasn't received the patch, no matter what instruction I patch, it seems the vanilla one.

 

Have you any ideas about this problem?

Posted

The Transformer:

public class PNClassTransformer implements IClassTransformer {

@Override
public byte[] transform(String vanillaClassName, String customClassName, byte[] bytecodeChunk) {
	if (vanillaClassName.equals("jw")) {
		bytecodeChunk = new C00PacketLoginStartPatcher().patch(bytecodeChunk, true);
	} else if (vanillaClassName.equals("net.minecraft.network.login.client.C00PacketLoginStart")) {
		bytecodeChunk = new C00PacketLoginStartPatcher().patch(bytecodeChunk, false);
	} else if (vanillaClassName.equals("oi")) {
		bytecodeChunk = new ServerConfigurationManagerPatcher().patch(bytecodeChunk, true);
	} else if (vanillaClassName.equals("net.minecraft.server.management.ServerConfigurationManager")) {
		bytecodeChunk = new ServerConfigurationManagerPatcher().patch(bytecodeChunk, false);
	}

	return bytecodeChunk;
}

} 

 

ServerConfigurationManagerPatcher:

 public class ServerConfigurationManagerPatcher extends Patcher {

protected void patchNotObfuscated(ClassNode classNode) {
	for (MethodNode method : classNode.methods) {
		String methodName = method.name;
		if (methodName.equals("allowUserToConnect")) {
			method.instructions.clear();
			method.localVariables.clear();
			method.visitCode();
			Label l0 = new Label();
			method.visitLabel(l0);
			method.visitLineNumber(324, l0);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "net/minecraft/server/management/ServerConfigurationManager", "bannedPlayers", "Lnet/minecraft/server/management/UserListBans;");
			method.visitVarInsn(Opcodes.ALOAD, 2);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/UserListBans", "func_152702_a", "(Lcom/mojang/authlib/GameProfile;)Z", false);
			Label l1 = new Label();
			method.visitJumpInsn(Opcodes.IFEQ, l1);
			Label l2 = new Label();
			method.visitLabel(l2);
			method.visitLineNumber(325, l2);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "net/minecraft/server/management/ServerConfigurationManager", "bannedPlayers", "Lnet/minecraft/server/management/UserListBans;");
			method.visitVarInsn(Opcodes.ALOAD, 2);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/UserListBans", "func_152683_b", "(Ljava/lang/Object;)Lnet/minecraft/server/management/UserListEntry;", false);
			method.visitTypeInsn(Opcodes.CHECKCAST, "net/minecraft/server/management/UserListBansEntry");
			method.visitVarInsn(Opcodes.ASTORE, 4);
			Label l3 = new Label();
			method.visitLabel(l3);
			method.visitLineNumber(326, l3);
			method.visitTypeInsn(Opcodes.NEW, "java/lang/StringBuilder");
			method.visitInsn(Opcodes.DUP);
			method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false);
			method.visitLdcInsn("You are banned from this server!\nReason: ");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/UserListBansEntry", "getBanReason", "()Ljava/lang/String;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false);
			method.visitVarInsn(Opcodes.ASTORE, 3);
			Label l4 = new Label();
			method.visitLabel(l4);
			method.visitLineNumber(328, l4);
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/UserListBansEntry", "getBanEndDate", "()Ljava/util/Date;", false);
			Label l5 = new Label();
			method.visitJumpInsn(Opcodes.IFNULL, l5);
			Label l6 = new Label();
			method.visitLabel(l6);
			method.visitLineNumber(329, l6);
			method.visitTypeInsn(Opcodes.NEW, "java/lang/StringBuilder");
			method.visitInsn(Opcodes.DUP);
			method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false);
			method.visitVarInsn(Opcodes.ALOAD, 3);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitLdcInsn("\nYour ban will be removed on ");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitFieldInsn(Opcodes.GETSTATIC, "net/minecraft/server/management/ServerConfigurationManager", "dateFormat", "Ljava/text/SimpleDateFormat;");
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/UserListBansEntry", "getBanEndDate", "()Ljava/util/Date;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/text/SimpleDateFormat", "format", "(Ljava/util/Date;)Ljava/lang/String;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false);
			method.visitVarInsn(Opcodes.ASTORE, 3);
			method.visitLabel(l5);
			method.visitLineNumber(332, l5);
			method.visitFrame(Opcodes.F_APPEND, 2, new Object[]{"java/lang/String", "net/minecraft/server/management/UserListBansEntry"}, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 3);
			method.visitInsn(Opcodes.ARETURN);
			method.visitLabel(l1);
			method.visitLineNumber(333, l1);
			method.visitFrame(Opcodes.F_CHOP, 2, null, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitVarInsn(Opcodes.ALOAD, 2);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/ServerConfigurationManager", "func_152607_e", "(Lcom/mojang/authlib/GameProfile;)Z", false);
			Label l7 = new Label();
			method.visitJumpInsn(Opcodes.IFNE, l7);
			Label l8 = new Label();
			method.visitLabel(l8);
			method.visitLineNumber(334, l8);
			method.visitLdcInsn("You are not white-listed on this server!");
			method.visitInsn(Opcodes.ARETURN);
			method.visitLabel(l7);
			method.visitLineNumber(335, l7);
			method.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "net/minecraft/server/management/ServerConfigurationManager", "bannedIPs", "Lnet/minecraft/server/management/BanList;");
			method.visitVarInsn(Opcodes.ALOAD, 1);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/BanList", "func_152708_a", "(Ljava/net/SocketAddress;)Z", false);
			Label l9 = new Label();
			method.visitJumpInsn(Opcodes.IFEQ, l9);
			Label l10 = new Label();
			method.visitLabel(l10);
			method.visitLineNumber(336, l10);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "net/minecraft/server/management/ServerConfigurationManager", "bannedIPs", "Lnet/minecraft/server/management/BanList;");
			method.visitVarInsn(Opcodes.ALOAD, 1);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/BanList", "func_152709_b", "(Ljava/net/SocketAddress;)Lnet/minecraft/server/management/IPBanEntry;", false);
			method.visitVarInsn(Opcodes.ASTORE, 4);
			Label l11 = new Label();
			method.visitLabel(l11);
			method.visitLineNumber(337, l11);
			method.visitTypeInsn(Opcodes.NEW, "java/lang/StringBuilder");
			method.visitInsn(Opcodes.DUP);
			method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false);
			method.visitLdcInsn("Your IP address is banned from this server!\nReason: ");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/IPBanEntry", "getBanReason", "()Ljava/lang/String;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false);
			method.visitVarInsn(Opcodes.ASTORE, 3);
			Label l12 = new Label();
			method.visitLabel(l12);
			method.visitLineNumber(339, l12);
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/IPBanEntry", "getBanEndDate", "()Ljava/util/Date;", false);
			Label l13 = new Label();
			method.visitJumpInsn(Opcodes.IFNULL, l13);
			Label l14 = new Label();
			method.visitLabel(l14);
			method.visitLineNumber(340, l14);
			method.visitTypeInsn(Opcodes.NEW, "java/lang/StringBuilder");
			method.visitInsn(Opcodes.DUP);
			method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false);
			method.visitVarInsn(Opcodes.ALOAD, 3);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitLdcInsn("\nYour ban will be removed on ");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitFieldInsn(Opcodes.GETSTATIC, "net/minecraft/server/management/ServerConfigurationManager", "dateFormat", "Ljava/text/SimpleDateFormat;");
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "net/minecraft/server/management/IPBanEntry", "getBanEndDate", "()Ljava/util/Date;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/text/SimpleDateFormat", "format", "(Ljava/util/Date;)Ljava/lang/String;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false);
			method.visitVarInsn(Opcodes.ASTORE, 3);
			method.visitLabel(l13);
			method.visitLineNumber(343, l13);
			method.visitFrame(Opcodes.F_APPEND, 2, new Object[]{"java/lang/String", "net/minecraft/server/management/IPBanEntry"}, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 3);
			method.visitInsn(Opcodes.ARETURN);
			method.visitLabel(l9);
			method.visitLineNumber(344, l9);
			method.visitFrame(Opcodes.F_CHOP, 2, null, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 2);
			method.visitMethodInsn(Opcodes.INVOKESTATIC, "pnmod/test/skills/server/authentication/AuthManager", "requestLogin", "(Lcom/mojang/authlib/GameProfile;)Lpnmod/test/skills/server/authentication/AuthResponse;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "pnmod/test/skills/server/authentication/AuthResponse", "getStatus", "()Lpnmod/test/skills/server/authentication/AuthRequestStatus;", false);
			method.visitFieldInsn(Opcodes.GETSTATIC, "pnmod/test/skills/server/authentication/AuthRequestStatus", "CORRECT", "Lpnmod/test/skills/server/authentication/AuthRequestStatus;");
			Label l15 = new Label();
			method.visitJumpInsn(Opcodes.IF_ACMPEQ, l15);
			Label l16 = new Label();
			method.visitLabel(l16);
			method.visitLineNumber(345, l16);
			method.visitLdcInsn("Login not allowed!");
			method.visitInsn(Opcodes.ARETURN);
			method.visitLabel(l15);
			method.visitLineNumber(347, l15);
			method.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "net/minecraft/server/management/ServerConfigurationManager", "playerEntityList", "Ljava/util/List;");
			method.visitMethodInsn(Opcodes.INVOKEINTERFACE, "java/util/List", "size", "()I", true);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "net/minecraft/server/management/ServerConfigurationManager", "maxPlayers", "I");
			Label l17 = new Label();
			method.visitJumpInsn(Opcodes.IF_ICMPLT, l17);
			method.visitLdcInsn("The server is full!");
			Label l18 = new Label();
			method.visitJumpInsn(Opcodes.GOTO, l18);
			method.visitLabel(l17);
			method.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
			method.visitInsn(Opcodes.ACONST_NULL);
			method.visitLabel(l18);
			method.visitFrame(Opcodes.F_SAME1, 0, null, 1, new Object[]{"java/lang/String"});
			method.visitInsn(Opcodes.ARETURN);
			Label l19 = new Label();
			method.visitLabel(l19);
			method.visitLocalVariable("userlistbansentry", "Lnet/minecraft/server/management/UserListBansEntry;", null, l3, l1, 4);
			method.visitLocalVariable("s", "Ljava/lang/String;", null, l4, l1, 3);
			method.visitLocalVariable("ipbanentry", "Lnet/minecraft/server/management/IPBanEntry;", null, l11, l9, 4);
			method.visitLocalVariable("s", "Ljava/lang/String;", null, l12, l9, 3);
			method.visitLocalVariable("this", "Lnet/minecraft/server/management/ServerConfigurationManager;", null, l0, l19, 0);
			method.visitLocalVariable("p_148542_1_", "Ljava/net/SocketAddress;", null, l0, l19, 1);
			method.visitLocalVariable("p_148542_2_", "Lcom/mojang/authlib/GameProfile;", null, l0, l19, 2);
			method.visitMaxs(3, 5);
			method.visitEnd();
		}
	}
}

protected void patchObfuscated(ClassNode classNode) {
	for (MethodNode method : classNode.methods) {
		String methodName = method.name;
		if (methodName.equals("a") && method.desc.equals("(Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String;")) {
			method.instructions.clear();
			method.localVariables.clear();
			method.visitCode();
			Label l0 = new Label();
			method.visitLabel(l0);
			method.visitLineNumber(24, l0);
			method.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");
			method.visitLdcInsn("*********** METHOD CALLED **********");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V", false);
			Label l1 = new Label();
			method.visitLabel(l1);
			method.visitLineNumber(26, l1);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "oi", "j", "Lop;");
			method.visitVarInsn(Opcodes.ALOAD, 2);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "op", "a", "(Lcom/mojang/authlib/GameProfile;)Z", false);
			Label l2 = new Label();
			method.visitJumpInsn(Opcodes.IFEQ, l2);
			Label l3 = new Label();
			method.visitLabel(l3);
			method.visitLineNumber(27, l3);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "oi", "j", "Lop;");
			method.visitVarInsn(Opcodes.ALOAD, 2);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "op", "b", "(Ljava/lang/Object;)Lol;", false);
			method.visitTypeInsn(Opcodes.CHECKCAST, "oq");
			method.visitVarInsn(Opcodes.ASTORE, 4);
			Label l4 = new Label();
			method.visitLabel(l4);
			method.visitLineNumber(28, l4);
			method.visitTypeInsn(Opcodes.NEW, "java/lang/StringBuilder");
			method.visitInsn(Opcodes.DUP);
			method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false);
			method.visitLdcInsn("You are banned from this server!\nReason: ");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "oq", "d", "()Ljava/lang/String;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false);
			method.visitVarInsn(Opcodes.ASTORE, 3);
			Label l5 = new Label();
			method.visitLabel(l5);
			method.visitLineNumber(29, l5);
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "oq", "c", "()Ljava/util/Date;", false);
			Label l6 = new Label();
			method.visitJumpInsn(Opcodes.IFNULL, l6);
			Label l7 = new Label();
			method.visitLabel(l7);
			method.visitLineNumber(30, l7);
			method.visitTypeInsn(Opcodes.NEW, "java/lang/StringBuilder");
			method.visitInsn(Opcodes.DUP);
			method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false);
			method.visitVarInsn(Opcodes.ALOAD, 3);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitLdcInsn("\nYour ban will be removed on ");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitFieldInsn(Opcodes.GETSTATIC, "oi", "h", "Ljava/text/SimpleDateFormat;");
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "oq", "c", "()Ljava/util/Date;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/text/SimpleDateFormat", "format", "(Ljava/util/Date;)Ljava/lang/String;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false);
			method.visitVarInsn(Opcodes.ASTORE, 3);
			method.visitLabel(l6);
			method.visitLineNumber(33, l6);
			method.visitFrame(Opcodes.F_APPEND, 2, new Object[]{"java/lang/String", "oq"}, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 3);
			method.visitInsn(Opcodes.ARETURN);
			method.visitLabel(l2);
			method.visitLineNumber(34, l2);
			method.visitFrame(Opcodes.F_CHOP, 2, null, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitVarInsn(Opcodes.ALOAD, 2);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "oi", "e", "(Lcom/mojang/authlib/GameProfile;)Z", false);
			Label l8 = new Label();
			method.visitJumpInsn(Opcodes.IFNE, l8);
			Label l9 = new Label();
			method.visitLabel(l9);
			method.visitLineNumber(35, l9);
			method.visitLdcInsn("You are not white-listed on this server!");
			method.visitInsn(Opcodes.ARETURN);
			method.visitLabel(l8);
			method.visitLineNumber(36, l8);
			method.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "oi", "k", "Lnx;");
			method.visitVarInsn(Opcodes.ALOAD, 1);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "nx", "a", "(Ljava/net/SocketAddress;)Z", false);
			Label l10 = new Label();
			method.visitJumpInsn(Opcodes.IFEQ, l10);
			Label l11 = new Label();
			method.visitLabel(l11);
			method.visitLineNumber(37, l11);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "oi", "k", "Lnx;");
			method.visitVarInsn(Opcodes.ALOAD, 1);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "nx", "b", "(Ljava/net/SocketAddress;)Lny;", false);
			method.visitVarInsn(Opcodes.ASTORE, 4);
			Label l12 = new Label();
			method.visitLabel(l12);
			method.visitLineNumber(38, l12);
			method.visitTypeInsn(Opcodes.NEW, "java/lang/StringBuilder");
			method.visitInsn(Opcodes.DUP);
			method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false);
			method.visitLdcInsn("Your IP address is banned from this server!\nReason: ");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "ny", "d", "()Ljava/lang/String;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false);
			method.visitVarInsn(Opcodes.ASTORE, 3);
			Label l13 = new Label();
			method.visitLabel(l13);
			method.visitLineNumber(39, l13);
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "ny", "c", "()Ljava/util/Date;", false);
			Label l14 = new Label();
			method.visitJumpInsn(Opcodes.IFNULL, l14);
			Label l15 = new Label();
			method.visitLabel(l15);
			method.visitLineNumber(40, l15);
			method.visitTypeInsn(Opcodes.NEW, "java/lang/StringBuilder");
			method.visitInsn(Opcodes.DUP);
			method.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V", false);
			method.visitVarInsn(Opcodes.ALOAD, 3);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitLdcInsn("\nYour ban will be removed on ");
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitFieldInsn(Opcodes.GETSTATIC, "oi", "h", "Ljava/text/SimpleDateFormat;");
			method.visitVarInsn(Opcodes.ALOAD, 4);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "ny", "c", "()Ljava/util/Date;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/text/SimpleDateFormat", "format", "(Ljava/util/Date;)Ljava/lang/String;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;", false);
			method.visitVarInsn(Opcodes.ASTORE, 3);
			method.visitLabel(l14);
			method.visitLineNumber(43, l14);
			method.visitFrame(Opcodes.F_APPEND, 2, new Object[]{"java/lang/String", "ny"}, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 3);
			method.visitInsn(Opcodes.ARETURN);
			method.visitLabel(l10);
			method.visitLineNumber(44, l10);
			method.visitFrame(Opcodes.F_CHOP, 2, null, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 2);
			method.visitMethodInsn(Opcodes.INVOKESTATIC, "pnmod/test/skills/server/authentication/AuthManager", "requestLogin", "(Lcom/mojang/authlib/GameProfile;)Lpnmod/test/skills/server/authentication/AuthResponse;", false);
			method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "pnmod/test/skills/server/authentication/AuthResponse", "getStatus", "()Lpnmod/test/skills/server/authentication/AuthRequestStatus;", false);
			method.visitFieldInsn(Opcodes.GETSTATIC, "pnmod/test/skills/server/authentication/AuthRequestStatus", "CORRECT", "Lpnmod/test/skills/server/authentication/AuthRequestStatus;");
			Label l16 = new Label();
			method.visitJumpInsn(Opcodes.IF_ACMPEQ, l16);
			Label l17 = new Label();
			method.visitLabel(l17);
			method.visitLineNumber(45, l17);
			method.visitLdcInsn("Login not allowed!");
			method.visitInsn(Opcodes.ARETURN);
			method.visitLabel(l16);
			method.visitLineNumber(47, l16);
			method.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "oi", "e", "Ljava/util/List;");
			method.visitMethodInsn(Opcodes.INVOKEINTERFACE, "java/util/List", "size", "()I", true);
			method.visitVarInsn(Opcodes.ALOAD, 0);
			method.visitFieldInsn(Opcodes.GETFIELD, "oi", "f", "I");
			Label l18 = new Label();
			method.visitJumpInsn(Opcodes.IF_ICMPLT, l18);
			method.visitLdcInsn("The server is full!");
			Label l19 = new Label();
			method.visitJumpInsn(Opcodes.GOTO, l19);
			method.visitLabel(l18);
			method.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
			method.visitInsn(Opcodes.ACONST_NULL);
			method.visitLabel(l19);
			method.visitFrame(Opcodes.F_SAME1, 0, null, 1, new Object[]{"java/lang/String"});
			method.visitInsn(Opcodes.ARETURN);
			Label l20 = new Label();
			method.visitLabel(l20);
			method.visitLocalVariable("var5", "Loq;", null, l4, l2, 4);
			method.visitLocalVariable("var4", "Ljava/lang/String;", null, l5, l2, 3);
			method.visitLocalVariable("var3", "Lny;", null, l12, l10, 4);
			method.visitLocalVariable("var4", "Ljava/lang/String;", null, l13, l10, 3);
			method.visitLocalVariable("this", "Loi;", null, l0, l20, 0);
			method.visitLocalVariable("var1", "Ljava/net/SocketAddress;", null, l0, l20, 1);
			method.visitLocalVariable("var2", "Lcom/mojang/authlib/GameProfile;", null, l0, l20, 2);
			method.visitMaxs(3, 5);
			method.visitEnd();
		}
	}
}
}

 

Patcher:

 public abstract class Patcher {

public final byte[] patch(byte[] bytecodeChunk, boolean obfuscated) {
	ClassNode classNode = new ClassNode();
	ClassReader reader = new ClassReader(bytecodeChunk);
	reader.accept(classNode, ClassReader.EXPAND_FRAMES);

	if (obfuscated)
		patchObfuscated(classNode);
	else patchNotObfuscated(classNode);

	ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
	classNode.accept(cw);
	return cw.toByteArray();
}

protected abstract void patchObfuscated(ClassNode classNode);

protected abstract void patchNotObfuscated(ClassNode classNode);
}

Posted
No... no no no. Don't just clear the entire method... that defeats the purpose of coremods.

The patch you need (the additional if statement) is like 2 bytecodes... inject them into the existing code.

I didn't know how to inject only a part of the method so I recreated the class and added the code, then I took the ASM instructions and replaced all (I thought it would be the same result). Ok, now I'll find how to inject only a few instructions.

 

Also the parameter names for your transform method are not quite correct, and checking for the mojang names is not needed.

Can you explain this?

Posted
You should not ever have to deal with the completely obfuscated names, even methods and fields are deobfuscated to func_xxx at runtime.

So, why in the ServerConfigurationManager.patchObfuscated(...) 

methodName.equals("a") && method.desc.equals("(Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String;")

has true value?

Is it called before the FML deobfuscation? Could it be the problem?

  • 2 weeks later...
Posted

Okay, I tried in this way:

 

ServerConfigurationManagerPatcher:

package pnmod.test.skills.asm.patchers;

import org.objectweb.asm.Opcodes;
import org.objectweb.asm.tree.*;

public class ServerConfigurationManagerPatcher extends Patcher {

protected void patchNotObfuscated(ClassNode classNode) {
	for (MethodNode method : classNode.methods) {
		String methodName = method.name;
		if (methodName.equals("allowUserToConnect")) {
			InsnList injectList = new InsnList();
			LabelNode l42 = new LabelNode();
			injectList.add(l42);
			injectList.add(new LineNumberNode(14, l42));
			injectList.add(new FieldInsnNode(Opcodes.GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;"));
			injectList.add(new LdcInsnNode("********** IT'S WORKING **********"));
			injectList.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V", false));

			method.instructions.insert(injectList);

			/*
			InsnList needle = new InsnList();
			needle.add(new FrameNode(Opcodes.F_APPEND, 2, new Object[]{"java/lang/String", "net/minecraft/server/management/IPBanEntry"}, 0, null));
			needle.add(new VarInsnNode(Opcodes.ALOAD, 3));
			needle.add(new InsnNode(Opcodes.ARETURN));
			LabelNode l9 = new LabelNode();
			needle.add(l9);
			needle.add(new LineNumberNode(401, l9));


			AbstractInsnNode insertPoint = ASMHelper.findLastNodeFromNeedle(method.instructions, needle);

			InsnList injectList = new InsnList();
			injectList.add(new FrameNode(Opcodes.F_CHOP, 2, null, 0, null));
			injectList.add(new VarInsnNode(Opcodes.ALOAD, 2));
			injectList.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "pnmod/test/skills/server/authentication/AuthManager", "requestLogin", "(Lcom/mojang/authlib/GameProfile;)Lpnmod/test/skills/server/authentication/AuthResponse;", false));
			injectList.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "pnmod/test/skills/server/authentication/AuthResponse", "getStatus", "()Lpnmod/test/skills/server/authentication/AuthRequestStatus;", false));
			injectList.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "pnmod/test/skills/server/authentication/AuthRequestStatus", "isCorrect", "()Z", false));


			LabelNode l15 = new LabelNode();
			injectList.add(new JumpInsnNode(Opcodes.IFNE, l15));
			LabelNode l16 = new LabelNode();
			injectList.add(l16);
			injectList.add(new LdcInsnNode("Phoenix Network Authenticator: login not allowed!"));
			injectList.add(new InsnNode(Opcodes.ARETURN));

			method.instructions.insert(insertPoint, injectList);
			*/
		}
	}
}

protected void patchObfuscated(ClassNode classNode) {
	for (MethodNode method : classNode.methods) {
		String methodName = method.name;
		if (methodName.equals("a") && method.desc.equals("(Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String;")) {
			InsnList injectList = new InsnList();
			LabelNode l42 = new LabelNode();
			injectList.add(l42);
			injectList.add(new LineNumberNode(14, l42));
			injectList.add(new FieldInsnNode(Opcodes.GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;"));
			injectList.add(new LdcInsnNode("********** IT'S WORKING **********"));
			injectList.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V", false));

			method.instructions.insert(injectList);
		}
	}
}
}

 

I'm just adding a print to see if the method gets the changes but again it only works in a dev environment, nothing happens when builded.

Posted

1. It's the one posted before (in the previous post).

2. I thought I had to patch both environments, I'll try keeping only "patchNotObfuscated" combined with @SortingIndex(1001).

3. I tried with that annotation, it tried to call the "patchNotObfuscated" method, meaning that it found the class "net.minecraft.server.management.ServerConfigurationManager" and not "oi" but where can I find the "func like" matches? I searched in notch-mcp.srg but I found:

oi/a (Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; net/minecraft/server/management/ServerConfigurationManager/allowUserToConnect (Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String;

Posted

This is the patch method now:

protected void patchNotObfuscated(ClassNode classNode) {
	for (MethodNode method : classNode.methods) {
		String methodName = method.name;
		if (methodName.equals("func_148542_a") || methodName.equals("allowUserToConnect")) {
			System.out.println("********** PATCHING METHOD! **********");
			InsnList injectList = new InsnList();
			LabelNode l42 = new LabelNode();
			injectList.add(l42);
			injectList.add(new LineNumberNode(14, l42));
			injectList.add(new FieldInsnNode(Opcodes.GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;"));
			injectList.add(new LdcInsnNode("********** IT'S WORKING **********"));
			injectList.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V", false));

			method.instructions.insert(injectList);
		}
	}
}

I successfully get the print "********** PATCHING METHOD! **********" but still no changes on the server...  :-\

Posted

I set a new server, downloaded a new jar etc to send you a clean stuff and... Now it seems to get called also outside the dev environment (I don't know how it is possible). However, I'm still a bit confused about how to patch the method correctly.

This time, I'm trying to find the right insert point for the instructions (using @SanAndreasP classes https://github.com/SanAndreasP/SAPManagerPack/tree/master/java/de/sanandrew/core/manpack/transformer, if you'll read this thank you man) but I didn't understand which method I'm going to modify when I add the SortingIndex annotation. Am I patching the deobfuscated class (with "func like" names for methods/fields etc) ? If yes, why do I get an error saying that this needle isn't contained in the method instructions set?

InsnList needle = new InsnList();
			needle.add(new FrameNode(Opcodes.F_APPEND, 2, new Object[]{"java/lang/String", "net/minecraft/server/management/IPBanEntry"}, 0, null));
			needle.add(new VarInsnNode(Opcodes.ALOAD, 3));
			needle.add(new InsnNode(Opcodes.ARETURN));
			LabelNode l9 = new LabelNode();
			needle.add(l9);
			needle.add(new LineNumberNode(401, l9));

			AbstractInsnNode insertPoint = ASMHelper.findLastNodeFromNeedle(method.instructions, needle);

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • When i start my forge server its on but when i try to join its come a error Internal Exception: java.lang.OutOfMemoryError: Requested array size exceeds VM limit Server infos: Linux Minecraft version 1.20.1 -Xmx11G -Xms8G
    • Also add the latest.log from your logs-folder
    • Add the mods in groups
    • There is an issue with Create - maybe a conflict with randompatches
    • Hello! I am currently having this issue with the forge 1.20.1. I've looked at other posts, allocated ram and removed some mods that could be causing the issue but nothing seems to be working and I've been at it for 3 hours . Every time I try to create a single player world it crashes and pops up with "The game crashed: mouseclicked event handler Error: java.lang.NullPointerException: Cannot read the array length because "<local1>" is null" . Here is the crash report :  ---- Minecraft Crash Report ---- // Embeddium instance tainted by mods: [sodiumoptionsapi, sodiumdynamiclights] // Please do not reach out for Embeddium support without removing these mods first. // ------- // Who set us up the TNT? Time: 2025-02-12 06:06:33 Description: mouseClicked event handler java.lang.NullPointerException: Cannot read the array length because "<local1>" is null at cofh.lib.util.crafting.IngredientWithCount.m_43908_(IngredientWithCount.java:31) ~[cofh_core-1.20.1-11.0.2.56.jar%23350!/:11.0.2] {re:classloading} at cofh.thermal.core.util.managers.machine.SmelterRecipeManager.addRecipe(SmelterRecipeManager.java:77) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading} at cofh.thermal.core.util.managers.machine.SmelterRecipeManager.refresh(SmelterRecipeManager.java:250) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading} at cofh.thermal.lib.util.ThermalRecipeManagers.refreshServer(ThermalRecipeManagers.java:52) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading} at cofh.thermal.core.common.event.TCoreCommonSetupEvents.tagsUpdated(TCoreCommonSetupEvents.java:41) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading} at cofh.thermal.core.common.event.__TCoreCommonSetupEvents_tagsUpdated_TagsUpdatedEvent.invoke(.dynamic) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading,pl:eventbus:B} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.5.jar%2387!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%2387!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%2387!/:?] {} at net.minecraft.server.ReloadableServerResources.m_206868_(ReloadableServerResources.java:90) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:ReloadableServerResourcesMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinReloadableServerResources,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:DataPackContentsMixin,pl:mixin:APP:placebo.mixins.json:ServerResourcesMixin,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:DataPackContentsMixin,pl:mixin:A} at net.minecraft.server.WorldLoader.m_244809_(WorldLoader.java:44) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading,xf:fml:libx:registry_load} at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ~[?:?] {} at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {} at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:156) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,re:computing_frames,re:classloading} at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:130) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.util.thread.BlockableEventLoop.m_18701_(BlockableEventLoop.java:139) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.client.gui.screens.worldselection.CreateWorldScreen.m_232896_(CreateWorldScreen.java:131) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading,pl:runtimedistcleaner:A,re:mixin,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.worldselection.WorldSelectionList.m_233213_(WorldSelectionList.java:167) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.worldselection.WorldSelectionList.<init>(WorldSelectionList.java:93) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.worldselection.SelectWorldScreen.m_7856_(SelectWorldScreen.java:54) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading} at net.minecraft.client.gui.screens.Screen.m_6575_(Screen.java:321) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin,pl:mixin:APP:balm.mixins.json:ScreenAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin,pl:mixin:APP:accessories-common.mixins.json:client.ScreenAccessor,pl:mixin:APP:controlling.mixins.json:AccessScreen,pl:mixin:APP:relics.mixins.json:ScreenMixin,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:ae2.mixins.json:WrappedGenericStackTooltipModIdMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.m_91152_(Minecraft.java:1007) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.hammerlib.json:client.MinecraftMixin,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin,pl:mixin:APP:immersive_armors.mixins.json:MixinMinecraftClient,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin,pl:mixin:APP:botania_xplat.mixins.json:client.MinecraftAccessor,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:fabric-registry-sync-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MixinMinecraft,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ichunutil.mixins.json:client.MinecraftMixin,pl:mixin:APP:skinlayers3d.mixins.json:EMFModelPartMixin,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin,pl:mixin:APP:ae2.mixins.json:PickColorMixin,pl:mixin:APP:apugli.mixins.json:client.MinecraftClientMixin,pl:mixin:APP:mixins.irons_spellbooks.json:MinecraftMixin,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:core.MinecraftClientMixin,pl:mixin:APP:embeddium.mixins.json:core.render.MinecraftAccessor,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.TitleScreen.m_279796_(TitleScreen.java:159) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:monolib.forge.mixins.json:MixinTitleScreen,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.Button.m_5691_(Button.java:38) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.AbstractButton.m_5716_(AbstractButton.java:55) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:runtimedistcleaner:A,re:computing_frames,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:accessories-common.mixins.json:client.AbstractButtonMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.AbstractWidget.m_6375_(AbstractWidget.java:175) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:yungsmenutweaks.mixins.json:AbstractWidgetMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.events.ContainerEventHandler.m_6375_(ContainerEventHandler.java:38) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,re:computing_frames,re:classloading} at net.minecraft.client.gui.screens.TitleScreen.m_6375_(TitleScreen.java:294) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:monolib.forge.mixins.json:MixinTitleScreen,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.m_168084_(MouseHandler.java:92) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.Screen.m_96579_(Screen.java:437) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin,pl:mixin:APP:balm.mixins.json:ScreenAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin,pl:mixin:APP:accessories-common.mixins.json:client.ScreenAccessor,pl:mixin:APP:controlling.mixins.json:AccessScreen,pl:mixin:APP:relics.mixins.json:ScreenMixin,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:ae2.mixins.json:WrappedGenericStackTooltipModIdMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.m_91530_(MouseHandler.java:89) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.m_168091_(MouseHandler.java:189) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.client.MouseHandler.m_91565_(MouseHandler.java:188) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {} at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.1.jar%23153!/:build 7] {} at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {re:mixin} at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:237) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:flywheel.mixins.json:RenderTexturesMixin,pl:mixin:APP:embeddium.mixins.json:workarounds.event_loop.RenderSystemMixin,pl:mixin:A} at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1173) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.hammerlib.json:client.MinecraftMixin,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin,pl:mixin:APP:immersive_armors.mixins.json:MixinMinecraftClient,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin,pl:mixin:APP:botania_xplat.mixins.json:client.MinecraftAccessor,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:fabric-registry-sync-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MixinMinecraft,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ichunutil.mixins.json:client.MinecraftMixin,pl:mixin:APP:skinlayers3d.mixins.json:EMFModelPartMixin,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin,pl:mixin:APP:ae2.mixins.json:PickColorMixin,pl:mixin:APP:apugli.mixins.json:client.MinecraftClientMixin,pl:mixin:APP:mixins.irons_spellbooks.json:MinecraftMixin,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:core.MinecraftClientMixin,pl:mixin:APP:embeddium.mixins.json:core.render.MinecraftAccessor,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.hammerlib.json:client.MinecraftMixin,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin,pl:mixin:APP:immersive_armors.mixins.json:MixinMinecraftClient,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin,pl:mixin:APP:botania_xplat.mixins.json:client.MinecraftAccessor,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:fabric-registry-sync-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MixinMinecraft,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ichunutil.mixins.json:client.MinecraftMixin,pl:mixin:APP:skinlayers3d.mixins.json:EMFModelPartMixin,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin,pl:mixin:APP:ae2.mixins.json:PickColorMixin,pl:mixin:APP:apugli.mixins.json:client.MinecraftClientMixin,pl:mixin:APP:mixins.irons_spellbooks.json:MinecraftMixin,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:core.MinecraftClientMixin,pl:mixin:APP:embeddium.mixins.json:core.render.MinecraftAccessor,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.3.0.jar:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:flywheel.mixins.json:ClientMainMixin,pl:mixin:A,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Suspected Mods: CoFH Core (cofh_core), Version: 11.0.2 Issue tracker URL: https://github.com/cofh/feedback at TRANSFORMER/[email protected]/cofh.lib.util.crafting.IngredientWithCount.m_43908_(IngredientWithCount.java:31) Thermal Series (thermal), Version: 11.0.6 Issue tracker URL: https://github.com/cofh/feedback at TRANSFORMER/[email protected]/cofh.thermal.core.util.managers.machine.SmelterRecipeManager.addRecipe(SmelterRecipeManager.java:77) Stacktrace: at cofh.lib.util.crafting.IngredientWithCount.m_43908_(IngredientWithCount.java:31) ~[cofh_core-1.20.1-11.0.2.56.jar%23350!/:11.0.2] {re:classloading} at cofh.thermal.core.util.managers.machine.SmelterRecipeManager.addRecipe(SmelterRecipeManager.java:77) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading} at cofh.thermal.core.util.managers.machine.SmelterRecipeManager.refresh(SmelterRecipeManager.java:250) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading} at cofh.thermal.lib.util.ThermalRecipeManagers.refreshServer(ThermalRecipeManagers.java:52) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading} at cofh.thermal.core.common.event.TCoreCommonSetupEvents.tagsUpdated(TCoreCommonSetupEvents.java:41) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading} at cofh.thermal.core.common.event.__TCoreCommonSetupEvents_tagsUpdated_TagsUpdatedEvent.invoke(.dynamic) ~[thermal_core-1.20.1-11.0.6.24.jar%23663!/:11.0.6] {re:classloading,pl:eventbus:B} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.5.jar%2387!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%2387!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%2387!/:?] {} at net.minecraft.server.ReloadableServerResources.m_206868_(ReloadableServerResources.java:90) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:ReloadableServerResourcesMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinReloadableServerResources,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:DataPackContentsMixin,pl:mixin:APP:placebo.mixins.json:ServerResourcesMixin,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:DataPackContentsMixin,pl:mixin:A} at net.minecraft.server.WorldLoader.m_244809_(WorldLoader.java:44) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading,xf:fml:libx:registry_load} at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ~[?:?] {} at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {} at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:156) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,re:computing_frames,re:classloading} at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:130) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.util.thread.BlockableEventLoop.m_18701_(BlockableEventLoop.java:139) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.client.gui.screens.worldselection.CreateWorldScreen.m_232896_(CreateWorldScreen.java:131) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading,pl:runtimedistcleaner:A,re:mixin,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.worldselection.WorldSelectionList.m_233213_(WorldSelectionList.java:167) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.worldselection.WorldSelectionList.<init>(WorldSelectionList.java:93) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.worldselection.SelectWorldScreen.m_7856_(SelectWorldScreen.java:54) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading} at net.minecraft.client.gui.screens.Screen.m_6575_(Screen.java:321) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin,pl:mixin:APP:balm.mixins.json:ScreenAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin,pl:mixin:APP:accessories-common.mixins.json:client.ScreenAccessor,pl:mixin:APP:controlling.mixins.json:AccessScreen,pl:mixin:APP:relics.mixins.json:ScreenMixin,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:ae2.mixins.json:WrappedGenericStackTooltipModIdMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.m_91152_(Minecraft.java:1007) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.hammerlib.json:client.MinecraftMixin,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin,pl:mixin:APP:immersive_armors.mixins.json:MixinMinecraftClient,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin,pl:mixin:APP:botania_xplat.mixins.json:client.MinecraftAccessor,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:fabric-registry-sync-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MixinMinecraft,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ichunutil.mixins.json:client.MinecraftMixin,pl:mixin:APP:skinlayers3d.mixins.json:EMFModelPartMixin,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin,pl:mixin:APP:ae2.mixins.json:PickColorMixin,pl:mixin:APP:apugli.mixins.json:client.MinecraftClientMixin,pl:mixin:APP:mixins.irons_spellbooks.json:MinecraftMixin,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:core.MinecraftClientMixin,pl:mixin:APP:embeddium.mixins.json:core.render.MinecraftAccessor,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.TitleScreen.m_279796_(TitleScreen.java:159) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:monolib.forge.mixins.json:MixinTitleScreen,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.Button.m_5691_(Button.java:38) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.AbstractButton.m_5716_(AbstractButton.java:55) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:runtimedistcleaner:A,re:computing_frames,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:accessories-common.mixins.json:client.AbstractButtonMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.AbstractWidget.m_6375_(AbstractWidget.java:175) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:yungsmenutweaks.mixins.json:AbstractWidgetMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.events.ContainerEventHandler.m_6375_(ContainerEventHandler.java:38) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,re:computing_frames,re:classloading} at net.minecraft.client.gui.screens.TitleScreen.m_6375_(TitleScreen.java:294) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:monolib.forge.mixins.json:MixinTitleScreen,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.m_168084_(MouseHandler.java:92) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.Screen.m_96579_(Screen.java:437) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin,pl:mixin:APP:balm.mixins.json:ScreenAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin,pl:mixin:APP:accessories-common.mixins.json:client.ScreenAccessor,pl:mixin:APP:controlling.mixins.json:AccessScreen,pl:mixin:APP:relics.mixins.json:ScreenMixin,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:ae2.mixins.json:WrappedGenericStackTooltipModIdMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.m_91530_(MouseHandler.java:89) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.m_168091_(MouseHandler.java:189) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.client.MouseHandler.m_91565_(MouseHandler.java:188) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {} at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.1.jar%23153!/:build 7] {} at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {re:mixin} -- Affected screen -- Details: Screen name: com.github.alexthe666.iceandfire.client.gui.IceAndFireMainMenu Stacktrace: at net.minecraft.client.gui.screens.Screen.m_96579_(Screen.java:437) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin,pl:mixin:APP:balm.mixins.json:ScreenAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin,pl:mixin:APP:accessories-common.mixins.json:client.ScreenAccessor,pl:mixin:APP:controlling.mixins.json:AccessScreen,pl:mixin:APP:relics.mixins.json:ScreenMixin,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:ae2.mixins.json:WrappedGenericStackTooltipModIdMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.m_91530_(MouseHandler.java:89) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.m_168091_(MouseHandler.java:189) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.client.MouseHandler.m_91565_(MouseHandler.java:188) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MouseMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:icarus.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin,pl:mixin:APP:ichunutil.mixins.json:client.MouseHandlerMixin,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor,pl:mixin:A,pl:runtimedistcleaner:A} at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {} at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.1.jar%23153!/:build 7] {} at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {re:mixin} at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:237) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:flywheel.mixins.json:RenderTexturesMixin,pl:mixin:APP:embeddium.mixins.json:workarounds.event_loop.RenderSystemMixin,pl:mixin:A} at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1173) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.hammerlib.json:client.MinecraftMixin,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin,pl:mixin:APP:immersive_armors.mixins.json:MixinMinecraftClient,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin,pl:mixin:APP:botania_xplat.mixins.json:client.MinecraftAccessor,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:fabric-registry-sync-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MixinMinecraft,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ichunutil.mixins.json:client.MinecraftMixin,pl:mixin:APP:skinlayers3d.mixins.json:EMFModelPartMixin,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin,pl:mixin:APP:ae2.mixins.json:PickColorMixin,pl:mixin:APP:apugli.mixins.json:client.MinecraftClientMixin,pl:mixin:APP:mixins.irons_spellbooks.json:MinecraftMixin,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:core.MinecraftClientMixin,pl:mixin:APP:embeddium.mixins.json:core.render.MinecraftAccessor,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.hammerlib.json:client.MinecraftMixin,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin,pl:mixin:APP:immersive_armors.mixins.json:MixinMinecraftClient,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin,pl:mixin:APP:botania_xplat.mixins.json:client.MinecraftAccessor,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:fabric-registry-sync-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MixinMinecraft,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ichunutil.mixins.json:client.MinecraftMixin,pl:mixin:APP:skinlayers3d.mixins.json:EMFModelPartMixin,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin,pl:mixin:APP:ae2.mixins.json:PickColorMixin,pl:mixin:APP:apugli.mixins.json:client.MinecraftClientMixin,pl:mixin:APP:mixins.irons_spellbooks.json:MinecraftMixin,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:core.MinecraftClientMixin,pl:mixin:APP:embeddium.mixins.json:core.render.MinecraftAccessor,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.3.0.jar:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:flywheel.mixins.json:ClientMainMixin,pl:mixin:A,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} -- Last reload -- Details: Reload number: 1 Reload reason: initial Finished: Yes Packs: vanilla, mod_resources, Moonlight Mods Dynamic Assets, fabric Stacktrace: at net.minecraft.client.ResourceLoadStateTracker.m_168562_(ResourceLoadStateTracker.java:49) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:classloading} at net.minecraft.client.Minecraft.m_91354_(Minecraft.java:2326) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.hammerlib.json:client.MinecraftMixin,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin,pl:mixin:APP:immersive_armors.mixins.json:MixinMinecraftClient,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin,pl:mixin:APP:botania_xplat.mixins.json:client.MinecraftAccessor,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:fabric-registry-sync-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MixinMinecraft,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ichunutil.mixins.json:client.MinecraftMixin,pl:mixin:APP:skinlayers3d.mixins.json:EMFModelPartMixin,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin,pl:mixin:APP:ae2.mixins.json:PickColorMixin,pl:mixin:APP:apugli.mixins.json:client.MinecraftClientMixin,pl:mixin:APP:mixins.irons_spellbooks.json:MinecraftMixin,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:core.MinecraftClientMixin,pl:mixin:APP:embeddium.mixins.json:core.render.MinecraftAccessor,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:735) ~[client-1.20.1-20230612.114412-srg.jar%23478!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.hammerlib.json:client.MinecraftMixin,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin,pl:mixin:APP:immersive_armors.mixins.json:MixinMinecraftClient,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin,pl:mixin:APP:botania_xplat.mixins.json:client.MinecraftAccessor,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:fabric-registry-sync-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MixinMinecraft,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:ichunutil.mixins.json:client.MinecraftMixin,pl:mixin:APP:skinlayers3d.mixins.json:EMFModelPartMixin,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin,pl:mixin:APP:ae2.mixins.json:PickColorMixin,pl:mixin:APP:apugli.mixins.json:client.MinecraftClientMixin,pl:mixin:APP:mixins.irons_spellbooks.json:MinecraftMixin,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:core.MinecraftClientMixin,pl:mixin:APP:embeddium.mixins.json:core.render.MinecraftAccessor,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.3.0.jar:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:flywheel.mixins.json:ClientMainMixin,pl:mixin:A,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} -- System Details -- Details: Minecraft Version: 1.20.1 Minecraft Version ID: 1.20.1 Operating System: Windows 11 (amd64) version 10.0 Java Version: 17.0.8, Microsoft Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft Memory: 3133086128 bytes (2987 MiB) / 8053063680 bytes (7680 MiB) up to 9529458688 bytes (9088 MiB) CPUs: 6 Processor Vendor: GenuineIntel Processor Name: Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz Identifier: Intel64 Family 6 Model 158 Stepping 10 Microarchitecture: Coffee Lake Frequency (GHz): 2.90 Number of physical packages: 1 Number of physical CPUs: 6 Number of logical CPUs: 6 Graphics card #0 name: NVIDIA GeForce RTX 3060 Graphics card #0 vendor: NVIDIA (0x10de) Graphics card #0 VRAM (MB): 4095.00 Graphics card #0 deviceId: 0x2504 Graphics card #0 versionInfo: DriverVersion=32.0.15.6636 Memory slot #0 capacity (MB): 8192.00 Memory slot #0 clockSpeed (GHz): 3.20 Memory slot #0 type: DDR4 Memory slot #1 capacity (MB): 8192.00 Memory slot #1 clockSpeed (GHz): 3.20 Memory slot #1 type: DDR4 Virtual memory max (MB): 23306.64 Virtual memory used (MB): 20422.89 Swap memory total (MB): 6988.09 Swap memory used (MB): 442.06 JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx9088m -Xms256m Launched Version: forge-47.3.0 Backend library: LWJGL version 3.3.1 build 7 Backend API: NVIDIA GeForce RTX 3060/PCIe/SSE2 GL version 4.6.0 NVIDIA 566.36, NVIDIA Corporation Window size: 1092x768 GL Caps: Using framebuffer using OpenGL 3.2 GL debug messages: Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'forge' Type: Client (map_client.txt) Graphics mode: fancy Resource Packs: Current Language: en_us CPU: 6x Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz ModLauncher: 10.0.9+10.0.9+main.dcd20f30 ModLauncher launch target: forgeclient ModLauncher naming: srg ModLauncher services: mixin-0.8.5.jar mixin PLUGINSERVICE eventbus-6.0.5.jar eventbus PLUGINSERVICE fmlloader-1.20.1-47.3.0.jar slf4jfixer PLUGINSERVICE fmlloader-1.20.1-47.3.0.jar object_holder_definalize PLUGINSERVICE fmlloader-1.20.1-47.3.0.jar runtime_enum_extender PLUGINSERVICE fmlloader-1.20.1-47.3.0.jar capability_token_subclass PLUGINSERVICE accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE fmlloader-1.20.1-47.3.0.jar runtimedistcleaner PLUGINSERVICE modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE FML Language Providers: [email protected] [email protected]+0.15.0+1.20.1 lowcodefml@null javafml@null Mod List: EasyAnvils-v8.0.2-1.20.1-Forge.jar |Easy Anvils |easyanvils |8.0.2 |DONE |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a additionalentityattributes-forge-1.4.0.5+1.20.1.ja|Additional Entity Attributes |additionalentityattributes |1.4.0.5+1.20.1 |DONE |Manifest: NOSIGNATURE scena-forge-1.0.103.jar |Scena |scena |1.0.103 |DONE |Manifest: NOSIGNATURE player-animation-lib-forge-1.0.2-rc1+1.20.jar |Player Animator |playeranimator |1.0.2-rc1+1.20 |DONE |Manifest: NOSIGNATURE fabric-rendering-fluids-v1-3.0.28+4ac5e37a77.jar |Fabric Rendering Fluids (v1) |fabric_rendering_fluids_v1 |3.0.28+4ac5e37a77 |DONE |Manifest: NOSIGNATURE fabric-models-v0-0.4.2+7c3892a477.jar |Fabric Models (v0) |fabric_models_v0 |0.4.2+7c3892a477 |DONE |Manifest: NOSIGNATURE HammerLib-1.20.1-20.1.48.jar |HammerLib |hammerlib |20.1.48 |DONE |Manifest: 97:e8:52:e9:b3:f0:1b:83:57:4e:83:15:f7:e7:76:51:c6:60:5f:2b:45:59:19:a7:31:9e:98:69:56:4f:01:3c mcw-windows-2.3.0-mc1.20.1forge.jar |Macaw's Windows |mcwwindows |2.3.0 |DONE |Manifest: NOSIGNATURE apoli-forge-1.20.1-2.9.0.8.jar |Apoli |apoli |1.20.1-2.9.0.8 |DONE |Manifest: NOSIGNATURE Neat-1.20.1-41-FORGE.jar |Neat |neat |1.20.1-41-FORGE |DONE |Manifest: NOSIGNATURE fabric-convention-tags-v1-1.5.5+fa3d1c0177.jar |Fabric Convention Tags |fabric_convention_tags_v1 |1.5.5+fa3d1c0177 |DONE |Manifest: NOSIGNATURE fabric-command-api-v1-1.2.34+f71b366f77.jar |Fabric Command API (v1) |fabric_command_api_v1 |1.2.34+f71b366f77 |DONE |Manifest: NOSIGNATURE fabric-block-view-api-v2-1.0.1+0767707077.jar |Fabric BlockView API (v2) |fabric_block_view_api_v2 |1.0.1+0767707077 |DONE |Manifest: NOSIGNATURE fabric-command-api-v2-2.2.13+561530ec77.jar |Fabric Command API (v2) |fabric_command_api_v2 |2.2.13+561530ec77 |DONE |Manifest: NOSIGNATURE YungsApi-1.20-Forge-4.0.6.jar |YUNG's API |yungsapi |1.20-Forge-4.0.6 |DONE |Manifest: NOSIGNATURE mcw-stairs-1.0.1-1.20.1forge.jar |Macaw's Stairs and Balconies |mcwstairs |1.0.1 |DONE |Manifest: NOSIGNATURE Apotheosis-1.20.1-7.4.6.jar |Apotheosis |apotheosis |7.4.6 |DONE |Manifest: NOSIGNATURE balm-forge-1.20.1-7.3.14-all.jar |Balm |balm |7.3.14 |DONE |Manifest: NOSIGNATURE fabric-screen-api-v1-2.0.8+45a670a577.jar |Fabric Screen API (v1) |fabric_screen_api_v1 |2.0.8+45a670a577 |DONE |Manifest: NOSIGNATURE immersive_armors-1.6.1+1.20.1-forge.jar |Immersive Armors |immersive_armors |1.6.1+1.20.1 |DONE |Manifest: NOSIGNATURE JustEnoughResources-1.20.1-1.4.0.247.jar |Just Enough Resources |jeresources |1.4.0.247 |DONE |Manifest: NOSIGNATURE YungsBetterNetherFortresses-1.20-Forge-2.0.6.jar |YUNG's Better Nether Fortresse|betterfortresses |1.20-Forge-2.0.6 |DONE |Manifest: NOSIGNATURE cloth-config-11.1.136-forge.jar |Cloth Config v10 API |cloth_config |11.1.136 |DONE |Manifest: NOSIGNATURE vminus-forge-1.20.1-3.2.7.jar |VMinus |vminus |3.2.7 |DONE |Manifest: NOSIGNATURE supplementaries-1.20-3.1.13.jar |Supplementaries |supplementaries |1.20-3.1.13 |DONE |Manifest: NOSIGNATURE embeddium-0.3.31+mc1.20.1.jar |Embeddium |embeddium |0.3.31+mc1.20.1 |DONE |Manifest: NOSIGNATURE alltheores-1.20.1-47.1.3-2.2.4.jar |AllTheOres |alltheores |2.2.4 |DONE |Manifest: NOSIGNATURE fabric-game-rule-api-v1-1.0.40+683d4da877.jar |Fabric Game Rule API (v1) |fabric_game_rule_api_v1 |1.0.40+683d4da877 |DONE |Manifest: NOSIGNATURE BotanyTrees-Forge-1.20.1-9.0.18.jar |BotanyTrees |botanytrees |9.0.18 |DONE |Manifest: NOSIGNATURE Apothic Amendments - Enchanting - 0.1.4.jar |Apothic Amendments - Enchantin|apothic_amendments__enchanting|0.1.4 |DONE |Manifest: NOSIGNATURE ironfurnaces-1.20.1-4.1.6.jar |Iron Furnaces |ironfurnaces |4.1.6 |DONE |Manifest: NOSIGNATURE mcw-trapdoors-1.1.4-mc1.20.1forge.jar |Macaw's Trapdoors |mcwtrpdoors |1.1.4 |DONE |Manifest: NOSIGNATURE YungsBridges-1.20-Forge-4.0.3.jar |YUNG's Bridges |yungsbridges |1.20-Forge-4.0.3 |DONE |Manifest: NOSIGNATURE Botania-1.20.1-447-FORGE.jar |Botania |botania |1.20.1-447-FORGE |DONE |Manifest: NOSIGNATURE resourcefulconfig-forge-1.20.1-2.1.2.jar |Resourcefulconfig |resourcefulconfig |2.1.2 |DONE |Manifest: NOSIGNATURE curios-forge-5.11.1+1.20.1.jar |Curios API |curios |5.11.1+1.20.1 |DONE |Manifest: NOSIGNATURE origins-forge-1.20.1-1.10.0.9-all.jar |Origins |origins |1.20.1-1.10.0.9 |DONE |Manifest: NOSIGNATURE Searchables-forge-1.20.1-1.0.3.jar |Searchables |searchables |1.0.3 |DONE |Manifest: NOSIGNATURE YungsExtras-1.20-Forge-4.0.3.jar |YUNG's Extras |yungsextras |1.20-Forge-4.0.3 |DONE |Manifest: NOSIGNATURE ApothicAttributes-1.20.1-1.3.7.jar |Apothic Attributes |attributeslib |1.3.7 |DONE |Manifest: NOSIGNATURE bettervillage-forge-1.20.1-3.2.0.jar |Better village |bettervillage |3.2.0 |DONE |Manifest: NOSIGNATURE tombstone-1.20.1-8.9.0.jar |Corail Tombstone |tombstone |8.9.0 |DONE |Manifest: NOSIGNATURE Icarus-Forge-2.11.0.jar |Icarus |icarus |2.11.0 |DONE |Manifest: NOSIGNATURE fabric-entity-events-v1-1.6.0+6274ab9d77.jar |Fabric Entity Events (v1) |fabric_entity_events_v1 |1.6.0+6274ab9d77 |DONE |Manifest: NOSIGNATURE YungsMenuTweaks-1.20.1-Forge-1.0.2.jar |YUNG's Menu Tweaks |yungsmenutweaks |1.20.1-Forge-1.0.2 |DONE |Manifest: NOSIGNATURE accessories-neoforge-1.0.0-beta.44+1.20.1.jar |Accessories |accessories |1.0.0-beta44+1.20.1 |DONE |Manifest: NOSIGNATURE worldedit-mod-7.2.15.jar |WorldEdit |worldedit |7.2.15+6463-5ca4dff |DONE |Manifest: NOSIGNATURE veinst-1.0.0.jar |Veinst |veinst |1.0.0 |DONE |Manifest: NOSIGNATURE constructionwand-1.20.1-2.11.jar |Construction Wand |constructionwand |1.20.1-2.11 |DONE |Manifest: NOSIGNATURE mcw-roofs-2.3.1-mc1.20.1forge.jar |Macaw's Roofs |mcwroofs |2.3.1 |DONE |Manifest: NOSIGNATURE YungsBetterEndIsland-1.20-Forge-2.0.6.jar |YUNG's Better End Island |betterendisland |1.20-Forge-2.0.6 |DONE |Manifest: NOSIGNATURE fabric-rendering-data-attachment-v1-0.3.37+a6081af|Fabric Rendering Data Attachme|fabric_rendering_data_attachme|0.3.37+a6081afc77 |DONE |Manifest: NOSIGNATURE CodeChickenLib-1.20.1-4.4.0.516-universal.jar |CodeChicken Lib |codechickenlib |4.4.0.516 |DONE |Manifest: 31:e6:db:63:47:4a:6e:e0:0a:2c:11:d1:76:db:4e:82:ff:56:2d:29:93:d2:e5:02:bd:d3:bd:9d:27:47:a5:71 YungsBetterMineshafts-1.20-Forge-4.0.4.jar |YUNG's Better Mineshafts |bettermineshafts |1.20-Forge-4.0.4 |DONE |Manifest: NOSIGNATURE majrusz-library-forge-1.20.1-7.0.8.jar |Majrusz Library |majruszlibrary |7.0.8 |DONE |Manifest: NOSIGNATURE mcw-lights-1.1.0-mc1.20.1forge.jar |Macaw's Lights and Lamps |mcwlights |1.1.0 |DONE |Manifest: NOSIGNATURE Better_Dogs_X_Doggy_Talents_Next_v1.2.2 [Forge] - |Better Dogs For DTN |betterdogs_dtn |1.2.2 |DONE |Manifest: NOSIGNATURE fabric-client-tags-api-v1-1.1.2+5d6761b877.jar |Fabric Client Tags |fabric_client_tags_api_v1 |1.1.2+5d6761b877 |DONE |Manifest: NOSIGNATURE SmartBrainLib-forge-1.20.1-1.15.jar |SmartBrainLib |smartbrainlib |1.15 |DONE |Manifest: NOSIGNATURE fabric-dimensions-v1-2.1.54+8005d10d77.jar |Fabric Dimensions API (v1) |fabric_dimensions_v1 |2.1.54+8005d10d77 |DONE |Manifest: NOSIGNATURE puffish_skills-0.14.7-1.20-forge.jar |Pufferfish's Skills |puffish_skills |0.14.7 |DONE |Manifest: NOSIGNATURE mowziesmobs-1.7.0.jar |Mowzie's Mobs |mowziesmobs |1.7.0 |DONE |Manifest: NOSIGNATURE fabric-model-loading-api-v1-1.0.3+6274ab9d77.jar |Fabric Model Loading API (v1) |fabric_model_loading_api_v1 |1.0.3+6274ab9d77 |DONE |Manifest: NOSIGNATURE jei-1.20.1-forge-15.20.0.106.jar |Just Enough Items |jei |15.20.0.106 |DONE |Manifest: NOSIGNATURE VisualWorkbench-v8.0.0-1.20.1-Forge.jar |Visual Workbench |visualworkbench |8.0.0 |DONE |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a Pehkui-3.8.2+1.20.1-forge.jar |Pehkui |pehkui |3.8.2+1.20.1-forge |DONE |Manifest: NOSIGNATURE fabric-screen-handler-api-v1-1.3.30+561530ec77.jar|Fabric Screen Handler API (v1)|fabric_screen_handler_api_v1 |1.3.30+561530ec77 |DONE |Manifest: NOSIGNATURE libraryferret-forge-1.20.1-4.0.0.jar |Library ferret |libraryferret |4.0.0 |DONE |Manifest: NOSIGNATURE caelus-forge-3.2.0+1.20.1.jar |Caelus API |caelus |3.2.0+1.20.1 |DONE |Manifest: NOSIGNATURE fabric-rendering-v1-3.0.8+66e9a48f77.jar |Fabric Rendering (v1) |fabric_rendering_v1 |3.0.8+66e9a48f77 |DONE |Manifest: NOSIGNATURE mcw-holidays-1.1.0-mc1.20.1forge.jar |Macaw's Holidays |mcwholidays |1.1.0 |DONE |Manifest: NOSIGNATURE fabric-renderer-indigo-1.5.2+b5b2da4177.jar |Fabric Renderer - Indigo |fabric_renderer_indigo |1.5.2+b5b2da4177 |DONE |Manifest: NOSIGNATURE NaturesCompass-1.20.1-1.11.2-forge.jar |Nature's Compass |naturescompass |1.20.1-1.11.2-forge |DONE |Manifest: NOSIGNATURE LibX-1.20.1-5.0.12.jar |LibX |libx |1.20.1-5.0.12 |DONE |Manifest: NOSIGNATURE BotanyPots-Forge-1.20.1-13.0.40.jar |BotanyPots |botanypots |13.0.40 |DONE |Manifest: NOSIGNATURE GlitchCore-forge-1.20.1-0.0.1.1.jar |GlitchCore |glitchcore |0.0.1.1 |DONE |Manifest: NOSIGNATURE SereneSeasons-forge-1.20.1-9.1.0.0.jar |Serene Seasons |sereneseasons |9.1.0.0 |DONE |Manifest: NOSIGNATURE mythicmounts-20.1-7.4.2-forge.jar |MythicMounts |mythicmounts |20.1-7.4.2-forge |DONE |Manifest: NOSIGNATURE fabric-particles-v1-1.1.2+78e1ecb877.jar |Fabric Particles (v1) |fabric_particles_v1 |1.1.2+78e1ecb877 |DONE |Manifest: NOSIGNATURE puzzlesaccessapi-forge-8.0.7.jar |Puzzles Access Api |puzzlesaccessapi |8.0.7 |DONE |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a forge-1.20.1-47.3.0-universal.jar |Forge |forge |47.3.0 |DONE |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90 mcw-paths-1.0.5-1.20.1forge.jar |Macaw's Paths and Pavings |mcwpaths |1.0.5 |DONE |Manifest: NOSIGNATURE ironchest-1.20.1-14.4.4.jar |Iron Chests |ironchest |1.20.1-14.4.4 |DONE |Manifest: NOSIGNATURE MythicBotany-1.20.1-4.0.3.jar |MythicBotany |mythicbotany |1.20.1-4.0.3 |DONE |Manifest: NOSIGNATURE DungeonsArise-1.20.x-2.1.58-release.jar |When Dungeons Arise |dungeons_arise |2.1.58-1.20.x |DONE |Manifest: NOSIGNATURE client-1.20.1-20230612.114412-srg.jar |Minecraft |minecraft |1.20.1 |DONE |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f cofh_core-1.20.1-11.0.2.56.jar |CoFH Core |cofh_core |11.0.2 |DONE |Manifest: NOSIGNATURE thermal_core-1.20.1-11.0.6.24.jar |Thermal Series |thermal |11.0.6 |DONE |Manifest: NOSIGNATURE thermal_foundation-1.20.1-11.0.6.70.jar |Thermal Foundation |thermal_foundation |11.0.6 |DONE |Manifest: NOSIGNATURE fabric-api-base-0.4.31+ef105b4977.jar |Fabric API Base |fabric_api_base |0.4.31+ef105b4977 |DONE |Manifest: NOSIGNATURE MouseTweaks-forge-mc1.20.1-2.25.1.jar |Mouse Tweaks |mousetweaks |2.25.1 |DONE |Manifest: NOSIGNATURE Placeables 1.9.2.jar |Placeables |placeablesmod |1.9.2 |DONE |Manifest: NOSIGNATURE fabric-block-api-v1-1.0.11+0e6cb7f777.jar |Fabric Block API (v1) |fabric_block_api_v1 |1.0.11+0e6cb7f777 |DONE |Manifest: NOSIGNATURE fabric-resource-conditions-api-v1-2.3.8+9ad825cd77|Fabric Resource Conditions API|fabric_resource_conditions_api|2.3.8+9ad825cd77 |DONE |Manifest: NOSIGNATURE domum_ornamentum-1.20.1-1.0.186-RELEASE-universal.|Domum Ornamentum |domum_ornamentum |1.20.1-1.0.186-RELEA|DONE |Manifest: NOSIGNATURE calio-forge-1.20.1-1.11.0.5.jar |Calio |calio |1.20.1-1.11.0.5 |DONE |Manifest: NOSIGNATURE flywheel-forge-1.20.1-0.6.11-13.jar |Flywheel |flywheel |0.6.11-13 |DONE |Manifest: NOSIGNATURE Mantle-1.20.1-1.11.36.jar |Mantle |mantle |1.11.36 |DONE |Manifest: NOSIGNATURE fabric-item-group-api-v1-4.0.12+c9161c2d77.jar |Fabric Item Group API (v1) |fabric_item_group_api_v1 |4.0.12+c9161c2d77 |DONE |Manifest: NOSIGNATURE JustEnoughProfessions-forge-1.20.1-3.0.1.jar |Just Enough Professions (JEP) |justenoughprofessions |3.0.1 |DONE |Manifest: NOSIGNATURE structurize-1.20.1-1.0.742-RELEASE.jar |Structurize |structurize |1.20.1-1.0.742-RELEA|DONE |Manifest: NOSIGNATURE fabric-registry-sync-v0-2.3.3+1c0ea72177.jar |Fabric Registry Sync (v0) |fabric_registry_sync_v0 |2.3.3+1c0ea72177 |DONE |Manifest: NOSIGNATURE fabric-recipe-api-v1-1.0.21+514a076577.jar |Fabric Recipe API (v1) |fabric_recipe_api_v1 |1.0.21+514a076577 |DONE |Manifest: NOSIGNATURE lootr-forge-1.20-0.7.35.90.jar |Lootr |lootr |0.7.35.90 |DONE |Manifest: NOSIGNATURE fabric-object-builder-api-v1-11.1.3+2174fc8477.jar|Fabric Object Builder API (v1)|fabric_object_builder_api_v1 |11.1.3+2174fc8477 |DONE |Manifest: NOSIGNATURE occultism-1.20.1-1.141.2.jar |Occultism |occultism |1.141.2 |DONE |Manifest: NOSIGNATURE PuzzlesLib-v8.1.25-1.20.1-Forge.jar |Puzzles Lib |puzzleslib |8.1.25 |DONE |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a addonslib-1.20.1-1.3.jar |Addons Lib |addonslib |1.20.1-1.3 |DONE |Manifest: NOSIGNATURE fabric-sound-api-v1-1.0.13+4f23bd8477.jar |Fabric Sound API (v1) |fabric_sound_api_v1 |1.0.13+4f23bd8477 |DONE |Manifest: NOSIGNATURE fabric-message-api-v1-5.1.9+52cc178c77.jar |Fabric Message API (v1) |fabric_message_api_v1 |5.1.9+52cc178c77 |DONE |Manifest: NOSIGNATURE Medieval Origins Revival-6.5.1+1.20.1-forge.jar |MedievalOriginsRevival |medievalorigins |6.5.1+1.20.1-forge |DONE |Manifest: NOSIGNATURE TreeChop-1.20.1-forge-0.19.0-fixed.jar |HT's TreeChop |treechop |0.19.0 |DONE |Manifest: NOSIGNATURE easy_npc-forge-1.20.1-5.9.0.jar |Easy NPC |easy_npc |5.9.0 |DONE |Manifest: NOSIGNATURE kuma-api-forge-20.1.9-SNAPSHOT.jar |KumaAPI |kuma_api |20.1.9-SNAPSHOT |DONE |Manifest: NOSIGNATURE fabric-renderer-api-v1-3.2.1+cf68abbe77.jar |Fabric Renderer API (v1) |fabric_renderer_api_v1 |3.2.1+cf68abbe77 |DONE |Manifest: NOSIGNATURE YungsBetterWitchHuts-1.20-Forge-3.0.3.jar |YUNG's Better Witch Huts |betterwitchhuts |1.20-Forge-3.0.3 |DONE |Manifest: NOSIGNATURE aiotbotania-1.20.1-4.0.5.jar |AIOT Botania |aiotbotania |1.20.1-4.0.5 |DONE |Manifest: NOSIGNATURE geckolib-forge-1.20.1-4.7.jar |GeckoLib 4 |geckolib |4.7 |DONE |Manifest: NOSIGNATURE swem-1.20.1-1.5.3.jar |Star Worm Equestrian Mod |swem |1.5.3 |DONE |Manifest: NOSIGNATURE ars_nouveau-1.20.1-4.12.6-all.jar |Ars Nouveau |ars_nouveau |4.12.6 |DONE |Manifest: NOSIGNATURE fabric-item-api-v1-2.1.28+4d0bbcfa77.jar |Fabric Item API (v1) |fabric_item_api_v1 |2.1.28+4d0bbcfa77 |DONE |Manifest: NOSIGNATURE knightsnmages-0.0.7-neo.jar |KnightsnMages |knightsnmages |0.0.7-neo |DONE |Manifest: NOSIGNATURE naturalist-forge-4.0.3-1.20.1.jar |Naturalist |naturalist |4.0.3 |DONE |Manifest: NOSIGNATURE DoggyTalentsNext-1.20.1-1.18.40.jar |Doggy Talents Next |doggytalents |1.18.40 |DONE |Manifest: NOSIGNATURE Compat_AlexsMobs-Naturalist.jar |Alex's Mobs - Naturalist Compa|alexsmobsnaturalistcompat |1.1.0 |DONE |Manifest: NOSIGNATURE sophisticatedcore-1.20.1-1.2.8.864.jar |Sophisticated Core |sophisticatedcore |1.2.8.864 |DONE |Manifest: NOSIGNATURE mcwfurnituresbop-1.20-1.2.jar |Macaw's Furnitures - BOP |mcwfurnituresbop |1.20-1.2 |DONE |Manifest: NOSIGNATURE mcw-furniture-3.3.0-mc1.20.1forge.jar |Macaw's Furniture |mcwfurnitures |3.3.0 |DONE |Manifest: NOSIGNATURE TerraBlender-forge-1.20.1-3.0.1.7.jar |TerraBlender |terrablender |3.0.1.7 |DONE |Manifest: NOSIGNATURE BiomesOPlenty-1.20.1-18.0.0.592.jar |Biomes O' Plenty |biomesoplenty |18.0.0.592 |DONE |Manifest: NOSIGNATURE Controlling-forge-1.20.1-12.0.2.jar |Controlling |controlling |12.0.2 |DONE |Manifest: NOSIGNATURE Placebo-1.20.1-8.6.2.jar |Placebo |placebo |8.6.2 |DONE |Manifest: NOSIGNATURE citadel-2.6.1-1.20.1.jar |Citadel |citadel |2.6.1 |DONE |Manifest: NOSIGNATURE alexsmobs-1.22.9.jar |Alex's Mobs |alexsmobs |1.22.9 |DONE |Manifest: NOSIGNATURE iceandfire-2.1.13-1.20.1-beta-5.jar |Ice and Fire |iceandfire |2.1.13-1.20.1 |DONE |Manifest: NOSIGNATURE dragonseeker-1.2.0-1.20.1.jar |Dragonseeker |dragonseeker |1.2.0-1.20.1 |DONE |Manifest: NOSIGNATURE fabric-data-attachment-api-v1-1.0.0+30ef839e77.jar|Fabric Data Attachment API (v1|fabric_data_attachment_api_v1 |1.0.0+30ef839e77 |DONE |Manifest: NOSIGNATURE primalmagick-4.0.9.jar |Primal Magick |primalmagick |4.0.9 |DONE |Manifest: NOSIGNATURE mixinextras-forge-0.2.0-beta.8.jar |MixinExtras |mixinextras |0.2.0-beta.8 |DONE |Manifest: NOSIGNATURE Bookshelf-Forge-1.20.1-20.2.13.jar |Bookshelf |bookshelf |20.2.13 |DONE |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5 sophisticatedbackpacks-1.20.1-3.23.4.1196.jar |Sophisticated Backpacks |sophisticatedbackpacks |3.23.4.1196 |DONE |Manifest: NOSIGNATURE relics-1.20.1-0.8.0.7.jar |Relics |relics |0.8.0.7 |DONE |Manifest: NOSIGNATURE mcw-doors-1.1.2-mc1.20.1forge.jar |Macaw's Doors |mcwdoors |1.1.2 |DONE |Manifest: NOSIGNATURE ironshulkerbox-1.20.1-5.3.2.jar |Iron Shulker Boxes |ironshulkerbox |1.20.1-5.3.2 |DONE |Manifest: NOSIGNATURE ramcompat-1.20.1-0.1.4.jar |RAM-Compat |ramcompat |0.1.4 |DONE |Manifest: NOSIGNATURE sodiumoptionsapi-forge-1.0.10-1.20.1.jar |Sodium Options API |sodiumoptionsapi |1.0.10 |DONE |Manifest: NOSIGNATURE macawsroofsbop-1.20-1.1.jar |Macaw's Roofs - BOP |macawsroofsbop |1.20-1.1 |DONE |Manifest: NOSIGNATURE fabric-api-0.92.2+1.11.9+1.20.1.jar |Forgified Fabric API |fabric_api |0.92.2+1.11.9+1.20.1|DONE |Manifest: NOSIGNATURE fabric-content-registries-v0-4.0.11+a670df1e77.jar|Fabric Content Registries (v0)|fabric_content_registries_v0 |4.0.11+a670df1e77 |DONE |Manifest: NOSIGNATURE twilightforest-1.20.1-4.3.2508-universal.jar |The Twilight Forest |twilightforest |4.3.2508 |DONE |Manifest: NOSIGNATURE sodiumdynamiclights-forge-1.0.10-1.20.1.jar |Sodium Dynamic Lights |sodiumdynamiclights |1.0.9 |DONE |Manifest: NOSIGNATURE mcw-bridges-3.0.0-mc1.20.1forge.jar |Macaw's Bridges |mcwbridges |3.0.0 |DONE |Manifest: NOSIGNATURE fabric-api-lookup-api-v1-1.6.36+67f9824077.jar |Fabric API Lookup API (v1) |fabric_api_lookup_api_v1 |1.6.36+67f9824077 |DONE |Manifest: NOSIGNATURE LetSleepingDogsLie-1.20.1-Forge-1.3.0.jar |Let Sleeping Dogs Lie |dogslie |1.3.0 |DONE |Manifest: ae:67:c5:55:fb:7e:f3:4e:5c:71:f4:50:9e:df:a2:b0:32:86:cf:09:f2:fe:9b:db:94:3b:09:88:a2:3d:91:1f mcw-fences-1.1.2-mc1.20.1forge.jar |Macaw's Fences and Walls |mcwfences |1.1.2 |DONE |Manifest: NOSIGNATURE mcwfencesbop-1.20-1.2.jar |Macaw's Fences - BOP |mcwfencesbop |1.20-1.2 |DONE |Manifest: NOSIGNATURE mcwbiomesoplenty-1.20.1-1.0.jar |Macaw's Biomes O' Plenty |mcwbiomesoplenty |1.20.1-1.0 |DONE |Manifest: NOSIGNATURE Patchouli-1.20.1-84.1-FORGE.jar |Patchouli |patchouli |1.20.1-84.1-FORGE |DONE |Manifest: NOSIGNATURE blockui-1.20.1-1.0.156-RELEASE.jar |UI Library Mod |blockui |1.20.1-1.0.156-RELEA|DONE |Manifest: NOSIGNATURE suppsquared-1.20-1.1.18.jar |Supplementaries Squared |suppsquared |1.20-1.1.18 |DONE |Manifest: NOSIGNATURE architectury-9.2.14-forge.jar |Architectury |architectury |9.2.14 |DONE |Manifest: NOSIGNATURE immersivelanterns-forge-1.0.6-1.20.1.jar |Immersive Lanterns |immersivelanterns |1.0.6 |DONE |Manifest: NOSIGNATURE fabric-loot-api-v2-1.2.1+eb28f93e77.jar |Fabric Loot API (v2) |fabric_loot_api_v2 |1.2.1+eb28f93e77 |DONE |Manifest: NOSIGNATURE ars_ocultas-1.20.1-1.2.2-all.jar |Ars Ocultas |ars_ocultas |1.2.2 |DONE |Manifest: NOSIGNATURE monolib-forge-1.20.1-2.0.0.jar |MonoLib |monolib |2.0.0 |DONE |Manifest: NOSIGNATURE disenchanting_table-merged-1.20.1-3.1.0.jar |Dis-Enchanting Table |disenchanting_table |3.1.0 |DONE |Manifest: NOSIGNATURE fabric-networking-api-v1-1.3.11+503a202477.jar |Fabric Networking API (v1) |fabric_networking_api_v1 |1.3.11+503a202477 |DONE |Manifest: NOSIGNATURE fabric-lifecycle-events-v1-2.2.22+afab492177.jar |Fabric Lifecycle Events (v1) |fabric_lifecycle_events_v1 |2.2.22+afab492177 |DONE |Manifest: NOSIGNATURE fabric-key-binding-api-v1-1.0.37+561530ec77.jar |Fabric Key Binding API (v1) |fabric_key_binding_api_v1 |1.0.37+561530ec77 |DONE |Manifest: NOSIGNATURE fabric-transfer-api-v1-3.3.5+631c9cd677.jar |Fabric Transfer API (v1) |fabric_transfer_api_v1 |3.3.5+631c9cd677 |DONE |Manifest: NOSIGNATURE inventorysorter-1.20.1-23.0.8.jar |Simple Inventory Sorter |inventorysorter |23.0.8 |DONE |Manifest: NOSIGNATURE amendments-1.20-1.2.18.jar |Amendments |amendments |1.20-1.2.18 |DONE |Manifest: NOSIGNATURE minecraft-comes-alive-7.6.1+1.20.1-universal.jar |Minecraft Comes Alive |mca |7.6.1+1.20.1 |DONE |Manifest: NOSIGNATURE OctoLib-FORGE-0.4.2+1.20.1.jar |OctoLib |octolib |0.4.2 |DONE |Manifest: NOSIGNATURE allthewizardgear-1.20.1-1.1.4.jar |All The Wizard Gear |allthewizardgear |1.20.1-1.1.4 |DONE |Manifest: NOSIGNATURE EasyMagic-v8.0.1-1.20.1-Forge.jar |Easy Magic |easymagic |8.0.1 |DONE |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a common-networking-forge-1.0.5-1.20.1.jar |Common Networking |commonnetworking |1.0.5-1.20.1 |DONE |Manifest: NOSIGNATURE fabric-resource-loader-v0-0.11.10+bcd08ed377.jar |Fabric Resource Loader (v0) |fabric_resource_loader_v0 |0.11.10+bcd08ed377 |DONE |Manifest: NOSIGNATURE create-1.20.1-0.5.1.j.jar |Create |create |0.5.1.j |DONE |Manifest: NOSIGNATURE waystones-forge-1.20.1-14.1.9.jar |Waystones |waystones |14.1.9 |DONE |Manifest: NOSIGNATURE mcw-paintings-1.0.5-1.20.1forge.jar |Macaw's Paintings |mcwpaintings |1.0.5 |DONE |Manifest: NOSIGNATURE Clumps-forge-1.20.1-12.0.0.4.jar |Clumps |clumps |12.0.0.4 |DONE |Manifest: NOSIGNATURE journeymap-1.20.1-5.10.3-forge.jar |Journeymap |journeymap |5.10.3 |DONE |Manifest: NOSIGNATURE fabric-mining-level-api-v1-2.1.50+561530ec77.jar |Fabric Mining Level API (v1) |fabric_mining_level_api_v1 |2.1.50+561530ec77 |DONE |Manifest: NOSIGNATURE artifacts-forge-9.5.13.jar |Artifacts |artifacts |9.5.13 |DONE |Manifest: NOSIGNATURE YungsBetterDesertTemples-1.20-Forge-3.0.3.jar |YUNG's Better Desert Temples |betterdeserttemples |1.20-Forge-3.0.3 |DONE |Manifest: NOSIGNATURE Orcz_0.87_1.20.1.jar |Orcz |orcz |0.82 |DONE |Manifest: NOSIGNATURE iChunUtil-1.20.1-Forge-1.0.3.jar |iChunUtil |ichunutil |1.0.3 |DONE |Manifest: ae:67:c5:55:fb:7e:f3:4e:5c:71:f4:50:9e:df:a2:b0:32:86:cf:09:f2:fe:9b:db:94:3b:09:88:a2:3d:91:1f txnilib-forge-1.0.22-1.20.1.jar |TxniLib |txnilib |1.0.21 |DONE |Manifest: NOSIGNATURE skinlayers3d-forge-1.7.4-mc1.20.1.jar |3d-Skin-Layers |skinlayers3d |1.7.4 |DONE |Manifest: NOSIGNATURE bloodmagic-1.20.1-3.3.3-45.jar |Blood Magic |bloodmagic |3.3.3-45 |DONE |Manifest: NOSIGNATURE tomeofblood-1.20.1-0.4.4-all.jar |Tome of Blood: Rebirth |tomeofblood |0.4.4 |DONE |Manifest: NOSIGNATURE BrandonsCore-1.20.1-3.2.1.302-universal.jar |Brandon's Core |brandonscore |3.2.1.302 |DONE |Manifest: 53:bb:a0:11:bd:61:e2:1a:e2:cb:fd:f8:4f:e4:cd:a5:cc:12:f4:43:f0:78:68:3b:e1:62:c6:78:3b:27:ff:fe Draconic-Evolution-1.20.1-3.1.2.604-universal.jar |Draconic Evolution |draconicevolution |3.1.2.604 |DONE |Manifest: 53:bb:a0:11:bd:61:e2:1a:e2:cb:fd:f8:4f:e4:cd:a5:cc:12:f4:43:f0:78:68:3b:e1:62:c6:78:3b:27:ff:fe Draconic-Additions-1.20.1-2.4.1.5-universal.jar |Draconic Additions |draconicadditions |2.4.1.5 |DONE |Manifest: NOSIGNATURE fabric-transitive-access-wideners-v1-4.3.1+1880499|Fabric Transitive Access Widen|fabric_transitive_access_widen|4.3.1+1880499877 |DONE |Manifest: NOSIGNATURE TConstruct-1.20.1-3.9.1.19.jar |Tinkers' Construct |tconstruct |3.9.1.19 |DONE |Manifest: NOSIGNATURE EnchantmentDescriptions-Forge-1.20.1-17.1.19.jar |EnchantmentDescriptions |enchdesc |17.1.19 |DONE |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5 moonlight-1.20-2.13.61-forge.jar |Moonlight Library |moonlight |1.20-2.13.61 |DONE |Manifest: NOSIGNATURE fabric-blockrenderlayer-v1-1.1.41+1d0da21e77.jar |Fabric BlockRenderLayer Regist|fabric_blockrenderlayer_v1 |1.1.41+1d0da21e77 |DONE |Manifest: NOSIGNATURE mixinsquared-forge-0.1.1.jar |MixinSquared |mixinsquared |0.1.1 |DONE |Manifest: NOSIGNATURE Jade-1.20.1-Forge-11.12.3.jar |Jade |jade |11.12.3+forge |DONE |Manifest: NOSIGNATURE appliedenergistics2-forge-15.3.3.jar |Applied Energistics 2 |ae2 |15.3.3 |DONE |Manifest: NOSIGNATURE theurgy-1.20.1-1.23.4.jar |Theurgy |theurgy |1.23.4 |DONE |Manifest: NOSIGNATURE EnderIO-1.20.1-6.2.7-beta-all.jar |Ender IO |enderio |6.2.7-beta |DONE |Manifest: NOSIGNATURE reliquary-1.20.1-2.0.45.1248.jar |Reliquary |reliquary |2.0.45.1248 |DONE |Manifest: NOSIGNATURE Apugli-2.10.2+1.20.1-forge.jar |Apugli |apugli |2.10.2+1.20.1-forge |DONE |Manifest: NOSIGNATURE ars_elemental-1.20.1-0.6.7.7.jar |Ars Elemental |ars_elemental |0.6.7.7 |DONE |Manifest: NOSIGNATURE irons_spellbooks-1.20.1-3.4.0.7.jar |Iron's Spells 'n Spellbooks |irons_spellbooks |1.20.1-3.4.0.7 |DONE |Manifest: NOSIGNATURE ice_and_fire_spellbooks-2.3.1-1.20.1.jar |Ice and Fire: Spellbooks |ice_and_fire_spellbooks |2.3.1-1.20.1 |DONE |Manifest: NOSIGNATURE fabric-biome-api-v1-13.0.13+dc36698e77.jar |Fabric Biome API (v1) |fabric_biome_api_v1 |13.0.13+dc36698e77 |DONE |Manifest: NOSIGNATURE modonomicon-1.20.1-forge-1.77.6.jar |Modonomicon |modonomicon |1.77.6 |DONE |Manifest: NOSIGNATURE pattern_schematics-1.1.19+forge-1.20.1.jar |Create: Pattern Schematics |create_pattern_schematics |1.1.19+forge-1.20.1 |DONE |Manifest: NOSIGNATURE majruszs-enchantments-forge-1.20.1-1.10.8.jar |Majrusz's Enchantments |majruszsenchantments |1.10.8 |DONE |Manifest: NOSIGNATURE rarcompat-1.20.1-0.1.7.jar |RAR-Compat |rarcompat |0.1.7 |DONE |Manifest: NOSIGNATURE expandability-forge-9.0.4.jar |ExpandAbility |expandability |9.0.4 |DONE |Manifest: NOSIGNATURE chisels-and-bits-forge-1.4.148.jar |chisels-and-bits |chiselsandbits |1.4.148 |DONE |Manifest: NOSIGNATURE fabric-data-generation-api-v1-12.3.4+369cb3a477.ja|Fabric Data Generation API (v1|fabric_data_generation_api_v1 |12.3.4+369cb3a477 |DONE |Manifest: NOSIGNATURE fabric-events-interaction-v0-0.6.2+0d0bd5a777.jar |Fabric Events Interaction (v0)|fabric_events_interaction_v0 |0.6.2+0d0bd5a777 |DONE |Manifest: NOSIGNATURE Crash Report UUID: 4b002c7d-6b1b-41a9-8f5a-62f3114bbcd1 FML: 47.3 Forge: net.minecraftforge:47.3.0 Flywheel Backend: GL33 Instanced Arrays
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.