Jump to content

Recommended Posts

Posted

Yes, that is exactly what I meant -- create scale fields and add the scaling before the actual rendering/calllist.

 

I'll probably add another constructor that passes the scale factors in at time of construction, but that is just a style thing.

 

I think the additional cool thing about this is that it will allow you to dynamically scale any piece parts without having to separate the model -- seems that would be useful for many interesting or improved animations (real animators actually squash and stretch their models quite a bit (i.e. imagine something jumping and landing).

 

The other thing I plan to do: for the actual Model class create a convertToChild() method to use instead of addChild().  Imagine if you could take the Techne output and not have to adjust the rotation points and rotations when making them into children.  The only trick is that in order to support multiple levels I think you have to crawl up the parent hierarchy to calculate the absolute values of the parent's rotation point and rotation angle.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

I skipped the constructor at first because I didn't look around to make sure nothing else was calling it.  There probably isn't, but the minecraft coders are an odd bunch.

 

However, nothing wrong with setting two constructors.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Ok, I did some curvefitting, but can't figure out the basis for the value.

 

The formula is offset = 1.5 - (1.5 * shrink). 

 

I tested various values from 0.5 down to 0.25 and it works well. 

 

What I can't figure out is the 1.5.  Why is it that number?  Tried relating it to pixel size and the original height of the mob, but that didn't work.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

What I can't figure out is the 1.5.  Why is it that number?  Tried relating it to pixel size and the original height of the mob, but that didn't work.

 

I think I just figured it out -- the model 0, 0, 0 position is actually 24 pixels above ground (to prove this go to Techne and create a block at 0, 0, 0.  Since a block is 16 pixels, 24 would be 1.5 blocks high.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

You can use glScalef before rendering to change overall model size.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Posted

Abastro,

that is part of what we are talking about.  The discussion you are seeing now is how to get the feet to be on the ground again.  There is always the brute force way, but we were looking for an automatic way to do it so that the code scaled easily.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Delpi, do you agree that the 1.5 probably is explained by the explanation I proposed?  (1.5 is due to 0, 0, 0 point of model being at 24 pixels above ground.)

 

The thing we need to think through is where this offset is in the order of the actual operations.  Does the scale happen around the 0, 0, 0 point of the model?  I kind of expect that it does not because otherwise the model wouldn't "move" so much when scaled.  So is the scaling actually happening around the point on the ground (1.5 down in Y direction)?

 

In other words, should you scale then translate, or translate then scale?  I've always just mucked around to correct the offset manually ...

 

What's your understanding?

 

I'm also wondering if doing the scaling in the preRenderCallback() behaves any differently.  It's possible (I haven't had time to trace the implementation) that that is called inside the translation.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

Agree on the basis of the 1.5.

 

The translate has to be before the scale.  I tried it the other way and the math is different.  Could proably figure it out but probably not worth it.  Can't think of a reason why would care which order it was in.

 

Haven't looked at the rendercallback at all yet.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Can't think of a reason why would care which order it was in.

 

It matters because any point away from the origin of the scale will also get scaled.  If you have a model that is 1 pixel offset from the origin and call the scale for 2x, the model will then be 2 pixels away (in addition to being bigger).  If you want to scale something but keep it in its current postion you need to translate to origin of the scaling reference, scale, then translate back.  Otherwise the model's relative origin will move during the scaling.  Basically, scaling something that isn't at the origin of the scaling system will also cause translation.  Not sure if that was clear ...

 

Note that we have an additional problem to consider in our case -- we want the feet/base of our model to still touch the ground after the scaling.  So we can't just move the model back to original translation, but rather we need to do the scaled translation.  This is what you found in your formula -- i.e. you had to scale the second translation.

 

So what I think we need to do:

- original model starts at 1.5blocks above ground.

- need to move model down 1.5blocks such that origin is at the ground

- scale the model

- move the model up by 1.5*scaleFactor (since you're trying to get the feet of the scaled model back up to the ground level)

 

That is pretty much what you found out, and so I'm just explaining why it makes sense.  I think.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

You are right.  If you don't use the same center of 24 would cause issues, but could just change the 1.5 to what makes sense.

 

 

I'm not sure about that last line in the order.

 

I used the formula, scaled it, and things looked good.

 

On close inspection, the feet might have been slightly in the ground, but was very very slight.  When I get home tonight, i'll test if raising it by what you said fixes it.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Then why you are trying to scale the each model, not just scale up the whole model?

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Posted

I appreciate the interest, but if you would go back and read the chain from the start.  I don't think you have a complete picture yet.

 

I am scaling the entire entity and res positioning its feet on the ground.

 

I am scaling certain individual parts to avoid skin ripples.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Here is my current version after all the discussion.  Works great.

 

 

 

@SideOnly(Side.CLIENT)

public class ModelRaptor extends ModelBase {

 

// Setup Tail angles

float tail_angle = 0.0F;

float tail_angle_incriment = 0.0005F;

float tail_angle_limit = 0.05F;

float tail_angle_growth = 0.2F;

int tail_angle_direction = 1;

 

// Setup Camo

boolean camo = false;

 

// Setup models

ModelRenderer head;

    ModelRenderer headb;

    ModelRenderer headuppera;

    ModelRenderer headupperb;

    MyModelRenderer headlowera;

    MyModelRenderer headlowerb;

    ModelRenderer tongue;

    ModelRenderer body;

    MyModelRenderer neck;

    ModelRenderer rightarm;

    ModelRenderer righthanda;

    ModelRenderer righthandb;

    ModelRenderer leftarm;

    ModelRenderer lefthanda;

    ModelRenderer lefthandb;

    ModelRenderer leftleg;

    MyModelRenderer leftlegb;

    ModelRenderer leftlegc;

    ModelRenderer leftfoottoe2b;

    ModelRenderer leftfoottoe1b;

    ModelRenderer leftfoottoe2a;

    ModelRenderer leftfoottoe1a;

    ModelRenderer leftfoot;

    ModelRenderer rightleg;

    MyModelRenderer rightlegb;

    ModelRenderer rightlegc;

    ModelRenderer rightfoottoe1a;

    ModelRenderer rightfoottoe2b;

    ModelRenderer rightfoottoe2a;

    ModelRenderer rightfoottoe1b;

    ModelRenderer rightfoot;

    ModelRenderer taila;

    ModelRenderer tailb;

    ModelRenderer tailc;

    ModelRenderer taild;

    ModelRenderer taile;

    ModelRenderer tooth1a;

    ModelRenderer tooth2a;

    ModelRenderer tooth1b;

    ModelRenderer tooth2b;

    ModelRenderer tooth1c;

    ModelRenderer tooth2c;

    ModelRenderer tooth1d;

    ModelRenderer tooth2d;

    ModelRenderer tooth1e;

    ModelRenderer tooth2e;

    ModelRenderer tooth1f;

    ModelRenderer tooth2f;

    ModelRenderer tooth1g;

    ModelRenderer tooth2g;

    ModelRenderer tooth1h;

    ModelRenderer tooth2h;

    ModelRenderer tooth1i;

    ModelRenderer tooth2i;

    ModelRenderer tooth1j;

    ModelRenderer tooth2j;

    ModelRenderer tooth1k;

    ModelRenderer tooth2k;

    ModelRenderer tooth1l;

    ModelRenderer tooth2l;

    ModelRenderer tooth1m;

    ModelRenderer tooth2m;

    ModelRenderer tooth1n;

    ModelRenderer tooth2n;

    ModelRenderer tooth1o;

    ModelRenderer tooth2o;

 

    public ModelRaptor() {

   

    textureWidth = 256;

        textureHeight = 256;

       

       

        // Head

       

        head = new ModelRenderer(this, 0, 0);

        head.addBox(-4F, -13F, -9F, 8, 7, 8);

        head.setRotationPoint(0F, 0F, -15F);

        head.setTextureSize(256, 256);

        head.mirror = true;

        setRotation(head, 0F, 0F, 0F);

       

        headb = new ModelRenderer(this, 40, 0);

        headb.addBox(-3F, -14F, -8F, 6, 1, 6);

        headb.setRotationPoint(0F, 0F, 0F);

        headb.setTextureSize(256, 256);

        headb.mirror = true;

        setRotation(headb, 0F, 0F, 0F);

        head.addChild(headb);

 

        neck = new MyModelRenderer(this, 50, 55);

        neck.addBox(-4F, -11F, -2F, 8, 12, 6);

        neck.setRotationPoint(0F, 0F, 0F);

        neck.setTextureSize(64, 32);

        neck.mirror = true;

        setRotation(neck, 0.4363323F, 0F, 0F);

        neck.MyScale(0.995F, 1.0F, 1.0F);

        head.addChild(neck);

       

       

        // Upper Jaw

       

        headuppera = new ModelRenderer(this, 0, 20);

        headuppera.addBox(-4F, -12F, -20F, 8, 1, 11);

        headuppera.setRotationPoint(0F, 0F, 0F);

        headuppera.setTextureSize(256, 256);

        headuppera.mirror = true;

        setRotation(headuppera, 0F, 0F, 0F);

        head.addChild(headuppera);

       

        headupperb = new ModelRenderer(this, 45, 20);

        headupperb.addBox(-4F, -11F, -21F, 8, 1, 12);

        headupperb.setRotationPoint(0F, 0F, 0F);

        headupperb.setTextureSize(256, 256);

        headupperb.mirror = true;

        setRotation(headupperb, 0F, 0F, 0F);

        headuppera.addChild(headupperb);

       

       

        // Lower Jaw       

        headlowera = new MyModelRenderer(this, 0, 35);

        headlowera.addBox(-4F, -9.5F, -19.2F, 8, 1, 12);

        headlowera.setRotationPoint(0F, 0F, 0F);

        headlowera.setTextureSize(256, 256);

        headlowera.mirror = true;

        setRotation(headlowera, 0.1919862F, 0F, 0F);

        headlowera.MyScale(0.995F, 1.0F, 1.0F);

        head.addChild(headlowera);

       

        headlowerb = new MyModelRenderer(this, 45, 35);

        headlowerb.addBox(-4F, -8.5F, -13.2F, 8, 1, 6);

        headlowerb.setRotationPoint(0F, 0, 0F);

        headlowerb.setTextureSize(256, 256);

        headlowerb.mirror = true;

        setRotation(headlowerb, 0.1919862F - headlowera.rotateAngleX, 0F, 0F);

        headlowera.addChild(headlowerb);

        headlowerb.MyScale(0.995F, 1.0F, 1.0F);

       

        tongue = new ModelRenderer(this, 80, 35);

        tongue.addBox(-2F, -9.7F, -17.2F, 4, 1, 10);

        tongue.setRotationPoint(0F, 0F, 0F);

        tongue.setTextureSize(256, 256);

        tongue.mirror = true;

        setRotation(tongue, 0.1919862F - headlowera.rotateAngleX, 0F, 0F);

        headlowera.addChild(tongue);

       

       

        // Body

       

        body = new ModelRenderer(this, 0, 55);

        body.addBox(-6F, -17F, -8F, 12, 21, 8);

        body.setRotationPoint(0F, 0F, 0F);

        body.setTextureSize(256, 256);

        body.mirror = true;

        setRotation(body, 1.308997F, 0F, 0F);     

       

        // Right Arm

       

        rightarm = new ModelRenderer(this, 150, 50);

        rightarm.addBox(-2F, -1F, -1F, 2, 12, 2);

        rightarm.setRotationPoint(-6F, 0F, -16F);

        rightarm.setTextureSize(256, 256);

        rightarm.mirror = true;

        setRotation(rightarm, -0.7853982F, 0F, 0F);

               

        righthanda = new ModelRenderer(this, 170, 50);

        righthanda.addBox(-4.5F, 9F, -0.5F, 1, 4, 1);

        righthanda.setRotationPoint(0F, 0F, 0F);

        righthanda.setTextureSize(256, 256);

        righthanda.mirror = true;

        setRotation(righthanda, degToRad(0), degToRad(6), degToRad(-21));

        rightarm.addChild(righthanda);

       

        righthandb = new ModelRenderer(this, 180, 50);

        righthandb.addBox(1.0F, 10F, 0F, 1, 4, 1);

        righthandb.setRotationPoint(0F, 0F, 0F);

        righthandb.setTextureSize(256, 256);

        righthandb.mirror = true;

        setRotation(righthandb, degToRad(0), degToRad(0), degToRad(16));

        rightarm.addChild(righthandb);

       

       

        // Left Arm

       

        leftarm = new ModelRenderer(this, 150, 80);

        leftarm.addBox(0F, -1F, -1F, 2, 12, 2);

        leftarm.setRotationPoint(6F, 0F, -16F);

        leftarm.setTextureSize(256, 256);

        leftarm.mirror = true;

        setRotation(leftarm, -0.7853982F, 0F, 0F);

       

        lefthanda = new ModelRenderer(this, 170, 80);

        lefthanda.addBox(3F, 9F, 0F, 1, 4, 1);

        lefthanda.setRotationPoint(0F, 0F, 0F);

        lefthanda.setTextureSize(256, 256);

        lefthanda.mirror = true;

        setRotation(lefthanda, degToRad(0), degToRad(0), degToRad(16));

        leftarm.addChild(lefthanda);

       

        lefthandb = new ModelRenderer(this, 180, 80);

        lefthandb.addBox(-3F, 10F, -0.5F, 1, 4, 1);

        lefthandb.setRotationPoint(0F, 0F, 0F);

        lefthandb.setTextureSize(256, 256);

        lefthandb.mirror = true;

        setRotation(lefthandb, degToRad(0), degToRad(6), degToRad(-21));

        leftarm.addChild(lefthandb);

       

       

        // Left Leg

       

        leftleg = new ModelRenderer(this, 0, 120);

        leftleg.addBox(-3F, -2F, -2.5F, 3, 7, 5);

        leftleg.setRotationPoint(-6F, 2F, -3F);

        leftleg.setTextureSize(256, 256);

        leftleg.mirror = true;

        setRotation(leftleg, 0F, 0F, 0F);

       

        leftlegb = new MyModelRenderer(this, 0, 140);

        leftlegb.addBox(-3F, 0F, -5F, 3, 15, 4);

        leftlegb.setRotationPoint(0F, 0F, 0F);

        leftlegb.setTextureSize(256, 256);

        leftlegb.mirror = true;

        setRotation(leftlegb, 1.134464F - leftleg.rotateAngleX, 0F, 0F);

        leftlegb.MyScale(0.995F, 1.0F, 1.0F);

        leftleg.addChild(leftlegb);

       

        leftlegc = new ModelRenderer(this, 0, 165);

        leftlegc.addBox(-3F, 2.1F, 12F, 3, 15, 3);

        leftlegc.setRotationPoint(0F, 0F, 0F);

        leftlegc.setTextureSize(256, 256);

        leftlegc.mirror = true;

        setRotation(leftlegc, -0.4363323F, 0F, 0F);

        leftleg.addChild(leftlegc);

       

        leftfoottoe2b = new ModelRenderer(this, 37, 175);

        leftfoottoe2b.addBox(-4F, 20F, 0F, 1, 2, 1);

        leftfoottoe2b.setRotationPoint(0F, 0F, 0F);

        leftfoottoe2b.setTextureSize(256, 256);

        leftfoottoe2b.mirror = true;

        setRotation(leftfoottoe2b, 0F, 0F, 0F);

        leftleg.addChild(leftfoottoe2b);

       

        leftfoottoe1b = new ModelRenderer(this, 37, 165);

        leftfoottoe1b.addBox(0F, 20F, -2F, 1, 2, 2);

        leftfoottoe1b.setRotationPoint(0F, 0F, 0F);

        leftfoottoe1b.setTextureSize(256, 256);

        leftfoottoe1b.mirror = true;

        setRotation(leftfoottoe1b, 0F, 0F, 0F);

        leftleg.addChild(leftfoottoe1b);

       

        leftfoottoe2a = new ModelRenderer(this, 20, 175);

        leftfoottoe2a.addBox(-5F, 20F, 1F, 3, 2, 3);

        leftfoottoe2a.setRotationPoint(0F, 0F, 0F);

        leftfoottoe2a.setTextureSize(256, 256);

        leftfoottoe2a.mirror = true;

        setRotation(leftfoottoe2a, 0F, 0F, 0F);

        leftleg.addChild(leftfoottoe2a);

       

        leftfoottoe1a = new ModelRenderer(this, 20, 165);

        leftfoottoe1a.addBox(-1F, 20F, 0F, 3, 2, 4);

        leftfoottoe1a.setRotationPoint(0F, 0F, 0F);

        leftfoottoe1a.setTextureSize(256, 256);

        leftfoottoe1a.mirror = true;

        setRotation(leftfoottoe1a, 0F, 0F, 0F);

        leftleg.addChild(leftfoottoe1a);

       

        leftfoot = new ModelRenderer(this, 20, 140);

        leftfoot.addBox(-5F, 20F, 4F, 7, 2, 3);

        leftfoot.setRotationPoint(0F, 0F, 0F);

        leftfoot.setTextureSize(256, 256);

        leftfoot.mirror = true;

        setRotation(leftfoot, 0F, 0F, 0F);

        leftleg.addChild(leftfoot);

       

       

        // Right Leg

       

        rightleg = new ModelRenderer(this, 50, 120);

        rightleg.addBox(0F, -2F, -2.5F, 3, 7, 5);

        rightleg.setRotationPoint(6F, 2F, -3F);

        rightleg.setTextureSize(256, 256);

        rightleg.mirror = true;

        setRotation(rightleg, 0F, 0F, 0F);

       

        rightlegb = new MyModelRenderer(this, 50, 140);

        rightlegb.addBox(0F, 0F, -5F, 3, 15, 4);

        rightlegb.setRotationPoint(0F, 0F, 0F);

        rightlegb.setTextureSize(256, 256);

        rightlegb.mirror = true;

        setRotation(rightlegb, 1.134464F - rightleg.rotateAngleX, 0F, 0F);

        rightlegb.MyScale(0.995F, 1.0F, 1.0F);

        rightleg.addChild(rightlegb);

       

        rightlegc = new ModelRenderer(this, 50, 165);

        rightlegc.addBox(0F, 2.1F, 12F, 3, 15, 3);

        rightlegc.setRotationPoint(0F, 0F, 0F);

        rightlegc.setTextureSize(256, 256);

        rightlegc.mirror = true;

        setRotation(rightlegc, -0.4363323F, 0F, 0F);

        rightleg.addChild(rightlegc);

       

        rightfoottoe1a = new ModelRenderer(this, 70, 165);

        rightfoottoe1a.addBox(-2F, 20F, 0F, 3, 2, 4);

        rightfoottoe1a.setRotationPoint(0F, 0F, 0F);

        rightfoottoe1a.setTextureSize(256, 256);

        rightfoottoe1a.mirror = true;

        setRotation(rightfoottoe1a, 0F, 0F, 0F);

        rightleg.addChild(rightfoottoe1a);

       

        rightfoottoe2b = new ModelRenderer(this, 87, 175);

        rightfoottoe2b.addBox(3F, 20F, 0F, 1, 2, 1);

        rightfoottoe2b.setRotationPoint(0F, 0F, 0F);

        rightfoottoe2b.setTextureSize(256, 256);

        rightfoottoe2b.mirror = true;

        setRotation(rightfoottoe2b, 0F, 0F, 0F);

        rightleg.addChild(rightfoottoe2b);

       

        rightfoottoe2a = new ModelRenderer(this, 70, 175);

        rightfoottoe2a.addBox(2F, 20F, 1F, 3, 2, 3);

        rightfoottoe2a.setRotationPoint(0F, 0F, 0F);

        rightfoottoe2a.setTextureSize(256, 256);

        rightfoottoe2a.mirror = true;

        setRotation(rightfoottoe2a, 0F, 0F, 0F);

        rightleg.addChild(rightfoottoe2a);

       

        rightfoottoe1b = new ModelRenderer(this, 87, 165);

        rightfoottoe1b.addBox(-1F, 20F, -2F, 1, 2, 2);

        rightfoottoe1b.setRotationPoint(0F, 0F, 0F);

        rightfoottoe1b.setTextureSize(256, 256);

        rightfoottoe1b.mirror = true;

        setRotation(rightfoottoe1b, 0F, 0F, 0F);

        rightleg.addChild(rightfoottoe1b);

       

        rightfoot = new ModelRenderer(this, 70, 140);

        rightfoot.addBox(-2F, 20F, 4F, 7, 2, 3);

        rightfoot.setRotationPoint(0F, 0F, 0F);

        rightfoot.setTextureSize(256, 256);

        rightfoot.mirror = true;

        setRotation(rightfoot, 0F, 0F, 0F);

        rightleg.addChild(rightfoot);

       

       

        // Tail

       

        taila = new ModelRenderer(this, 0, 95);

        taila.addBox(-5F, 2F, -8F, 10, 10, 7);

        taila.setRotationPoint(0F, 0F, 0F);

        taila.setTextureSize(256, 256);

        taila.mirror = true;

        setRotation(taila, 1.500983F - body.rotateAngleX, 0F, 0F);

        body.addChild(taila);

       

        tailb = new ModelRenderer(this, 40, 95);

        tailb.addBox(-4F, 11F, -7F, 8, 10, 5);

        tailb.setRotationPoint(0F, 0F, 0F);

        tailb.setTextureSize(256, 256);

        tailb.mirror = true;

        setRotation(tailb, 1.500983F - body.rotateAngleX, 0F, 0F);

        body.addChild(tailb);

       

        tailc = new ModelRenderer(this, 70, 95);

        tailc.addBox(-3F, 20F, -6F, 6, 10, 3);

        tailc.setRotationPoint(0F, 0F, 0F);

        tailc.setTextureSize(256, 256);

        tailc.mirror = true;

        setRotation(tailc, 1.500983F - body.rotateAngleX, 0F, 0F);

        body.addChild(tailc);

       

        taild = new ModelRenderer(this, 95, 95);

        taild.addBox(-2F, 29F, -5F, 4, 5, 1);

        taild.setRotationPoint(0F, 0F, 0F);

        taild.setTextureSize(256, 256);

        taild.mirror = true;

        setRotation(taild, 1.500983F - body.rotateAngleX, 0F, 0F);

        body.addChild(taild);

       

        taile = new ModelRenderer(this, 110, 95);

        taile.addBox(-1F, 33F, -5F, 2, 5, 1);

        taile.setRotationPoint(0F, 0F, 0F);

        taile.setTextureSize(256, 256);

        taile.mirror = true;

        setRotation(taile, 1.500983F - body.rotateAngleX, 0F, 0F);

        body.addChild(taile);

       

       

        // Lower Jaw Teeth

       

        tooth1a = new ModelRenderer(this, 250, 0);

        tooth1a.addBox(-3.9F, -19.5F, -8.1F, 1, 1, 1);

        tooth1a.setRotationPoint(0F, 0F, 0F);

        tooth1a.setTextureSize(256, 256);

        tooth1a.mirror = true;

        setRotation(tooth1a, 0.9075712F - headlowera.rotateAngleX, 0F, 0F);       

        headlowera.addChild(tooth1a);

       

        tooth2a = new ModelRenderer(this, 250, 0);

        tooth2a.addBox(2.9F, -19.5F, -8.1F, 1, 1, 1);

        tooth2a.setRotationPoint(0F, 0F, 0F);

        tooth2a.setTextureSize(256, 256);

        tooth2a.mirror = true;

        setRotation(tooth2a, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth2a);

       

        tooth1b = new ModelRenderer(this, 250, 0);

        tooth1b.addBox(-3.9F, -18.6F, -7.1F, 1, 1, 1);

        tooth1b.setRotationPoint(0F, 0F, 0F);

        tooth1b.setTextureSize(256, 256);

        tooth1b.mirror = true;

        setRotation(tooth1b, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth1b);

       

        tooth2b = new ModelRenderer(this, 250, 0);

        tooth2b.addBox(2.9F, -18.6F, -7.1F, 1, 1, 1);

        tooth2b.setRotationPoint(0F, 0F, 0F);

        tooth2b.setTextureSize(256, 256);

        tooth2b.mirror = true;

        setRotation(tooth2b, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth2b);

       

        tooth1c = new ModelRenderer(this, 250, 0);

        tooth1c.addBox(-3.9F, -17.7F, -6.1F, 1, 1, 1);

        tooth1c.setRotationPoint(0F, 0F, 0F);

        tooth1c.setTextureSize(256, 256);

        tooth1c.mirror = true;

        setRotation(tooth1c, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth1c);

       

        tooth2c = new ModelRenderer(this, 250, 0);

        tooth2c.addBox(2.9F, -17.7F, -6.1F, 1, 1, 1);

        tooth2c.setRotationPoint(0F, 0F, 0F);

        tooth2c.setTextureSize(256, 256);

        tooth2c.mirror = true;

        setRotation(tooth2c, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth2c);

       

        tooth1d = new ModelRenderer(this, 250, 0);

        tooth1d.addBox(-3.9F, -16.8F, -5.1F, 1, 1, 1);

        tooth1d.setRotationPoint(0F, 0F, 0F);

        tooth1d.setTextureSize(256, 256);

        tooth1d.mirror = true;

        setRotation(tooth1d, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth1d);

       

        tooth2d = new ModelRenderer(this, 250, 0);

        tooth2d.addBox(2.9F, -16.8F, -5.1F, 1, 1, 1);

        tooth2d.setRotationPoint(0F, 0F, 0F);

        tooth2d.setTextureSize(256, 256);

        tooth2d.mirror = true;

        setRotation(tooth2d, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth2d);

       

        tooth1e = new ModelRenderer(this, 250, 0);

        tooth1e.addBox(-3.9F, -15.9F, -4.1F, 1, 1, 1);

        tooth1e.setRotationPoint(0F, 0F, 0F);

        tooth1e.setTextureSize(256, 256);

        tooth1e.mirror = true;

        setRotation(tooth1e, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth1e);

       

        tooth2e = new ModelRenderer(this, 250, 0);

        tooth2e.addBox(2.9F, -15.9F, -4.1F, 1, 1, 1);

        tooth2e.setRotationPoint(0F, 0F, 0F);

        tooth2e.setTextureSize(256, 256);

        tooth2e.mirror = true;

        setRotation(tooth2e, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth2e);

       

        tooth1f = new ModelRenderer(this, 250, 0);

        tooth1f.addBox(-3.9F, -15F, -3.1F, 1, 1, 1);

        tooth1f.setRotationPoint(0F, 0F, 0F);

        tooth1f.setTextureSize(256, 256);

        tooth1f.mirror = true;

        setRotation(tooth1f, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth1f);

       

        tooth2f = new ModelRenderer(this, 250, 0);

        tooth2f.addBox(2.9F, -15F, -3.1F, 1, 1, 1);

        tooth2f.setRotationPoint(0F, 0F, 0F);

        tooth2f.setTextureSize(256, 256);

        tooth2f.mirror = true;

        setRotation(tooth2f, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth2f);

       

        tooth1g = new ModelRenderer(this, 250, 0);

        tooth1g.addBox(-3.9F, -14.1F, -2.1F, 1, 1, 1);

        tooth1g.setRotationPoint(0F, 0F, 0F);

        tooth1g.setTextureSize(256, 256);

        tooth1g.mirror = true;

        setRotation(tooth1g, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth1g);

       

        tooth2g = new ModelRenderer(this, 250, 0);

        tooth2g.addBox(2.9F, -14.1F, -2.1F, 1, 1, 1);

        tooth2g.setRotationPoint(0F, 0F, 0F);

        tooth2g.setTextureSize(256, 256);

        tooth2g.mirror = true;

        setRotation(tooth2g, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth2g);

       

        tooth1h = new ModelRenderer(this, 250, 0);

        tooth1h.addBox(-3.9F, -13.2F, -1.1F, 1, 1, 1);

        tooth1h.setRotationPoint(0F, 0F, 0F);

        tooth1h.setTextureSize(256, 256);

        tooth1h.mirror = true;

        setRotation(tooth1h, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth1h);

       

        tooth2h = new ModelRenderer(this, 250, 0);

        tooth2h.addBox(2.9F, -13.2F, -1.1F, 1, 1, 1);

        tooth2h.setRotationPoint(0F, 0F, 0F);

        tooth2h.setTextureSize(256, 256);

        tooth2h.mirror = true;

        setRotation(tooth2h, 0.9075712F - headlowera.rotateAngleX, 0F - headlowera.rotateAngleY, 0F - headlowera.rotateAngleZ); 

        headlowera.addChild(tooth2h);

       

       

        // Upper Jaw Teeth

       

        tooth1i = new ModelRenderer(this, 250, 0);

        tooth1i.addBox(-3.9F, -21.5F, -7.3F, 1, 1, 1);

        tooth1i.setRotationPoint(0F, 0F, 0F);

        tooth1i.setTextureSize(256, 256);

        tooth1i.mirror = true;

        setRotation(tooth1i, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth1i);

       

        tooth2i = new ModelRenderer(this, 250, 0);

        tooth2i.addBox(2.9F, -21.5F, -7.3F, 1, 1, 1);

        tooth2i.setRotationPoint(0F, 0F, 0F);

        tooth2i.setTextureSize(256, 256);

        tooth2i.mirror = true;

        setRotation(tooth2i, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth2i);

       

        tooth1j = new ModelRenderer(this, 250, 0);

        tooth1j.addBox(-3.9F, -20.5F, -6.3F, 1, 1, 1);

        tooth1j.setRotationPoint(0F, 0F, 0F);

        tooth1j.setTextureSize(256, 256);

        tooth1j.mirror = true;

        setRotation(tooth1j, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth1j);

       

        tooth2j = new ModelRenderer(this, 250, 0);

        tooth2j.addBox(2.9F, -20.5F, -6.3F, 1, 1, 1);

        tooth2j.setRotationPoint(0F, 0F, 0F);

        tooth2j.setTextureSize(256, 256);

        tooth2j.mirror = true;

        setRotation(tooth2j, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth2j);

       

        tooth1k = new ModelRenderer(this, 250, 0);

        tooth1k.addBox(-3.9F, -19.5F, -5.3F, 1, 1, 1);

        tooth1k.setRotationPoint(0F, 0F, 0F);

        tooth1k.setTextureSize(256, 256);

        tooth1k.mirror = true;

        setRotation(tooth1k, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth1k);

       

        tooth2k = new ModelRenderer(this, 250, 0);

        tooth2k.addBox(2.9F, -19.5F, -5.3F, 1, 1, 1);

        tooth2k.setRotationPoint(0F, 0F, 0F);

        tooth2k.setTextureSize(256, 256);

        tooth2k.mirror = true;

        setRotation(tooth2k, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth2k);

       

        tooth1l = new ModelRenderer(this, 250, 0);

        tooth1l.addBox(-3.9F, -18.5F, -4.3F, 1, 1, 1);

        tooth1l.setRotationPoint(0F, 0F, 0F);

        tooth1l.setTextureSize(256, 256);

        tooth1l.mirror = true;

        setRotation(tooth1l, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth1l);

       

        tooth2l = new ModelRenderer(this, 250, 0);

        tooth2l.addBox(2.9F, -18.5F, -4.3F, 1, 1, 1);

        tooth2l.setRotationPoint(0F, 0F, 0F);

        tooth2l.setTextureSize(256, 256);

        tooth2l.mirror = true;

        setRotation(tooth2l, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth2l);

       

        tooth1m = new ModelRenderer(this, 250, 0);

        tooth1m.addBox(-3.9F, -17.5F, -3.3F, 1, 1, 1);

        tooth1m.setRotationPoint(0F, 0F, 0F);

        tooth1m.setTextureSize(256, 256);

        tooth1m.mirror = true;

        setRotation(tooth1m, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth1m);

       

        tooth2m = new ModelRenderer(this, 250, 0);

        tooth2m.addBox(2.9F, -17.5F, -3.3F, 1, 1, 1);

        tooth2m.setRotationPoint(0F, 0F, 0F);

        tooth2m.setTextureSize(256, 256);

        tooth2m.mirror = true;

        setRotation(tooth2m, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth2m);

       

        tooth1n = new ModelRenderer(this, 250, 0);

        tooth1n.addBox(-3.9F, -16.5F, -2.3F, 1, 1, 1);

        tooth1n.setRotationPoint(0F, 0F, 0F);

        tooth1n.setTextureSize(256, 256);

        tooth1n.mirror = true;

        setRotation(tooth1n, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth1n);

       

        tooth2n = new ModelRenderer(this, 250, 0);

        tooth2n.addBox(2.9F, -16.5F, -2.3F, 1, 1, 1);

        tooth2n.setRotationPoint(0F, 0F, 0F);

        tooth2n.setTextureSize(256, 256);

        tooth2n.mirror = true;

        setRotation(tooth2n, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth2n);

       

        tooth1o = new ModelRenderer(this, 250, 0);

        tooth1o.addBox(-3.9F, -15.5F, -1.3F, 1, 1, 1);

        tooth1o.setRotationPoint(0F, 0F, 0F);

        tooth1o.setTextureSize(256, 256);

        tooth1o.mirror = true;

        setRotation(tooth1o, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth1o);

       

        tooth2o = new ModelRenderer(this, 250, 0);

        tooth2o.addBox(2.9F, -15.5F, -1.3F, 1, 1, 1);

        tooth2o.setRotationPoint(0F, 0F, 0F);

        tooth2o.setTextureSize(256, 256);

        tooth2o.mirror = true;

        setRotation(tooth2o, 0.7853982F, 0F, 0F);

        headuppera.addChild(tooth2o);

       

    }

 

    public void setRotation(ModelRenderer model, float x, float y, float z) {

   

        model.rotateAngleX = x;

        model.rotateAngleY = y;

        model.rotateAngleZ = z;

       

    }

 

    // f & f1 are some type of limb movement factors

   

    @Override

    public void setRotationAngles(float limb_angle, float limb_progress, float f2, float headY, float headX, float f5, Entity entity) {

        super.setRotationAngles(limb_angle, limb_progress, f2, headY, headX, f5, entity);

       

        // Handle Head Rotation

        head.rotateAngleY = headY / (180F / (float)Math.PI);

        head.rotateAngleX = headX / (180F / (float)Math.PI);

       

        // Handle Walking Animation

        float limb_angle_multiplier = 0.6662F;  // 0.6662F Original

        float limb_rotation_multiplier = 0.7F;  // 1.4F Original

             

        leftleg.rotateAngleX = MathHelper.cos(limb_angle * limb_angle_multiplier) * limb_rotation_multiplier * limb_progress;

        rightleg.rotateAngleX = MathHelper.cos(limb_angle * limb_angle_multiplier + (float)Math.PI) * limb_rotation_multiplier * limb_progress;

     

        // Handle Tail Wag Animation

        tail_angle = tail_angle  + tail_angle_incriment * tail_angle_direction;

        if (tail_angle >= tail_angle_limit) tail_angle_direction = -1;

        if (tail_angle <= (-tail_angle_limit)) tail_angle_direction = 1;

        //System.out.println("tail_angle of " + tail_angle);

       

        // Handle Jaw

        MyEntityRaptor raptor = (MyEntityRaptor) entity;

        float jaw_position = raptor.jaw_position();

       

        // Handle Tail Rotations

        taila.rotateAngleZ = body.rotateAngleZ + tail_angle * (1 + 0 * tail_angle_growth);

        tailb.rotateAngleZ = body.rotateAngleZ + tail_angle * (1 + 1 * tail_angle_growth);

        tailc.rotateAngleZ = body.rotateAngleZ + tail_angle * (1 + 2 * tail_angle_growth);

        taild.rotateAngleZ = body.rotateAngleZ + tail_angle * (1 + 3 * tail_angle_growth);

        taile.rotateAngleZ = body.rotateAngleZ + tail_angle * (1 + 4 * tail_angle_growth);

       

    }

   

    @Override

    public void render(Entity entity, float par2, float par3, float par4, float par5, float par6, float par7) {

   

    // Setup raptor

    MyEntityRaptor raptor = (MyEntityRaptor) entity;

   

    // Set Rotation

        this.setRotationAngles(par2, par3, par4, par5, par6, par7, entity);

       

        // Setup factors - can't just adjust this

        float shrink_factor = 2.0f;

       

        // Check for Child

        if (raptor.isChild()) shrink_factor = 3.0f;

 

        // Calculate Offset

        float shift_y = (24F /16F) - (1F / shrink_factor * 1.5F);

       

        // Initiate Matrix

        GL11.glPushMatrix();

       

        // Move the entity for the scale

        GL11.glTranslatef(0.0F, shift_y, 0.0F);

       

        // Set Scale       

        GL11.glScalef(1.0F / shrink_factor, 1.0F / shrink_factor, 1.0F / shrink_factor);

       

        // Render the Raptor

        this.head.render(par7);

 

        this.body.render(par7);

       

        this.leftarm.render(par7);

       

        this.rightarm.render(par7);

 

        this.leftleg.render(par7);

 

        this.rightleg.render(par7);

               

        // Finish Matrix

        GL11.glPopMatrix();

 

    }

   

    protected float degToRad(float degrees) {

   

        return degrees * (float)Math.PI / 180 ;

       

    }

   

}

 

 

 

Custom ModelRenderer

 

 

public class MyModelRenderer extends ModelRenderer {

 

// Setup Variables

  protected float MyScaleX = 1;

  protected float MyScaleY = 1;

  protected float MyScaleZ = 1;

 

  // Handle repeat variables

  protected int displayList;

  protected boolean compiled;

 

 

  public MyModelRenderer(ModelBase par1ModelBase, String par2Str) {

      super(par1ModelBase, par2Str);

       

  }

 

  public MyModelRenderer(ModelBase par1ModelBase) {

      super(par1ModelBase, null);

       

  }

 

  public MyModelRenderer(ModelBase par1ModelBase, int par2, int par3) { 

      this(par1ModelBase);

      this.setTextureOffset(par2, par3);

     

  }

 

  public void MyScale(float MyScaleX, float MyScaleY, float MyScaleZ) {

 

      // Set Variables

      this.MyScaleX = MyScaleX;

      this.MyScaleY = MyScaleY;

      this.MyScaleZ = MyScaleZ;

 

  }  

 

  protected void customCallList() {

 

      // Scale the render

      GL11.glScalef(1 * MyScaleX, 1 * MyScaleY, 1 * MyScaleZ);

     

      // Make the display call

      GL11.glCallList(this.displayList);

 

      // Remove the scale

      GL11.glScalef(1 / MyScaleX, 1 / MyScaleY, 1 / MyScaleZ);

     

  }

 

  @SideOnly(Side.CLIENT)

  private void compileDisplayList(float par1) {

 

      this.displayList = GLAllocation.generateDisplayLists(1);

      GL11.glNewList(this.displayList, GL11.GL_COMPILE);

      Tessellator tessellator = Tessellator.instance;

 

      for (int i = 0; i < this.cubeList.size(); ++i)

      {

          ((ModelBox)this.cubeList.get(i)).render(tessellator, par1);

      }

 

      GL11.glEndList();

      this.compiled = true;

     

  }

 

    @SideOnly(Side.CLIENT)

  @Override

    public void render(float par1)

    {

        if (!this.isHidden)

        {

            if (this.showModel)

            {

                if (!this.compiled)

                {

                    this.compileDisplayList(par1);

                }

 

                GL11.glTranslatef(this.offsetX, this.offsetY, this.offsetZ);

                int i;

 

                if (this.rotateAngleX == 0.0F && this.rotateAngleY == 0.0F && this.rotateAngleZ == 0.0F)

                {

                    if (this.rotationPointX == 0.0F && this.rotationPointY == 0.0F && this.rotationPointZ == 0.0F)

                    {

                        //GL11.glCallList(this.displayList);

                  customCallList();

 

                        if (this.childModels != null)

                        {

                            for (i = 0; i < this.childModels.size(); ++i)

                            {

                                ((ModelRenderer)this.childModels.get(i)).render(par1);

                            }

                        }

                    }

                    else

                    {

                        GL11.glTranslatef(this.rotationPointX * par1, this.rotationPointY * par1, this.rotationPointZ * par1);

                        //GL11.glCallList(this.displayList);

                  customCallList();

 

                        if (this.childModels != null)

                        {

                            for (i = 0; i < this.childModels.size(); ++i)

                            {

                                ((ModelRenderer)this.childModels.get(i)).render(par1);

                            }

                        }

 

                        GL11.glTranslatef(-this.rotationPointX * par1, -this.rotationPointY * par1, -this.rotationPointZ * par1);

                    }

                }

                else

                {

                    GL11.glPushMatrix();

                    GL11.glTranslatef(this.rotationPointX * par1, this.rotationPointY * par1, this.rotationPointZ * par1);

 

                    if (this.rotateAngleZ != 0.0F)

                    {

                        GL11.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F);

                    }

 

                    if (this.rotateAngleY != 0.0F)

                    {

                        GL11.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F);

                    }

 

                    if (this.rotateAngleX != 0.0F)

                    {

                        GL11.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F);

                    }

 

                    //GL11.glCallList(this.displayList);

              customCallList();

 

                    if (this.childModels != null)

                    {

                        for (i = 0; i < this.childModels.size(); ++i)

                        {

                            ((ModelRenderer)this.childModels.get(i)).render(par1);

                        }

                    }

 

                    GL11.glPopMatrix();

                }

 

                GL11.glTranslatef(-this.offsetX, -this.offsetY, -this.offsetZ);

            }

        }

    }

 

  @SideOnly(Side.CLIENT)

  @Override

    public void renderWithRotation(float par1)

    {

        if (!this.isHidden)

        {

            if (this.showModel)

            {

                if (!this.compiled)

                {

                    this.compileDisplayList(par1);

                }

 

                GL11.glPushMatrix();

                GL11.glTranslatef(this.rotationPointX * par1, this.rotationPointY * par1, this.rotationPointZ * par1);

 

                if (this.rotateAngleY != 0.0F)

                {

                    GL11.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F);

                }

 

                if (this.rotateAngleX != 0.0F)

                {

                    GL11.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F);

                }

 

                if (this.rotateAngleZ != 0.0F)

                {

                    GL11.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F);

                }

 

                //GL11.glCallList(this.displayList);

            customCallList();

                GL11.glPopMatrix();

            }

        }

    }

 

}

 

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Awesome.  I suggest that the setRotation() method be converted to use degrees as well (just takes a few minutes to update all the calls) -- as always just trying to protect your sanity!

 

