Jump to content

How can I have my custom ItemRenderer color "parts" of my items


hugo_the_dwarf

Recommended Posts

Title kind of doesn't do this justice, Right now I have a itemRenderer for my customizable weapons (players can make these weapons and change how they look by swapping out blades, guards, and handles) that works fine, but I want to know how can I have certain parts be colored like vanilla renderpass methods.

 

Atm I looked at how tinkers construct made their tools and looked at how coolAlias resized his weapons (or how he does it, he posted it somewhere) but I realized they both don't have anywhere that colors the parts.

 

I was hoping to have a few parts like handles and guards be greyscale so players can pick from a range of color choices in the gui for it.

 

I just don't know where I would make the change, I know looking at the vanilla ItemRenderer class there is a spot that gets the display color NBT from the stack, and extracts the 0.0f - 1.0f color value and tells openGL to draw with that.

 

 

package ee.rot.items;

import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;

import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import org.lwjgl.util.vector.Vector3f;

import cpw.mods.fml.client.FMLClientHandler;

import ee.rot.Rot;
import ee.rot.libs.ExtendPlayer;
import ee.rot.libs.UtilityNBTHelper;

public class ItemRendererSizeType implements IItemRenderer
{		
private final boolean isEntity;
    private final boolean noEntityTranslation;
    private static final int toolIcons = 10;

public ItemRendererSizeType()
{
	this(false, false);
}

public ItemRendererSizeType(boolean isEntity)
{
	this(isEntity, false);
}

public ItemRendererSizeType(boolean isEntity, boolean noEntityTranslation)
{
	this.isEntity = isEntity;
        this.noEntityTranslation = noEntityTranslation;
}

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
	//return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON;
	if (!item.hasTagCompound())
            return false;

        switch (type)
        {
        case ENTITY:
            return true;
        case EQUIPPED:
            GL11.glTranslatef(0.03f, 0F, -0.09375F);
        case EQUIPPED_FIRST_PERSON:
            return !isEntity;
        case INVENTORY:
            return true;
        default:
        case FIRST_PERSON_MAP:
            return false;
        }
}

@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
	return handleRenderType(item, type) & helper.ordinal() < ItemRendererHelper.EQUIPPED_BLOCK.ordinal();
}

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
	Item tool = item.getItem();
	WeaponSlash fs = null;
	WeaponHack fh = null;
	WeaponBlunt fb = null;
	WeaponPierce fp = null;
	WeaponStaff staff = null;

	if (tool instanceof WeaponSlash)
		fs = (WeaponSlash)tool;
	else if (tool instanceof WeaponHack)
		fh = (WeaponHack)tool;
	else if (tool instanceof WeaponBlunt)
		fb = (WeaponBlunt)tool;
	else if (tool instanceof WeaponPierce)
		fp = (WeaponPierce)tool;
	else if (tool instanceof WeaponStaff)
		staff = (WeaponStaff)tool;

	boolean isInventory = type == ItemRenderType.INVENTORY;
	int iconParts = toolIcons;
	IIcon[] parts = new IIcon[iconParts];
	if (fs != null)
	{
		parts = fs.getIcons(item);
		iconParts = parts.length;
	}
	else if (fh != null)
	{
		parts = fh.getIcons(item);
		iconParts = parts.length;
	}
	else if (fb != null)
	{
		parts = fb.getIcons(item);
		iconParts = parts.length;
	}
	else if (fp != null)
	{
		parts = fp.getIcons(item);
		iconParts = parts.length;
	}
	else if (staff != null)
	{
		parts = staff.getIcons(item);
		iconParts = parts.length;
	}
	else
	{
		Entity ent = null;
		if (data.length > 1)
            ent = (Entity) data[1];	

		 IIcon[] tempParts = new IIcon[iconParts];
	        label:
	        {
	            if (!isInventory && ent instanceof EntityPlayer)
	            {
	                EntityPlayer player = (EntityPlayer) ent;
	                ItemStack itemInUse = player.getItemInUse();
	                if (itemInUse != null)
	                {
	                    int useCount = player.getItemInUseCount();
	                    for (int i = iconParts; i-- > 0;)
	                        tempParts[i] = tool.getIcon(item, i, player, itemInUse, useCount);
	                    break label;
	                }
	            }
	            for (int i = iconParts; i-- > 0;)
	                tempParts[i] = tool.getIcon(item, i);
	        }

		int count = 0;
        
        for (int i = 0; i < iconParts; ++i)
        {
            IIcon part = tempParts[i];
            if (part == null)
                ++count;
            else
                parts[i - count] = part;
        }
        iconParts -= count;
        
        if (iconParts <= 0)
        {
            iconParts = 1;
            // TODO: assign default sprite
            // parts = new Icon[]{ defaultSprite };
        }
	}
        
        Tessellator tess = Tessellator.instance;
        float[] xMax = new float[iconParts];
        float[] yMin = new float[iconParts];
        float[] xMin = new float[iconParts];
        float[] yMax = new float[iconParts];
        float depth = 1f / 16f;

        float[] width = new float[iconParts];
        float[] height = new float[iconParts];
        float[] xDiff = new float[iconParts];
        float[] yDiff = new float[iconParts];
        float[] xSub = new float[iconParts];
        float[] ySub = new float[iconParts];
        for (int i = 0; i < iconParts; ++i)
        {
            IIcon icon = parts[i];
            xMin[i] = icon.getMinU();
            xMax[i] = icon.getMaxU();
            yMin[i] = icon.getMinV();
            yMax[i] = icon.getMaxV();
            width[i] = icon.getIconWidth();
            height[i] = icon.getIconHeight();
            xDiff[i] = xMin[i] - xMax[i];
            yDiff[i] = yMin[i] - yMax[i];
            xSub[i] = 0.5f * (xMax[i] - xMin[i]) / width[i];
            ySub[i] = 0.5f * (yMax[i] - yMin[i]) / height[i];
        }
        GL11.glPushMatrix();

        if (type == ItemRenderType.INVENTORY)
        {
            GL11.glDisable(GL11.GL_LIGHTING);
            GL11.glEnable(GL11.GL_BLEND);
            tess.startDrawingQuads();
            for (int i = 0; i < iconParts; ++i)
            {
                tess.addVertexWithUV(0, 16, 0, xMin[i], yMax[i]);
                tess.addVertexWithUV(16, 16, 0, xMax[i], yMax[i]);
                tess.addVertexWithUV(16, 0, 0, xMax[i], yMin[i]);
                tess.addVertexWithUV(0, 0, 0, xMin[i], yMin[i]);
            }
            tess.draw();
            GL11.glEnable(GL11.GL_LIGHTING);
        }
        else
        {
            GL11.glEnable(GL12.GL_RESCALE_NORMAL);
            String size = UtilityNBTHelper.getString(item, Rot.MODID+"weaponSize");
            switch (type)
            {
            case EQUIPPED_FIRST_PERSON:
                break;
            case EQUIPPED:
                //GL11.glTranslatef(0, -4 / 16f, 0);
            	String weaponType = UtilityNBTHelper.getString(item, Rot.MODID+"weaponType");
            	float weaponSize = 1.0f;
            	Vector3f trans3f = new Vector3f(-0.15f, 0f, 0f);
            	
    			if (weaponType.equals("slash") || weaponType.equals("blunt"))
    			{
    				if (size.equals("small"))
    				{
    					trans3f.x = 0.1f;
    					trans3f.y = -0.025f;
    					weaponSize = 0.75f;
    				}
    				else if (size.equals("big"))
    				{
    					trans3f.x = -0.425f;
    					trans3f.y = -0.175f;
    					weaponSize = 1.35f;
    				}
    				else if (size.equals("large"))
    				{
    					trans3f.x = -0.6749f;
    					trans3f.y = -0.25f;
    					weaponSize = 1.65f;
    				}
    				else if (size.equals("great"))
    				{
    					trans3f.x = -0.949f;
    					trans3f.y = -0.35f;
    					weaponSize = 2.0f;
    				}
    				else
    				{
    					trans3f.x = -0.0999f;
    					trans3f.y = -0.075f;
    				}
    			}
    			else if(weaponType.equals("hack"))
    			{
    				if (size.equals("small"))
    				{					
    					trans3f.x = -0.175f;
    					trans3f.y = -0.15f;
    					weaponSize = 1.1f;
    				}
    				else if (size.equals("big"))
    				{
    					trans3f.x = -0.55f;
    					trans3f.y = -0.2f;
    					weaponSize = 1.55f;
    				}
    				else if (size.equals("large"))
    				{
    					trans3f.x = -0.899f;
    					trans3f.y = -0.3f;
    					weaponSize = 1.95f;
    				}
    				else if (size.equals("great"))
    				{
    					trans3f.x = -1.299f;
    					trans3f.y = -0.4f;
    					weaponSize = 2.4f;
    				}
    				else
    				{
    					trans3f.x = -0.35f;
    					trans3f.y = -0.15f;
    					weaponSize = 1.3f;
    				}
    			}			
    			else if (weaponType.equals("pierce"))
    			{
    				if (size.equals("big"))
    				{
    					trans3f.x = -0.4f;
    					trans3f.y = -0.35f;
    					weaponSize = 1.55f;
    				}
    				else if (size.equals("large"))
    				{
    					trans3f.x = -0.6749f;
    					trans3f.y = -0.55f;
    					weaponSize = 1.95f;
    				}
    				else if (size.equals("great"))
    				{
    					trans3f.x = -1.049f;
    					trans3f.y = -0.649f;
    					weaponSize = 2.4f;
    				}
    				else
    				{
    					trans3f.x = -0.35f;
    					trans3f.y = -0.25f;
    					weaponSize = 1.3f;
    				}
    			}
    			else if (weaponType.equals("staff"))
    			{
    				trans3f.x = -0.25f;
				trans3f.y = -0.55f;
				weaponSize = 1.55f;
    			}
    			
    			GL11.glTranslatef(trans3f.x, trans3f.y, trans3f.z);
    			GL11.glScalef(weaponSize, weaponSize, 1.15f);
                break;
            case ENTITY:
                if (!noEntityTranslation)
                    GL11.glTranslatef(-0.5f, 0f, depth); // correction of the rotation point when items lie on the ground
                break;
            default:
            }

            // one side
            tess.startDrawingQuads();
            tess.setNormal(0, 0, 1);
            for (int i = 0; i < iconParts; ++i)
            {
                tess.addVertexWithUV(0, 0, 0, xMax[i], yMax[i]);
                tess.addVertexWithUV(1, 0, 0, xMin[i], yMax[i]);
                tess.addVertexWithUV(1, 1, 0, xMin[i], yMin[i]);
                tess.addVertexWithUV(0, 1, 0, xMax[i], yMin[i]);
            }
            tess.draw();

            // other side
            tess.startDrawingQuads();
            tess.setNormal(0, 0, -1);
            for (int i = 0; i < iconParts; ++i)
            {
                tess.addVertexWithUV(0, 1, -depth, xMax[i], yMin[i]);
                tess.addVertexWithUV(1, 1, -depth, xMin[i], yMin[i]);
                tess.addVertexWithUV(1, 0, -depth, xMin[i], yMax[i]);
                tess.addVertexWithUV(0, 0, -depth, xMax[i], yMax[i]);
            }
            tess.draw();

            // make it have "depth"
            tess.startDrawingQuads();
            tess.setNormal(-1, 0, 0);
            float pos;
            float iconPos;

            for (int i = 0; i < iconParts; ++i)
            {
                float w = width[i], m = xMax[i], d = xDiff[i], s = xSub[i];
                for (int k = 0, e = (int) w; k < e; ++k)
                {
                    pos = k / w;
                    iconPos = m + d * pos - s;
                    tess.addVertexWithUV(pos, 0, -depth, iconPos, yMax[i]);
                    tess.addVertexWithUV(pos, 0, 0, iconPos, yMax[i]);
                    tess.addVertexWithUV(pos, 1, 0, iconPos, yMin[i]);
                    tess.addVertexWithUV(pos, 1, -depth, iconPos, yMin[i]);
                }
            }

            tess.draw();
            tess.startDrawingQuads();
            tess.setNormal(1, 0, 0);
            float posEnd;

            for (int i = 0; i < iconParts; ++i)
            {
                float w = width[i], m = xMax[i], d = xDiff[i], s = xSub[i];
                float d2 = 1f / w;
                for (int k = 0, e = (int) w; k < e; ++k)
                {
                    pos = k / w;
                    iconPos = m + d * pos - s;
                    posEnd = pos + d2;
                    tess.addVertexWithUV(posEnd, 1, -depth, iconPos, yMin[i]);
                    tess.addVertexWithUV(posEnd, 1, 0, iconPos, yMin[i]);
                    tess.addVertexWithUV(posEnd, 0, 0, iconPos, yMax[i]);
                    tess.addVertexWithUV(posEnd, 0, -depth, iconPos, yMax[i]);
                }
            }

            tess.draw();
            tess.startDrawingQuads();
            tess.setNormal(0, 1, 0);

            for (int i = 0; i < iconParts; ++i)
            {
                float h = height[i], m = yMax[i], d = yDiff[i], s = ySub[i];
                float d2 = 1f / h;
                for (int k = 0, e = (int) h; k < e; ++k)
                {
                    pos = k / h;
                    iconPos = m + d * pos - s;
                    posEnd = pos + d2;
                    tess.addVertexWithUV(0, posEnd, 0, xMax[i], iconPos);
                    tess.addVertexWithUV(1, posEnd, 0, xMin[i], iconPos);
                    tess.addVertexWithUV(1, posEnd, -depth, xMin[i], iconPos);
                    tess.addVertexWithUV(0, posEnd, -depth, xMax[i], iconPos);
                }
            }

            tess.draw();
            tess.startDrawingQuads();
            tess.setNormal(0, -1, 0);

            for (int i = 0; i < iconParts; ++i)
            {
                float h = height[i], m = yMax[i], d = yDiff[i], s = ySub[i];
                for (int k = 0, e = (int) h; k < e; ++k)
                {
                    pos = k / h;
                    iconPos = m + d * pos - s;
                    tess.addVertexWithUV(1, pos, 0, xMin[i], iconPos);
                    tess.addVertexWithUV(0, pos, 0, xMax[i], iconPos);
                    tess.addVertexWithUV(0, pos, -depth, xMax[i], iconPos);
                    tess.addVertexWithUV(1, pos, -depth, xMin[i], iconPos);
                }
            }

            tess.draw();
            GL11.glDisable(GL12.GL_RESCALE_NORMAL);
        }

        GL11.glPopMatrix();
}
}

 

 