I'm not sure about that last line in the order.  I used the formula, scaled it, and things looked good.

 

A formula is a series of steps - I was just using the concept of steps to explain why your formula should work.

 

In other words, your formula of: 1.5 - (1.5 * shrink) is exactly equivalent to me saying "take the steps to translate 1.5 then translate back by 1.5 times the scale factor."

 

It is great to have figured this out together.  I think now you can understand the powerful animation possibilities once you have the rotation points and hierarchy in proper place.

 

The only thing I still want to work on is to make the convertToChild() method so I can just take a Techne Java output as is and directly create the hierarchy without having to think much.  It should be pretty easy, provided you put the rotation points in the proper places in the Techne model.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

Yeh, that would make it a lot easier to have that method.

 

The one thing that I think will be really hard is the math for a child that is rotated.  Took some thinking to figure out the pattern of the teeth to the parent or the fingers to the hands.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Yeh, that would make it a lot easier to have that method.

 

The one thing that I think will be really hard is the math for a child that is rotated.  Took some thinking to figure out the pattern of the teeth to the parent or the fingers to the hands.

 

No, there shouldn't be any math.  I haven't looked at your model class yet, but I suspect you didn't entirely adjust all the rotation points properly.  The rotation points should be at the point of connection between the parts (in most cases).  So for the teeth it could be the center of each tooth, and then each tooth is attached at different point to the jaw.

 