I'm not sure where I would make the "check color, GLColor3f(r,g,b);" calls. Just don't want to make an extra 10 or so versions of the same handle/guard to show different colors (T-Construct may be happy with that, but I prefer something more dynamic)

Link to comment
Share on other sites

Hi

 

I guess you are using the Tessellator for this?

 

The basic idea is

start drawing quads

tessellator.setColorRGBA(r,g,b,a) or tessellator.setColorOpaque(r,g,b)

tessellator.addVertexWithUV x4 for your icon

tessellator.draw

 

Your icon should be white (or grey scale).  You can then make it any colour you choose by varying the r,g,b in your setColor call

 

-TGG

 

 

 

Link to comment
Share on other sites

yes I am using a tessellator, I just wasn't sure where I had to set the color considering everything is done in the matrix then popped back in.

 

EDIT:

works like a charm, now just to do some maths while putting weapon effect layers on too (don't want an effect colored, just the base object)

Link to comment
Share on other sites

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

    • what's wrong here? info: [2024-05-08T11:50:59Z DEBUG rust_launcher::downloader] Downloading https://game-launcher.feathermc.com/release/version_index.json to C:\Users\Dell\AppData\Roaming\.minecraft\version_index.json... info: [2024-05-08T11:50:59Z DEBUG rust_launcher::downloader] Download from https://game-launcher.feathermc.com/release/version_index.json to C:\Users\Dell\AppData\Roaming\.minecraft\version_index.json completed. info: [2024-05-08T11:51:04Z ERROR rust_launcher::start::drm] Error while getting NTP time: Próba połączenia nie powiodła się, ponieważ połączona strona nie odpowiedziała poprawnie po ustalonym okresie czasu lub utworzone połączenie nie powiodło się, ponieważ połączony host nie odpowiedział. (os error 10060) info: CONNECTING TO SERVER undefined info: [2024-05-08T11:51:04Z INFO  rust_launcher::start::bindings] server: None info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Loading version info: {"versionSize":221968648,"state":{"VersionLoading":true},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":0} info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Finished loading version info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Finished moving mods info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Preparing assets [2024-05-08T11:51:04Z INFO  rust_launcher::start] Preparing JRE info: {"versionSize":221968648,"state":{"Downloading":["Assets","Mods","Jre","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":75483} info: [2024-05-08T11:51:04Z DEBUG rust_launcher::start] Finished preparing JRE [2024-05-08T11:51:04Z INFO  rust_launcher::start] Preparing libraries info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Preparing mods [2024-05-08T11:51:04Z INFO  rust_launcher::start] Finished preparing mods info: {"versionSize":221968648,"state":{"Downloading":["Assets","Mods","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":43223364} info: {"versionSize":221968648,"state":{"Downloading":["Assets","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":43223364} info: {"versionSize":221968648,"state":{"Downloading":["Assets","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":132324388} info: {"versionSize":221968648,"state":{"Downloading":["Assets","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":361246457} info: [2024-05-08T11:51:07Z INFO  rust_launcher::start] Finished preparing libraries info: {"versionSize":221968648,"state":{"Downloading":["Assets"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":628395692} info: {"versionSize":221968648,"state":{"Downloading":["Assets"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":653786583} info: {"versionSize":221968648,"state":{"Downloading":["Assets"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":678407583} info: {"versionSize":221968648,"state":{"Downloading":["Assets"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":703052935} info: [2024-05-08T11:51:10Z INFO  rust_launcher::start] Finished preparing assets [2024-05-08T11:51:10Z INFO  rust_launcher::start] Preparing registry info: {"versionSize":221968648,"state":{"Jvm":true},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":800814091} info: [2024-05-08T11:51:10Z INFO  rust_launcher::start] Finished preparing registry info: [2024-05-08T11:51:10Z INFO  rust_launcher::common::launch] starting JVM with arguments: ["-Djava.library.path=libraries/native\\net/digitalingot/fcef-windows/0.0.9\\extracted/;libraries/native\\net/digitalingot/fwebp-windows/0.0.2\\extracted/;libraries/native\\net/digitalingot/favif-windows/0.0.1\\extracted/;libraries/native\\com/discord/discord-game-sdk/3.2.1\\extracted/;libraries/native\\net/digitalingot/fdiscord/0.0.1\\extracted/;libraries/native\\net/digitalingot/fjni/0.0.1\\extracted/;libraries/native\\org/jitsi/jnopus/1.0\\extracted/;libraries/native\\org/lwjgl/lwjgl/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-jemalloc/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-openal/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-opengl/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-glfw/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-stb/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-tinyfd/3.3.1\\extracted/;libraries/native\\com/mojang/text2speech/1.13.9\\extracted/", "--add-opens=java.desktop/java.awt.event=ALL-UNNAMED", "--add-opens=java.desktop/java.awt.color=ALL-UNNAMED", "--add-opens=java.desktop/java.awt=ALL-UNNAMED", "--add-opens=java.base/java.lang=ALL-UNNAMED", "-Xmx4474M", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseG1GC", "-XX:G1NewSizePercent=20", "-XX:G1ReservePercent=20", "-XX:MaxGCPauseMillis=50", "-XX:G1HeapRegionSize=32M", "-Dlog4j2.formatMsgNoLookups=true", "-XX:ErrorFile=feather/java_error.log", "-Djavax.accessibility.assistive_technologies=", "-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT", "-cp", "libraries\\java\\net/minecraft/client/1.19.2/minecraft-1.19.2.jar;libraries\\java\\net/fabricmc/sponge-mixin/0.13.4+mixin.0.8.5/sponge-mixin-0.13.4+mixin.0.8.5.jar;libraries\\java\\org/ow2/asm/asm/9.6/asm-9.6.jar;libraries\\java\\org/ow2/asm/asm-analysis/9.6/asm-analysis-9.6.jar;libraries\\java\\org/ow2/asm/asm-commons/9.6/asm-commons-9.6.jar;libraries\\java\\org/ow2/asm/asm-tree/9.6/asm-tree-9.6.jar;libraries\\java\\org/ow2/asm/asm-util/9.6/asm-util-9.6.jar;libraries\\java\\net/fabricmc/intermediary/1.19.2/intermediary-1.19.2.jar;libraries/java\\net/fabricmc/fabric-loader/0.15.11/fabric-loader-0.15.11.jar;libraries\\java\\de/javagl/obj/0.3.0/obj-0.3.0.jar;libraries\\java\\net/digitalingot/fjni/0.0.1/fjni-0.0.1.jar;libraries\\java\\net/digitalingot/fdiscord/0.0.1/fdiscord-0.0.1.jar;libraries\\java\\software/bernie/geckolib/geckolib-fabric-1.19-3.5.0.jar;libraries\\java\\net/digitalingot/rust-extension/1.0.7/rust-extension-1.0.7.jar;libraries\\java\\net/digitalingot/fcef/0.0.6/fcef-0.0.6.jar;libraries\\java\\net/digitalingot/fwebp/0.0.1/fwebp-0.0.1.jar;libraries\\java\\net/digitalingot/favif/0.0.1/favif-0.0.1.jar;libraries\\java\\org/joml/joml/1.10.5/joml-1.10.5.jar;libraries\\java\\net/digitalingot/feather-server-api/messaging/0.0.4/messaging-0.0.4-SNAPSHOT.jar;libraries\\java\\org/jitsi/libjitsi/1.0-CUSTOM/libjitsi-1.0-CUSTOM.jar;libraries\\java\\org/jitsi/jitsi-utils/1.0-45-gc3afb76/jitsi-utils-1.0-45-gc3afb76.jar;libraries\\java\\org/capnproto/runtime/0.1.10/runtime-0.1.10.jar;libraries\\java\\com/google/inject/guice/5.1.0/guice-vendored-5.1.0.jar;libraries\\java\\javassist/javassist/3.12.1.GA/javassist-3.12.1.GA.jar;libraries\\java\\com/mojang/logging/1.0.0/logging-1.0.0.jar;libraries\\java\\com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar;libraries\\java\\com/mojang/patchy/2.2.10/patchy-2.2.10.jar;libraries\\java\\com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar;libraries\\java\\net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar;libraries\\java\\net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar;libraries\\java\\org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar;libraries\\java\\org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar;libraries\\java\\com/ibm/icu/icu4j/70.1/icu4j-70.1.jar;libraries\\java\\com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar;libraries\\java\\net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar;libraries\\java\\io/netty/netty-codec-http/4.1.76.Final/netty-codec-http-4.1.76.Final.jar;libraries\\java\\io/netty/netty-common/4.1.76.Final/netty-common-4.1.76.Final.jar;libraries\\java\\io/netty/netty-buffer/4.1.76.Final/netty-buffer-4.1.76.Final.jar;libraries\\java\\io/netty/netty-codec/4.1.76.Final/netty-codec-4.1.76.Final.jar;libraries\\java\\io/netty/netty-handler/4.1.76.Final/netty-handler-4.1.76.Final.jar;libraries\\java\\io/netty/netty-resolver/4.1.76.Final/netty-resolver-4.1.76.Final.jar;libraries\\java\\io/netty/netty-transport/4.1.76.Final/netty-transport-4.1.76.Final.jar;libraries\\java\\io/netty/netty-transport-native-unix-common/4.1.76.Final/netty-transport-native-unix-common-4.1.76.Final.jar;libraries\\java\\io/netty/netty-transport-classes-epoll/4.1.76.Final/netty-transport-classes-epoll-4.1.76.Final.jar;libraries\\java\\com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar;libraries\\java\\com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar;libraries\\java\\org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar;libraries\\java\\commons-io/commons-io/2.11.0/commons-io-2.11.0.jar;libraries\\java\\commons-codec/commons-codec/1.15/commons-codec-1.15.jar;libraries\\java\\com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar;libraries\\java\\com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar;libraries\\java\\com/google/code/gson/gson/2.8.9/gson-2.8.9.jar;libraries\\java\\com/mojang/authlib/3.11.49/authlib-3.11.49.jar;libraries\\java\\org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar;libraries\\java\\org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar;libraries\\java\\commons-logging/commons-logging/1.2/commons-logging-1.2.jar;libraries\\java\\org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar;libraries\\java\\it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar;libraries\\java\\org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar;libraries\\java\\org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar;libraries\\java\\org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar;libraries\\java\\com/mojang/text2speech/1.13.9/text2speech-1.13.9.jar", "-DFabricMcEmu= net.minecraft.client.main.Main ", "net.digitalingot.rustextension.ProxiedStart", "net.fabricmc.loader.launch.knot.KnotClient", "--username", "yeeeat", "--version", "1.19.2-feather", "--gameDir", "C:\\Users\\Dell\\AppData\\Roaming/.minecraft", "--assetsDir", "assets", "--assetIndex", "1.19-feather-game", "--uuid", "4820f9fb67c34cb6927e80e8a03a21c6", "--accessToken", "<hidden>", "--userType", "msa", "--versionType", "feather"] info: sending javaw pid info: starting cleanup info: [13:51:11] [main/INFO]: Loading Minecraft 1.19.2 with Fabric Loader 0.15.11 info: [13:51:12] [ForkJoinPool-1-worker-2/WARN]: Mod feather uses the version release/756b8dc6 which isn't compatible with Loader's extended semantic version format (Could not parse version number component 'release/756b8dc6'!), SemVer is recommended for reliably evaluating dependencies and prioritizing newer version info: [13:51:12] [main/INFO]: Loading 126 mods:     - appleskin 2.4.1+mc1.19     - architectury 6.5.85     - betterhurtcam 1.3.3+mc1.19.2     - boostedbrightness 2.1.2     - clearhitboxes 1.2     - cloth-config 8.2.88        \-- cloth-basic-math 0.6.1     - cmdkeybind 1.6.0-1.19        \-- kyrptconfig 1.4.14-1.19     - collective 6.61     - completeconfig 2.1.0        |-- coat 1.0.0-beta.19+mc22w17a        |-- completeconfig-base 2.1.0        |-- completeconfig-gui-cloth 2.1.0        |-- completeconfig-gui-coat 2.1.0        \-- completeconfig-gui-yacl 2.1.0     - cull-less-leaves 1.0.6        \-- conditional-mixin 0.3.0     - custom_hud 3.0.0+1.19.2     - darkkore 0.3.1-1.19        |-- com_electronwill_night-config_core 3.6.5        |-- com_electronwill_night-config_json 3.6.5        |-- com_electronwill_night-config_toml 3.6.5        |-- com_github_darkkronicle_konstruct_addons 2.0.3-build1        \-- com_github_darkkronicle_konstruct_core 2.0.3-build1     - debugify 2.8.0     - entitycollisionfpsfix 2.0.0.0     - entityculling 1.6.1-mc1.19.2     - exordium 1.0.2-mc1.19.2     - fabric-api 0.76.1+1.19.2        |-- fabric-api-base 0.4.15+8f4e8eb390        |-- fabric-api-lookup-api-v1 1.6.14+93d8cb8290        |-- fabric-biome-api-v1 9.1.1+16f1e31390        |-- fabric-block-api-v1 1.0.2+e415d50e90        |-- fabric-blockrenderlayer-v1 1.1.25+cafc6e8e90        |-- fabric-client-tags-api-v1 1.0.5+b35fea8390        |-- fabric-command-api-v1 1.2.16+f71b366f90        |-- fabric-command-api-v2 2.2.1+413cbbc790        |-- fabric-commands-v0 0.2.33+df3654b390        |-- fabric-containers-v0 0.1.42+df3654b390        |-- fabric-content-registries-v0 3.5.2+7c6cd14d90        |-- fabric-convention-tags-v1 1.3.0+4bc6e26290        |-- fabric-crash-report-info-v1 0.2.8+aeb40ebe90        |-- fabric-data-generation-api-v1 5.3.9+413cbbc790        |-- fabric-dimensions-v1 2.1.35+0d0f210290        |-- fabric-entity-events-v1 1.5.4+9244241690        |-- fabric-events-interaction-v0 0.4.34+562bff6e90        |-- fabric-events-lifecycle-v0 0.2.36+df3654b390        |-- fabric-game-rule-api-v1 1.0.24+b6b6abb490        |-- fabric-item-api-v1 1.6.6+b7d1888890        |-- fabric-item-groups-v0 0.3.39+9244241690        |-- fabric-key-binding-api-v1 1.0.25+5c4fce2890        |-- fabric-keybindings-v0 0.2.23+df3654b390        |-- fabric-lifecycle-events-v1 2.2.4+1b46dc7890        |-- fabric-loot-api-v2 1.1.13+83a8659290        |-- fabric-loot-tables-v1 1.1.16+9e7660c690        |-- fabric-message-api-v1 5.0.7+93d8cb8290        |-- fabric-mining-level-api-v1 2.1.24+33fbc73890        |-- fabric-models-v0 0.3.21+c6af733c90        |-- fabric-networking-api-v1 1.2.12+def3f86d90        |-- fabric-networking-v0 0.3.29+df3654b390        |-- fabric-object-builder-api-v1 4.2.2+d8ef690890        |-- fabric-particles-v1 1.0.14+4d0d570390        |-- fabric-recipe-api-v1 1.0.2+413cbbc790        |-- fabric-registry-sync-v0 0.9.33+9244241690        |-- fabric-renderer-api-v1 1.2.1+1adbf27790        |-- fabric-renderer-indigo 0.8.0+1adbf27790        |-- fabric-renderer-registries-v1 3.2.24+df3654b390        |-- fabric-rendering-data-attachment-v1 0.3.19+6e0787e690        |-- fabric-rendering-fluids-v1 3.0.11+4d0d570390        |-- fabric-rendering-v0 1.1.27+df3654b390        |-- fabric-rendering-v1 1.12.1+d8ef690890        |-- fabric-resource-conditions-api-v1 2.1.2+aae9039d90        |-- fabric-resource-loader-v0 0.8.4+edbdcddb90        |-- fabric-screen-api-v1 1.0.32+4d0d570390        |-- fabric-screen-handler-api-v1 1.3.8+1cc24b1b90        |-- fabric-sound-api-v1 1.0.2+c4f28df590        |-- fabric-textures-v0 1.0.24+aeb40ebe90        |-- fabric-transfer-api-v1 2.1.6+413cbbc790        \-- fabric-transitive-access-wideners-v1 1.3.3+08b73de490     - fabric-language-kotlin 1.9.5+kotlin.1.8.22        |-- org_jetbrains_kotlin_kotlin-reflect 1.8.22        |-- org_jetbrains_kotlin_kotlin-stdlib 1.8.22        |-- org_jetbrains_kotlin_kotlin-stdlib-jdk7 1.8.22        |-- org_jetbrains_kotlin_kotlin-stdlib-jdk8 1.8.22        |-- org_jetbrains_kotlinx_atomicfu-jvm 0.20.2        |-- org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm 1.7.1        |-- org_jetbrains_kotlinx_kotlinx-coroutines-jdk8 1.7.1        |-- org_jetbrains_kotlinx_kotlinx-datetime-jvm 0.4.0        |-- org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm 1.5.1        |-- org_jetbrains_kotlinx_kotlinx-serialization-core-jvm 1.5.1        \-- org_jetbrains_kotlinx_kotlinx-serialization-json-jvm 1.5.1     - fabricloader 0.15.11        \-- mixinextras 0.3.5     - feather release/756b8dc6     - ferritecore 5.0.3     - forcecloseloadingscreen 1.1.1     - ias 8.0.1     - inventoryhud 3.4.2     - itemmodelfix 1.0.3+1.19     - java 17     - kronhud 1.19.2-2.2.3     - lessglintythings 1.3.2     - memoryleakfix 1.1.1     - minecraft 1.19.2     - mixin-conflict-helper 1.2.0     - modmenu 4.2.0-beta.2     - morecosmetics 1.2     - nametagping 1.19.2-1.2     - optifabric 1.13.24        \-- mm 2.3     - perspektive 1.2.1     - recursiveresources 2.4.3+1.19        |-- cicada 0.4.0        \-- shared-resources-api 1.5.0     - shulkerboxtooltip 3.2.2+1.19.2     - slotlock 1.1.1-BETA+1.19     - timechanger 1.2.0        \-- midnightlib 0.5.2     - ukulib 0.6.1+1.19.2        |-- com_moandjiezana_toml_toml4j 0.7.2        \-- gs_mclo_java_mclogs-java 2.1.1     - waveycapes 1.3.2     - whoami 1.0     - xaerobetterpvp 24.1.1     - yet-another-config-lib 2.2.0-for-1.19.2 info: [13:51:13] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/C:/Users/Dell/AppData/Roaming/.minecraft/libraries/java/net/fabricmc/sponge-mixin/0.13.4+mixin.0.8.5/sponge-mixin-0.13.4+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT info: [13:51:13] [main/INFO]: Compatibility level set to JAVA_16 info: [13:51:13] [main/INFO]: Compatibility level set to JAVA_17 info: [13:51:13] [main/INFO]: [Feather::EssentialMod] Installed: false info: [13:51:14] [main/WARN]: Reference map 'shared-resources-api-refmap.json' for shared-resources-api.mixins.json could not be read. If this is a development environment you can ignore this message info: [13:51:14] [main/WARN]: Error loading class: me/jellysquid/mods/sodium/client/gui/options/control/SliderControl (java.lang.ClassNotFoundException: me/jellysquid/mods/sodium/client/gui/options/control/SliderControl) info: [13:51:14] [main/WARN]: Error loading class: me/jellysquid/mods/sodium/client/gui/options/OptionImpl (java.lang.ClassNotFoundException: me/jellysquid/mods/sodium/client/gui/options/OptionImpl) info: [13:51:14] [main/WARN]: Force disabled MC-121772 because it only applies to OS: MAC [13:51:14] [main/WARN]: Force disabled MC-122477 because it only applies to OS: LINUX info: [13:51:14] [main/WARN]: Force disabled MC-22882 because it only applies to OS: MAC info: [13:51:14] [main/WARN]: Force disabled MC-228976 because it's conflicting with: entitycollisionfpsfix info: [13:51:14] [main/WARN]: Force disabled MC-249059 because it's conflicting with: forcecloseloadingscreen info: [13:51:15] [main/INFO]: [MemoryLeakFix] Will be applying 4 memory leak fixes! [13:51:15] [main/INFO]: [MemoryLeakFix] Currently enabled memory leak fixes: [targetEntityLeak, entityMemoriesLeak, biomeTemperatureLeak, hugeScreenshotLeak] info: [13:51:15] [main/WARN]: Error loading class: org/jetbrains/annotations/ApiStatus$Internal (java.lang.ClassNotFoundException: org/jetbrains/annotations/ApiStatus$Internal) error: Failed to setup optifine: java.lang.NoClassDefFoundError: net/fabricmc/tinyremapper/IMappingProvider     at me.modmuss50.optifabric.mod.OptifabricSetup.run(OptifabricSetup.java:46)     at java.base/java.util.ArrayList.forEach(Unknown Source)     at com.chocohead.mm.Plugin.getMixins(Plugin.java:340)     at org.spongepowered.asm.mixin.transformer.PluginHandle.getMixins(PluginHandle.java:128)     at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:796)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:568)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290)     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)     at java.base/java.lang.ClassLoader.loadClass(Unknown Source)     at java.base/java.lang.Class.forName0(Native Method)     at java.base/java.lang.Class.forName(Unknown Source)     at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50)     at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117)     at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53)     at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:384)     at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160)     at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)     at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)     at java.base/java.lang.reflect.Method.invoke(Unknown Source)     at net.digitalingot.rustextension.ProxiedStart.main(ProxiedStart.java:16) Caused by: java.lang.ClassNotFoundException: net.fabricmc.tinyremapper.IMappingProvider     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)     at java.base/java.lang.ClassLoader.loadClass(Unknown Source)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226)     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)     at java.base/java.lang.ClassLoader.loadClass(Unknown Source)     ... 30 more info: [13:51:15] [main/WARN]: Error loading class: net/optifine/Config (java.lang.ClassNotFoundException: net/optifine/Config) info: [13:51:15] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.5). info: [13:51:15] [main/ERROR]: Minecraft has crashed! net.fabricmc.loader.impl.FormattedException: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_155 failed     at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:472) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.15.11.jar:?]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]     at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]     at net.digitalingot.rustextension.ProxiedStart.main(ProxiedStart.java:16) [rust-extension-1.0.7.jar:?] Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_155 failed     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at net.minecraft.client.main.Main.method_44604(Main.java:55) ~[minecraft-1.19.2.jar:?]     at net.minecraft.client.main.Main.main(Main.java:51) ~[minecraft-1.19.2.jar:?]     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]     ... 7 more Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at net.minecraft.client.main.Main.method_44604(Main.java:55) ~[minecraft-1.19.2.jar:?]     at net.minecraft.client.main.Main.main(Main.java:51) ~[minecraft-1.19.2.jar:?]     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]     ... 7 more Caused by: java.lang.ClassCastException: class com.llamalad7.mixinextras.lib.apache.commons.tuple.ImmutablePair cannot be cast to class org.apache.commons.lang3.tuple.Pair (com.llamalad7.mixinextras.lib.apache.commons.tuple.ImmutablePair and org.apache.commons.lang3.tuple.Pair are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @66a3ffec)     at ca.fxco.memoryleakfix.config.mixinExtension.UnMixinExtension.preApply(UnMixinExtension.java:23) ~[memoryleakfix-fabric-1.17+-1.1.1.temp.jar:?]     at org.spongepowered.asm.mixin.transformer.ext.Extensions.preApply(Extensions.java:156) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.TargetClassContext.preApply(TargetClassContext.java:414) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:401) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at net.minecraft.client.main.Main.method_44604(Main.java:55) ~[minecraft-1.19.2.jar:?]     at net.minecraft.client.main.Main.main(Main.java:51) ~[minecraft-1.19.2.jar:?]     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]     ... 7 more info: [2024-05-08T11:51:15Z INFO  rust_launcher::start::bindings] launch stalled  
    • Add PacketFixer: https://www.curseforge.com/minecraft/mc-mods/packet-fixer
    • torohealth and legendarytooltips are client-side-only mods Remove these from your server, keep these in your client
  • Topics

×
×
  • Create New...

Important Information

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