If in Techne you already put those rotation points in proper place, there shouldn't be any issue.  They were all just rotated 45degrees, and it doesn't matter whether the jaw is also rotated relative to the head and the head is relative to the neck and the neck relative to the body and the body relative to the world -- shouldn't be any math except to set rotation to 45degrees.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

I missed something big here.

 

I set the rotation point for the tooth at 0,0,0 to be the same as its parent.  This of course made it so the axis's were not typical so it was rather complicated to get it in place.

 

If I read what you are saying and thinking back to the rest of the conversation, I set the rotation point to the center of the tooth relative to the rotation point of the parent object.  Because it is a child, it will rotate with the parent just fine.  If I tell the tooth to rotate after that for animation, it will rotate on its own point?

 

Did I get that right?  I hope so, because what I did was a PITA!

 

 

I can't play with it till tonight, but let be let me know if that is the right understanding or if I still have it wrong.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

People run into trouble because the placement can look correct even if the rotation point is wrong.  This is because the offsets can hide the problem.  I just made a quick vid (

) to show you this -- I move the rotation point and offset of the arm and the arm still seems to be in correct place -- but you can see the problem when you try to rotate it.  This is what you've done with the teeth.

 

The child will automatically rotate around the parent's rotation point.  You don't need to align the child and parents rotation points in any way (you only have to align them if you don't have hierarchy).  Any further rotation on the child itself will be around its own rotation point

 

This is only really critical for child pieces you plan to dynamically rotate.  If you've already figured out a combination of rotation points, offsets and rotations for the teeth that work, I would just leave them.    But for anything that will move dynamically (legs, tail, etc.) you need to ensure you get it right.

 

In my tutorial, I recommend adding spinX(), spinY() and spinZ() function to use for debugging.  You can call this right before the render and can pass a child piece to it.  The child piece will then rotate and you will quickly understand whether the rotation point is correct.

 

    // spin methods are good for testing and debug rotation points and offsets in the model
    protected void spinX(ModelRenderer model)
    {
        model.rotateAngleX += degToRad(0.5F);
    }
    
    protected void spinY(ModelRenderer model)
    {
        model.rotateAngleY += degToRad(0.5F);
    }
    
    protected void spinZ(ModelRenderer model)
    {
        model.rotateAngleZ += degToRad(0.5F);
    }

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

Okay, while I do want people to understand the concepts, I've come up with the (simple) convertToChild() method that will make taking the Techne Java output and creating hierarchy extremely easy.

 

The important thing is to first in Techne get the rotation points in right place (see the video I linked above).  Then export the Java and put it into your custom model class in Eclipse.

 

Then add the following method to your model class:

    // This is really useful for converting the source from a Techne model export
    // which will have absolute rotation points that need to be converted before
    // creating the addChild() relationship
    protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild)
    {
    	// move child rotation point to be relative to parent
    	parChild.rotationPointX -= parParent.rotationPointX;
    	parChild.rotationPointY -= parParent.rotationPointY;
    	parChild.rotationPointZ -= parParent.rotationPointZ;
    	// make rotations relative to parent
    	parChild.rotateAngleX -= parParent.rotateAngleX;
    	parChild.rotateAngleY -= parParent.rotateAngleY;
    	parChild.rotateAngleZ -= parParent.rotateAngleZ;
    	// create relationship
    	parParent.addChild(parChild);
    }

 

Then call this method to create the hierarchy.  For example, I took the Techne default ModelBiped and output the Java then added this method, with the result being:

      head = new ModelRenderer(this, 0, 0);
      head.addBox(-4F, -8F, -4F, 8, 8, ;
      head.setRotationPoint(0F, 0F, 0F);
      head.setTextureSize(64, 32);
      head.mirror = true;
      setRotation(head, 0F, 0F, 0F);
      body = new ModelRenderer(this, 16, 16);
      body.addBox(-4F, 0F, -2F, 8, 12, 4);
      body.setRotationPoint(0F, 0F, 0F);
      body.setTextureSize(64, 32);
      body.mirror = true;
      setRotation(body, 0F, 0F, 0F);
      [color=blue]convertToChild(body, head);[/color]
      rightarm = new ModelRenderer(this, 40, 16);
      rightarm.addBox(-3F, -2F, -2F, 4, 12, 4);
      rightarm.setRotationPoint(-5F, 2F, 0F);
      rightarm.setTextureSize(64, 32);
      rightarm.mirror = true;
      setRotation(rightarm, 0F, 0F, 0F);
      [color=blue]convertToChild(body, rightarm);[/color]
      leftarm = new ModelRenderer(this, 40, 16);
      leftarm.addBox(-1F, -2F, -2F, 4, 12, 4);
      leftarm.setRotationPoint(5F, 2F, 0F);
      leftarm.setTextureSize(64, 32);
      leftarm.mirror = true;
      setRotation(leftarm, 0F, 0F, 0F);
      [color=blue]convertToChild(body, leftarm);[/color]
      rightleg = new ModelRenderer(this, 0, 16);
      rightleg.addBox(-2F, 0F, -2F, 4, 12, 4);
      rightleg.setRotationPoint(-2F, 12F, 0F);
      rightleg.setTextureSize(64, 32);
      rightleg.mirror = true;
      setRotation(rightleg, 0F, 0F, 0F);
      [color=blue]convertToChild(body, rightleg);[/color]
      leftleg = new ModelRenderer(this, 0, 16);
      leftleg.addBox(-2F, 0F, -2F, 4, 12, 4);
      leftleg.setRotationPoint(2F, 12F, 0F);
      leftleg.setTextureSize(64, 32);
      leftleg.mirror = true;
      setRotation(leftleg, 0F, 0F, 0F);
      [color=blue]convertToChild(body, leftleg);[/color]

 

Lastly, I got rid of the render calls for each child, and only called body.render(f5).

 

Hope this helps.  If you're getting tired of reworking your model, feel free to send me the Techne file and I'll be able to get it going pretty quickly.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

I'm going to keep messing with it.  Learning a lot which will help with some future ideas I have.

 

When I get home tonight, I'll play with the model and Tecne more. 

 

After that, I'll post th code.  If you don't mind, I'd appreciate you taking a look at it and seeing if anything else jumps out at you.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

I'm going to keep messing with it.  Learning a lot which will help with some future ideas I have.

 

When I get home tonight, I'll play with the model and Tecne more. 

 

After that, I'll post th code.  If you don't mind, I'd appreciate you taking a look at it and seeing if anything else jumps out at you.

 

Yes, it is worth understanding inside and out.

 

The only problem for you is you made a complicated model before fully understanding it, now the rework is extensive.  I was trying to fix just the teeth and it is a lot of work, after about half an hour on it I was only halfway there.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

Hit a snag.  If your parent is rotated, things seem to get weird with the child setup.

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Got a workaround.  Your base parent can't be rotated or the child doesn't position right.  I created some dummy parts that were not rotated with dimensions of 0,0,0 and it fixed it.

 

Next issue is order that the convertToChild is run.

 

For example, if headb is a child of head is a child of neckbase.

 

You have to run convert on headb before you run it on head or it has already subracted the angles and positions and things get weird.

 

Any ideas?

Long time Bukkit & Forge Programmer

Happy to try and help

Posted

Got a workaround.  Your base parent can't be rotated or the child doesn't position right.  I created some dummy parts that were not rotated with dimensions of 0,0,0 and it fixed it.

 

Next issue is order that the convertToChild is run.

 

For example, if headb is a child of head is a child of neckbase.

 

You have to run convert on headb before you run it on head or it has already subracted the angles and positions and things get weird.

 

Any ideas?

 

Yeah, I was a bit worried about that part (converting multiple levels).  I think we'll have to keep track of the previous absolute position for each child as well.  Probably easiest to add that as fields in an extended ModelRenderer class, but could also just be some sort of array in the Model class.  So the convertToChild() would look at the parent's originalRotationPointX, originalRotationPointY, originalRotationPointZ for the purpose of the conversion.  That should solve it, right?

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted

So far just keeping track of the order seems to be working.  It means I put the convertToChild all together at the end.  Not that bad.

Long time Bukkit & Forge Programmer

Happy to try and help

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

    • are you using Optifine? if so it is not supported with the supplementaries mod and it can cause crashes easily.
    • hey, a bit late to the forum. im new to mc modding and i dont really know what a supplier is, would be grateful if you shared a bit of info.
    • Yeah, it still crashes, so if you'd like to compare mod lists then that would probably help.
    • I'm having the same issue. I'm still in the process of troubleshooting, but currently I'm not having the issue. I had just updated FramedBlocks, XaeroPlus, Puzzles Lib [Forge & Fabric], Structure Essentials, and Server Performance - Smooth Chunk Save. After booting it up, I had the issue, I closed and reopened it, and then I got an error about FTBRanks (which had happened before). It basically said it required a more up to date version of Forge, but I had just updated forge before updating all the other mods, so FTBRanks should have given the error when I booted it up before. Currently, the game is running fine and my screen hasn't frozen and flashed. I'll update this if more information comes up.
    • ---- Minecraft Crash Report ---- // Shall we play a game? Time: 2025-03-12 17:35:49 Description: mouseClicked event handler java.lang.IllegalStateException: Failed to load registries due to above errors     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.load(RegistryDataLoader.java:154) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.mixinextras$bridge$load$34(RegistryDataLoader.java) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.wrapOperation$cjo000$fabric_resource_conditions_api_v1$captureRegistries(RegistryDataLoader.java:555) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.mixinextras$bridge$wrapOperation$cjo000$fabric_resource_conditions_api_v1$captureRegistries$35(RegistryDataLoader.java) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.wrapOperation$cml000$fabric_registry_sync_v0$wrapIsServerCall(RegistryDataLoader.java:1052) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.load(RegistryDataLoader.java:118) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.server.WorldLoader.loadLayer(WorldLoader.java:76) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.server.WorldLoader.loadAndReplaceLayer(WorldLoader.java:82) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.server.WorldLoader.load(WorldLoader.java:35) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.CreateWorldScreen.openFresh(CreateWorldScreen.java:123) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.CreateWorldScreenMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:bugfix.extra_experimental_screen.CreateWorldScreenMixin from mod modernfix,pl:mixin:APP:cumulus_menus.mixins.json:client.CreateWorldScreenMixin from mod cumulus_menus,pl:mixin:APP:fabric-resource-loader-v0.client.mixins.json:CreateWorldScreenMixin from mod fabric_resource_loader_v0,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.WorldSelectionList.loadLevels(WorldSelectionList.java:192) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.WorldSelectionList.<init>(WorldSelectionList.java:111) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.SelectWorldScreen.init(SelectWorldScreen.java:51) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.Screen.init(Screen.java:317) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin from mod fabric_screen_api_v1,pl:mixin:APP:balm.neoforge.mixins.json:ScreenAccessor from mod balm,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor from mod fabric_screen_api_v1,pl:mixin:APP:immersiveui-common.mixins.json:ScreenMixin from mod immersiveui,pl:mixin:APP:mixins.cobblemon-neoforge.json:ScreenMixin from mod cobblemon,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin from mod yungsmenutweaks,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.ScreenAccessor from mod cumulus_menus,pl:mixin:APP:ponder.mixins.json:client.accessor.ScreenAccessor from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinChatClicked from mod cold_sweat,pl:mixin:APP:aether.mixins.json:client.accessor.ScreenAccessor from mod aether,pl:mixin:APP:relics.mixins.json:ScreenMixin from mod relics,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen from mod patchouli,pl:mixin:APP:owo.mixins.json:ScreenAccessor from mod owo,pl:mixin:APP:owo.mixins.json:ui.ScreenMixin from mod owo,pl:mixin:APP:iceberg.mixins.json:ScreenMixin from mod iceberg,pl:mixin:APP:owo.mixins.json:ui.layers.ScreenMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.setScreen(Minecraft.java:1057) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.MinecraftAccessor from mod cumulus_menus,pl:mixin:APP:aaa_particles-common.mixins.json:client.MixinMinecraft from mod aaa_particles,pl:mixin:APP:laserbridges.mixins.json:MixinMinecraft from mod laserbridges,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft from mod glitchcore,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinInventoryOpenClient from mod cold_sweat,pl:mixin:APP:cold_sweat.mixin.json:MixinPickEntity from mod cold_sweat,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient from mod notenoughcrashes,pl:mixin:APP:aether.mixins.json:client.accessor.MinecraftAccessor from mod aether,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:betterthirdperson.mixins.json:MinecraftClientMixin from mod betterthirdperson,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:fightorflight.mixins_common.json:MinecraftClientInject from mod fightorflight,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MinecraftMixin from mod smallships,pl:mixin:APP:l2menustacker.mixins.json:MinecraftMixin from mod l2menustacker,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:utility_belt.client.mixins.json:MinecraftMixin from mod utility_belt,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.TitleScreen.lambda$createNormalMenuOptions$7(TitleScreen.java:161) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinTitleScreen from mod iris,pl:mixin:APP:cumulus_menus.mixins.json:client.TitleScreenMixin from mod cumulus_menus,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.TitleScreenAccessor from mod cumulus_menus,pl:mixin:APP:aether.mixins.json:client.accessor.TitleScreenAccessor from mod aether,pl:mixin:APP:collective_neoforge.mixins.json:TitleScreenMixin from mod collective,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.components.Button.onPress(Button.java:41) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.components.AbstractButton.onClick(AbstractButton.java:47) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:accessories-common.mixins.json:client.AbstractButtonMixin from mod accessories,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.client.extensions.IAbstractWidgetExtension.onClick(IAbstractWidgetExtension.java:36) ~[neoforge-21.1.133-universal.jar%23398!/:?] {re:computing_frames,re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.components.AbstractWidget.mouseClicked(AbstractWidget.java:144) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {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:yungsmenutweaks.mixins.json:AbstractWidgetMixin from mod yungsmenutweaks,pl:mixin:APP:accessories-common.mixins.json:client.owo.ComponentStubMixin from mod accessories,pl:mixin:APP:owo.mixins.json:ui.ClickableWidgetMixin from mod owo,pl:mixin:APP:owo.mixins.json:ui.access.ClickableWidgetAccessor from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.components.events.ContainerEventHandler.mouseClicked(ContainerEventHandler.java:38) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.TitleScreen.mouseClicked(TitleScreen.java:340) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinTitleScreen from mod iris,pl:mixin:APP:cumulus_menus.mixins.json:client.TitleScreenMixin from mod cumulus_menus,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.TitleScreenAccessor from mod cumulus_menus,pl:mixin:APP:aether.mixins.json:client.accessor.TitleScreenAccessor from mod aether,pl:mixin:APP:collective_neoforge.mixins.json:TitleScreenMixin from mod collective,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.MouseHandler.lambda$onPress$0(MouseHandler.java:98) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterthirdperson.mixins.json:MouseMixin from mod betterthirdperson,pl:mixin:APP:balm.neoforge.mixins.json:MouseHandlerAccessor from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin from mod supplementaries,pl:mixin:APP:mixins.cobblemon-common.json:MouseHandlerMixin from mod cobblemon,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin from mod relics,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin from mod smallships,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MouseHandlerAccessor from mod smallships,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor from mod create,pl:mixin:APP:betterthirdperson.mixins.json:MouseFixupMixin from mod betterthirdperson,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.Screen.wrapScreenError(Screen.java:451) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin from mod fabric_screen_api_v1,pl:mixin:APP:balm.neoforge.mixins.json:ScreenAccessor from mod balm,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor from mod fabric_screen_api_v1,pl:mixin:APP:immersiveui-common.mixins.json:ScreenMixin from mod immersiveui,pl:mixin:APP:mixins.cobblemon-neoforge.json:ScreenMixin from mod cobblemon,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin from mod yungsmenutweaks,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.ScreenAccessor from mod cumulus_menus,pl:mixin:APP:ponder.mixins.json:client.accessor.ScreenAccessor from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinChatClicked from mod cold_sweat,pl:mixin:APP:aether.mixins.json:client.accessor.ScreenAccessor from mod aether,pl:mixin:APP:relics.mixins.json:ScreenMixin from mod relics,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen from mod patchouli,pl:mixin:APP:owo.mixins.json:ScreenAccessor from mod owo,pl:mixin:APP:owo.mixins.json:ui.ScreenMixin from mod owo,pl:mixin:APP:iceberg.mixins.json:ScreenMixin from mod iceberg,pl:mixin:APP:owo.mixins.json:ui.layers.ScreenMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.MouseHandler.onPress(MouseHandler.java:95) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterthirdperson.mixins.json:MouseMixin from mod betterthirdperson,pl:mixin:APP:balm.neoforge.mixins.json:MouseHandlerAccessor from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin from mod supplementaries,pl:mixin:APP:mixins.cobblemon-common.json:MouseHandlerMixin from mod cobblemon,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin from mod relics,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin from mod smallships,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MouseHandlerAccessor from mod smallships,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor from mod create,pl:mixin:APP:betterthirdperson.mixins.json:MouseFixupMixin from mod betterthirdperson,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.MouseHandler.lambda$setup$4(MouseHandler.java:202) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterthirdperson.mixins.json:MouseMixin from mod betterthirdperson,pl:mixin:APP:balm.neoforge.mixins.json:MouseHandlerAccessor from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin from mod supplementaries,pl:mixin:APP:mixins.cobblemon-common.json:MouseHandlerMixin from mod cobblemon,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin from mod relics,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin from mod smallships,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MouseHandlerAccessor from mod smallships,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor from mod create,pl:mixin:APP:betterthirdperson.mixins.json:MouseFixupMixin from mod betterthirdperson,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:98) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin from mod modernfix,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.client.MouseHandler.lambda$setup$5(MouseHandler.java:202) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterthirdperson.mixins.json:MouseMixin from mod betterthirdperson,pl:mixin:APP:balm.neoforge.mixins.json:MouseHandlerAccessor from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin from mod supplementaries,pl:mixin:APP:mixins.cobblemon-common.json:MouseHandlerMixin from mod cobblemon,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin from mod relics,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin from mod smallships,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MouseHandlerAccessor from mod smallships,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor from mod create,pl:mixin:APP:betterthirdperson.mixins.json:MouseFixupMixin from mod betterthirdperson,pl:mixin:A,pl:runtimedistcleaner:A}     at MC-BOOTSTRAP/[email protected]+5/org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.3.jar%23165!/:build 5] {}     at MC-BOOTSTRAP/[email protected]+5/org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.3.jar%23177!/:build 5] {}     at MC-BOOTSTRAP/[email protected]+5/org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3509) ~[lwjgl-glfw-3.3.3.jar%23165!/:build 5] {re:mixin}     at TRANSFORMER/[email protected]/com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:162) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinGlStateManager from mod iris,pl:mixin:APP:mixins.iris.json:MixinRenderSystem from mod iris,pl:mixin:APP:mixins.iris.json:statelisteners.MixinRenderSystem from mod iris,pl:mixin:APP:sodium-common.mixins.json:workarounds.event_loop.RenderSystemMixin from mod sodium,pl:mixin:APP:flywheel.backend.mixins.json:RenderSystemMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.accessor.RenderSystemAccessor from mod ponder,pl:mixin:APP:owo.mixins.json:ui.RenderSystemMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.runTick(Minecraft.java:1220) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.MinecraftAccessor from mod cumulus_menus,pl:mixin:APP:aaa_particles-common.mixins.json:client.MixinMinecraft from mod aaa_particles,pl:mixin:APP:laserbridges.mixins.json:MixinMinecraft from mod laserbridges,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft from mod glitchcore,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinInventoryOpenClient from mod cold_sweat,pl:mixin:APP:cold_sweat.mixin.json:MixinPickEntity from mod cold_sweat,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient from mod notenoughcrashes,pl:mixin:APP:aether.mixins.json:client.accessor.MinecraftAccessor from mod aether,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:betterthirdperson.mixins.json:MinecraftClientMixin from mod betterthirdperson,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:fightorflight.mixins_common.json:MinecraftClientInject from mod fightorflight,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MinecraftMixin from mod smallships,pl:mixin:APP:l2menustacker.mixins.json:MinecraftMixin from mod l2menustacker,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:utility_belt.client.mixins.json:MinecraftMixin from mod utility_belt,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.MinecraftAccessor from mod cumulus_menus,pl:mixin:APP:aaa_particles-common.mixins.json:client.MixinMinecraft from mod aaa_particles,pl:mixin:APP:laserbridges.mixins.json:MixinMinecraft from mod laserbridges,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft from mod glitchcore,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinInventoryOpenClient from mod cold_sweat,pl:mixin:APP:cold_sweat.mixin.json:MixinPickEntity from mod cold_sweat,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient from mod notenoughcrashes,pl:mixin:APP:aether.mixins.json:client.accessor.MinecraftAccessor from mod aether,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:betterthirdperson.mixins.json:MinecraftClientMixin from mod betterthirdperson,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:fightorflight.mixins_common.json:MinecraftClientInject from mod fightorflight,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MinecraftMixin from mod smallships,pl:mixin:APP:l2menustacker.mixins.json:MinecraftMixin from mod l2menustacker,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:utility_belt.client.mixins.json:MinecraftMixin from mod utility_belt,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:230) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:notenoughcrashes.forge.mixins.json:client.MixinMain from mod notenoughcrashes,pl:mixin:A,pl:runtimedistcleaner:A}     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}     at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.38.jar%23120!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.38.jar%23120!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.38.jar%23120!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.38.jar%23120!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.4.jar%23106!/:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.load(RegistryDataLoader.java:154) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.mixinextras$bridge$load$34(RegistryDataLoader.java) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.wrapOperation$cjo000$fabric_resource_conditions_api_v1$captureRegistries(RegistryDataLoader.java:555) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.mixinextras$bridge$wrapOperation$cjo000$fabric_resource_conditions_api_v1$captureRegistries$35(RegistryDataLoader.java) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.wrapOperation$cml000$fabric_registry_sync_v0$wrapIsServerCall(RegistryDataLoader.java:1052) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.resources.RegistryDataLoader.load(RegistryDataLoader.java:118) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:fabric-registry-sync-v0.mixins.json:RegistryLoaderMixin from mod fabric_registry_sync_v0,pl:mixin:APP:fabric-item-api-v1.mixins.json:RegistryLoaderMixin from mod fabric_item_api_v1,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.server.WorldLoader.loadLayer(WorldLoader.java:76) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.server.WorldLoader.loadAndReplaceLayer(WorldLoader.java:82) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.server.WorldLoader.load(WorldLoader.java:35) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.CreateWorldScreen.openFresh(CreateWorldScreen.java:123) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.CreateWorldScreenMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:bugfix.extra_experimental_screen.CreateWorldScreenMixin from mod modernfix,pl:mixin:APP:cumulus_menus.mixins.json:client.CreateWorldScreenMixin from mod cumulus_menus,pl:mixin:APP:fabric-resource-loader-v0.client.mixins.json:CreateWorldScreenMixin from mod fabric_resource_loader_v0,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.WorldSelectionList.loadLevels(WorldSelectionList.java:192) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.WorldSelectionList.<init>(WorldSelectionList.java:111) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.SelectWorldScreen.init(SelectWorldScreen.java:51) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.Screen.init(Screen.java:317) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin from mod fabric_screen_api_v1,pl:mixin:APP:balm.neoforge.mixins.json:ScreenAccessor from mod balm,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor from mod fabric_screen_api_v1,pl:mixin:APP:immersiveui-common.mixins.json:ScreenMixin from mod immersiveui,pl:mixin:APP:mixins.cobblemon-neoforge.json:ScreenMixin from mod cobblemon,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin from mod yungsmenutweaks,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.ScreenAccessor from mod cumulus_menus,pl:mixin:APP:ponder.mixins.json:client.accessor.ScreenAccessor from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinChatClicked from mod cold_sweat,pl:mixin:APP:aether.mixins.json:client.accessor.ScreenAccessor from mod aether,pl:mixin:APP:relics.mixins.json:ScreenMixin from mod relics,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen from mod patchouli,pl:mixin:APP:owo.mixins.json:ScreenAccessor from mod owo,pl:mixin:APP:owo.mixins.json:ui.ScreenMixin from mod owo,pl:mixin:APP:iceberg.mixins.json:ScreenMixin from mod iceberg,pl:mixin:APP:owo.mixins.json:ui.layers.ScreenMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.setScreen(Minecraft.java:1057) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.MinecraftAccessor from mod cumulus_menus,pl:mixin:APP:aaa_particles-common.mixins.json:client.MixinMinecraft from mod aaa_particles,pl:mixin:APP:laserbridges.mixins.json:MixinMinecraft from mod laserbridges,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft from mod glitchcore,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinInventoryOpenClient from mod cold_sweat,pl:mixin:APP:cold_sweat.mixin.json:MixinPickEntity from mod cold_sweat,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient from mod notenoughcrashes,pl:mixin:APP:aether.mixins.json:client.accessor.MinecraftAccessor from mod aether,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:betterthirdperson.mixins.json:MinecraftClientMixin from mod betterthirdperson,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:fightorflight.mixins_common.json:MinecraftClientInject from mod fightorflight,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MinecraftMixin from mod smallships,pl:mixin:APP:l2menustacker.mixins.json:MinecraftMixin from mod l2menustacker,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:utility_belt.client.mixins.json:MinecraftMixin from mod utility_belt,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.TitleScreen.lambda$createNormalMenuOptions$7(TitleScreen.java:161) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinTitleScreen from mod iris,pl:mixin:APP:cumulus_menus.mixins.json:client.TitleScreenMixin from mod cumulus_menus,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.TitleScreenAccessor from mod cumulus_menus,pl:mixin:APP:aether.mixins.json:client.accessor.TitleScreenAccessor from mod aether,pl:mixin:APP:collective_neoforge.mixins.json:TitleScreenMixin from mod collective,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.components.Button.onPress(Button.java:41) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.components.AbstractButton.onClick(AbstractButton.java:47) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:accessories-common.mixins.json:client.AbstractButtonMixin from mod accessories,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.client.extensions.IAbstractWidgetExtension.onClick(IAbstractWidgetExtension.java:36) ~[neoforge-21.1.133-universal.jar%23398!/:?] {re:computing_frames,re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.components.AbstractWidget.mouseClicked(AbstractWidget.java:144) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {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:yungsmenutweaks.mixins.json:AbstractWidgetMixin from mod yungsmenutweaks,pl:mixin:APP:accessories-common.mixins.json:client.owo.ComponentStubMixin from mod accessories,pl:mixin:APP:owo.mixins.json:ui.ClickableWidgetMixin from mod owo,pl:mixin:APP:owo.mixins.json:ui.access.ClickableWidgetAccessor from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.components.events.ContainerEventHandler.mouseClicked(ContainerEventHandler.java:38) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.TitleScreen.mouseClicked(TitleScreen.java:340) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinTitleScreen from mod iris,pl:mixin:APP:cumulus_menus.mixins.json:client.TitleScreenMixin from mod cumulus_menus,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.TitleScreenAccessor from mod cumulus_menus,pl:mixin:APP:aether.mixins.json:client.accessor.TitleScreenAccessor from mod aether,pl:mixin:APP:collective_neoforge.mixins.json:TitleScreenMixin from mod collective,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.MouseHandler.lambda$onPress$0(MouseHandler.java:98) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterthirdperson.mixins.json:MouseMixin from mod betterthirdperson,pl:mixin:APP:balm.neoforge.mixins.json:MouseHandlerAccessor from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin from mod supplementaries,pl:mixin:APP:mixins.cobblemon-common.json:MouseHandlerMixin from mod cobblemon,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin from mod relics,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin from mod smallships,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MouseHandlerAccessor from mod smallships,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor from mod create,pl:mixin:APP:betterthirdperson.mixins.json:MouseFixupMixin from mod betterthirdperson,pl:mixin:A,pl:runtimedistcleaner:A} -- Affected screen -- Details:     Screen name: net.minecraft.client.gui.screens.TitleScreen Stacktrace:     at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.Screen.wrapScreenError(Screen.java:451) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenMixin from mod fabric_screen_api_v1,pl:mixin:APP:balm.neoforge.mixins.json:ScreenAccessor from mod balm,pl:mixin:APP:fabric-screen-api-v1.mixins.json:ScreenAccessor from mod fabric_screen_api_v1,pl:mixin:APP:immersiveui-common.mixins.json:ScreenMixin from mod immersiveui,pl:mixin:APP:mixins.cobblemon-neoforge.json:ScreenMixin from mod cobblemon,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin from mod yungsmenutweaks,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.ScreenAccessor from mod cumulus_menus,pl:mixin:APP:ponder.mixins.json:client.accessor.ScreenAccessor from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinChatClicked from mod cold_sweat,pl:mixin:APP:aether.mixins.json:client.accessor.ScreenAccessor from mod aether,pl:mixin:APP:relics.mixins.json:ScreenMixin from mod relics,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen from mod patchouli,pl:mixin:APP:owo.mixins.json:ScreenAccessor from mod owo,pl:mixin:APP:owo.mixins.json:ui.ScreenMixin from mod owo,pl:mixin:APP:iceberg.mixins.json:ScreenMixin from mod iceberg,pl:mixin:APP:owo.mixins.json:ui.layers.ScreenMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.MouseHandler.onPress(MouseHandler.java:95) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterthirdperson.mixins.json:MouseMixin from mod betterthirdperson,pl:mixin:APP:balm.neoforge.mixins.json:MouseHandlerAccessor from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin from mod supplementaries,pl:mixin:APP:mixins.cobblemon-common.json:MouseHandlerMixin from mod cobblemon,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin from mod relics,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin from mod smallships,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MouseHandlerAccessor from mod smallships,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor from mod create,pl:mixin:APP:betterthirdperson.mixins.json:MouseFixupMixin from mod betterthirdperson,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.MouseHandler.lambda$setup$4(MouseHandler.java:202) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterthirdperson.mixins.json:MouseMixin from mod betterthirdperson,pl:mixin:APP:balm.neoforge.mixins.json:MouseHandlerAccessor from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin from mod supplementaries,pl:mixin:APP:mixins.cobblemon-common.json:MouseHandlerMixin from mod cobblemon,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin from mod relics,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin from mod smallships,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MouseHandlerAccessor from mod smallships,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor from mod create,pl:mixin:APP:betterthirdperson.mixins.json:MouseFixupMixin from mod betterthirdperson,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:98) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin from mod modernfix,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.client.MouseHandler.lambda$setup$5(MouseHandler.java:202) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterthirdperson.mixins.json:MouseMixin from mod betterthirdperson,pl:mixin:APP:balm.neoforge.mixins.json:MouseHandlerAccessor from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin from mod supplementaries,pl:mixin:APP:mixins.cobblemon-common.json:MouseHandlerMixin from mod cobblemon,pl:mixin:APP:relics.mixins.json:MouseHandlerMixin from mod relics,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin from mod smallships,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MouseHandlerAccessor from mod smallships,pl:mixin:APP:owo.mixins.json:ui.layers.MouseMixin from mod owo,pl:mixin:APP:create.mixins.json:accessor.MouseHandlerAccessor from mod create,pl:mixin:APP:betterthirdperson.mixins.json:MouseFixupMixin from mod betterthirdperson,pl:mixin:A,pl:runtimedistcleaner:A}     at MC-BOOTSTRAP/[email protected]+5/org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.3.jar%23165!/:build 5] {}     at MC-BOOTSTRAP/[email protected]+5/org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.3.jar%23177!/:build 5] {}     at MC-BOOTSTRAP/[email protected]+5/org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3509) ~[lwjgl-glfw-3.3.3.jar%23165!/:build 5] {re:mixin}     at TRANSFORMER/[email protected]/com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:162) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinGlStateManager from mod iris,pl:mixin:APP:mixins.iris.json:MixinRenderSystem from mod iris,pl:mixin:APP:mixins.iris.json:statelisteners.MixinRenderSystem from mod iris,pl:mixin:APP:sodium-common.mixins.json:workarounds.event_loop.RenderSystemMixin from mod sodium,pl:mixin:APP:flywheel.backend.mixins.json:RenderSystemMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.accessor.RenderSystemAccessor from mod ponder,pl:mixin:APP:owo.mixins.json:ui.RenderSystemMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.runTick(Minecraft.java:1220) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.MinecraftAccessor from mod cumulus_menus,pl:mixin:APP:aaa_particles-common.mixins.json:client.MixinMinecraft from mod aaa_particles,pl:mixin:APP:laserbridges.mixins.json:MixinMinecraft from mod laserbridges,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft from mod glitchcore,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinInventoryOpenClient from mod cold_sweat,pl:mixin:APP:cold_sweat.mixin.json:MixinPickEntity from mod cold_sweat,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient from mod notenoughcrashes,pl:mixin:APP:aether.mixins.json:client.accessor.MinecraftAccessor from mod aether,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:betterthirdperson.mixins.json:MinecraftClientMixin from mod betterthirdperson,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:fightorflight.mixins_common.json:MinecraftClientInject from mod fightorflight,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MinecraftMixin from mod smallships,pl:mixin:APP:l2menustacker.mixins.json:MinecraftMixin from mod l2menustacker,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:utility_belt.client.mixins.json:MinecraftMixin from mod utility_belt,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.MinecraftAccessor from mod cumulus_menus,pl:mixin:APP:aaa_particles-common.mixins.json:client.MixinMinecraft from mod aaa_particles,pl:mixin:APP:laserbridges.mixins.json:MixinMinecraft from mod laserbridges,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft from mod glitchcore,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:cold_sweat.mixin.json:MixinInventoryOpenClient from mod cold_sweat,pl:mixin:APP:cold_sweat.mixin.json:MixinPickEntity from mod cold_sweat,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient from mod notenoughcrashes,pl:mixin:APP:aether.mixins.json:client.accessor.MinecraftAccessor from mod aether,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:betterthirdperson.mixins.json:MinecraftClientMixin from mod betterthirdperson,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:fightorflight.mixins_common.json:MinecraftClientInject from mod fightorflight,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:smallships-fabric-neoforge.mixins.json:container.MinecraftMixin from mod smallships,pl:mixin:APP:l2menustacker.mixins.json:MinecraftMixin from mod l2menustacker,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:utility_belt.client.mixins.json:MinecraftMixin from mod utility_belt,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:irons_spellbooks.mixins.json:MinecraftMixin from mod irons_spellbooks,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:230) ~[client-1.21.1-20240808.144430-srg.jar%23397!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:notenoughcrashes.forge.mixins.json:client.MixinMain from mod notenoughcrashes,pl:mixin:A,pl:runtimedistcleaner:A}     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}     at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.38.jar%23120!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.38.jar%23120!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.38.jar%23120!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.38.jar%23120!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.4.jar%23106!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.4.jar%23106!/:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?] {} -- Cobblemon -- Details:     Version: 1.6.1     Is Snapshot: false     Git Commit: c66de51 (https://gitlab.com/cable-mc/cobblemon/-/commit/c66de51e39dd5144bde3550f630b58f67a835b65)     Branch: HEAD -- System Details -- Details:     Minecraft Version: 1.21.1     Minecraft Version ID: 1.21.1     Operating System: Windows 11 (amd64) version 10.0     Java Version: 21.0.3, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 545257472 bytes (519 MiB) / 4823449600 bytes (4600 MiB) up to 8992587776 bytes (8576 MiB)     CPUs: 12     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 5 7600X 6-Core Processor                  Identifier: AuthenticAMD Family 25 Model 97 Stepping 2     Microarchitecture: Zen 3     Frequency (GHz): 4.69     Number of physical packages: 1     Number of physical CPUs: 6     Number of logical CPUs: 12     Graphics card #0 name: NVIDIA GeForce RTX 4060     Graphics card #0 vendor: NVIDIA     Graphics card #0 VRAM (MiB): 8188.00     Graphics card #0 deviceId: VideoController1     Graphics card #0 versionInfo: 32.0.15.6636     Graphics card #1 name: AMD Radeon(TM) Graphics     Graphics card #1 vendor: Advanced Micro Devices, Inc.     Graphics card #1 VRAM (MiB): 512.00     Graphics card #1 deviceId: VideoController2     Graphics card #1 versionInfo: 32.0.11034.2     Memory slot #0 capacity (MiB): 16384.00     Memory slot #0 clockSpeed (GHz): 6.00     Memory slot #0 type: Unknown     Memory slot #1 capacity (MiB): 16384.00     Memory slot #1 clockSpeed (GHz): 6.00     Memory slot #1 type: Unknown     Virtual memory max (MiB): 41077.56     Virtual memory used (MiB): 24675.50     Swap memory total (MiB): 8704.00     Swap memory used (MiB): 79.68     Space in storage for jna.tmpdir (MiB): available: 283548.59, total: 952929.00     Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): available: 283548.59, total: 952929.00     Space in storage for io.netty.native.workdir (MiB): available: 283548.59, total: 952929.00     Space in storage for java.io.tmpdir (MiB): available: 283548.59, total: 952929.00     Space in storage for workdir (MiB): available: 283548.59, total: 952929.00     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8576m -Xms256m     Loaded Shaderpack: (off)     Client Crashes Since Restart: 1     Integrated Server Crashes Since Restart: 0     ModLauncher: 11.0.4+main.d2e20e43     ModLauncher launch target: forgeclient     ModLauncher services:          sponge-mixin-0.15.2+mixin.0.8.7.jar mixin PLUGINSERVICE          loader-4.0.38.jar slf4jfixer PLUGINSERVICE          loader-4.0.38.jar runtime_enum_extender PLUGINSERVICE          at-modlauncher-10.0.1.jar accesstransformer PLUGINSERVICE          loader-4.0.38.jar runtimedistcleaner PLUGINSERVICE          modlauncher-11.0.4.jar mixin TRANSFORMATIONSERVICE          modlauncher-11.0.4.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         [email protected]+0.16.0+1.21         [email protected]         [email protected]         [email protected]         [email protected]     Mod List:          3d_placeable_food-2.4.0-neoforge-1.21.1.jar       |3D Placeable food             |placeable_food                |2.4.0               |Manifest: NOSIGNATURE         skinlayers3d-neoforge-1.7.4-mc1.21.jar            |3d-Skin-Layers                |skinlayers3d                  |1.7.4               |Manifest: NOSIGNATURE         a_good_place-1.21-1.2.5-neoforge.jar              |A Good Place                  |a_good_place                  |1.21-1.2.5          |Manifest: NOSIGNATURE         aaa_particles-1.21-1.4.9-neoforge.jar             |AAAParticles                  |aaa_particles                 |1.21-1.4.9          |Manifest: NOSIGNATURE         aaa_particles_world-neoforge-1.21-1.0.3.jar       |AAAParticles: World           |aaa_particles_world           |1.21-1.0.3          |Manifest: NOSIGNATURE         accessories-neoforge-1.1.0-beta.28+1.21.1.jar     |Accessories                   |accessories                   |1.1.0-beta.28+1.21.1|Manifest: NOSIGNATURE         additional_lights-neoforge-1.21-2.1.9.jar         |Additional Lights             |additional_lights             |2.1.9               |Manifest: NOSIGNATURE         AdvancementPlaques-1.21.1-neoforge-1.6.8.jar      |Advancement Plaques           |advancementplaques            |1.6.8               |Manifest: NOSIGNATURE         aeroblender-1.21.1-1.0.0-neoforge.jar             |AeroBlender                   |aeroblender                   |1.0.0               |Manifest: NOSIGNATURE         AetherVillages-1.21.1-1.0.8-neoforge.jar          |Aether Villages               |aether_villages               |1.0.8               |Manifest: NOSIGNATURE         AI-Improvements-1.21-0.5.3.jar                    |AI-Improvements               |aiimprovements                |0.5.3               |Manifest: NOSIGNATURE         amendments-1.21-1.2.24-neoforge.jar               |Amendments                    |amendments                    |1.21-1.2.24         |Manifest: NOSIGNATURE         animal_feeding_trough-1.1.2+1.21-neoforge.jar     |Animal Feeding Trough         |animal_feeding_trough         |1.1.2               |Manifest: NOSIGNATURE         Apotheosis-1.21.1-8.2.0.jar                       |Apotheosis                    |apotheosis                    |8.2.0               |Manifest: NOSIGNATURE         ApothicAttributes-1.21.1-2.6.2.jar                |Apothic Attributes            |apothic_attributes            |2.6.2               |Manifest: NOSIGNATURE         ApothicEnchanting-1.21.1-1.3.2.jar                |Apothic Enchanting            |apothic_enchanting            |1.3.2               |Manifest: NOSIGNATURE         ApothicSpawners-1.21.1-1.2.1.jar                  |Apothic Spawners              |apothic_spawners              |1.2.1               |Manifest: NOSIGNATURE         appleskin-neoforge-mc1.21-3.0.5.jar               |AppleSkin                     |appleskin                     |3.0.5+mc1.21        |Manifest: NOSIGNATURE         Aquaculture-1.21.1-2.7.13.jar                     |Aquaculture 2                 |aquaculture                   |2.7.13              |Manifest: NOSIGNATURE         aquaculturedelight-1.2.0-neoforge-1.21.1.jar      |Aquaculture Delight           |aquaculturedelight            |1.2.0               |Manifest: NOSIGNATURE         architectury-13.0.8-neoforge.jar                  |Architectury                  |architectury                  |13.0.8              |Manifest: NOSIGNATURE         atlas_api-1.21-1.0.2.jar                          |Atlas API                     |atlas_api                     |1.21-1.0.2          |Manifest: NOSIGNATURE         attributefix-neoforge-1.21.1-21.1.2.jar           |AttributeFix                  |attributefix                  |21.1.2              |Manifest: NOSIGNATURE         badgebox-neoforge-1.2.5.jar                       |Badge Box                     |badgebox                      |1.0.0               |Manifest: NOSIGNATURE         balm-neoforge-1.21.1-21.0.31.jar                  |Balm                          |balm                          |21.0.31             |Manifest: NOSIGNATURE         BetterThirdPerson-neoforge-1.9.0.jar              |Better Third Person           |betterthirdperson             |1.9.0               |Manifest: NOSIGNATURE         betterfpsdist-1.21-6.0.jar                        |betterfpsdist mod             |betterfpsdist                 |6.0                 |Manifest: NOSIGNATURE         bookshelf-neoforge-1.21.1-21.1.50.jar             |Bookshelf                     |bookshelf                     |21.1.50             |Manifest: NOSIGNATURE         rctcapturecap-neoforge-1.21.1-1.0.1.jar           |Capture Cap - RCT Version     |rctcapturecap                 |1.0.1               |Manifest: NOSIGNATURE         carryon-neoforge-1.21.1-2.2.2.11.jar              |Carry On                      |carryon                       |2.2.2               |Manifest: NOSIGNATURE         [neoforge]ctov-3.5.6.jar                          |ChoiceTheorem's Overhauled Vil|ctov                          |3.5.6               |Manifest: NOSIGNATURE         Chunky-1.4.16.jar                                 |Chunky                        |chunky                        |1.4.16              |Manifest: NOSIGNATURE         CityCraft-1.21-(v.2.3.0-NEO).jar                  |City Craft                    |citycraft                     |2.3.0               |Manifest: NOSIGNATURE         cloth-config-neoforge-15.0.140-neoforge.jar       |Cloth Config v15 API          |cloth_config                  |15.0.140            |Manifest: NOSIGNATURE         Clumps-neoforge-1.21.1-19.0.0.1.jar               |Clumps                        |clumps                        |19.0.0.1            |Manifest: NOSIGNATURE         CobbleBadges-neoforge-3.0.0+Beta-3+1.21.1.jar     |CobbleBadges                  |cobblebadges                  |3.0.0+Beta-3+1.21.1 |Manifest: NOSIGNATURE         Cobblemon-neoforge-1.6.1+1.21.1.jar               |Cobblemon                     |cobblemon                     |1.6.1+1.21.1        |Manifest: NOSIGNATURE         Cobblemon AFP 1.8.1-1.21.1-NeoForge.jar           |Cobblemon Alatia's Fakemon Pac|cobblemon_alatia              |1.8.1-1.21.1-neoforg|Manifest: NOSIGNATURE         capture-xp-1.6-neoforge-1.0.0.jar                 |Cobblemon Capture XP          |capture_xp                    |1.6-neoforge-1.0.0  |Manifest: NOSIGNATURE         cobblemonchallenge-neoforge-2.1.0.jar             |Cobblemon Challenge           |cobblemonchallenge            |2.1.0               |Manifest: NOSIGNATURE         fightorflight-neoforge-0.7.6.jar                  |Cobblemon Fight or Flight     |fightorflight                 |0.7.6               |Manifest: NOSIGNATURE         CobblemonMoveInspector-neoforge-1.2.0.jar         |Cobblemon Move Inspector      |cobblemon_move_inspector      |1.2.0               |Manifest: NOSIGNATURE         cobblemonparts-1.2-NEO1.21.1.jar                  |Cobblemon Parts               |cobblemonparts                |1.2                 |Manifest: NOSIGNATURE         cobblemon_quests-[1.21.1]-neoforge-1.1.12.jar     |Cobblemon Quests              |cobblemon_quests              |1.1.12              |Manifest: NOSIGNATURE         cobblemon_smartphone-neoforge-1.0.2.jar           |Cobblemon Smartphone          |cobblemon_smartphone          |1.0.2               |Manifest: NOSIGNATURE         cobblemon-spawn-notification-1.6-neoforge-1.0.0.ja|Cobblemon Spawn Notification  |spawn_notification            |1.6-neoforge-1.0.0  |Manifest: NOSIGNATURE         Cobblemon-TM-neoforge-1.2.jar                     |Cobblemon TM                  |cobblemon_tm                  |1.2                 |Manifest: NOSIGNATURE         cobbleloots-neoforge-2.0.0.jar                    |Cobblemon: CobbleLoots        |cobbleloots                   |2.0.0               |Manifest: NOSIGNATURE         cobblemonextrastructures-1.21.1-1.0.0.jar         |Cobblemon: Extra Structures   |cobblemonextrastructures      |1.21.1-1.0.0        |Manifest: NOSIGNATURE         Cobblemon_MegaShowdown-6.4.1-release-neoforge.jar |Cobblemon: Mega Showdown      |mega_showdown                 |6.4.1-release-neofor|Manifest: NOSIGNATURE         CobblemonSizeVariationNeoforge-1.1.0+1.6.1.jar    |CobblemonSizeVariation        |cobblemonsizevariation        |1.1.0               |Manifest: NOSIGNATURE         cobblenav-neoforge-2.1.0.jar                      |Cobblenav                     |cobblenav                     |2.1.0               |Manifest: NOSIGNATURE         Cobblepedia-NeoForge-0.7.0.jar                    |Cobblepedia                   |cobblepedia                   |0.7.0               |Manifest: NOSIGNATURE         ColdSweat-2.3.12.jar                              |Cold Sweat                    |cold_sweat                    |2.3.12              |Manifest: NOSIGNATURE         collective-1.21.1-7.94.jar                        |Collective                    |collective                    |7.94                |Manifest: NOSIGNATURE         comforts-neoforge-9.0.3+1.21.1.jar                |Comforts                      |comforts                      |9.0.3+1.21.1        |Manifest: NOSIGNATURE         cgl-1.21-neoforge-0.5.1.jar                       |CommonGroovyLibrary           |commongroovylibrary           |0.5.1               |Manifest: NOSIGNATURE         Controlling-neoforge-1.21.1-19.0.4.jar            |Controlling                   |controlling                   |19.0.4              |Manifest: NOSIGNATURE         corpse-neoforge-1.21.1-1.1.5.jar                  |Corpse                        |corpse                        |1.21.1-1.1.5        |Manifest: NOSIGNATURE         cosmeticarmorreworked-1.21.1-v1-neoforge.jar      |CosmeticArmorReworked         |cosmeticarmorreworked         |1.21.1-v1-neoforge  |Manifest: 5e:ed:25:99:e4:44:14:c0:dd:89:c1:a9:4c:10:b5:0d:e4:b1:52:50:45:82:13:d8:d0:32:89:67:56:57:01:53         create-1.21.1-6.0.2.jar                           |Create                        |create                        |6.0.2               |Manifest: NOSIGNATURE         create_ltab-2.6.0.jar                             |Create Let The Adventure Begin|create_ltab                   |2.6.0               |Manifest: NOSIGNATURE         bellsandwhistles-0.4.6-1.21.1.jar                 |Create: Bells & Whistles      |bellsandwhistles              |0.4.6-1.21.1        |Manifest: NOSIGNATURE         Create_Desires-2-Dreams-1.21.1-2.0.0.jar          |Create: Desires 2 Dreams      |create_d2d                    |2.0.0               |Manifest: NOSIGNATURE         create_easy_structures-0.1.3-neoforge-1.21.1.jar  |Create: Easy Structures       |create_easy_structures        |0.1.3               |Manifest: NOSIGNATURE         create_sky_village-0.0.30J-neoforge-1.21.1.jar    |Create: Sky Village           |create_sky_village            |0.0.30              |Manifest: NOSIGNATURE         create_structures_arise-149.22.21-neoforge-1.21.1.|Create: Structures Arise      |create_structures_arise       |149.22.21           |Manifest: NOSIGNATURE         create_ultimate_factory-1.9.0-neoforge-1.21.1.jar |Create: Ultimate Factory      |create_ultimate_factory       |1.9.0               |Manifest: NOSIGNATURE         create_better_villagers-1.2.6-Neoforge-1.21.1.jar |Create_Better_Villagers       |create_better_villagers       |1.2.6-Neoforge-1.21.|Manifest: NOSIGNATURE         cullleaves-neoforge-4.0.1.jar                     |CullLeaves                    |cullleaves                    |4.0.1               |Manifest: NOSIGNATURE         cumulus_menus-1.21.1-2.0.3-neoforge.jar           |Cumulus                       |cumulus_menus                 |2.0.3               |Manifest: NOSIGNATURE         cupboard-1.21-2.9.jar                             |Cupboard mod                  |cupboard                      |2.9                 |Manifest: NOSIGNATURE         curios-neoforge-9.3.0+1.21.1.jar                  |Curios API                    |curios                        |9.3.0+1.21.1        |Manifest: NOSIGNATURE         deep_aether-1.21.1-1.1.2.jar                      |Deep Aether                   |deep_aether                   |1.1.2               |Manifest: NOSIGNATURE         deimos-1.21.1-neoforge-2.1.jar                    |Deimos                        |deimos                        |2.1                 |Manifest: NOSIGNATURE         dungeons-and-taverns-v4.4.4 [NeoForge].jar        |Dungeons and Taverns          |mr_dungeons_andtaverns        |1-v4.4.4            |Manifest: NOSIGNATURE         easyelevators-1.21.1-1.3.jar                      |Easy Elevators                |easyelevators                 |1.3                 |Manifest: NOSIGNATURE         easy_npc-neoforge-1.21.1-5.9.0.jar                |Easy NPC                      |easy_npc                      |0.0NONE             |Manifest: NOSIGNATURE         eatinganimation-1.21.0-6.0.1.jar                  |Eating Animation              |eatinganimation               |6.0.1               |Manifest: NOSIGNATURE         eggs-cobblemon-addon-0.6.jar                      |Eggs - Cobblemon Addon        |mr_eggs_cobblemonaddon        |0.6                 |Manifest: NOSIGNATURE         elevatorid-neoforge-1.21.1-1.11.4.jar             |ElevatorMod                   |elevatorid                    |1.21.1-1.11.4       |Manifest: NOSIGNATURE         enchdesc-neoforge-1.21.1-21.1.5.jar               |EnchantmentDescriptions       |enchdesc                      |21.1.5              |Manifest: NOSIGNATURE         entity_model_features_neoforge_1.21.1-2.4.1.jar   |Entity Model Features         |entity_model_features         |2.4.1               |Manifest: NOSIGNATURE         entity_texture_features_neoforge_1.21.1-6.2.9.jar |Entity Texture Features       |entity_texture_features       |6.2.9               |Manifest: NOSIGNATURE         entityculling-neoforge-1.7.3-mc1.21.jar           |EntityCulling                 |entityculling                 |1.7.3               |Manifest: NOSIGNATURE         epic-terrain_compatible-0.1.3.jar                 |Epic Terrain Compatible       |mr_epic_terrain_compatible    |0.1.3               |Manifest: NOSIGNATURE         EuphoriaPatcher-1.5.2-r5.4-neoforge.jar           |Euphoria Patcher              |euphoria_patcher              |1.5.2-r5.4-neoforge |Manifest: NOSIGNATURE         Explorify v1.6.2 f10-48.jar                       |Explorify                     |explorify                     |1.6.2               |Manifest: NOSIGNATURE         explosiveenhancement-neoforge-1.21.1-1.1.1-client.|Explosive Enhancement         |explosiveenhancement          |1.1.1               |Manifest: NOSIGNATURE         FarmersDelight-1.21.1-1.2.7.jar                   |Farmer's Delight              |farmersdelight                |1.2.7               |Manifest: NOSIGNATURE         FarmersWearableCookingPot-v0.1-1.21.1.jar         |Farmer's Wearable Cooking Pot |farmers_wearable_cooking_pot  |0.1                 |Manifest: NOSIGNATURE         FarmersStructures-1.0.1-1.21.1_neoforge.jar       |FarmersStructures             |farmers_structures            |1.0.0               |Manifest: NOSIGNATURE         ferritecore-7.0.2-neoforge.jar                    |Ferrite Core                  |ferritecore                   |7.0.2               |Manifest: 41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a         flywheel-neoforge-1.21.1-1.0.1-11.jar             |Flywheel                      |flywheel                      |1.0.1-11            |Manifest: NOSIGNATURE         forgeconfigapiport-neoforge-21.1.0.jar            |Forge Config API Port         |forgeconfigapiport            |21.1.0              |Manifest: NOSIGNATURE         forgified-fabric-api-0.107.0+2.0.22+1.21.1.jar    |Forgified Fabric API          |fabric_api                    |0.107.0+2.0.22+1.21.|Manifest: NOSIGNATURE         fabric-api-base-0.4.42+d1308dedd1.jar             |Forgified Fabric API Base     |fabric_api_base               |0.4.42+d1308dedd1   |Manifest: NOSIGNATURE         fabric-api-lookup-api-v1-1.6.69+c21168c319.jar    |Forgified Fabric API Lookup AP|fabric_api_lookup_api_v1      |1.6.69+c21168c319   |Manifest: NOSIGNATURE         fabric-biome-api-v1-13.0.30+1e62d33c19.jar        |Forgified Fabric Biome API (v1|fabric_biome_api_v1           |13.0.30+1e62d33c19  |Manifest: NOSIGNATURE         fabric-block-api-v1-1.0.22+a6e994cd19.jar         |Forgified Fabric Block API (v1|fabric_block_api_v1           |1.0.22+a6e994cd19   |Manifest: NOSIGNATURE         fabric-blockrenderlayer-v1-1.1.52+b089b4bd19.jar  |Forgified Fabric BlockRenderLa|fabric_blockrenderlayer_v1    |1.1.52+b089b4bd19   |Manifest: NOSIGNATURE         fabric-block-view-api-v2-1.0.10+9afaaf8c19.jar    |Forgified Fabric BlockView API|fabric_block_view_api_v2      |1.0.10+9afaaf8c19   |Manifest: NOSIGNATURE         fabric-client-tags-api-v1-1.1.15+e053909619.jar   |Forgified Fabric Client Tags  |fabric_client_tags_api_v1     |1.1.15+e053909619   |Manifest: NOSIGNATURE         fabric-command-api-v2-2.2.28+36d727be19.jar       |Forgified Fabric Command API (|fabric_command_api_v2         |2.2.28+36d727be19   |Manifest: NOSIGNATURE         fabric-content-registries-v0-8.0.17+0a0c14ff19.jar|Forgified Fabric Content Regis|fabric_content_registries_v0  |8.0.17+0a0c14ff19   |Manifest: NOSIGNATURE         fabric-convention-tags-v1-2.1.1+7f945d5b19.jar    |Forgified Fabric Convention Ta|fabric_convention_tags_v1     |2.1.1+7f945d5b19    |Manifest: NOSIGNATURE         fabric-convention-tags-v2-2.9.1+231468e519.jar    |Forgified Fabric Convention Ta|fabric_convention_tags_v2     |2.9.1+231468e519    |Manifest: NOSIGNATURE         fabric-data-attachment-api-v1-1.2.0+7330bc1b19.jar|Forgified Fabric Data Attachme|fabric_data_attachment_api_v1 |1.2.0+7330bc1b19    |Manifest: NOSIGNATURE         fabric-data-generation-api-v1-20.2.22+2d91a6db19.j|Forgified Fabric Data Generati|fabric_data_generation_api_v1 |20.2.22+2d91a6db19  |Manifest: NOSIGNATURE         fabric-entity-events-v1-1.7.0+1af6e62419.jar      |Forgified Fabric Entity Events|fabric_entity_events_v1       |1.7.0+1af6e62419    |Manifest: NOSIGNATURE         fabric-events-interaction-v0-0.7.13+7b71cc1619.jar|Forgified Fabric Events Intera|fabric_events_interaction_v0  |0.7.13+7b71cc1619   |Manifest: NOSIGNATURE         fabric-game-rule-api-v1-1.0.53+36d727be19.jar     |Forgified Fabric Game Rule API|fabric_game_rule_api_v1       |1.0.53+36d727be19   |Manifest: NOSIGNATURE         fabric-gametest-api-v1-2.0.5+29f188ce19.jar       |Forgified Fabric Game Test API|fabric_gametest_api_v1        |2.0.5+29f188ce19    |Manifest: NOSIGNATURE         fabric-item-api-v1-11.1.1+57cdfa8219.jar          |Forgified Fabric Item API (v1)|fabric_item_api_v1            |11.1.1+57cdfa8219   |Manifest: NOSIGNATURE         fabric-item-group-api-v1-4.1.6+e324903319.jar     |Forgified Fabric Item Group AP|fabric_item_group_api_v1      |4.1.6+e324903319    |Manifest: NOSIGNATURE         fabric-key-binding-api-v1-1.0.47+62cc7ce119.jar   |Forgified Fabric Key Binding A|fabric_key_binding_api_v1     |1.0.47+62cc7ce119   |Manifest: NOSIGNATURE         fabric-lifecycle-events-v1-2.4.0+36b6b86a19.jar   |Forgified Fabric Lifecycle Eve|fabric_lifecycle_events_v1    |2.4.0+36b6b86a19    |Manifest: NOSIGNATURE         fabric-loot-api-v2-3.0.15+a3ee712d19.jar          |Forgified Fabric Loot API (v2)|fabric_loot_api_v2            |3.0.15+a3ee712d19   |Manifest: NOSIGNATURE         fabric-loot-api-v3-1.0.3+333dfad919.jar           |Forgified Fabric Loot API (v3)|fabric_loot_api_v3            |1.0.3+333dfad919    |Manifest: NOSIGNATURE         fabric-message-api-v1-6.0.13+e053909619.jar       |Forgified Fabric Message API (|fabric_message_api_v1         |6.0.13+e053909619   |Manifest: NOSIGNATURE         fabric-model-loading-api-v1-2.0.0+a6e994cd19.jar  |Forgified Fabric Model Loading|fabric_model_loading_api_v1   |2.0.0+a6e994cd19    |Manifest: NOSIGNATURE         fabric-networking-api-v1-4.3.0+5c124ecf19.jar     |Forgified Fabric Networking AP|fabric_networking_api_v1      |4.3.0+5c124ecf19    |Manifest: NOSIGNATURE         fabric-object-builder-api-v1-15.2.1+ba60825e19.jar|Forgified Fabric Object Builde|fabric_object_builder_api_v1  |15.2.1+ba60825e19   |Manifest: NOSIGNATURE         fabric-particles-v1-4.0.2+824f924c19.jar          |Forgified Fabric Particles (v1|fabric_particles_v1           |4.0.2+824f924c19    |Manifest: NOSIGNATURE         fabric-recipe-api-v1-5.0.13+59440bcc19.jar        |Forgified Fabric Recipe API (v|fabric_recipe_api_v1          |5.0.13+59440bcc19   |Manifest: NOSIGNATURE         fabric-registry-sync-v0-5.1.3+0c9b5b5419.jar      |Forgified Fabric Registry Sync|fabric_registry_sync_v0       |5.1.3+0c9b5b5419    |Manifest: NOSIGNATURE         fabric-renderer-indigo-1.7.0+acb05a3919.jar       |Forgified Fabric Renderer - In|fabric_renderer_indigo        |1.7.0+acb05a3919    |Manifest: NOSIGNATURE         fabric-renderer-api-v1-3.4.0+acb05a3919.jar       |Forgified Fabric Renderer API |fabric_renderer_api_v1        |3.4.0+acb05a3919    |Manifest: NOSIGNATURE         fabric-rendering-v1-5.0.5+077ba95f19.jar          |Forgified Fabric Rendering (v1|fabric_rendering_v1           |5.0.5+077ba95f19    |Manifest: NOSIGNATURE         fabric-rendering-data-attachment-v1-0.3.48+73761d2|Forgified Fabric Rendering Dat|fabric_rendering_data_attachme|0.3.48+73761d2e19   |Manifest: NOSIGNATURE         fabric-rendering-fluids-v1-3.1.6+857185bc19.jar   |Forgified Fabric Rendering Flu|fabric_rendering_fluids_v1    |3.1.6+857185bc19    |Manifest: NOSIGNATURE         fabric-resource-conditions-api-v1-4.3.0+edeecbd819|Forgified Fabric Resource Cond|fabric_resource_conditions_api|4.3.0+edeecbd819    |Manifest: NOSIGNATURE         fabric-resource-loader-v0-1.3.1+4ea8954419.jar    |Forgified Fabric Resource Load|fabric_resource_loader_v0     |1.3.1+4ea8954419    |Manifest: NOSIGNATURE         fabric-screen-api-v1-2.0.25+b282c4bb19.jar        |Forgified Fabric Screen API (v|fabric_screen_api_v1          |2.0.25+b282c4bb19   |Manifest: NOSIGNATURE         fabric-screen-handler-api-v1-1.3.87+8dbc56dd19.jar|Forgified Fabric Screen Handle|fabric_screen_handler_api_v1  |1.3.87+8dbc56dd19   |Manifest: NOSIGNATURE         fabric-sound-api-v1-1.0.23+10b84f8419.jar         |Forgified Fabric Sound API (v1|fabric_sound_api_v1           |1.0.23+10b84f8419   |Manifest: NOSIGNATURE         fabric-transfer-api-v1-5.4.1+d719f32719.jar       |Forgified Fabric Transfer API |fabric_transfer_api_v1        |5.4.1+d719f32719    |Manifest: NOSIGNATURE         fabric-transitive-access-wideners-v1-6.1.0+0df3143|Forgified Fabric Transitive Ac|fabric_transitive_access_widen|6.1.0+0df3143b19    |Manifest: NOSIGNATURE         ftb-library-neoforge-2101.1.11.jar                |FTB Library                   |ftblibrary                    |2101.1.11           |Manifest: NOSIGNATURE         ftb-quests-neoforge-2101.1.6.jar                  |FTB Quests                    |ftbquests                     |2101.1.6            |Manifest: NOSIGNATURE         ftb-teams-neoforge-2101.1.2.jar                   |FTB Teams                     |ftbteams                      |2101.1.2            |Manifest: NOSIGNATURE         fzzy_config-0.6.5+1.21+neoforge.jar               |Fzzy Config                   |fzzy_config                   |0.6.5+1.21+neoforge |Manifest: NOSIGNATURE         gametechbcs_spellbooks-2.6.5-1.21.1.jar           |GameTechBC's Spellbooks       |gametechbcs_spellbooks        |2.6.5-1.21.1        |Manifest: NOSIGNATURE         GatewaysToEternity-1.21.1-5.0.2.jar               |Gateways To Eternity          |gateways                      |5.0.2               |Manifest: NOSIGNATURE         geckolib-neoforge-1.21.1-4.7.4.jar                |GeckoLib 4                    |geckolib                      |4.7.4               |Manifest: NOSIGNATURE         GlitchCore-neoforge-1.21.1-2.1.0.0.jar            |GlitchCore                    |glitchcore                    |2.1.0.0             |Manifest: NOSIGNATURE         gravelmon-forge-3.0.2.jar                         |Gravelmon                     |gravelmon                     |3.0.2               |Manifest: NOSIGNATURE         gravels_extended_battles-neoforge-1.5.3.jar       |Gravels Extended Battles      |gravels_extended_battles      |1.5.3               |Manifest: NOSIGNATURE         gml-6.0.2.jar                                     |GroovyModLoader               |gml                           |6.0.2               |Manifest: NOSIGNATURE         gtbcs_spell_lib-1.0.1-1.21.1.jar                  |GTBC's SpellLib               |gtbcs_spell_lib               |1.0.1-1.21.1        |Manifest: NOSIGNATURE         guardvillagers-2.3.2-1.21.1.jar                   |Guard Villagers               |guardvillagers                |2.3.2               |Manifest: NOSIGNATURE         handcrafted-neoforge-1.21.1-4.0.2.jar             |Handcrafted                   |handcrafted                   |4.0.2               |Manifest: NOSIGNATURE         Iceberg-1.21.1-neoforge-1.2.9.2.jar               |Iceberg                       |iceberg                       |1.2.9.2             |Manifest: NOSIGNATURE         immersivelanterns-neoforge-1.0.6-1.21.1.jar       |Immersive Lanterns            |immersivelanterns             |1.0.6               |Manifest: NOSIGNATURE         ImmersiveUI-NEOFORGE-0.3.0.jar                    |ImmersiveUI                   |immersiveui                   |0.3.0               |Manifest: NOSIGNATURE         Incendium_1.21.x_v5.4.4.jar                       |Incendium                     |incendium                     |5.4.3               |Manifest: NOSIGNATURE         iris-neoforge-1.8.8+mc1.21.1.jar                  |Iris                          |iris                          |1.8.8+mc1.21.1      |Manifest: NOSIGNATURE         ironchest-1.21-neoforge-16.0.7.jar                |Iron Chests                   |ironchest                     |1.21-neoforge-16.0.7|Manifest: NOSIGNATURE         ironfurnaces-neoforge-1.21.1-4.2.6.jar            |Iron Furnaces                 |ironfurnaces                  |4.2.6               |Manifest: NOSIGNATURE         irons_jewelry-1.21.1-1.0.9.jar                    |Iron's Gems 'n Jewelry        |irons_jewelry                 |1.21.1-1.0.9        |Manifest: NOSIGNATURE         irons_spellbooks-1.21.1-3.9.1.jar                 |Iron's Spells 'n Spellbooks   |irons_spellbooks              |1.21.1-3.9.1        |Manifest: NOSIGNATURE         Jade-1.21.1-NeoForge-15.9.2.jar                   |Jade                          |jade                          |15.9.2+neoforge     |Manifest: NOSIGNATURE         JadeAddons-1.21.1-NeoForge-6.0.1.jar              |Jade Addons                   |jadeaddons                    |0.0NONE             |Manifest: NOSIGNATURE         jamlib-neoforge-1.3.2+1.21.1.jar                  |JamLib                        |jamlib                        |1.3.2+1.21.1        |Manifest: NOSIGNATURE         jei-1.21.1-neoforge-19.21.0.247.jar               |Just Enough Items             |jei                           |19.21.0.247         |Manifest: NOSIGNATURE         JustEnoughResources-NeoForge-1.21.1-1.6.0.13.jar  |Just Enough Resources         |jeresources                   |1.6.0.13            |Manifest: NOSIGNATURE         kffmod-5.7.0.jar                                  |Kotlin For Forge              |kotlinforforge                |5.7.0               |Manifest: NOSIGNATURE         kuma-api-neoforge-21.0.5-SNAPSHOT.jar             |KumaAPI                       |kuma_api                      |21.0.5-SNAPSHOT     |Manifest: NOSIGNATURE         l2archery-3.0.3.jar                               |L2Archery                     |l2archery                     |3.0.3               |Manifest: NOSIGNATURE         l2backpack-3.0.13.jar                             |L2Backpack                    |l2backpack                    |3.0.13              |Manifest: NOSIGNATURE         l2complements-3.0.10.jar                          |L2Complements                 |l2complements                 |3.0.10              |Manifest: NOSIGNATURE         l2core-3.0.8+4.jar                                |L2Core                        |l2core                        |3.0.8+4             |Manifest: NOSIGNATURE         l2damagetracker-3.0.5.jar                         |L2DamageTracker               |l2damagetracker               |3.0.5               |Manifest: NOSIGNATURE         l2itemselector-3.0.8.jar                          |L2ItemSelector                |l2itemselector                |3.0.8               |Manifest: NOSIGNATURE         l2library-3.0.4.jar                               |L2Library                     |l2library                     |3.0.4               |Manifest: NOSIGNATURE         l2menustacker-3.0.9.jar                           |L2MenuStacker                 |l2menustacker                 |3.0.9               |Manifest: NOSIGNATURE         l2tabs-3.0.5+7.jar                                |L2Tabs                        |l2tabs                        |3.0.5+7             |Manifest: NOSIGNATURE         l2weaponry-3.0.4.jar                              |L2Weaponry                    |l2weaponry                    |3.0.4               |Manifest: NOSIGNATURE         L_Ender's Cataclysm-2.58-1.21.1.jar               |L_Ender's Cataclysm           |cataclysm                     |2.58-1.21.1         |Manifest: NOSIGNATURE         laserbridges-1.21.1-neoforge-5.jar                |Laser Bridges & Doors         |laserbridges                  |5                   |Manifest: NOSIGNATURE         letsparkour-1.21.1-1.8.jar                        |Let's Parkour                 |letsparkour                   |1.8                 |Manifest: NOSIGNATURE         libraryferret-neoforge-1.21.1-4.0.0.jar           |Library ferret                |libraryferret                 |4.0.0               |Manifest: NOSIGNATURE         lionfishapi-2.6.jar                               |lionfishapi                   |lionfishapi                   |2.6                 |Manifest: NOSIGNATURE         lithostitched-neoforge-1.21.1-1.4.5.jar           |Lithostitched                 |lithostitched                 |1.4.2               |Manifest: NOSIGNATURE         Loot Beams Refork-neoforge-1.21.1-2.5.11.jar      |Loot Beams Refork             |lootbeams                     |2.5.11              |Manifest: NOSIGNATURE         lootintegrations-1.21-4.2.jar                     |Lootintegrations mod          |lootintegrations              |4.2                 |Manifest: NOSIGNATURE         lootintegrations_cataclysm-1.1.jar                |lootintegrations_cataclysm mod|lootintegrations_cataclysm    |1                   |Manifest: NOSIGNATURE         lootintegrations_ctov-1.3.jar                     |lootintegrations_ctov mod     |lootintegrations_ctov         |1                   |Manifest: NOSIGNATURE         lootintegrations_dnt-2.3.jar                      |lootintegrations_dnt mod      |lootintegrations_dnt          |1                   |Manifest: NOSIGNATURE         lootintegrations_yungs-1.3.jar                    |lootintegrations_yungs mod    |lootintegrations_yungs        |1                   |Manifest: NOSIGNATURE         mcw-bridges-3.0.0-mc1.21.1neoforge.jar            |Macaw's Bridges               |mcwbridges                    |3.0.0               |Manifest: NOSIGNATURE         mcw-doors-1.1.2-mc1.21.1neoforge.jar              |Macaw's Doors                 |mcwdoors                      |1.1.2               |Manifest: NOSIGNATURE         mcw-fences-1.1.2-mc1.21.1neoforge.jar             |Macaw's Fences and Walls      |mcwfences                     |1.1.2               |Manifest: NOSIGNATURE         mcw-furniture-3.3.0-mc1.21.1neoforge.jar          |Macaw's Furniture             |mcwfurnitures                 |3.3.0               |Manifest: NOSIGNATURE         mcw-lights-1.1.1-mc1.21.1neoforge.jar             |Macaw's Lights and Lamps      |mcwlights                     |1.1.1               |Manifest: NOSIGNATURE         mcw-paintings-1.0.5-1.21.1neoforge.jar            |Macaw's Paintings             |mcwpaintings                  |1.0.5               |Manifest: NOSIGNATURE         mcw-paths-1.1.0neoforge-mc1.21.1.jar              |Macaw's Paths and Pavings     |mcwpaths                      |1.1.0               |Manifest: NOSIGNATURE         mcw-roofs-2.3.1-mc1.21.1neoforge.jar              |Macaw's Roofs                 |mcwroofs                      |2.3.1               |Manifest: NOSIGNATURE         mcw-trapdoors-1.1.4-mc1.21.1neoforge.jar          |Macaw's Trapdoors             |mcwtrpdoors                   |1.1.4               |Manifest: NOSIGNATURE         mcw-windows-2.3.0-mc1.21.1neoforge.jar            |Macaw's Windows               |mcwwindows                    |2.3.2               |Manifest: NOSIGNATURE         V6.6-Matmos-mod-1.21.1.jar                        |Matmos ambiant sound          |matmos                        |6.6                 |Manifest: NOSIGNATURE         midnightlib-1.6.9-neoforge+1.21.jar               |MidnightLib                   |midnightlib                   |1.6.9               |Manifest: NOSIGNATURE         client-1.21.1-20240808.144430-srg.jar             |Minecraft                     |minecraft                     |1.21.1              |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         modernfix-neoforge-5.20.2+mc1.21.1.jar            |ModernFix                     |modernfix                     |5.20.2+mc1.21.1     |Manifest: NOSIGNATURE         moonlight-1.21-2.17.34-neoforge.jar               |Moonlight Lib                 |moonlight                     |1.21-2.17.34        |Manifest: NOSIGNATURE         MouseTweaks-neoforge-mc1.21-2.26.1.jar            |Mouse Tweaks                  |mousetweaks                   |2.26.1              |Manifest: NOSIGNATURE         MythsAndLegends-neoforge-1.7.2-Hotfix.jar         |MythsAndLegends               |mythsandlegends               |1.7.2               |Manifest: NOSIGNATURE         NaturesCompass-1.21.1-3.0.3-neoforge.jar          |Nature's Compass              |naturescompass                |1.21.1-3.0.2-neoforg|Manifest: NOSIGNATURE         neoforge-21.1.133-universal.jar                   |NeoForge                      |neoforge                      |21.1.133            |Manifest: NOSIGNATURE         Nirvana Library-neoforge-1.21.1-1.0.1.jar         |Nirvana Library               |nirvana_lib                   |1.0.1               |Manifest: NOSIGNATURE         nitrogen_internals-1.21.1-1.1.22-neoforge.jar     |Nitrogen                      |nitrogen_internals            |1.1.22              |Manifest: NOSIGNATURE         notenoughcrashes-neoforge-4.4.8+1.21.1.jar        |Not Enough Crashes            |notenoughcrashes              |4.4.8+1.21.1        |Manifest: NOSIGNATURE         notenoughanimations-neoforge-1.9.2-mc1.21.jar     |NotEnoughAnimations           |notenoughanimations           |1.9.2               |Manifest: NOSIGNATURE         OctoLib-NEOFORGE-0.5.0.1.jar                      |OctoLib                       |octolib                       |0.5.0.1             |Manifest: NOSIGNATURE         owo-lib-neoforge-0.12.15-beta.12+1.21.jar         |oωo                           |owo                           |0.12.15-beta.12+1.21|Manifest: NOSIGNATURE         packetfixer-neoforge-2.1.0-1.21-to-1.21.3.jar     |Packet Fixer                  |packetfixer                   |2.1.0               |Manifest: NOSIGNATURE         fallingtrees-neoforge-mc1.21-0.13.2-SNAPSHOT.jar  |Panda's Falling Tree's        |fallingtrees                  |0.13.2              |Manifest: NOSIGNATURE         pandalib-neoforge-mc1.21-0.5.2-SNAPSHOT.jar       |PandaLib                      |pandalib                      |0.5.2               |Manifest: NOSIGNATURE         paraglider-1.0.0-neoforge-1.21.1.jar              |Paraglider                    |paraglider                    |1.0.0               |Manifest: NOSIGNATURE         Patchouli-1.21-88-NEOFORGE.jar                    |Patchouli                     |patchouli                     |1.21-88-NEOFORGE    |Manifest: NOSIGNATURE         Pehkui-3.8.3+1.21-neoforge.jar                    |Pehkui                        |pehkui                        |3.8.3+1.21-neoforge |Manifest: NOSIGNATURE         pet-your-cobblemon-1.3.3.jar                      |Pet Your Cobblemon            |petyourcobblemon              |1.3.3               |Manifest: NOSIGNATURE         Placebo-1.21.1-9.7.0.jar                          |Placebo                       |placebo                       |9.7.0               |Manifest: NOSIGNATURE         player-animation-lib-forge-2.0.1+1.21.1.jar       |Player Animator               |playeranimator                |2.0.1+1.21.1        |Manifest: NOSIGNATURE         Ponder-NeoForge-1.21.1-1.0.0.jar                  |Ponder                        |ponder                        |1.0.0               |Manifest: NOSIGNATURE         prickle-neoforge-1.21.1-21.1.6.jar                |PrickleMC                     |prickle                       |21.1.6              |Manifest: NOSIGNATURE         rctmod-neoforge-1.21.1-0.13.16-beta.jar           |Radical Cobblemon Trainers    |rctmod                        |0.13.16-beta        |Manifest: NOSIGNATURE         rctapi-neoforge-1.21.1-0.10.12-beta.jar           |Radical Cobblemon Trainers API|rctapi                        |0.10.12-beta        |Manifest: NOSIGNATURE         relics-1.21.1-0.10.7.0.jar                        |Relics                        |relics                        |0.10.7.0            |Manifest: NOSIGNATURE         resourcefullib-neoforge-1.21-3.0.11.jar           |Resourceful Lib               |resourcefullib                |3.0.11              |Manifest: NOSIGNATURE         Searchables-neoforge-1.21.1-1.0.2.jar             |Searchables                   |searchables                   |1.0.2               |Manifest: NOSIGNATURE         SereneSeasons-neoforge-1.21.1-10.1.0.3.jar        |Serene Seasons                |sereneseasons                 |10.1.0.3            |Manifest: NOSIGNATURE         voicechat-neoforge-1.21.1-2.5.26.jar              |Simple Voice Chat             |voicechat                     |1.21.1-2.5.26       |Manifest: NOSIGNATURE         SkyVillages-1.0.6-1.21.x-neoforge-release.jar     |Sky Villages                  |skyvillages                   |1.0.6               |Manifest: NOSIGNATURE         smallships-neoforge-1.21.1-2.0.0-b2.1.jar         |Small Ships                   |smallships                    |2.0.0-b2.1          |Manifest: NOSIGNATURE         smarterfarmers-1.21-2.2.2-neoforge.jar            |Smarter Farmers               |smarterfarmers                |1.21-2.2.2          |Manifest: NOSIGNATURE         sodium-neoforge-0.6.9+mc1.21.1.jar                |Sodium                        |sodium                        |0.6.9+mc1.21.1      |Manifest: NOSIGNATURE         sodiumdynamiclights-neoforge-1.0.10-1.21.1.jar    |Sodium Dynamic Lights         |sodiumdynamiclights           |1.0.9               |Manifest: NOSIGNATURE         solarcooker-neoforge-1.21.1-4.2.0.0.jar           |Solar Cooker                  |solarcooker                   |1.21.1-4.2.0.0      |Manifest: NOSIGNATURE         sophisticatedbackpacks-1.21.1-3.24.1.1209.jar     |Sophisticated Backpacks       |sophisticatedbackpacks        |3.24.1              |Manifest: NOSIGNATURE         sophisticatedcore-1.21.1-1.3.2.900.jar            |Sophisticated Core            |sophisticatedcore             |1.3.2               |Manifest: NOSIGNATURE         sound-physics-remastered-neoforge-1.21.1-1.4.8.jar|Sound Physics Remastered      |sound_physics_remastered      |1.21.1-1.4.8        |Manifest: NOSIGNATURE         spectrelib-neoforge-0.17.2+1.21.jar               |SpectreLib                    |spectrelib                    |0.17.2+1.21         |Manifest: NOSIGNATURE         Stellarity-3.0.6.1.jar                            |Stellarity                    |stellarity                    |3.0.6.1             |Manifest: NOSIGNATURE         Storage Drawers-neoforge-1.21-13.8.5.jar          |Storage Drawers               |storagedrawers                |13.8.5              |Manifest: NOSIGNATURE         structureessentials-1.21.1-4.5.jar                |Structure Essentials mod      |structureessentials           |4.5                 |Manifest: NOSIGNATURE         supplementaries-1.21-3.0.41-beta-neoforge.jar     |Supplementaries               |supplementaries               |1.21-3.0.41-beta    |Manifest: NOSIGNATURE         TaxDeepVillager+M.1.21.1+NeoF.2.0.0.jar           |Tax' Deep Villager            |taxdv                         |2.0.0               |Manifest: NOSIGNATURE         TaxOceanVillager+M.1.21.1+NeoF.4.0.1.jar          |Tax' Ocean Villager           |taxov                         |4.0.1               |Manifest: NOSIGNATURE         taxtg-2.0.1-neoforge-1.21.1.jar                   |Tax' Tree Giant               |taxtg                         |2.0.1               |Manifest: NOSIGNATURE         tctcore-1.6-neoforge-1.21.1.jar                   |tctcore                       |tctcore                       |1.6                 |Manifest: NOSIGNATURE         TerraBlender-neoforge-1.21.1-4.1.0.3.jar          |TerraBlender                  |terrablender                  |4.1.0.3             |Manifest: NOSIGNATURE         aether-1.21.1-1.5.5-neoforge.jar                  |The Aether                    |aether                        |1.5.5               |Manifest: NOSIGNATURE         twilightforest-1.21.1-4.6.3003-universal.jar      |The Twilight Forest           |twilightforest                |4.6.3003            |Manifest: NOSIGNATURE         Tomtaru's Cobblemon  Farmer's Delight Tweaks - 1.2|Tomtaru's Cobblemon & Farmer's|tmtcd                         |1.2.0               |Manifest: NOSIGNATURE         twilightdelight-3.0.2.jar                         |Twilight Flavors & Delight    |twilightdelight               |3.0.2               |Manifest: NOSIGNATURE         txnilib-neoforge-1.0.22-1.21.1.jar                |TxniLib                       |txnilib                       |1.0.21              |Manifest: NOSIGNATURE         utility-belt-neoforge-2.6.0+1.21.1.jar            |Utility Belt                  |utility_belt                  |2.6.0+1.21.1        |Manifest: NOSIGNATURE         villagernames-1.21.1-8.2.jar                      |Villager Names                |villagernames                 |8.2                 |Manifest: NOSIGNATURE         Waves-1.21-1.4.1.jar                              |Waves                         |waves                         |1.4.1               |Manifest: NOSIGNATURE         waystones-neoforge-1.21.1-21.1.12.jar             |Waystones                     |waystones                     |21.1.12             |Manifest: NOSIGNATURE         wither_spawn_animation-1.4.2-neoforge-1.21.1.jar  |Wither Spawn Animation        |wither_spawn_animation        |1.4.2               |Manifest: NOSIGNATURE         worldedit-mod-7.3.8.jar                           |WorldEdit                     |worldedit                     |7.3.8+6939-7d32b45  |Manifest: NOSIGNATURE         Xaeros_Minimap_25.1.0_NeoForge_1.21.jar           |Xaero's Minimap               |xaerominimap                  |25.1.0              |Manifest: NOSIGNATURE         XaerosWorldMap_1.39.4_NeoForge_1.21.jar           |Xaero's World Map             |xaeroworldmap                 |1.39.4              |Manifest: NOSIGNATURE         YungsApi-1.21.1-NeoForge-5.1.4.jar                |YUNG's API                    |yungsapi                      |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsBetterDesertTemples-1.21.1-NeoForge-4.1.5.jar|YUNG's Better Desert Temples  |betterdeserttemples           |1.21.1-NeoForge-4.1.|Manifest: NOSIGNATURE         YungsBetterDungeons-1.21.1-NeoForge-5.1.4.jar     |YUNG's Better Dungeons        |betterdungeons                |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsBetterJungleTemples-1.21.1-NeoForge-3.1.2.jar|YUNG's Better Jungle Temples  |betterjungletemples           |1.21.1-NeoForge-3.1.|Manifest: NOSIGNATURE         YungsBetterMineshafts-1.21.1-NeoForge-5.1.1.jar   |YUNG's Better Mineshafts      |bettermineshafts              |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsBetterNetherFortresses-1.21.1-NeoForge-3.1.4.|YUNG's Better Nether Fortresse|betterfortresses              |1.21.1-NeoForge-3.1.|Manifest: NOSIGNATURE         YungsBetterOceanMonuments-1.21.1-NeoForge-4.1.2.ja|YUNG's Better Ocean Monuments |betteroceanmonuments          |1.21.1-NeoForge-4.1.|Manifest: NOSIGNATURE         YungsBetterStrongholds-1.21.1-NeoForge-5.1.3.jar  |YUNG's Better Strongholds     |betterstrongholds             |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsBetterWitchHuts-1.21.1-NeoForge-4.1.1.jar    |YUNG's Better Witch Huts      |betterwitchhuts               |1.21.1-NeoForge-4.1.|Manifest: NOSIGNATURE         YungsBridges-1.21.1-NeoForge-5.1.1.jar            |YUNG's Bridges                |yungsbridges                  |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsExtras-1.21.1-NeoForge-5.1.1.jar             |YUNG's Extras                 |yungsextras                   |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsMenuTweaks-1.21.1-NeoForge-2.1.2.jar         |YUNG's Menu Tweaks            |yungsmenutweaks               |1.21.1-NeoForge-2.1.|Manifest: NOSIGNATURE     Crash Report UUID: 65d247b5-6e52-4529-8858-0086ca899884     FML: 4.0.38     NeoForge: 21.1.133     Flywheel Backend: flywheel:indirect     Suspected Mods: Forgified Fabric Resource Conditions API (v1) (fabric_resource_conditions_api_v1), Forgified Fabric Registry Sync (v0) (fabric_registry_sync_v0)
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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