Jump to content

Recommended Posts

Posted

Hello guys, so i've recently made a new entity which is an addition to the new horses! the only thing i want different in this entity is its texture, and that's it! i've tried just extending EntityHorse and changing the texture function, i've done many different things, and i got the texture to work! However, the armor on the entity is now messed up! Basically when you put an armor in its gui, nothing happens! when you restart the game, the texture appears on the entity! but when you take the armor off of it, the texture stays on it, until the game is restarted again! here is the code! any help is appreciated!

 

EntityMyHorse:

 

 

package moreores.entity;

import java.util.Iterator;
import java.util.List;

import net.minecraft.block.Block;
import net.minecraft.block.StepSound;
import net.minecraft.command.IEntitySelector;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.EntityLivingData;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIFollowParent;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMate;
import net.minecraft.entity.ai.EntityAIPanic;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.ai.attributes.Attribute;
import net.minecraft.entity.ai.attributes.AttributeInstance;
import net.minecraft.entity.ai.attributes.RangedAttribute;
import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.passive.EntityHorse;
import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.AnimalChest;
import net.minecraft.inventory.IInvBasic;
import net.minecraft.inventory.InventoryBasic;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.pathfinding.PathEntity;
import net.minecraft.potion.Potion;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class EntityMoreOresHorse extends EntityHorse implements IInvBasic
{
    private static final IEntitySelector field_110276_bu = new EntityMoreOresHorseBredSelector();
    private static final Attribute field_110271_bv = (new RangedAttribute("horse.jumpStrength", 0.7D, 0.0D, 2.0D)).func_111117_a("Jump Strength").func_111112_a(true);
    private static final String[] field_110270_bw = new String[] {null, "textures/entity/horse/armor/horse_armor_iron.png", "textures/entity/horse/armor/horse_armor_gold.png", "textures/entity/horse/armor/horse_armor_diamond.png"};
    private static final String[] field_110273_bx = new String[] {"", "meo", "goo", "dio"};
    private static final int[] field_110272_by = new int[] {0, 5, 7, 11};
    private static final String[] field_110268_bz = new String[] {"textures/moreores/textures/mobs/horse_orange.png", "textures/moreores/textures/mobs/horse_yellow.png", "textures/moreores/textures/mobs/horse_green.png", "textures/moreores/textures/mobs/horse_blue.png", "textures/moreores/textures/mobs/horse_orange.png", "textures/moreores/textures/mobs/horse_yellow.png", "textures/moreores/textures/mobs/horse_green.png"};
private static final String[] field_110269_bA = new String[] {"hwh", "hcr", "hch", "hbr", "hbl", "hgr", "hdb"};
    private static final String[] field_110291_bB = new String[] {null, "textures/entity/horse/horse_markings_white.png", "textures/entity/horse/horse_markings_whitefield.png", "textures/entity/horse/horse_markings_whitedots.png", "textures/entity/horse/horse_markings_blackdots.png"};
    private static final String[] field_110292_bC = new String[] {"", "wo_", "wmo", "wdo", "bdo"};
    private int field_110289_bD;
    private int field_110290_bE;
    private int field_110295_bF;
    public int field_110278_bp;
    public int field_110279_bq;
    protected boolean field_110275_br;
    private AnimalChest field_110296_bG;
    private boolean field_110293_bH;
    protected int field_110274_bs;
    protected float field_110277_bt;
    private boolean field_110294_bI;
    private float field_110283_bJ;
    private float field_110284_bK;
    private float field_110281_bL;
    private float field_110282_bM;
    private float field_110287_bN;
    private float field_110288_bO;
    private int field_110285_bP;
    private String field_110286_bQ;
    private String[] field_110280_bR = new String[3];

    public EntityMoreOresHorse(World par1World)
    {
        super(par1World);
        this.setSize(1.4F, 1.6F);
        this.isImmuneToFire = false;
        this.func_110207_m(false);
        this.getNavigator().setAvoidsWater(true);
        this.tasks.addTask(0, new EntityAISwimming(this));
        this.tasks.addTask(1, new EntityAIPanic(this, 1.2D));
        this.tasks.addTask(1, new EntityAIRunAroundLikeCrazyMoreOres(this, 1.2D));
        this.tasks.addTask(2, new EntityAIMate(this, 1.0D));
        this.tasks.addTask(4, new EntityAIFollowParent(this, 1.0D));
        this.tasks.addTask(6, new EntityAIWander(this, 0.7D));
        this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
        this.tasks.addTask(8, new EntityAILookIdle(this));
        this.func_110226_cD();
    }

    protected void entityInit()
    {
        super.entityInit();
    }

    public void func_110214_p(int par1)
    {
        this.dataWatcher.updateObject(19, Byte.valueOf((byte)par1));
        this.func_110230_cF();
    }

    public int func_110265_bP()
    {
        return this.dataWatcher.getWatchableObjectByte(19);
    }

    public void func_110235_q(int par1)
    {
        this.dataWatcher.updateObject(20, Integer.valueOf(par1));
        this.func_110230_cF();
    }

    public int func_110202_bQ()
    {
        return this.dataWatcher.getWatchableObjectInt(20);
    }

    /**
     * Gets the username of the entity.
     */
    public String getEntityName()
    {
        if (this.func_94056_bM())
        {
            return this.func_94057_bL();
        }
        else
        {
            int i = this.func_110265_bP();

            switch (i)
            {
                case 0:
                default:
                    return StatCollector.translateToLocal("entity.horse.name");
                case 1:
                    return StatCollector.translateToLocal("entity.donkey.name");
                case 2:
                    return StatCollector.translateToLocal("entity.mule.name");
                case 3:
                    return StatCollector.translateToLocal("entity.zombiehorse.name");
                case 4:
                    return StatCollector.translateToLocal("entity.skeletonhorse.name");
            }
        }
    }

    private boolean func_110233_w(int par1)
    {
        return (this.dataWatcher.getWatchableObjectInt(16) & par1) != 0;
    }

    private void func_110208_b(int par1, boolean par2)
    {
        int j = this.dataWatcher.getWatchableObjectInt(16);

        if (par2)
        {
            this.dataWatcher.updateObject(16, Integer.valueOf(j | par1));
        }
        else
        {
            this.dataWatcher.updateObject(16, Integer.valueOf(j & ~par1));
        }
    }

    public boolean func_110228_bR()
    {
        return !this.isChild();
    }

    public boolean func_110248_bS()
    {
        return this.func_110233_w(2);
    }

    public boolean func_110253_bW()
    {
        return this.func_110228_bR();
    }

    public void func_110213_b(String par1Str)
    {
        this.dataWatcher.updateObject(21, par1Str);
    }

    public float func_110254_bY()
    {
        int i = this.getGrowingAge();
        return i >= 0 ? 1.0F : 0.5F + (float)(-24000 - i) / -24000.0F * 0.5F;
    }

    public void func_98054_a(boolean par1)
    {
        if (par1)
        {
            this.func_98055_j(this.func_110254_bY());
        }
        else
        {
            this.func_98055_j(1.0F);
        }
    }

    public boolean func_110246_bZ()
    {
        return this.field_110275_br;
    }

    public void func_110234_j(boolean par1)
    {
        this.func_110208_b(2, par1);
    }

    public void func_110255_k(boolean par1)
    {
        this.field_110275_br = par1;
    }

    public boolean func_110164_bC()
    {
        return !this.func_110256_cu() && super.func_110164_bC();
    }

    public boolean func_110261_ca()
    {
        return this.func_110233_w(;
    }

    public int func_110241_cb()
    {
        return this.dataWatcher.getWatchableObjectInt(22);
    }

    public int func_110260_d(ItemStack par1ItemStack)
    {
        return par1ItemStack == null ? 0 : (par1ItemStack.itemID == Item.field_111215_ce.itemID ? 1 : (par1ItemStack.itemID == Item.field_111216_cf.itemID ? 2 : (par1ItemStack.itemID == Item.field_111213_cg.itemID ? 3 : 0)));
    }

    public boolean func_110204_cc()
    {
        return this.func_110233_w(32);
    }

    public boolean func_110209_cd()
    {
        return this.func_110233_w(64);
    }

    public boolean func_110205_ce()
    {
        return this.func_110233_w(16);
    }

    public boolean func_110243_cf()
    {
        return this.field_110293_bH;
    }

    public void func_110236_r(int par1)
    {
        this.dataWatcher.updateObject(22, Integer.valueOf(par1));
        this.func_110230_cF();
    }

    public void func_110242_l(boolean par1)
    {
        this.func_110208_b(16, par1);
    }

    public void func_110207_m(boolean par1)
    {
        this.func_110208_b(8, par1);
    }

    public void func_110221_n(boolean par1)
    {
        this.field_110293_bH = par1;
    }

    public void func_110251_o(boolean par1)
    {
        this.func_110208_b(4, par1);
    }

    public int func_110252_cg()
    {
        return this.field_110274_bs;
    }

    public void func_110238_s(int par1)
    {
        this.field_110274_bs = par1;
    }

    public int func_110198_t(int par1)
    {
        int j = MathHelper.clamp_int(this.func_110252_cg() + par1, 0, this.func_110218_cm());
        this.func_110238_s(j);
        return j;
    }

    /**
     * Called when the entity is attacked.
     */
    public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
    {
        Entity entity = par1DamageSource.getEntity();

        if (this.riddenByEntity != null && this.riddenByEntity.equals(entity))
        {
            return false;
        }
        else if (entity instanceof EntityWolf)
        {
            ((EntityWolf)entity).setTarget((Entity)null);
            return false;
        }
        else
        {
            return super.attackEntityFrom(par1DamageSource, par2);
        }
    }

    /**
     * Returns the current armor value as determined by a call to InventoryPlayer.getTotalArmorValue
     */
    public int getTotalArmorValue()
    {
        return field_110272_by[this.func_110241_cb()];
    }

    /**
     * Returns true if this entity should push and be pushed by other entities when colliding.
     */
    public boolean canBePushed()
    {
        return this.riddenByEntity == null;
    }

    public boolean func_110262_ch()
    {
        int i = MathHelper.floor_double(this.posX);
        int j = MathHelper.floor_double(this.posZ);
        this.worldObj.getBiomeGenForCoords(i, j);
        return true;
    }

    public void func_110224_ci()
    {
        if (!this.worldObj.isRemote && this.func_110261_ca())
        {
            this.dropItem(Block.chest.blockID, 1);
            this.func_110207_m(false);
        }
    }

    private void func_110266_cB()
    {
        this.func_110249_cI();
        this.worldObj.playSoundAtEntity(this, "eating", 1.0F, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F);
    }

    /**
     * Called when the mob is falling. Calculates and applies fall damage.
     */
    protected void fall(float par1)
    {
        if (par1 > 1.0F)
        {
            this.playSound("mob.horse.land", 0.4F, 1.0F);
        }

        int i = MathHelper.ceiling_float_int(par1 * 0.5F - 3.0F);

        if (i > 0)
        {
            this.attackEntityFrom(DamageSource.fall, (float)i);

            if (this.riddenByEntity != null)
            {
                this.riddenByEntity.attackEntityFrom(DamageSource.fall, (float)i);
            }

            int j = this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY - 0.2D - (double)this.prevRotationYaw), MathHelper.floor_double(this.posZ));

            if (j > 0)
            {
                StepSound stepsound = Block.blocksList[j].stepSound;
                this.worldObj.playSoundAtEntity(this, stepsound.getStepSound(), stepsound.getVolume() * 0.5F, stepsound.getPitch() * 0.75F);
            }
        }
    }

    private int func_110225_cC()
    {
        int i = this.func_110265_bP();
        return this.func_110261_ca() && (i == 1 || i == 2) ? 17 : 2;
    }

    private void func_110226_cD()
    {
        AnimalChest animalchest = this.field_110296_bG;
        this.field_110296_bG = new AnimalChest("HorseChest", this.func_110225_cC());
        this.field_110296_bG.func_110133_a(this.getEntityName());

        if (animalchest != null)
        {
            animalchest.func_110132_b(this);
            int i = Math.min(animalchest.getSizeInventory(), this.field_110296_bG.getSizeInventory());

            for (int j = 0; j < i; ++j)
            {
                ItemStack itemstack = animalchest.getStackInSlot(j);

                if (itemstack != null)
                {
                    this.field_110296_bG.setInventorySlotContents(j, itemstack.copy());
                }
            }

            animalchest = null;
        }

        this.field_110296_bG.func_110134_a(this);
        this.func_110232_cE();
    }

    private void func_110232_cE()
    {
        if (!this.worldObj.isRemote)
        {
            this.func_110251_o(this.field_110296_bG.getStackInSlot(0) != null);

            if (this.func_110259_cr())
            {
                this.func_110236_r(this.func_110260_d(this.field_110296_bG.getStackInSlot(1)));
            }
        }
    }

    /**
     * Called by InventoryBasic.onInventoryChanged() on a array that is never filled.
     */
    public void onInventoryChanged(InventoryBasic par1InventoryBasic)
    {
        int i = this.func_110241_cb();
        boolean flag = this.func_110257_ck();
        this.func_110232_cE();

        if (this.ticksExisted > 20)
        {
            if (i == 0 && i != this.func_110241_cb())
            {
                this.playSound("mob.horse.armor", 0.5F, 1.0F);
            }

            if (!flag && this.func_110257_ck())
            {
                this.playSound("mob.horse.leather", 0.5F, 1.0F);
            }
        }
    }

    /**
     * Checks if the entity's current position is a valid location to spawn this entity.
     */
    public boolean getCanSpawnHere()
    {
        this.func_110262_ch();
        return super.getCanSpawnHere();
    }

    protected EntityMoreOresHorse func_110250_a(Entity par1Entity, double par2)
    {
        double d1 = Double.MAX_VALUE;
        Entity entity1 = null;
        List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(par1Entity, par1Entity.boundingBox.addCoord(par2, par2, par2), field_110276_bu);
        Iterator iterator = list.iterator();

        while (iterator.hasNext())
        {
            Entity entity2 = (Entity)iterator.next();
            double d2 = entity2.getDistanceSq(par1Entity.posX, par1Entity.posY, par1Entity.posZ);

            if (d2 < d1)
            {
                entity1 = entity2;
                d1 = d2;
            }
        }

        return (EntityMoreOresHorse)entity1;
    }

    public double func_110215_cj()
    {
        return this.func_110148_a(field_110271_bv).func_111126_e();
    }

    /**
     * Returns the sound this mob makes on death.
     */
    protected String getDeathSound()
    {
        this.func_110249_cI();
        int i = this.func_110265_bP();
        return i == 3 ? "mob.horse.zombie.death" : (i == 4 ? "mob.horse.skeleton.death" : (i != 1 && i != 2 ? "mob.horse.death" : "mob.horse.donkey.death"));
    }

    /**
     * Returns the item ID for the item the mob drops on death.
     */
    protected int getDropItemId()
    {
        boolean flag = this.rand.nextInt(4) == 0;
        int i = this.func_110265_bP();
        return i == 4 ? Item.bone.itemID : (i == 3 ? (flag ? 0 : Item.rottenFlesh.itemID) : Item.leather.itemID);
    }

    /**
     * Returns the sound this mob makes when it is hurt.
     */
    protected String getHurtSound()
    {
        this.func_110249_cI();

        if (this.rand.nextInt(3) == 0)
        {
            this.func_110220_cK();
        }

        int i = this.func_110265_bP();
        return i == 3 ? "mob.horse.zombie.hit" : (i == 4 ? "mob.horse.skeleton.hit" : (i != 1 && i != 2 ? "mob.horse.hit" : "mob.horse.donkey.hit"));
    }

    public boolean func_110257_ck()
    {
        return this.func_110233_w(4);
    }

    /**
     * Returns the sound this mob makes while it's alive.
     */
    protected String getLivingSound()
    {
        this.func_110249_cI();

        if (this.rand.nextInt(10) == 0 && !this.isMovementBlocked())
        {
            this.func_110220_cK();
        }

        int i = this.func_110265_bP();
        return i == 3 ? "mob.horse.zombie.idle" : (i == 4 ? "mob.horse.skeleton.idle" : (i != 1 && i != 2 ? "mob.horse.idle" : "mob.horse.donkey.idle"));
    }

    protected String func_110217_cl()
    {
        this.func_110249_cI();
        this.func_110220_cK();
        int i = this.func_110265_bP();
        return i != 3 && i != 4 ? (i != 1 && i != 2 ? "mob.horse.angry" : "mob.horse.donkey.angry") : null;
    }

    /**
     * Plays step sound at given x, y, z for the entity
     */
    protected void playStepSound(int par1, int par2, int par3, int par4)
    {
        StepSound stepsound = Block.blocksList[par4].stepSound;

        if (this.worldObj.getBlockId(par1, par2 + 1, par3) == Block.snow.blockID)
        {
            stepsound = Block.snow.stepSound;
        }

        if (!Block.blocksList[par4].blockMaterial.isLiquid())
        {
            int i1 = this.func_110265_bP();

            if (this.riddenByEntity != null && i1 != 1 && i1 != 2)
            {
                ++this.field_110285_bP;

                if (this.field_110285_bP > 5 && this.field_110285_bP % 3 == 0)
                {
                    this.playSound("mob.horse.gallop", stepsound.getVolume() * 0.15F, stepsound.getPitch());

                    if (i1 == 0 && this.rand.nextInt(10) == 0)
                    {
                        this.playSound("mob.horse.breathe", stepsound.getVolume() * 0.6F, stepsound.getPitch());
                    }
                }
                else if (this.field_110285_bP <= 5)
                {
                    this.playSound("mob.horse.wood", stepsound.getVolume() * 0.15F, stepsound.getPitch());
                }
            }
            else if (stepsound == Block.soundWoodFootstep)
            {
                this.playSound("mob.horse.soft", stepsound.getVolume() * 0.15F, stepsound.getPitch());
            }
            else
            {
                this.playSound("mob.horse.wood", stepsound.getVolume() * 0.15F, stepsound.getPitch());
            }
        }
    }

    protected void func_110147_ax()
    {
        super.func_110147_ax();
        this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(53.0D);
        this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(0.22499999403953552D);
    }

    /**
     * Will return how many at most can spawn in a chunk at once.
     */
    public int getMaxSpawnedInChunk()
    {
        return 6;
    }

    public int func_110218_cm()
    {
        return 100;
    }

    /**
     * Returns the volume for the sounds this mob makes.
     */
    protected float getSoundVolume()
    {
        return 0.8F;
    }

    /**
     * Get number of ticks, at least during which the living entity will be silent.
     */
    public int getTalkInterval()
    {
        return 400;
    }

    @SideOnly(Side.CLIENT)
    public boolean func_110239_cn()
    {
        return this.func_110265_bP() == 0 || this.func_110241_cb() > 0;
    }

    private void func_110230_cF()
    {
        this.field_110286_bQ = null;
    }

    @SideOnly(Side.CLIENT)
    private void func_110247_cG()
    {
        this.field_110286_bQ = "horse/";
        this.field_110280_bR[0] = null;
        this.field_110280_bR[1] = null;
        this.field_110280_bR[2] = null;
        int i = this.func_110265_bP();
        int j = this.func_110202_bQ();
        int k;

        if (i == 0)
        {
            k = j & 255;
            int l = (j & 65280) >> 8;
            this.field_110280_bR[0] = field_110268_bz[k];
            this.field_110286_bQ = this.field_110286_bQ + field_110269_bA[k];
            this.field_110280_bR[1] = field_110291_bB[l];
            this.field_110286_bQ = this.field_110286_bQ + field_110292_bC[l];
        }
        else
        {
            this.field_110280_bR[0] = "";
            this.field_110286_bQ = this.field_110286_bQ + "_" + i + "_";
        }

        k = this.func_110241_cb();
        this.field_110280_bR[2] = field_110270_bw[k];
        this.field_110286_bQ = this.field_110286_bQ + field_110273_bx[k];
    }

    @SideOnly(Side.CLIENT)
    public String func_110264_co()
    {
        if (this.field_110286_bQ == null)
        {
            this.func_110247_cG();
        }

        return this.field_110286_bQ;
    }

    @SideOnly(Side.CLIENT)
    public String[] func_110212_cp()
    {
        if (this.field_110286_bQ == null)
        {
            this.func_110247_cG();
        }

        return this.field_110280_bR;
    }

    public void func_110199_f(EntityPlayer par1EntityPlayer)
    {
        if (!this.worldObj.isRemote && (this.riddenByEntity == null || this.riddenByEntity == par1EntityPlayer) && this.func_110248_bS())
        {
            this.field_110296_bG.func_110133_a(this.getEntityName());
            par1EntityPlayer.func_110298_a(this, this.field_110296_bG);
        }
    }

    /**
     * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig.
     */
    public boolean interact(EntityPlayer par1EntityPlayer)
    {
        ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem();

        if (itemstack != null && itemstack.itemID == Item.monsterPlacer.itemID)
        {
            return super.interact(par1EntityPlayer);
        }
        else if (!this.func_110248_bS() && this.func_110256_cu())
        {
            return false;
        }
        else if (this.func_110248_bS() && this.func_110228_bR() && par1EntityPlayer.isSneaking())
        {
            this.func_110199_f(par1EntityPlayer);
            return true;
        }
        else if (this.func_110253_bW() && this.riddenByEntity != null)
        {
            return super.interact(par1EntityPlayer);
        }
        else
        {
            if (itemstack != null)
            {
                boolean flag = false;

                if (this.func_110259_cr())
                {
                    byte b0 = -1;

                    if (itemstack.itemID == Item.field_111215_ce.itemID)
                    {
                        b0 = 1;
                    }
                    else if (itemstack.itemID == Item.field_111216_cf.itemID)
                    {
                        b0 = 2;
                    }
                    else if (itemstack.itemID == Item.field_111213_cg.itemID)
                    {
                        b0 = 3;
                    }

                    if (b0 >= 0)
                    {
                        if (!this.func_110248_bS())
                        {
                            this.func_110231_cz();
                            return true;
                        }

                        this.func_110199_f(par1EntityPlayer);
                        return true;
                    }
                }

                if (!flag && !this.func_110256_cu())
                {
                    float f = 0.0F;
                    short short1 = 0;
                    byte b1 = 0;

                    if (itemstack.itemID == Item.wheat.itemID)
                    {
                        f = 2.0F;
                        short1 = 60;
                        b1 = 3;
                    }
                    else if (itemstack.itemID == Item.sugar.itemID)
                    {
                        f = 1.0F;
                        short1 = 30;
                        b1 = 3;
                    }
                    else if (itemstack.itemID == Item.bread.itemID)
                    {
                        f = 7.0F;
                        short1 = 180;
                        b1 = 3;
                    }
                    else if (itemstack.itemID == Block.field_111038_cB.blockID)
                    {
                        f = 20.0F;
                        short1 = 180;
                    }
                    else if (itemstack.itemID == Item.appleRed.itemID)
                    {
                        f = 3.0F;
                        short1 = 60;
                        b1 = 3;
                    }
                    else if (itemstack.itemID == Item.goldenCarrot.itemID)
                    {
                        f = 4.0F;
                        short1 = 60;
                        b1 = 5;

                        if (this.func_110248_bS() && this.getGrowingAge() == 0)
                        {
                            flag = true;
                            this.func_110196_bT();
                        }
                    }
                    else if (itemstack.itemID == Item.appleGold.itemID)
                    {
                        f = 10.0F;
                        short1 = 240;
                        b1 = 10;

                        if (this.func_110248_bS() && this.getGrowingAge() == 0)
                        {
                            flag = true;
                            this.func_110196_bT();
                        }
                    }

                    if (this.func_110143_aJ() < this.func_110138_aP() && f > 0.0F)
                    {
                        this.heal(f);
                        flag = true;
                    }

                    if (!this.func_110228_bR() && short1 > 0)
                    {
                        this.func_110195_a(short1);
                        flag = true;
                    }

                    if (b1 > 0 && (flag || !this.func_110248_bS()) && b1 < this.func_110218_cm())
                    {
                        flag = true;
                        this.func_110198_t(b1);
                    }

                    if (flag)
                    {
                        this.func_110266_cB();
                    }
                }

                if (!this.func_110248_bS() && !flag)
                {
                    if (itemstack != null && itemstack.func_111282_a(par1EntityPlayer, this))
                    {
                        return true;
                    }

                    this.func_110231_cz();
                    return true;
                }

                if (!flag && this.func_110229_cs() && !this.func_110261_ca() && itemstack.itemID == Block.chest.blockID)
                {
                    this.func_110207_m(true);
                    this.playSound("mob.chickenplop", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F);
                    flag = true;
                    this.func_110226_cD();
                }

                if (!flag && this.func_110253_bW() && !this.func_110257_ck() && itemstack.itemID == Item.saddle.itemID)
                {
                    this.func_110199_f(par1EntityPlayer);
                    return true;
                }

                if (flag)
                {
                    if (!par1EntityPlayer.capabilities.isCreativeMode && --itemstack.stackSize == 0)
                    {
                        par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null);
                    }

                    return true;
                }
            }

            if (this.func_110253_bW() && this.riddenByEntity == null)
            {
                if (itemstack != null && itemstack.func_111282_a(par1EntityPlayer, this))
                {
                    return true;
                }
                else
                {
                    this.func_110237_h(par1EntityPlayer);
                    return true;
                }
            }
            else
            {
                return super.interact(par1EntityPlayer);
            }
        }
    }

    private void func_110237_h(EntityPlayer par1EntityPlayer)
    {
        par1EntityPlayer.rotationYaw = this.rotationYaw;
        par1EntityPlayer.rotationPitch = this.rotationPitch;
        this.func_110227_p(false);
        this.func_110219_q(false);

        if (!this.worldObj.isRemote)
        {
            par1EntityPlayer.mountEntity(this);
        }
    }

    public boolean func_110259_cr()
    {
        return this.func_110265_bP() == 0;
    }

    public boolean func_110229_cs()
    {
        int i = this.func_110265_bP();
        return i == 2 || i == 1;
    }

    /**
     * Dead and sleeping entities cannot move
     */
    protected boolean isMovementBlocked()
    {
        return this.riddenByEntity != null && this.func_110257_ck() ? true : this.func_110204_cc() || this.func_110209_cd();
    }

    public boolean func_110256_cu()
    {
        int i = this.func_110265_bP();
        return i == 3 || i == 4;
    }

    public boolean func_110222_cv()
    {
        return this.func_110256_cu() || this.func_110265_bP() == 2;
    }

    /**
     * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on
     * the animal type)
     */
    public boolean isBreedingItem(ItemStack par1ItemStack)
    {
        return false;
    }

    private void func_110210_cH()
    {
        this.field_110278_bp = 1;
    }

    /**
     * Called when the mob's health reaches 0.
     */
    public void onDeath(DamageSource par1DamageSource)
    {
        super.onDeath(par1DamageSource);

        if (!this.worldObj.isRemote)
        {
            this.func_110244_cA();
        }
    }

    /**
     * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons
     * use this to react to sunlight and start to burn.
     */
    public void onLivingUpdate()
    {
        if (this.rand.nextInt(200) == 0)
        {
            this.func_110210_cH();
        }

        super.onLivingUpdate();

        if (!this.worldObj.isRemote)
        {
            if (this.rand.nextInt(900) == 0 && this.deathTime == 0)
            {
                this.heal(1.0F);
            }

            if (!this.func_110204_cc() && this.riddenByEntity == null && this.rand.nextInt(300) == 0 && this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) - 1, MathHelper.floor_double(this.posZ)) == Block.grass.blockID)
            {
                this.func_110227_p(true);
            }

            if (this.func_110204_cc() && ++this.field_110289_bD > 50)
            {
                this.field_110289_bD = 0;
                this.func_110227_p(false);
            }

            if (this.func_110205_ce() && !this.func_110228_bR() && !this.func_110204_cc())
            {
                EntityMoreOresHorse entityhorse = this.func_110250_a(this, 16.0D);

                if (entityhorse != null && this.getDistanceSqToEntity(entityhorse) > 4.0D)
                {
                    PathEntity pathentity = this.worldObj.getPathEntityToEntity(this, entityhorse, 16.0F, true, false, false, true);
                    this.setPathToEntity(pathentity);
                }
            }
        }
    }

    /**
     * Called to update the entity's position/logic.
     */
    public void onUpdate()
    {
        super.onUpdate();

        if (this.worldObj.isRemote && this.dataWatcher.hasChanges())
        {
            this.dataWatcher.func_111144_e();
            this.func_110230_cF();
        }

        if (this.field_110290_bE > 0 && ++this.field_110290_bE > 30)
        {
            this.field_110290_bE = 0;
            this.func_110208_b(128, false);
        }

        if (!this.worldObj.isRemote && this.field_110295_bF > 0 && ++this.field_110295_bF > 20)
        {
            this.field_110295_bF = 0;
            this.func_110219_q(false);
        }

        if (this.field_110278_bp > 0 && ++this.field_110278_bp > 
        {
            this.field_110278_bp = 0;
        }

        if (this.field_110279_bq > 0)
        {
            ++this.field_110279_bq;

            if (this.field_110279_bq > 300)
            {
                this.field_110279_bq = 0;
            }
        }

        this.field_110284_bK = this.field_110283_bJ;

        if (this.func_110204_cc())
        {
            this.field_110283_bJ += (1.0F - this.field_110283_bJ) * 0.4F + 0.05F;

            if (this.field_110283_bJ > 1.0F)
            {
                this.field_110283_bJ = 1.0F;
            }
        }
        else
        {
            this.field_110283_bJ += (0.0F - this.field_110283_bJ) * 0.4F - 0.05F;

            if (this.field_110283_bJ < 0.0F)
            {
                this.field_110283_bJ = 0.0F;
            }
        }

        this.field_110282_bM = this.field_110281_bL;

        if (this.func_110209_cd())
        {
            this.field_110284_bK = this.field_110283_bJ = 0.0F;
            this.field_110281_bL += (1.0F - this.field_110281_bL) * 0.4F + 0.05F;

            if (this.field_110281_bL > 1.0F)
            {
                this.field_110281_bL = 1.0F;
            }
        }
        else
        {
            this.field_110294_bI = false;
            this.field_110281_bL += (0.8F * this.field_110281_bL * this.field_110281_bL * this.field_110281_bL - this.field_110281_bL) * 0.6F - 0.05F;

            if (this.field_110281_bL < 0.0F)
            {
                this.field_110281_bL = 0.0F;
            }
        }

        this.field_110288_bO = this.field_110287_bN;

        if (this.func_110233_w(128))
        {
            this.field_110287_bN += (1.0F - this.field_110287_bN) * 0.7F + 0.05F;

            if (this.field_110287_bN > 1.0F)
            {
                this.field_110287_bN = 1.0F;
            }
        }
        else
        {
            this.field_110287_bN += (0.0F - this.field_110287_bN) * 0.7F - 0.05F;

            if (this.field_110287_bN < 0.0F)
            {
                this.field_110287_bN = 0.0F;
            }
        }
    }

    private void func_110249_cI()
    {
        if (!this.worldObj.isRemote)
        {
            this.field_110290_bE = 1;
            this.func_110208_b(128, true);
        }
    }

    private boolean func_110200_cJ()
    {
        return this.riddenByEntity == null && this.ridingEntity == null && this.func_110248_bS() && this.func_110228_bR() && !this.func_110222_cv() && this.func_110143_aJ() >= this.func_110138_aP();
    }

    /**
     * Will get destroyed next tick.
     */
    public void setDead()
    {
        if (this.worldObj.isRemote || !this.func_110248_bS() && !this.func_110205_ce() || this.func_110143_aJ() <= 0.0F)
        {
            super.setDead();
        }
    }

    public void setEating(boolean par1)
    {
        this.func_110208_b(32, par1);
    }

    public void func_110227_p(boolean par1)
    {
        this.setEating(par1);
    }

    public void func_110219_q(boolean par1)
    {
        if (par1)
        {
            this.func_110227_p(false);
        }

        this.func_110208_b(64, par1);
    }

    private void func_110220_cK()
    {
        if (!this.worldObj.isRemote)
        {
            this.field_110295_bF = 1;
            this.func_110219_q(true);
        }
    }

    public void func_110231_cz()
    {
        this.func_110220_cK();
        String s = this.func_110217_cl();

        if (s != null)
        {
            this.playSound(s, this.getSoundVolume(), this.getSoundPitch());
        }
    }

    public void func_110244_cA()
    {
        this.func_110240_a(this, this.field_110296_bG);
        this.func_110224_ci();
    }

    private void func_110240_a(Entity par1Entity, AnimalChest par2AnimalChest)
    {
        if (par2AnimalChest != null && !this.worldObj.isRemote)
        {
            for (int i = 0; i < par2AnimalChest.getSizeInventory(); ++i)
            {
                ItemStack itemstack = par2AnimalChest.getStackInSlot(i);

                if (itemstack != null)
                {
                    this.entityDropItem(itemstack, 0.0F);
                }
            }
        }
    }

    public boolean func_110263_g(EntityPlayer par1EntityPlayer)
    {
        this.func_110213_b(par1EntityPlayer.getCommandSenderName());
        this.func_110234_j(true);
        return true;
    }

    /**
     * Moves the entity based on the specified heading.  Args: strafe, forward
     */
    public void moveEntityWithHeading(float par1, float par2)
    {
        if (this.riddenByEntity != null && this.func_110257_ck())
        {
            this.prevRotationYaw = this.rotationYaw = this.riddenByEntity.rotationYaw;
            this.rotationPitch = this.riddenByEntity.rotationPitch * 0.5F;
            this.setRotation(this.rotationYaw, this.rotationPitch);
            this.rotationYawHead = this.renderYawOffset = this.rotationYaw;
            par1 = ((EntityLivingBase)this.riddenByEntity).moveStrafing * 0.5F;
            par2 = ((EntityLivingBase)this.riddenByEntity).moveForward;

            if (par2 <= 0.0F)
            {
                par2 *= 0.25F;
                this.field_110285_bP = 0;
            }

            if (this.onGround && this.field_110277_bt == 0.0F && this.func_110209_cd() && !this.field_110294_bI)
            {
                par1 = 0.0F;
                par2 = 0.0F;
            }

            if (this.field_110277_bt > 0.0F && !this.func_110246_bZ() && this.onGround)
            {
                this.motionY = this.func_110215_cj() * (double)this.field_110277_bt;

                if (this.isPotionActive(Potion.jump))
                {
                    this.motionY += (double)((float)(this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F);
                }

                this.func_110255_k(true);
                this.isAirBorne = true;

                if (par2 > 0.0F)
                {
                    float f2 = MathHelper.sin(this.rotationYaw * (float)Math.PI / 180.0F);
                    float f3 = MathHelper.cos(this.rotationYaw * (float)Math.PI / 180.0F);
                    this.motionX += (double)(-0.4F * f2 * this.field_110277_bt);
                    this.motionZ += (double)(0.4F * f3 * this.field_110277_bt);
                    this.playSound("mob.horse.jump", 0.4F, 1.0F);
                }

                this.field_110277_bt = 0.0F;
            }

            this.stepHeight = 1.0F;
            this.jumpMovementFactor = this.getAIMoveSpeed() * 0.1F;

            if (!this.worldObj.isRemote)
            {
                this.setAIMoveSpeed((float)this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111126_e());
                super.moveEntityWithHeading(par1, par2);
            }

            if (this.onGround)
            {
                this.field_110277_bt = 0.0F;
                this.func_110255_k(false);
            }

            this.prevLimbYaw = this.limbYaw;
            double d0 = this.posX - this.prevPosX;
            double d1 = this.posZ - this.prevPosZ;
            float f4 = MathHelper.sqrt_double(d0 * d0 + d1 * d1) * 4.0F;

            if (f4 > 1.0F)
            {
                f4 = 1.0F;
            }

            this.limbYaw += (f4 - this.limbYaw) * 0.4F;
            this.limbSwing += this.limbYaw;
        }
        else
        {
            this.stepHeight = 0.5F;
            this.jumpMovementFactor = 0.02F;
            super.moveEntityWithHeading(par1, par2);
        }
    }

    /**
     * (abstract) Protected helper method to write subclass entity data to NBT.
     */
    public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
    {
        super.writeEntityToNBT(par1NBTTagCompound);
        par1NBTTagCompound.setBoolean("EatingHaystack", this.func_110204_cc());
        par1NBTTagCompound.setBoolean("ChestedHorse", this.func_110261_ca());
        par1NBTTagCompound.setBoolean("HasReproduced", this.func_110243_cf());
        par1NBTTagCompound.setBoolean("Bred", this.func_110205_ce());
        par1NBTTagCompound.setInteger("Type", this.func_110265_bP());
        par1NBTTagCompound.setInteger("Variant", this.func_110202_bQ());
        par1NBTTagCompound.setInteger("Temper", this.func_110252_cg());
        par1NBTTagCompound.setBoolean("Tame", this.func_110248_bS());

        if (this.func_110261_ca())
        {
            NBTTagList nbttaglist = new NBTTagList();

            for (int i = 2; i < this.field_110296_bG.getSizeInventory(); ++i)
            {
                ItemStack itemstack = this.field_110296_bG.getStackInSlot(i);

                if (itemstack != null)
                {
                    NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                    nbttagcompound1.setByte("Slot", (byte)i);
                    itemstack.writeToNBT(nbttagcompound1);
                    nbttaglist.appendTag(nbttagcompound1);
                }
            }

            par1NBTTagCompound.setTag("Items", nbttaglist);
        }

        if (this.field_110296_bG.getStackInSlot(1) != null)
        {
            par1NBTTagCompound.setTag("ArmorItem", this.field_110296_bG.getStackInSlot(1).writeToNBT(new NBTTagCompound("ArmorItem")));
        }

        if (this.field_110296_bG.getStackInSlot(0) != null)
        {
            par1NBTTagCompound.setTag("SaddleItem", this.field_110296_bG.getStackInSlot(0).writeToNBT(new NBTTagCompound("SaddleItem")));
        }
    }

    /**
     * (abstract) Protected helper method to read subclass entity data from NBT.
     */
    public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
    {
        super.readEntityFromNBT(par1NBTTagCompound);
        this.func_110227_p(par1NBTTagCompound.getBoolean("EatingHaystack"));
        this.func_110242_l(par1NBTTagCompound.getBoolean("Bred"));
        this.func_110207_m(par1NBTTagCompound.getBoolean("ChestedHorse"));
        this.func_110221_n(par1NBTTagCompound.getBoolean("HasReproduced"));
        this.func_110214_p(par1NBTTagCompound.getInteger("Type"));
        this.func_110235_q(par1NBTTagCompound.getInteger("Variant"));
        this.func_110238_s(par1NBTTagCompound.getInteger("Temper"));
        this.func_110234_j(par1NBTTagCompound.getBoolean("Tame"));
        AttributeInstance attributeinstance = this.func_110140_aT().func_111152_a("Speed");

        if (attributeinstance != null)
        {
            this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(attributeinstance.func_111125_b() * 0.25D);
        }

        if (this.func_110261_ca())
        {
            NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items");
            this.func_110226_cD();

            for (int i = 0; i < nbttaglist.tagCount(); ++i)
            {
                NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i);
                int j = nbttagcompound1.getByte("Slot") & 255;

                if (j >= 2 && j < this.field_110296_bG.getSizeInventory())
                {
                    this.field_110296_bG.setInventorySlotContents(j, ItemStack.loadItemStackFromNBT(nbttagcompound1));
                }
            }
        }

        ItemStack itemstack;

        if (par1NBTTagCompound.hasKey("ArmorItem"))
        {
            itemstack = ItemStack.loadItemStackFromNBT(par1NBTTagCompound.getCompoundTag("ArmorItem"));

            if (itemstack != null && func_110211_v(itemstack.itemID))
            {
                this.field_110296_bG.setInventorySlotContents(1, itemstack);
            }
        }

        if (par1NBTTagCompound.hasKey("SaddleItem"))
        {
            itemstack = ItemStack.loadItemStackFromNBT(par1NBTTagCompound.getCompoundTag("SaddleItem"));

            if (itemstack != null && itemstack.itemID == Item.saddle.itemID)
            {
                this.field_110296_bG.setInventorySlotContents(0, itemstack);
            }
        }
        else if (par1NBTTagCompound.getBoolean("Saddle"))
        {
            this.field_110296_bG.setInventorySlotContents(0, new ItemStack(Item.saddle));
        }

        this.func_110232_cE();
    }

    /**
     * Returns true if the mob is currently able to mate with the specified mob.
     */
    public boolean canMateWith(EntityAnimal par1EntityAnimal)
    {
        if (par1EntityAnimal == this)
        {
            return false;
        }
        else if (par1EntityAnimal.getClass() != this.getClass())
        {
            return false;
        }
        else
        {
            EntityMoreOresHorse entityhorse = (EntityMoreOresHorse)par1EntityAnimal;

            if (this.func_110200_cJ() && entityhorse.func_110200_cJ())
            {
                int i = this.func_110265_bP();
                int j = entityhorse.func_110265_bP();
                return i == j || i == 0 && j == 1 || i == 1 && j == 0;
            }
            else
            {
                return false;
            }
        }
    }

    public EntityAgeable createChild(EntityAgeable par1EntityAgeable)
    {
        EntityMoreOresHorse entityhorse = (EntityMoreOresHorse)par1EntityAgeable;
        EntityMoreOresHorse entityhorse1 = new EntityMoreOresHorse(this.worldObj);
        int i = this.func_110265_bP();
        int j = entityhorse.func_110265_bP();
        int k = 0;

        if (i == j)
        {
            k = i;
        }
        else if (i == 0 && j == 1 || i == 1 && j == 0)
        {
            k = 2;
        }

        if (k == 0)
        {
            int l = this.rand.nextInt(9);
            int i1;

            if (l < 4)
            {
                i1 = this.func_110202_bQ() & 255;
            }
            else if (l < 
            {
                i1 = entityhorse.func_110202_bQ() & 255;
            }
            else
            {
                i1 = this.rand.nextInt(7);
            }

            int j1 = this.rand.nextInt(5);

            if (j1 < 4)
            {
                i1 |= this.func_110202_bQ() & 65280;
            }
            else if (j1 < 
            {
                i1 |= entityhorse.func_110202_bQ() & 65280;
            }
            else
            {
                i1 |= this.rand.nextInt(5) << 8 & 65280;
            }

            entityhorse1.func_110235_q(i1);
        }

        entityhorse1.func_110214_p(k);
        double d0 = this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111125_b() + par1EntityAgeable.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111125_b() + (double)this.func_110267_cL();
        entityhorse1.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(d0 / 3.0D);
        double d2 = this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111125_b() + par1EntityAgeable.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111125_b() + this.func_110203_cN();
        entityhorse1.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(d2 / 3.0D);
        return entityhorse1;
    }

    public EntityLivingData func_110161_a(EntityLivingData par1EntityLivingData)
    {
        Object par1EntityLivingData1 = super.func_110161_a(par1EntityLivingData);
        boolean flag = false;
        int i = 0;
        int j;

        if (par1EntityLivingData1 instanceof EntityMoreOresHorseGroupData)
        {
            j = ((EntityMoreOresHorseGroupData)par1EntityLivingData1).field_111107_a;
            i = ((EntityMoreOresHorseGroupData)par1EntityLivingData1).field_111106_b & 255 | this.rand.nextInt(5) << 8;
        }
        else
        {
            if (this.rand.nextInt(10) == 0)
            {
                j = 1;
            }
            else
            {
                int k = this.rand.nextInt(7);
                int l = this.rand.nextInt(5);
                j = 0;
                i = k | l << 8;
            }

            par1EntityLivingData1 = new EntityMoreOresHorseGroupData(j, i);
        }

        this.func_110214_p(j);
        this.func_110235_q(i);

        if (this.rand.nextInt(5) == 0)
        {
            this.setGrowingAge(-24000);
        }

        if (j != 4 && j != 3)
        {
            this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a((double)this.func_110267_cL());

            if (j == 0)
            {
                this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(this.func_110203_cN());
            }
            else
            {
                this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(0.17499999701976776D);
            }
        }
        else
        {
            this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(15.0D);
            this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(0.20000000298023224D);
        }

        if (j != 2 && j != 1)
        {
        }
        else
        {
        }

        this.setEntityHealth(this.func_110138_aP());
        return (EntityLivingData)par1EntityLivingData1;
    }

    @SideOnly(Side.CLIENT)
    public float func_110258_o(float par1)
    {
        return this.field_110284_bK + (this.field_110283_bJ - this.field_110284_bK) * par1;
    }

    @SideOnly(Side.CLIENT)
    public float func_110223_p(float par1)
    {
        return this.field_110282_bM + (this.field_110281_bL - this.field_110282_bM) * par1;
    }

    @SideOnly(Side.CLIENT)
    public float func_110201_q(float par1)
    {
        return this.field_110288_bO + (this.field_110287_bN - this.field_110288_bO) * par1;
    }

    /**
     * Returns true if the newer Entity AI code should be run
     */
    protected boolean isAIEnabled()
    {
        return true;
    }

    public void func_110206_u(int par1)
    {
        if (par1 < 0)
        {
            par1 = 0;
        }
        else
        {
            this.field_110294_bI = true;
            this.func_110220_cK();
        }

        if (par1 >= 90)
        {
            this.field_110277_bt = 1.0F;
        }
        else
        {
            this.field_110277_bt = 0.4F + 0.4F * (float)par1 / 90.0F;
        }
    }

    @SideOnly(Side.CLIENT)
    protected void func_110216_r(boolean par1)
    {
        String s = par1 ? "heart" : "smoke";

        for (int i = 0; i < 7; ++i)
        {
            double d0 = this.rand.nextGaussian() * 0.02D;
            double d1 = this.rand.nextGaussian() * 0.02D;
            double d2 = this.rand.nextGaussian() * 0.02D;
            this.worldObj.spawnParticle(s, this.posX + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width, this.posY + 0.5D + (double)(this.rand.nextFloat() * this.height), this.posZ + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width, d0, d1, d2);
        }
    }

    @SideOnly(Side.CLIENT)
    public void handleHealthUpdate(byte par1)
    {
        if (par1 == 7)
        {
            this.func_110216_r(true);
        }
        else if (par1 == 6)
        {
            this.func_110216_r(false);
        }
        else
        {
            super.handleHealthUpdate(par1);
        }
    }

    public void updateRiderPosition()
    {
        super.updateRiderPosition();

        if (this.field_110282_bM > 0.0F)
        {
            float f = MathHelper.sin(this.renderYawOffset * (float)Math.PI / 180.0F);
            float f1 = MathHelper.cos(this.renderYawOffset * (float)Math.PI / 180.0F);
            float f2 = 0.7F * this.field_110282_bM;
            float f3 = 0.15F * this.field_110282_bM;
            this.riddenByEntity.setPosition(this.posX + (double)(f2 * f), this.posY + this.getMountedYOffset() + this.riddenByEntity.getYOffset() + (double)f3, this.posZ - (double)(f2 * f1));

            if (this.riddenByEntity instanceof EntityLivingBase)
            {
                ((EntityLivingBase)this.riddenByEntity).renderYawOffset = this.renderYawOffset;
            }
        }
    }

    private float func_110267_cL()
    {
        return 15.0F + (float)this.rand.nextInt( + (float)this.rand.nextInt(9);
    }

    private double func_110245_cM()
    {
        return 0.4000000059604645D + this.rand.nextDouble() * 0.2D + this.rand.nextDouble() * 0.2D + this.rand.nextDouble() * 0.2D;
    }

    private double func_110203_cN()
    {
        return (0.44999998807907104D + this.rand.nextDouble() * 0.3D + this.rand.nextDouble() * 0.3D + this.rand.nextDouble() * 0.3D) * 0.25D;
    }

    public static boolean func_110211_v(int par0)
    {
        return par0 == Item.field_111215_ce.itemID || par0 == Item.field_111216_cf.itemID || par0 == Item.field_111213_cg.itemID;
    }

    /**
     * returns true if this entity is by a ladder, false otherwise
     */
    public boolean isOnLadder()
    {
        return false;
    }
}

 

 

 

RenderMyHorse:

 

 

package moreores.entity;

import java.util.Map;

import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.client.renderer.texture.LayeredTexture;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.client.resources.ResourceLocation;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;

import org.lwjgl.opengl.GL11;

import com.google.common.collect.Maps;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

@SideOnly(Side.CLIENT)
public class RenderMoreOresHorse extends RenderLiving
{
    private static final Map field_110852_a = Maps.newHashMap();
    private static final ResourceLocation field_110850_f = new ResourceLocation("textures/moreores/textures/mobs/horse_orange.png");
    private static final ResourceLocation field_110851_g = new ResourceLocation("textures/moreores/textures/mobs/horse_yellow.png");
    private static final ResourceLocation field_110855_h = new ResourceLocation("textures/moreores/textures/mobs/horse_green.png");
    private static final ResourceLocation field_110854_k = new ResourceLocation("textures/moreores/textures/mobs/horse_blue.png");
    private static final ResourceLocation field_110853_l = new ResourceLocation("textures/moreores/textures/mobs/horse_orange.png");
  
    public RenderMoreOresHorse(ModelBase par1ModelBase, float par2)
    {
        super(par1ModelBase, par2);
    }

    protected void func_110847_a(EntityMoreOresHorse par1EntityHorse, float par2)
    {
        float f1 = 1.0F;
        int i = par1EntityHorse.func_110265_bP();

        if (i == 1)
        {
            f1 *= 0.87F;
        }
        else if (i == 2)
        {
            f1 *= 0.92F;
        }

        GL11.glScalef(f1, f1, f1);
        super.preRenderCallback(par1EntityHorse, par2);
    }

    protected void func_110846_a(EntityMoreOresHorse par1EntityHorse, float par2, float par3, float par4, float par5, float par6, float par7)
    {
        if (par1EntityHorse.isInvisible())
        {
            this.mainModel.setRotationAngles(par2, par3, par4, par5, par6, par7, par1EntityHorse);
        }
        else
        {
            this.func_110777_b(par1EntityHorse);
            this.mainModel.render(par1EntityHorse, par2, par3, par4, par5, par6, par7);
        }
    }

    protected ResourceLocation func_110849_a(EntityMoreOresHorse par1EntityHorse)
    {
        if (!par1EntityHorse.func_110239_cn())
        {
            switch (par1EntityHorse.func_110265_bP())
            {
                case 0:
                default:
                    return field_110850_f;
                case 1:
                    return field_110855_h;
                case 2:
                    return field_110851_g;
                case 3:
                    return field_110854_k;
                case 4:
                    return field_110853_l;
            }
        }
        else
        {
            return this.func_110848_b(par1EntityHorse);
        }
    }

    private ResourceLocation func_110848_b(EntityMoreOresHorse par1EntityHorse)
    {
        String s = par1EntityHorse.func_110264_co();
        ResourceLocation resourcelocation = (ResourceLocation)field_110852_a.get(s);

        if (resourcelocation == null)
        {
            resourcelocation = new ResourceLocation(s);
            TextureManager texturemanager = Minecraft.getMinecraft().func_110434_K();

            if (texturemanager.func_110581_b(resourcelocation) == null)
            {
                texturemanager.func_110579_a(resourcelocation, new LayeredTexture(par1EntityHorse.func_110212_cp()));
            }

            field_110852_a.put(s, resourcelocation);
        }

        return resourcelocation;
    }

    /**
     * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args:
     * entityLiving, partialTickTime
     */
    protected void preRenderCallback(EntityLivingBase par1EntityLivingBase, float par2)
    {
        this.func_110847_a((EntityMoreOresHorse)par1EntityLivingBase, par2);
    }

    /**
     * Renders the model in RenderLiving
     */
    protected void renderModel(EntityLivingBase par1EntityLivingBase, float par2, float par3, float par4, float par5, float par6, float par7)
    {
        this.func_110846_a((EntityMoreOresHorse)par1EntityLivingBase, par2, par3, par4, par5, par6, par7);
    }

    protected ResourceLocation func_110775_a(Entity par1Entity)
    {
        return this.func_110849_a((EntityMoreOresHorse)par1Entity);
    }
}

 

 

 

ModelMyHorse:

 

 

package moreores.entity;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.MathHelper;
import org.lwjgl.opengl.GL11;

@SideOnly(Side.CLIENT)
public class ModelMoreOresHorse extends ModelBase
{
    private ModelRenderer field_110709_a;
    private ModelRenderer field_110707_b;
    private ModelRenderer field_110708_c;
    private ModelRenderer field_110705_d;
    private ModelRenderer field_110706_e;
    private ModelRenderer field_110703_f;
    private ModelRenderer field_110704_g;
    private ModelRenderer field_110716_h;
    private ModelRenderer field_110717_i;
    private ModelRenderer field_110714_j;
    private ModelRenderer field_110715_k;
    private ModelRenderer field_110712_l;
    private ModelRenderer field_110713_m;
    private ModelRenderer field_110710_n;
    private ModelRenderer field_110711_o;
    private ModelRenderer field_110719_v;
    private ModelRenderer field_110718_w;
    private ModelRenderer field_110722_x;
    private ModelRenderer field_110721_y;
    private ModelRenderer field_110720_z;
    private ModelRenderer field_110688_A;
    private ModelRenderer field_110689_B;
    private ModelRenderer field_110690_C;
    private ModelRenderer field_110684_D;
    private ModelRenderer field_110685_E;
    private ModelRenderer field_110686_F;
    private ModelRenderer field_110687_G;
    private ModelRenderer field_110695_H;
    private ModelRenderer field_110696_I;
    private ModelRenderer field_110697_J;
    private ModelRenderer field_110698_K;
    private ModelRenderer field_110691_L;
    private ModelRenderer field_110692_M;
    private ModelRenderer field_110693_N;
    private ModelRenderer field_110694_O;
    private ModelRenderer field_110700_P;
    private ModelRenderer field_110699_Q;
    private ModelRenderer field_110702_R;
    private ModelRenderer field_110701_S;

    public ModelMoreOresHorse()
    {
        this.textureWidth = 128;
        this.textureHeight = 128;
        this.field_110715_k = new ModelRenderer(this, 0, 34);
        this.field_110715_k.addBox(-5.0F, -8.0F, -19.0F, 10, 10, 24);
        this.field_110715_k.setRotationPoint(0.0F, 11.0F, 9.0F);
        this.field_110712_l = new ModelRenderer(this, 44, 0);
        this.field_110712_l.addBox(-1.0F, -1.0F, 0.0F, 2, 2, 3);
        this.field_110712_l.setRotationPoint(0.0F, 3.0F, 14.0F);
        this.func_110682_a(this.field_110712_l, -1.134464F, 0.0F, 0.0F);
        this.field_110713_m = new ModelRenderer(this, 38, 7);
        this.field_110713_m.addBox(-1.5F, -2.0F, 3.0F, 3, 4, 7);
        this.field_110713_m.setRotationPoint(0.0F, 3.0F, 14.0F);
        this.func_110682_a(this.field_110713_m, -1.134464F, 0.0F, 0.0F);
        this.field_110710_n = new ModelRenderer(this, 24, 3);
        this.field_110710_n.addBox(-1.5F, -4.5F, 9.0F, 3, 4, 7);
        this.field_110710_n.setRotationPoint(0.0F, 3.0F, 14.0F);
        this.func_110682_a(this.field_110710_n, -1.40215F, 0.0F, 0.0F);
        this.field_110711_o = new ModelRenderer(this, 78, 29);
        this.field_110711_o.addBox(-2.5F, -2.0F, -2.5F, 4, 9, 5);
        this.field_110711_o.setRotationPoint(4.0F, 9.0F, 11.0F);
        this.field_110719_v = new ModelRenderer(this, 78, 43);
        this.field_110719_v.addBox(-2.0F, 0.0F, -1.5F, 3, 5, 3);
        this.field_110719_v.setRotationPoint(4.0F, 16.0F, 11.0F);
        this.field_110718_w = new ModelRenderer(this, 78, 51);
        this.field_110718_w.addBox(-2.5F, 5.1F, -2.0F, 4, 3, 4);
        this.field_110718_w.setRotationPoint(4.0F, 16.0F, 11.0F);
        this.field_110722_x = new ModelRenderer(this, 96, 29);
        this.field_110722_x.addBox(-1.5F, -2.0F, -2.5F, 4, 9, 5);
        this.field_110722_x.setRotationPoint(-4.0F, 9.0F, 11.0F);
        this.field_110721_y = new ModelRenderer(this, 96, 43);
        this.field_110721_y.addBox(-1.0F, 0.0F, -1.5F, 3, 5, 3);
        this.field_110721_y.setRotationPoint(-4.0F, 16.0F, 11.0F);
        this.field_110720_z = new ModelRenderer(this, 96, 51);
        this.field_110720_z.addBox(-1.5F, 5.1F, -2.0F, 4, 3, 4);
        this.field_110720_z.setRotationPoint(-4.0F, 16.0F, 11.0F);
        this.field_110688_A = new ModelRenderer(this, 44, 29);
        this.field_110688_A.addBox(-1.9F, -1.0F, -2.1F, 3, 8, 4);
        this.field_110688_A.setRotationPoint(4.0F, 9.0F, -8.0F);
        this.field_110689_B = new ModelRenderer(this, 44, 41);
        this.field_110689_B.addBox(-1.9F, 0.0F, -1.6F, 3, 5, 3);
        this.field_110689_B.setRotationPoint(4.0F, 16.0F, -8.0F);
        this.field_110690_C = new ModelRenderer(this, 44, 51);
        this.field_110690_C.addBox(-2.4F, 5.1F, -2.1F, 4, 3, 4);
        this.field_110690_C.setRotationPoint(4.0F, 16.0F, -8.0F);
        this.field_110684_D = new ModelRenderer(this, 60, 29);
        this.field_110684_D.addBox(-1.1F, -1.0F, -2.1F, 3, 8, 4);
        this.field_110684_D.setRotationPoint(-4.0F, 9.0F, -8.0F);
        this.field_110685_E = new ModelRenderer(this, 60, 41);
        this.field_110685_E.addBox(-1.1F, 0.0F, -1.6F, 3, 5, 3);
        this.field_110685_E.setRotationPoint(-4.0F, 16.0F, -8.0F);
        this.field_110686_F = new ModelRenderer(this, 60, 51);
        this.field_110686_F.addBox(-1.6F, 5.1F, -2.1F, 4, 3, 4);
        this.field_110686_F.setRotationPoint(-4.0F, 16.0F, -8.0F);
        this.field_110709_a = new ModelRenderer(this, 0, 0);
        this.field_110709_a.addBox(-2.5F, -10.0F, -1.5F, 5, 5, 7);
        this.field_110709_a.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110709_a, 0.5235988F, 0.0F, 0.0F);
        this.field_110707_b = new ModelRenderer(this, 24, 18);
        this.field_110707_b.addBox(-2.0F, -10.0F, -7.0F, 4, 3, 6);
        this.field_110707_b.setRotationPoint(0.0F, 3.95F, -10.0F);
        this.func_110682_a(this.field_110707_b, 0.5235988F, 0.0F, 0.0F);
        this.field_110708_c = new ModelRenderer(this, 24, 27);
        this.field_110708_c.addBox(-2.0F, -7.0F, -6.5F, 4, 2, 5);
        this.field_110708_c.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110708_c, 0.5235988F, 0.0F, 0.0F);
        this.field_110709_a.addChild(this.field_110707_b);
        this.field_110709_a.addChild(this.field_110708_c);
        this.field_110705_d = new ModelRenderer(this, 0, 0);
        this.field_110705_d.addBox(0.45F, -12.0F, 4.0F, 2, 3, 1);
        this.field_110705_d.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110705_d, 0.5235988F, 0.0F, 0.0F);
        this.field_110706_e = new ModelRenderer(this, 0, 0);
        this.field_110706_e.addBox(-2.45F, -12.0F, 4.0F, 2, 3, 1);
        this.field_110706_e.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110706_e, 0.5235988F, 0.0F, 0.0F);
        this.field_110703_f = new ModelRenderer(this, 0, 12);
        this.field_110703_f.addBox(-2.0F, -16.0F, 4.0F, 2, 7, 1);
        this.field_110703_f.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110703_f, 0.5235988F, 0.0F, 0.2617994F);
        this.field_110704_g = new ModelRenderer(this, 0, 12);
        this.field_110704_g.addBox(0.0F, -16.0F, 4.0F, 2, 7, 1);
        this.field_110704_g.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110704_g, 0.5235988F, 0.0F, -0.2617994F);
        this.field_110716_h = new ModelRenderer(this, 0, 12);
        this.field_110716_h.addBox(-2.05F, -9.8F, -2.0F, 4, 14, ;
        this.field_110716_h.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110716_h, 0.5235988F, 0.0F, 0.0F);
        this.field_110687_G = new ModelRenderer(this, 0, 34);
        this.field_110687_G.addBox(-3.0F, 0.0F, 0.0F, 8, 8, 3);
        this.field_110687_G.setRotationPoint(-7.5F, 3.0F, 10.0F);
        this.func_110682_a(this.field_110687_G, 0.0F, ((float)Math.PI / 2F), 0.0F);
        this.field_110695_H = new ModelRenderer(this, 0, 47);
        this.field_110695_H.addBox(-3.0F, 0.0F, 0.0F, 8, 8, 3);
        this.field_110695_H.setRotationPoint(4.5F, 3.0F, 10.0F);
        this.func_110682_a(this.field_110695_H, 0.0F, ((float)Math.PI / 2F), 0.0F);
        this.field_110696_I = new ModelRenderer(this, 80, 0);
        this.field_110696_I.addBox(-5.0F, 0.0F, -3.0F, 10, 1, ;
        this.field_110696_I.setRotationPoint(0.0F, 2.0F, 2.0F);
        this.field_110697_J = new ModelRenderer(this, 106, 9);
        this.field_110697_J.addBox(-1.5F, -1.0F, -3.0F, 3, 1, 2);
        this.field_110697_J.setRotationPoint(0.0F, 2.0F, 2.0F);
        this.field_110698_K = new ModelRenderer(this, 80, 9);
        this.field_110698_K.addBox(-4.0F, -1.0F, 3.0F, 8, 1, 2);
        this.field_110698_K.setRotationPoint(0.0F, 2.0F, 2.0F);
        this.field_110692_M = new ModelRenderer(this, 74, 0);
        this.field_110692_M.addBox(-0.5F, 6.0F, -1.0F, 1, 2, 2);
        this.field_110692_M.setRotationPoint(5.0F, 3.0F, 2.0F);
        this.field_110691_L = new ModelRenderer(this, 70, 0);
        this.field_110691_L.addBox(-0.5F, 0.0F, -0.5F, 1, 6, 1);
        this.field_110691_L.setRotationPoint(5.0F, 3.0F, 2.0F);
        this.field_110694_O = new ModelRenderer(this, 74, 4);
        this.field_110694_O.addBox(-0.5F, 6.0F, -1.0F, 1, 2, 2);
        this.field_110694_O.setRotationPoint(-5.0F, 3.0F, 2.0F);
        this.field_110693_N = new ModelRenderer(this, 80, 0);
        this.field_110693_N.addBox(-0.5F, 0.0F, -0.5F, 1, 6, 1);
        this.field_110693_N.setRotationPoint(-5.0F, 3.0F, 2.0F);
        this.field_110700_P = new ModelRenderer(this, 74, 13);
        this.field_110700_P.addBox(1.5F, -8.0F, -4.0F, 1, 2, 2);
        this.field_110700_P.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110700_P, 0.5235988F, 0.0F, 0.0F);
        this.field_110699_Q = new ModelRenderer(this, 74, 13);
        this.field_110699_Q.addBox(-2.5F, -8.0F, -4.0F, 1, 2, 2);
        this.field_110699_Q.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110699_Q, 0.5235988F, 0.0F, 0.0F);
        this.field_110702_R = new ModelRenderer(this, 44, 10);
        this.field_110702_R.addBox(2.6F, -6.0F, -6.0F, 0, 3, 16);
        this.field_110702_R.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.field_110701_S = new ModelRenderer(this, 44, 5);
        this.field_110701_S.addBox(-2.6F, -6.0F, -6.0F, 0, 3, 16);
        this.field_110701_S.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.field_110714_j = new ModelRenderer(this, 58, 0);
        this.field_110714_j.addBox(-1.0F, -11.5F, 5.0F, 2, 16, 4);
        this.field_110714_j.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110714_j, 0.5235988F, 0.0F, 0.0F);
        this.field_110717_i = new ModelRenderer(this, 80, 12);
        this.field_110717_i.addBox(-2.5F, -10.1F, -7.0F, 5, 5, 12, 0.2F);
        this.field_110717_i.setRotationPoint(0.0F, 4.0F, -10.0F);
        this.func_110682_a(this.field_110717_i, 0.5235988F, 0.0F, 0.0F);
    }

    /**
     * Sets the models various rotation angles then renders the model.
     */
    public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7)
    {
        EntityMoreOresHorse entityhorse = (EntityMoreOresHorse)par1Entity;
        int i = entityhorse.func_110265_bP();
        float f6 = entityhorse.func_110258_o(0.0F);
        boolean flag = entityhorse.func_110228_bR();
        boolean flag1 = flag && entityhorse.func_110257_ck();
        boolean flag2 = flag && entityhorse.func_110261_ca();
        boolean flag3 = i == 1 || i == 2;
        float f7 = entityhorse.func_110254_bY();
        boolean flag4 = entityhorse.riddenByEntity != null;

        if (flag1)
        {
            this.field_110717_i.render(par7);
            this.field_110696_I.render(par7);
            this.field_110697_J.render(par7);
            this.field_110698_K.render(par7);
            this.field_110691_L.render(par7);
            this.field_110692_M.render(par7);
            this.field_110693_N.render(par7);
            this.field_110694_O.render(par7);
            this.field_110700_P.render(par7);
            this.field_110699_Q.render(par7);

            if (flag4)
            {
                this.field_110702_R.render(par7);
                this.field_110701_S.render(par7);
            }
        }

        if (!flag)
        {
            GL11.glPushMatrix();
            GL11.glScalef(f7, 0.5F + f7 * 0.5F, f7);
            GL11.glTranslatef(0.0F, 0.95F * (1.0F - f7), 0.0F);
        }

        this.field_110711_o.render(par7);
        this.field_110719_v.render(par7);
        this.field_110718_w.render(par7);
        this.field_110722_x.render(par7);
        this.field_110721_y.render(par7);
        this.field_110720_z.render(par7);
        this.field_110688_A.render(par7);
        this.field_110689_B.render(par7);
        this.field_110690_C.render(par7);
        this.field_110684_D.render(par7);
        this.field_110685_E.render(par7);
        this.field_110686_F.render(par7);

        if (!flag)
        {
            GL11.glPopMatrix();
            GL11.glPushMatrix();
            GL11.glScalef(f7, f7, f7);
            GL11.glTranslatef(0.0F, 1.35F * (1.0F - f7), 0.0F);
        }

        this.field_110715_k.render(par7);
        this.field_110712_l.render(par7);
        this.field_110713_m.render(par7);
        this.field_110710_n.render(par7);
        this.field_110716_h.render(par7);
        this.field_110714_j.render(par7);

        if (!flag)
        {
            GL11.glPopMatrix();
            GL11.glPushMatrix();
            float f8 = 0.5F + f7 * f7 * 0.5F;
            GL11.glScalef(f8, f8, f8);

            if (f6 <= 0.0F)
            {
                GL11.glTranslatef(0.0F, 1.35F * (1.0F - f7), 0.0F);
            }
            else
            {
                GL11.glTranslatef(0.0F, 0.9F * (1.0F - f7) * f6 + 1.35F * (1.0F - f7) * (1.0F - f6), 0.15F * (1.0F - f7) * f6);
            }
        }

        if (flag3)
        {
            this.field_110703_f.render(par7);
            this.field_110704_g.render(par7);
        }
        else
        {
            this.field_110705_d.render(par7);
            this.field_110706_e.render(par7);
        }

        this.field_110709_a.render(par7);

        if (!flag)
        {
            GL11.glPopMatrix();
        }

        if (flag2)
        {
            this.field_110687_G.render(par7);
            this.field_110695_H.render(par7);
        }
    }

    private void func_110682_a(ModelRenderer par1ModelRenderer, float par2, float par3, float par4)
    {
        par1ModelRenderer.rotateAngleX = par2;
        par1ModelRenderer.rotateAngleY = par3;
        par1ModelRenderer.rotateAngleZ = par4;
    }

    private float func_110683_a(float par1, float par2, float par3)
    {
        float f3;

        for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F)
        {
            ;
        }

        while (f3 >= 180.0F)
        {
            f3 -= 360.0F;
        }

        return par1 + par3 * f3;
    }

    /**
     * Used for easily adding entity-dependent animations. The second and third float params here are the same second
     * and third as in the setRotationAngles method.
     */
    public void setLivingAnimations(EntityLivingBase par1EntityLivingBase, float par2, float par3, float par4)
    {
        super.setLivingAnimations(par1EntityLivingBase, par2, par3, par4);
        float f3 = this.func_110683_a(par1EntityLivingBase.prevRenderYawOffset, par1EntityLivingBase.renderYawOffset, par4);
        float f4 = this.func_110683_a(par1EntityLivingBase.prevRotationYawHead, par1EntityLivingBase.rotationYawHead, par4);
        float f5 = par1EntityLivingBase.prevRotationPitch + (par1EntityLivingBase.rotationPitch - par1EntityLivingBase.prevRotationPitch) * par4;
        float f6 = f4 - f3;
        float f7 = f5 / (180F / (float)Math.PI);

        if (f6 > 20.0F)
        {
            f6 = 20.0F;
        }

        if (f6 < -20.0F)
        {
            f6 = -20.0F;
        }

        if (par3 > 0.2F)
        {
            f7 += MathHelper.cos(par2 * 0.4F) * 0.15F * par3;
        }

        EntityMoreOresHorse entityhorse = (EntityMoreOresHorse)par1EntityLivingBase;
        float f8 = entityhorse.func_110258_o(par4);
        float f9 = entityhorse.func_110223_p(par4);
        float f10 = 1.0F - f9;
        float f11 = entityhorse.func_110201_q(par4);
        boolean flag = entityhorse.field_110278_bp != 0;
        boolean flag1 = entityhorse.func_110257_ck();
        boolean flag2 = entityhorse.riddenByEntity != null;
        float f12 = (float)par1EntityLivingBase.ticksExisted + par4;
        float f13 = MathHelper.cos(par2 * 0.6662F + (float)Math.PI);
        float f14 = f13 * 0.8F * par3;
        this.field_110709_a.rotationPointY = 4.0F;
        this.field_110709_a.rotationPointZ = -10.0F;
        this.field_110712_l.rotationPointY = 3.0F;
        this.field_110713_m.rotationPointZ = 14.0F;
        this.field_110695_H.rotationPointY = 3.0F;
        this.field_110695_H.rotationPointZ = 10.0F;
        this.field_110715_k.rotateAngleX = 0.0F;
        this.field_110709_a.rotateAngleX = 0.5235988F + f7;
        this.field_110709_a.rotateAngleY = f6 / (180F / (float)Math.PI);
        this.field_110709_a.rotateAngleX = f9 * (0.2617994F + f7) + f8 * 2.18166F + (1.0F - Math.max(f9, f8)) * this.field_110709_a.rotateAngleX;
        this.field_110709_a.rotateAngleY = f9 * (f6 / (180F / (float)Math.PI)) + (1.0F - Math.max(f9, f8)) * this.field_110709_a.rotateAngleY;
        this.field_110709_a.rotationPointY = f9 * -6.0F + f8 * 11.0F + (1.0F - Math.max(f9, f8)) * this.field_110709_a.rotationPointY;
        this.field_110709_a.rotationPointZ = f9 * -1.0F + f8 * -10.0F + (1.0F - Math.max(f9, f8)) * this.field_110709_a.rotationPointZ;
        this.field_110712_l.rotationPointY = f9 * 9.0F + f10 * this.field_110712_l.rotationPointY;
        this.field_110713_m.rotationPointZ = f9 * 18.0F + f10 * this.field_110713_m.rotationPointZ;
        this.field_110695_H.rotationPointY = f9 * 5.5F + f10 * this.field_110695_H.rotationPointY;
        this.field_110695_H.rotationPointZ = f9 * 15.0F + f10 * this.field_110695_H.rotationPointZ;
        this.field_110715_k.rotateAngleX = f9 * -((float)Math.PI / 4F) + f10 * this.field_110715_k.rotateAngleX;
        this.field_110705_d.rotationPointY = this.field_110709_a.rotationPointY;
        this.field_110706_e.rotationPointY = this.field_110709_a.rotationPointY;
        this.field_110703_f.rotationPointY = this.field_110709_a.rotationPointY;
        this.field_110704_g.rotationPointY = this.field_110709_a.rotationPointY;
        this.field_110716_h.rotationPointY = this.field_110709_a.rotationPointY;
        this.field_110707_b.rotationPointY = 0.02F;
        this.field_110708_c.rotationPointY = 0.0F;
        this.field_110714_j.rotationPointY = this.field_110709_a.rotationPointY;
        this.field_110705_d.rotationPointZ = this.field_110709_a.rotationPointZ;
        this.field_110706_e.rotationPointZ = this.field_110709_a.rotationPointZ;
        this.field_110703_f.rotationPointZ = this.field_110709_a.rotationPointZ;
        this.field_110704_g.rotationPointZ = this.field_110709_a.rotationPointZ;
        this.field_110716_h.rotationPointZ = this.field_110709_a.rotationPointZ;
        this.field_110707_b.rotationPointZ = 0.02F - f11 * 1.0F;
        this.field_110708_c.rotationPointZ = 0.0F + f11 * 1.0F;
        this.field_110714_j.rotationPointZ = this.field_110709_a.rotationPointZ;
        this.field_110705_d.rotateAngleX = this.field_110709_a.rotateAngleX;
        this.field_110706_e.rotateAngleX = this.field_110709_a.rotateAngleX;
        this.field_110703_f.rotateAngleX = this.field_110709_a.rotateAngleX;
        this.field_110704_g.rotateAngleX = this.field_110709_a.rotateAngleX;
        this.field_110716_h.rotateAngleX = this.field_110709_a.rotateAngleX;
        this.field_110707_b.rotateAngleX = 0.0F - 0.09424778F * f11;
        this.field_110708_c.rotateAngleX = 0.0F + 0.15707964F * f11;
        this.field_110714_j.rotateAngleX = this.field_110709_a.rotateAngleX;
        this.field_110705_d.rotateAngleY = this.field_110709_a.rotateAngleY;
        this.field_110706_e.rotateAngleY = this.field_110709_a.rotateAngleY;
        this.field_110703_f.rotateAngleY = this.field_110709_a.rotateAngleY;
        this.field_110704_g.rotateAngleY = this.field_110709_a.rotateAngleY;
        this.field_110716_h.rotateAngleY = this.field_110709_a.rotateAngleY;
        this.field_110707_b.rotateAngleY = 0.0F;
        this.field_110708_c.rotateAngleY = 0.0F;
        this.field_110714_j.rotateAngleY = this.field_110709_a.rotateAngleY;
        this.field_110687_G.rotateAngleX = f14 / 5.0F;
        this.field_110695_H.rotateAngleX = -f14 / 5.0F;
        float f15 = ((float)Math.PI / 2F);
        float f16 = ((float)Math.PI * 3F / 2F);
        float f17 = -1.0471976F;
        float f18 = 0.2617994F * f9;
        float f19 = MathHelper.cos(f12 * 0.6F + (float)Math.PI);
        this.field_110688_A.rotationPointY = -2.0F * f9 + 9.0F * f10;
        this.field_110688_A.rotationPointZ = -2.0F * f9 + -8.0F * f10;
        this.field_110684_D.rotationPointY = this.field_110688_A.rotationPointY;
        this.field_110684_D.rotationPointZ = this.field_110688_A.rotationPointZ;
        this.field_110719_v.rotationPointY = this.field_110711_o.rotationPointY + MathHelper.sin(((float)Math.PI / 2F) + f18 + f10 * -f13 * 0.5F * par3) * 7.0F;
        this.field_110719_v.rotationPointZ = this.field_110711_o.rotationPointZ + MathHelper.cos(((float)Math.PI * 3F / 2F) + f18 + f10 * -f13 * 0.5F * par3) * 7.0F;
        this.field_110721_y.rotationPointY = this.field_110722_x.rotationPointY + MathHelper.sin(((float)Math.PI / 2F) + f18 + f10 * f13 * 0.5F * par3) * 7.0F;
        this.field_110721_y.rotationPointZ = this.field_110722_x.rotationPointZ + MathHelper.cos(((float)Math.PI * 3F / 2F) + f18 + f10 * f13 * 0.5F * par3) * 7.0F;
        float f20 = (-1.0471976F + f19) * f9 + f14 * f10;
        float f21 = (-1.0471976F + -f19) * f9 + -f14 * f10;
        this.field_110689_B.rotationPointY = this.field_110688_A.rotationPointY + MathHelper.sin(((float)Math.PI / 2F) + f20) * 7.0F;
        this.field_110689_B.rotationPointZ = this.field_110688_A.rotationPointZ + MathHelper.cos(((float)Math.PI * 3F / 2F) + f20) * 7.0F;
        this.field_110685_E.rotationPointY = this.field_110684_D.rotationPointY + MathHelper.sin(((float)Math.PI / 2F) + f21) * 7.0F;
        this.field_110685_E.rotationPointZ = this.field_110684_D.rotationPointZ + MathHelper.cos(((float)Math.PI * 3F / 2F) + f21) * 7.0F;
        this.field_110711_o.rotateAngleX = f18 + -f13 * 0.5F * par3 * f10;
        this.field_110719_v.rotateAngleX = -0.08726646F * f9 + (-f13 * 0.5F * par3 - Math.max(0.0F, f13 * 0.5F * par3)) * f10;
        this.field_110718_w.rotateAngleX = this.field_110719_v.rotateAngleX;
        this.field_110722_x.rotateAngleX = f18 + f13 * 0.5F * par3 * f10;
        this.field_110721_y.rotateAngleX = -0.08726646F * f9 + (f13 * 0.5F * par3 - Math.max(0.0F, -f13 * 0.5F * par3)) * f10;
        this.field_110720_z.rotateAngleX = this.field_110721_y.rotateAngleX;
        this.field_110688_A.rotateAngleX = f20;
        this.field_110689_B.rotateAngleX = (this.field_110688_A.rotateAngleX + (float)Math.PI * Math.max(0.0F, 0.2F + f19 * 0.2F)) * f9 + (f14 + Math.max(0.0F, f13 * 0.5F * par3)) * f10;
        this.field_110690_C.rotateAngleX = this.field_110689_B.rotateAngleX;
        this.field_110684_D.rotateAngleX = f21;
        this.field_110685_E.rotateAngleX = (this.field_110684_D.rotateAngleX + (float)Math.PI * Math.max(0.0F, 0.2F - f19 * 0.2F)) * f9 + (-f14 + Math.max(0.0F, -f13 * 0.5F * par3)) * f10;
        this.field_110686_F.rotateAngleX = this.field_110685_E.rotateAngleX;
        this.field_110718_w.rotationPointY = this.field_110719_v.rotationPointY;
        this.field_110718_w.rotationPointZ = this.field_110719_v.rotationPointZ;
        this.field_110720_z.rotationPointY = this.field_110721_y.rotationPointY;
        this.field_110720_z.rotationPointZ = this.field_110721_y.rotationPointZ;
        this.field_110690_C.rotationPointY = this.field_110689_B.rotationPointY;
        this.field_110690_C.rotationPointZ = this.field_110689_B.rotationPointZ;
        this.field_110686_F.rotationPointY = this.field_110685_E.rotationPointY;
        this.field_110686_F.rotationPointZ = this.field_110685_E.rotationPointZ;

        if (flag1)
        {
            this.field_110696_I.rotationPointY = f9 * 0.5F + f10 * 2.0F;
            this.field_110696_I.rotationPointZ = f9 * 11.0F + f10 * 2.0F;
            this.field_110697_J.rotationPointY = this.field_110696_I.rotationPointY;
            this.field_110698_K.rotationPointY = this.field_110696_I.rotationPointY;
            this.field_110691_L.rotationPointY = this.field_110696_I.rotationPointY;
            this.field_110693_N.rotationPointY = this.field_110696_I.rotationPointY;
            this.field_110692_M.rotationPointY = this.field_110696_I.rotationPointY;
            this.field_110694_O.rotationPointY = this.field_110696_I.rotationPointY;
            this.field_110687_G.rotationPointY = this.field_110695_H.rotationPointY;
            this.field_110697_J.rotationPointZ = this.field_110696_I.rotationPointZ;
            this.field_110698_K.rotationPointZ = this.field_110696_I.rotationPointZ;
            this.field_110691_L.rotationPointZ = this.field_110696_I.rotationPointZ;
            this.field_110693_N.rotationPointZ = this.field_110696_I.rotationPointZ;
            this.field_110692_M.rotationPointZ = this.field_110696_I.rotationPointZ;
            this.field_110694_O.rotationPointZ = this.field_110696_I.rotationPointZ;
            this.field_110687_G.rotationPointZ = this.field_110695_H.rotationPointZ;
            this.field_110696_I.rotateAngleX = this.field_110715_k.rotateAngleX;
            this.field_110697_J.rotateAngleX = this.field_110715_k.rotateAngleX;
            this.field_110698_K.rotateAngleX = this.field_110715_k.rotateAngleX;
            this.field_110702_R.rotationPointY = this.field_110709_a.rotationPointY;
            this.field_110701_S.rotationPointY = this.field_110709_a.rotationPointY;
            this.field_110717_i.rotationPointY = this.field_110709_a.rotationPointY;
            this.field_110700_P.rotationPointY = this.field_110709_a.rotationPointY;
            this.field_110699_Q.rotationPointY = this.field_110709_a.rotationPointY;
            this.field_110702_R.rotationPointZ = this.field_110709_a.rotationPointZ;
            this.field_110701_S.rotationPointZ = this.field_110709_a.rotationPointZ;
            this.field_110717_i.rotationPointZ = this.field_110709_a.rotationPointZ;
            this.field_110700_P.rotationPointZ = this.field_110709_a.rotationPointZ;
            this.field_110699_Q.rotationPointZ = this.field_110709_a.rotationPointZ;
            this.field_110702_R.rotateAngleX = f7;
            this.field_110701_S.rotateAngleX = f7;
            this.field_110717_i.rotateAngleX = this.field_110709_a.rotateAngleX;
            this.field_110700_P.rotateAngleX = this.field_110709_a.rotateAngleX;
            this.field_110699_Q.rotateAngleX = this.field_110709_a.rotateAngleX;
            this.field_110717_i.rotateAngleY = this.field_110709_a.rotateAngleY;
            this.field_110700_P.rotateAngleY = this.field_110709_a.rotateAngleY;
            this.field_110702_R.rotateAngleY = this.field_110709_a.rotateAngleY;
            this.field_110699_Q.rotateAngleY = this.field_110709_a.rotateAngleY;
            this.field_110701_S.rotateAngleY = this.field_110709_a.rotateAngleY;

            if (flag2)
            {
                this.field_110691_L.rotateAngleX = -1.0471976F;
                this.field_110692_M.rotateAngleX = -1.0471976F;
                this.field_110693_N.rotateAngleX = -1.0471976F;
                this.field_110694_O.rotateAngleX = -1.0471976F;
                this.field_110691_L.rotateAngleZ = 0.0F;
                this.field_110692_M.rotateAngleZ = 0.0F;
                this.field_110693_N.rotateAngleZ = 0.0F;
                this.field_110694_O.rotateAngleZ = 0.0F;
            }
            else
            {
                this.field_110691_L.rotateAngleX = f14 / 3.0F;
                this.field_110692_M.rotateAngleX = f14 / 3.0F;
                this.field_110693_N.rotateAngleX = f14 / 3.0F;
                this.field_110694_O.rotateAngleX = f14 / 3.0F;
                this.field_110691_L.rotateAngleZ = f14 / 5.0F;
                this.field_110692_M.rotateAngleZ = f14 / 5.0F;
                this.field_110693_N.rotateAngleZ = -f14 / 5.0F;
                this.field_110694_O.rotateAngleZ = -f14 / 5.0F;
            }
        }

        f15 = -1.3089F + par3 * 1.5F;

        if (f15 > 0.0F)
        {
            f15 = 0.0F;
        }

        if (flag)
        {
            this.field_110712_l.rotateAngleY = MathHelper.cos(f12 * 0.7F);
            f15 = 0.0F;
        }
        else
        {
            this.field_110712_l.rotateAngleY = 0.0F;
        }

        this.field_110713_m.rotateAngleY = this.field_110712_l.rotateAngleY;
        this.field_110710_n.rotateAngleY = this.field_110712_l.rotateAngleY;
        this.field_110713_m.rotationPointY = this.field_110712_l.rotationPointY;
        this.field_110710_n.rotationPointY = this.field_110712_l.rotationPointY;
        this.field_110713_m.rotationPointZ = this.field_110712_l.rotationPointZ;
        this.field_110710_n.rotationPointZ = this.field_110712_l.rotationPointZ;
        this.field_110712_l.rotateAngleX = f15;
        this.field_110713_m.rotateAngleX = f15;
        this.field_110710_n.rotateAngleX = -0.2618F + f15;
    }
}

 

 

 

ClientProxy:

 

 

@Override
public void registerRenderThings(){
	RenderingRegistry.registerEntityRenderingHandler(EntityMoreOresHorse.class, new RenderMoreOresHorse(new ModelMoreOresHorse(), 0));
}

 

 

 

Main Mod File:

 

 

@EventHandler
public void Init(FMLInitializationEvent event) {
EntityRegistry.registerModEntity(EntityMoreOresHorse.class, "MoreOresHorse", 88, this, 100, 3, true);
}

 

thanks so much!

 

-sorash67 || Skorpio

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

    • i cant play minecraft every time i launch it i have error   ---- Minecraft Crash Report ---- // I let you down. Sorry Time: 2025-09-01 16:35:23 Description: Unexpected error java.lang.IllegalStateException: Cannot get config value before config is loaded.     at MC-BOOTSTRAP/[email protected]/com.google.common.base.Preconditions.checkState(Preconditions.java:512) ~[guava-32.1.2-jre.jar%23135!/:?] {re:mixin}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.getRaw(ModConfigSpec.java:1235) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.get(ModConfigSpec.java:1222) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/tv.soaryn.simpleweather.SimpleWeather$NeoBus.renderWeather(SimpleWeather.java:65) ~[simple_weather-1.0.13.jar%23756!/:?] {re:classloading}     at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:360) ~[bus-8.0.5.jar%23110!/:?] {}     at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:328) ~[bus-8.0.5.jar%23110!/:?] {}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.client.ClientHooks.fireClientTickPre(ClientHooks.java:1070) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.ClientHooksMixin from mod sodium,pl:mixin:APP:iceberg.neoforge.mixins.json:ClientHooksMixin from mod iceberg,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.tick(Minecraft.java:1787) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,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:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.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:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,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:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,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-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,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.runTick(Minecraft.java:1161) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,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:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.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:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,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:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,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-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,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%23497!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,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:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.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:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,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:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,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-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,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%23497!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:cryonicconfig.mixins.json:client.MainMixin from mod cryonicconfig,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.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.5.jar%23112!/:?] {}     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 MC-BOOTSTRAP/[email protected]/com.google.common.base.Preconditions.checkState(Preconditions.java:512) ~[guava-32.1.2-jre.jar%23135!/:?] {re:mixin}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.getRaw(ModConfigSpec.java:1235) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.get(ModConfigSpec.java:1222) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/tv.soaryn.simpleweather.SimpleWeather$NeoBus.renderWeather(SimpleWeather.java:65) ~[simple_weather-1.0.13.jar%23756!/:?] {re:classloading}     at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:360) ~[bus-8.0.5.jar%23110!/:?] {}     at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:328) ~[bus-8.0.5.jar%23110!/:?] {}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.client.ClientHooks.fireClientTickPre(ClientHooks.java:1070) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.ClientHooksMixin from mod sodium,pl:mixin:APP:iceberg.neoforge.mixins.json:ClientHooksMixin from mod iceberg,pl:mixin:A} -- Uptime -- Details:     JVM uptime: 40.349s     Wall uptime: 11.181s     High-res time: 35.485s     Client ticks: 1 ticks / 0.050s Stacktrace:     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.fillReport(Minecraft.java:2394) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,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:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.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:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,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:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,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-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,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.emergencySaveAndCrash(Minecraft.java:868) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,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:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.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:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,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:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,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-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,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:828) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,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:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.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:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,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:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,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-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,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%23497!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:cryonicconfig.mixins.json:client.MainMixin from mod cryonicconfig,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.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.5.jar%23112!/:?] {}     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:?] {} -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: No     Packs: vanilla, KubeJS Virtual Resource Pack [Internal, assets], KubeJS Virtual Resource Pack [After Mods, assets], KubeJS File Resource Pack [assets], KubeJS Virtual Resource Pack [Before Mods, assets], KubeJS Virtual Resource Pack [Last, assets] -- System Details -- Details:     Minecraft Version: 1.21.1     Minecraft Version ID: 1.21.1     Operating System: Windows 10 (amd64) version 10.0     Java Version: 21.0.7, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 944831160 bytes (901 MiB) / 1811939328 bytes (1728 MiB) up to 8589934592 bytes (8192 MiB)     CPUs: 8     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz     Identifier: Intel64 Family 6 Model 60 Stepping 3     Microarchitecture: Haswell (Client)     Frequency (GHz): 4.00     Number of physical packages: 1     Number of physical CPUs: 4     Number of logical CPUs: 8     Graphics card #0 name: NVIDIA GeForce GTX 1050 Ti     Graphics card #0 vendor: NVIDIA     Graphics card #0 VRAM (MiB): 4096.00     Graphics card #0 deviceId: VideoController1     Graphics card #0 versionInfo: 32.0.15.8097     Memory slot #0 capacity (MiB): 8192.00     Memory slot #0 clockSpeed (GHz): 1.60     Memory slot #0 type: DDR3     Memory slot #1 capacity (MiB): 8192.00     Memory slot #1 clockSpeed (GHz): 1.60     Memory slot #1 type: DDR3     Virtual memory max (MiB): 18735.40     Virtual memory used (MiB): 8120.46     Swap memory total (MiB): 2432.00     Swap memory used (MiB): 0.00     Space in storage for jna.tmpdir (MiB): available: 167115.08, total: 476888.00     Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): available: 167115.08, total: 476888.00     Space in storage for io.netty.native.workdir (MiB): available: 167115.08, total: 476888.00     Space in storage for java.io.tmpdir (MiB): available: 167115.08, total: 476888.00     Space in storage for workdir (MiB): available: 167115.08, total: 476888.00     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Loaded Shaderpack: (off)     Launched Version: neoforge-21.1.203     Launcher name: minecraft-launcher     Backend library: LWJGL version 3.3.3+5     Backend API: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 580.97, NVIDIA Corporation     Window size: 854x480     GFLW Platform: win32     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Is Modded: Definitely; Client brand changed to 'neoforge'     Universe: 400921fb54442d18     Type: Client (map_client.txt)     Graphics mode: fancy     Render Distance: 12/12 chunks     Resource Packs: vanilla     Current Language: en_us     Locale: ru_RU     System encoding: Cp1251     File encoding: UTF-8     CPU: 8x Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz     ModLauncher: 11.0.5+main.901c6ea8     ModLauncher launch target: forgeclient     ModLauncher services:          sponge-mixin-0.15.2+mixin.0.8.7.jar mixin PLUGINSERVICE          loader-4.0.41.jar slf4jfixer PLUGINSERVICE          loader-4.0.41.jar runtime_enum_extender PLUGINSERVICE          at-modlauncher-10.0.1.jar accesstransformer PLUGINSERVICE          loader-4.0.41.jar runtimedistcleaner PLUGINSERVICE          modlauncher-11.0.5.jar mixin TRANSFORMATIONSERVICE          modlauncher-11.0.5.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:          amwplushies-neoforge-1.21.1-4.4.0.jar             |A Man With Plushies           |a_man_with_plushies           |4.4.0               |Manifest: NOSIGNATURE         accessories-neoforge-1.1.0-beta.48+1.21.1.jar     |Accessories                   |accessories                   |1.1.0-beta.48+1.21.1|Manifest: NOSIGNATURE         AdvancementPlaques-1.21.1-neoforge-1.6.8.jar      |Advancement Plaques           |advancementplaques            |1.6.8               |Manifest: NOSIGNATURE         AirHop-v21.1.0-1.21.1-NeoForge.jar                |Air Hop                       |airhop                        |21.1.0              |Manifest: NOSIGNATURE         alltheleaks-1.0.0+1.21.1-neoforge.jar             |All The Leaks                 |alltheleaks                   |1.0.0+1.21.1-neoforg|Manifest: NOSIGNATURE         amendments-1.21-2.0.5-neoforge.jar                |Amendments                    |amendments                    |1.21-2.0.5          |Manifest: NOSIGNATURE         anvilrestoration-1.21.1-2.4.jar                   |Anvil Restoration             |anvilrestoration              |2.4                 |Manifest: NOSIGNATURE         appleskin-neoforge-mc1.21-3.0.7.jar               |AppleSkin                     |appleskin                     |3.0.7+mc1.21        |Manifest: NOSIGNATURE         ArcaneLanterns-v21.1.0-1.21.1-NeoForge.jar        |Arcane Lanterns               |arcanelanterns                |21.1.0              |Manifest: NOSIGNATURE         architectury-13.0.8-neoforge.jar                  |Architectury                  |architectury                  |13.0.8              |Manifest: NOSIGNATURE         ArmorTrimItemFix-neoforge-1.21.1-1.2.0.jar        |Armor Trim Item Fix           |armortrimitemfix              |1.2.0               |Manifest: NOSIGNATURE         artifacts-neoforge-13.0.7.jar                     |Artifacts                     |artifacts                     |13.0.7              |Manifest: NOSIGNATURE         athena-neoforge-1.21-4.0.2.jar                    |Athena                        |athena                        |4.0.2               |Manifest: NOSIGNATURE         attributefix-neoforge-1.21.1-21.1.2.jar           |AttributeFix                  |attributefix                  |21.1.2              |Manifest: NOSIGNATURE         automaticdoors-1.21.1-4.9.jar                     |Automatic Doors               |automaticdoors                |4.9                 |Manifest: NOSIGNATURE         BadOptimizations-2.3.0-1.21.1.jar                 |BadOptimizations              |badoptimizations              |2.3.0               |Manifest: NOSIGNATURE         baguettelib-1.21.1-NeoForge-1.1.0.jar             |BaguetteLib                   |baguettelib                   |1.1.0               |Manifest: NOSIGNATURE         balm-neoforge-1.21.1-21.0.49.jar                  |Balm                          |balm                          |21.0.49             |Manifest: NOSIGNATURE         BarteringStation-v21.1.0-1.21.1-NeoForge.jar      |Bartering Station             |barteringstation              |21.1.0              |Manifest: NOSIGNATURE         bedspreads-neoforge-7.0.0+1.21.1.jar              |Bedspreads                    |bedspreads                    |7.0.0+1.21.1        |Manifest: NOSIGNATURE         BetterAdvancements-NeoForge-1.21.1-0.4.3.21.jar   |Better Advancements           |betteradvancements            |0.4.3.21            |Manifest: NOSIGNATURE         BetterAnimationsCollection-v21.1.0-1.21.1-NeoForge|Better Animations Collection  |betteranimationscollection    |21.1.0              |Manifest: NOSIGNATURE         betterarcheology-neoforge-1.3.2.jar               |Better Archeology             |betterarcheology              |1.3.2               |Manifest: NOSIGNATURE         better_climbing-neoforge-4.jar                    |Better Climbing               |better_climbing               |4                   |Manifest: NOSIGNATURE         BetterPingDisplay-1.21.1-1.1.jar                  |Better Ping Display           |betterpingdisplay             |1.1                 |Manifest: NOSIGNATURE         BetterThanMending-2.2.0.jar                       |BetterThanMending             |betterthanmending             |2.2.0               |Manifest: NOSIGNATURE         bibliocraft-1.21.1-1.6.1.jar                      |Bibliocraft Legacy            |bibliocraft                   |1.6.1               |Manifest: NOSIGNATURE         BlockRunner-v21.1.2-1.21.1-NeoForge.jar           |Block Runner                  |blockrunner                   |21.1.2              |Manifest: NOSIGNATURE         blueprint-1.21.1-8.0.5.jar                        |Blueprint                     |blueprint                     |8.0.5               |Manifest: NOSIGNATURE         bookshelf-neoforge-1.21.1-21.1.68.jar             |Bookshelf                     |bookshelf                     |21.1.68             |Manifest: NOSIGNATURE         bookshelves-2.5-neoforge-1.21.1.jar               |Bookshelves                   |bookshelves                   |2.5                 |Manifest: NOSIGNATURE         bouncierbeds-1.21.1-2.5.jar                       |Bouncier Beds                 |bouncierbeds                  |2.5                 |Manifest: NOSIGNATURE         buzzier_bees-1.21.1-7.0.0.jar                     |Buzzier Bees                  |buzzier_bees                  |7.0.0               |Manifest: NOSIGNATURE         Cardiac-NEOFORGE-0.5.3.4+1.21.jar                 |Cardiac                       |cardiac                       |0.5.3.4             |Manifest: NOSIGNATURE         catalogue-neoforge-1.21.1-1.11.1.jar              |Catalogue                     |catalogue                     |1.11.1              |Manifest: NOSIGNATURE         ceilingtorch-1.21.1-1.33.jar                      |Ceiling Torch                 |ceilingtorch                  |1.33                |Manifest: NOSIGNATURE         cfm_wap-1.21.1-neoforge-1.2.0.jar                 |CFM Refurbished: Watt about Po|cfm_wap                       |1.2.0               |Manifest: NOSIGNATURE         charmofundying-neoforge-9.1.0+1.21.1.jar          |Charm of Undying              |charmofundying                |9.1.0+1.21.1        |Manifest: NOSIGNATURE         chat_heads-0.13.20-neoforge-1.21.jar              |Chat Heads                    |chat_heads                    |0.13.20             |Manifest: NOSIGNATURE         ChatImpressiveAnimation-neoforge-1.4.0+mc1.21.5.ja|Chat Impressive Animation     |chatimpressiveanimation       |1.4.0+mc1.21.5      |Manifest: NOSIGNATURE         cherishedworlds-neoforge-10.1.1+1.21.1.jar        |Cherished Worlds              |cherishedworlds               |10.1.1+1.21.1       |Manifest: NOSIGNATURE         chipped-neoforge-1.21.1-4.0.2.jar                 |Chipped                       |chipped                       |4.0.2               |Manifest: NOSIGNATURE         ChippedExpress-universal-21x.jar                  |ChippedExpress                |chipped_express               |1.3.2               |Manifest: NOSIGNATURE         chisel-neoforge-2.0.0+mc1.21.1.jar                |Chisel Reborn                 |chisel                        |2.0.0+mc1.21.1      |Manifest: NOSIGNATURE         chunkloaders-1.2.8-neoforge-mc1.21.jar            |Chunk Loaders                 |chunkloaders                  |1.2.8               |Manifest: NOSIGNATURE         Chunky-NeoForge-1.4.23.jar                        |Chunky                        |chunky                        |1.4.23              |Manifest: NOSIGNATURE         citresewn-neoforge-1.21.1-0.jar                   |CITResewn                     |citresewn                     |0                   |Manifest: NOSIGNATURE         cloth-config-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         colorful-world-1.3b.jar                           |CoffeeG's Colorful World      |mr_coffeegs_colorfulworld     |1.3b                |Manifest: NOSIGNATURE         collective-1.21.1-8.3.jar                         |Collective                    |collective                    |8.3                 |Manifest: NOSIGNATURE         CompletionistsIndex-v21.1.0-1.21.1-NeoForge.jar   |Completionist's Index         |completionistsindex           |21.1.0              |Manifest: NOSIGNATURE         conditional-mixin-neoforge-0.6.4.jar              |conditional mixin             |conditional_mixin             |0.6.4               |Manifest: NOSIGNATURE         configlibtxf-7.2.8-neoforge.jar                   |ConfigLib TXF                 |configlibtxf                  |7.2.8-neoforge      |Manifest: NOSIGNATURE         connectedglass-1.1.14-neoforge-mc1.21.jar         |Connected Glass               |connectedglass                |1.1.14              |Manifest: NOSIGNATURE         connectivity-1.21.1-7.1.jar                       |Connectivity Mod              |connectivity                  |7.1                 |Manifest: NOSIGNATURE         Controlling-neoforge-1.21.1-19.0.5.jar            |Controlling                   |controlling                   |19.0.5              |Manifest: NOSIGNATURE         cookingforblockheads-neoforge-1.21.1-21.1.16.jar  |Cooking for Blockheads        |cookingforblockheads          |21.1.16             |Manifest: NOSIGNATURE         coolrain-1.1.0-1.21.1-neoforge.jar                |Cool Rain                     |coolrain                      |1.1.0               |Manifest: NOSIGNATURE         coroutil-neoforge-1.21.0-1.3.8.jar                |CoroUtil                      |coroutil                      |1.21.0-1.3.8        |Manifest: NOSIGNATURE         corpse-neoforge-1.21.1-1.1.10.jar                 |Corpse                        |corpse                        |1.21.1-1.1.10       |Manifest: NOSIGNATURE         corpsecurioscompat-1.21.1-NeoForge-3.1.2.jar      |Corpse Curios Compatibility   |corpsecurioscompat            |3.1.2               |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         craftingtweaks-neoforge-1.21.1-21.1.6.jar         |Crafting Tweaks               |craftingtweaks                |21.1.6              |Manifest: NOSIGNATURE         CraftingXP 1.21 .1 NeoForge.jar                   |CraftingXP                    |craftingxp                    |1.21.1              |Manifest: NOSIGNATURE         create-1.21.1-6.0.6.jar                           |Create                        |create                        |6.0.6               |Manifest: NOSIGNATURE         create_compressed-2.2.0-neoforge-1.21.1.jar       |Create Compressed             |create_compressed             |2.2.0               |Manifest: NOSIGNATURE         create-confectionery1.21.1_v1.1.2.jar             |Create Confectionery          |create_confectionery          |1.1.2               |Manifest: NOSIGNATURE         createaddition-1.5.2.jar                          |Create Crafts & Additions     |createaddition                |1.5.2               |Manifest: NOSIGNATURE         createdieselgenerators-1.21.1-1.3.4_1.jar         |Create Diesel Generators      |createdieselgenerators        |1.21.1-1.3.4        |Manifest: NOSIGNATURE         Create Encased-1.21.1-1.7.2-fix1.jar              |Create Encased                |createcasing                  |1.7.2-fix1          |Manifest: NOSIGNATURE         create_hypertube-0.2.5-NEOFORGE_1.jar             |Create Hypertube              |create_hypertube              |0.2.5               |Manifest: NOSIGNATURE         create_ltab-3.0.0.jar                             |Create Let The Adventure Begin|create_ltab                   |3.0.0               |Manifest: NOSIGNATURE         sliceanddice-neoforge-4.0.1.jar                   |Create Slice & Dice           |sliceanddice                  |4.0.1               |Manifest: NOSIGNATURE         create-stuff-additions1.21.1_v2.1.0e.jar          |Create Stuff 'N Additions     |create_sa                     |2.1.0.              |Manifest: NOSIGNATURE         bellsandwhistles-0.4.7-1.21.1.jar                 |Create: Bells & Whistles      |bellsandwhistles              |0.4.7-1.21.1        |Manifest: NOSIGNATURE         create_better_motors-3.1.4-1.21.1-neoforge.jar    |Create: Better Motors         |create_better_motors          |3.1.4               |Manifest: NOSIGNATURE         create-central-kitchen-2.1.3.jar                  |Create: Central Kitchen       |create_central_kitchen        |2.1.3               |Manifest: NOSIGNATURE         createchromaticreturn-1.0.1-neoforge-1.21.1.jar   |Create: Chromatic Return      |createchromaticreturn         |1.0.0               |Manifest: NOSIGNATURE         create_connected-1.1.6-mc1.21.1.jar               |Create: Connected             |create_connected              |1.1.6-mc1.21.1      |Manifest: NOSIGNATURE         copycats-3.0.2+mc.1.21.1-neoforge.jar             |Create: Copycats+             |copycats                      |3.0.2+mc.1.21.1-neof|Manifest: NOSIGNATURE         create-dragons-plus-1.6.1.jar                     |Create: Dragons Plus          |create_dragons_plus           |1.6.1               |Manifest: NOSIGNATURE         create_easy_structures-0.2a-neoforge-1.21.1.jar   |Create: Easy Structures       |create_easy_structures        |0.2                 |Manifest: NOSIGNATURE         create-enchantment-industry-2.1.7.jar             |Create: Enchantment Industry  |create_enchantment_industry   |2.1.7               |Manifest: NOSIGNATURE         createfood-neoforge-1.21.1-2.0.0-beta-3.jar       |Create: Food                  |createfood                    |2.0.0-beta-3        |Manifest: NOSIGNATURE         createframed-1.21.1-1.6.8.jar                     |Create: Framed                |createframed                  |1.6.8               |Manifest: NOSIGNATURE         create_oxidized-0.1.3.jar                         |Create: Oxidized              |create_oxidized               |0.1.3               |Manifest: NOSIGNATURE         create_pillagers_arise-118.28.GL-neoforge-1.21.1.j|Create: Pillagers Arise       |create_pillagers_arise        |118.28.             |Manifest: NOSIGNATURE         create_power_loader-2.0.3-mc1.21.1.jar            |Create: Power Loader          |create_power_loader           |2.0.3-mc1.21.1      |Manifest: NOSIGNATURE         create_simple_ore_doubling-1.5.5-neoforge-1.21.1.j|Create: Simple Ore Doubling   |create_simple_ore_doubling    |1.5.5               |Manifest: NOSIGNATURE         create_structures_arise-162.35.34-neoforge-1.21.1.|Create: Structures Arise      |create_structures_arise       |162.35.34           |Manifest: NOSIGNATURE         create_things_and_misc-4.0-neoforge-1.21.1.jar    |create: things and misc       |create_things_and_misc        |1.0.0               |Manifest: NOSIGNATURE         trading_floor-3.0.10.jar                          |Create: Trading Floor         |trading_floor                 |3.0.10              |Manifest: NOSIGNATURE         create_ultimate_factory-2.1.1-neoforge-1.21.1.jar |Create: Ultimate Factory      |create_ultimate_factory       |2.1.1               |Manifest: NOSIGNATURE         create_better_villagers-1.3.2.jar                 |Create_Better_Villagers       |create_better_villagers       |1.3.2               |Manifest: NOSIGNATURE         CreeperOverhaul-neoforge-1.21.1-4.0.6.jar         |Creeper Overhaul              |creeperoverhaul               |4.0.6               |Manifest: NOSIGNATURE         cristellib-neoforge-1.2.8.jar                     |Cristel Lib                   |cristellib                    |1.2.8               |Manifest: NOSIGNATURE         cryonicconfig-neoforge-1.0.0+mc1.21.8.jar         |Cryonic Config                |cryonicconfig                 |1.0.0+mc1.21.8      |Manifest: NOSIGNATURE         cupboard-1.21-2.9.jar                             |Cupboard mod                  |cupboard                      |2.9                 |Manifest: NOSIGNATURE         curios-neoforge-9.5.1+1.21.1.jar                  |Curios API                    |curios                        |9.5.1+1.21.1        |Manifest: NOSIGNATURE         curious_armor_stands-8.0.0.jar                    |Curious Armor Stands          |curious_armor_stands          |8.0.0               |Manifest: NOSIGNATURE         darkpaintings-neoforge-1.21.1-21.1.2.jar          |DarkPaintings                 |darkpaintings                 |21.1.2              |Manifest: NOSIGNATURE         DeathFinder-v21.1.1-1.21.1-NeoForge.jar           |Death Finder                  |deathfinder                   |21.1.1              |Manifest: NOSIGNATURE         deimos-1.21.1-neoforge-2.2.jar                    |Deimos                        |deimos                        |2.2                 |Manifest: NOSIGNATURE         denseores-1.21-1.2.2.jar                          |Dense Ores                    |denseores                     |1.2.2               |Manifest: NOSIGNATURE         diagonalblocks-neoforge-21.1.2.jar                |Diagonal Blocks               |diagonalblocks                |21.1.2              |Manifest: NOSIGNATURE         DiagonalFences-v21.1.1-1.21.1-NeoForge.jar        |Diagonal Fences               |diagonalfences                |21.1.1              |Manifest: NOSIGNATURE         DiagonalWalls-v21.1.2-1.21.1-NeoForge.jar         |Diagonal Walls                |diagonalwalls                 |21.1.2              |Manifest: NOSIGNATURE         DiagonalWindows-v21.1.1-1.21.1-NeoForge.jar       |Diagonal Windows              |diagonalwindows               |21.1.1              |Manifest: NOSIGNATURE         doubledoors-1.21.1-7.1.jar                        |Double Doors                  |doubledoors                   |7.1                 |Manifest: NOSIGNATURE         dungeons-and-taverns-v4.4.4 [NeoForge].jar        |Dungeons and Taverns          |mr_dungeons_andtaverns        |1-v4.4.4            |Manifest: NOSIGNATURE         e4mc_minecraft-neoforge-5.4.1.jar                 |e4mc                          |e4mc_minecraft                |5.4.1               |Manifest: NOSIGNATURE         EasyAnvils-v21.1.0-1.21.1-NeoForge.jar            |Easy Anvils                   |easyanvils                    |21.1.0              |Manifest: NOSIGNATURE         EasyMagic-v21.1.0-1.21.1-NeoForge.jar             |Easy Magic                    |easymagic                     |21.1.0              |Manifest: NOSIGNATURE         easy-villagers-neoforge-1.21.1-1.1.35.jar         |Easy Villagers                |easy_villagers                |1.21.1-1.1.35       |Manifest: NOSIGNATURE         EffectDescriptions-v21.1.1-1.21.1-NeoForge.jar    |Effect Descriptions           |effectdescriptions            |21.1.1              |Manifest: NOSIGNATURE         enchdesc-neoforge-1.21.1-21.1.8.jar               |EnchantmentDescriptions       |enchdesc                      |21.1.8              |Manifest: NOSIGNATURE         EnderZoology-v21.1.3-1.21.1-NeoForge.jar          |Ender Zoology                 |enderzoology                  |21.1.3              |Manifest: NOSIGNATURE         endersdelight-neoforge-1.21.1-1.1.0.jar           |Ender's Delight               |endersdelight                 |1.1.0               |Manifest: NOSIGNATURE         EnhancedNature-1.21-(v.3.0.1-NEO).jar             |Enhanced Nature               |enhanced_nature               |3.0.1               |Manifest: NOSIGNATURE         entityculling-neoforge-1.8.2-mc1.21.jar           |EntityCulling                 |entityculling                 |1.8.2               |Manifest: NOSIGNATURE         EquipmentCompare-1.21.1-neoforge-1.3.13.jar       |Equipment Compare             |equipmentcompare              |1.3.13              |Manifest: NOSIGNATURE         etched-4.0.0.jar                                  |Etched                        |etched                        |4.0.0               |Manifest: NOSIGNATURE         expandability-neoforge-12.0.0.jar                 |ExpandAbility                 |expandability                 |12.0.0              |Manifest: NOSIGNATURE         expandeddelight-0.1.3.2.jar                       |Expanded Delight              |expandeddelight               |0.1.3.2             |Manifest: NOSIGNATURE         expandedstorage-neoforge-1.21.1-14.2.1.jar        |Expanded Storage              |expandedstorage               |14.2.1              |Manifest: NOSIGNATURE         ExplorersCompass-1.21.1-3.0.3-neoforge.jar        |Explorer's Compass            |explorerscompass              |1.21.1-3.0.3-neoforg|Manifest: NOSIGNATURE         extensibleenums-neoforge-21.1.1.jar               |Extensible Enums              |extensibleenums               |21.1.1              |Manifest: NOSIGNATURE         ExtraSoundsNext-neoforge-1.21.1-1.4.jar           |ExtraSoundsNext               |extrasounds                   |1.4                 |Manifest: NOSIGNATURE         extrasponges-neoforge-1.21-1.6.1.jar              |ExtraSponges                  |extrasponges                  |1.6.1               |Manifest: NOSIGNATURE         EyesInTheDarkness-1.21.1-1.4.6.jar                |Eyes in the Darkness          |eyesinthedarkness             |1.4.6               |Manifest: NOSIGNATURE         factory_blocks-neoforge-1.4.0+mc1.21.1.jar        |Factory Blocks                |factory_blocks                |1.4.0+mc1.21.1      |Manifest: NOSIGNATURE         fadeless-neoforge-1.1.0.jar                       |Fadeless                      |fadeless                      |1.1.0               |Manifest: NOSIGNATURE         fallingleaves-1.21.1-2.5.1.jar                    |Fallingleaves                 |fallingleaves                 |2.5.1               |Manifest: NOSIGNATURE         fancymenu_neoforge_3.7.0_MC_1.21.1.jar            |FancyMenu                     |fancymenu                     |3.7.0               |Manifest: NOSIGNATURE         FarmersDelight-1.21.1-1.2.9.jar                   |Farmer's Delight              |farmersdelight                |1.2.9               |Manifest: NOSIGNATURE         farsight-1.21-3.8.jar                             |Farsight mod                  |farsight_view                 |3.8                 |Manifest: NOSIGNATURE         fast-ip-ping-v1.0.7-mc1.21.1-neoforge.jar         |Fast IP Ping                  |fastipping                    |1.0.7               |Manifest: NOSIGNATURE         FastWorkbench-1.21.1-9.1.3.jar                    |Fast Workbench                |fastbench                     |9.1.3               |Manifest: NOSIGNATURE         FastFurnace-1.21.1-9.0.1.jar                      |FastFurnace                   |fastfurnace                   |9.0.1               |Manifest: NOSIGNATURE         fastleafdecay-35.jar                              |FastLeafDecay                 |fastleafdecay                 |35                  |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         fixedanvilrepaircost-1.21.1-3.5.jar               |Fixed Anvil Repair Cost       |fixedanvilrepaircost          |3.5                 |Manifest: NOSIGNATURE         flywheel-neoforge-1.21.1-1.0.4.jar                |Flywheel                      |flywheel                      |1.0.4               |Manifest: NOSIGNATURE         fabric-api-base-0.4.42+d1308dedd1.jar             |Forgified Fabric API Base     |fabric_api_base               |0.4.42+d1308dedd1   |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-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-model-loading-api-v1-2.0.0+986ae77219.jar  |Forgified Fabric Model Loading|fabric_model_loading_api_v1   |2.0.0+986ae77219    |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-data-attachment-v1-0.3.48+73761d2|Forgified Fabric Rendering Dat|fabric_rendering_data_attachme|0.3.48+73761d2e19   |Manifest: NOSIGNATURE         FramedBlocks-10.4.0.jar                           |FramedBlocks                  |framedblocks                  |10.4.0              |Manifest: NOSIGNATURE         framework-neoforge-1.21.1-0.9.6.jar               |Framework                     |framework                     |0.9.6               |Manifest: NOSIGNATURE         ftb-library-neoforge-2101.1.19.jar                |FTB Library                   |ftblibrary                    |2101.1.19           |Manifest: NOSIGNATURE         ftb-quests-neoforge-2101.1.14.jar                 |FTB Quests                    |ftbquests                     |2101.1.14           |Manifest: NOSIGNATURE         ftb-teams-neoforge-2101.1.3.jar                   |FTB Teams                     |ftbteams                      |2101.1.3            |Manifest: NOSIGNATURE         ftb-xmod-compat-neoforge-21.1.5.jar               |FTB XMod Compat               |ftbxmodcompat                 |21.1.5              |Manifest: NOSIGNATURE         fusion-1.2.11a-neoforge-mc1.21.jar                |Fusion                        |fusion                        |1.2.11+a            |Manifest: NOSIGNATURE         fzzy_config-0.7.2+1.21+neoforge.jar               |Fzzy Config                   |fzzy_config                   |0.7.2+1.21+neoforge |Manifest: NOSIGNATURE         hats-neoforge-1.21.1-1.2.1.jar                    |Galena Hats                   |galena_hats                   |1.21.1-1.2.1        |Manifest: NOSIGNATURE         geckolib-neoforge-1.21.1-4.7.7.jar                |GeckoLib 4                    |geckolib                      |4.7.7               |Manifest: NOSIGNATURE         Geophilic v3.4.3 f15-80.mod.jar                   |Geophilic                     |geophilic                     |3.4.3               |Manifest: NOSIGNATURE         guardvillagers-2.3.2-1.21.1.jar                   |Guard Villagers               |guardvillagers                |2.3.2               |Manifest: NOSIGNATURE         guideme-21.1.14.jar                               |GuideME                       |guideme                       |21.1.14             |Manifest: NOSIGNATURE         handoveryouritems-1.21.1-3.6.jar                  |Hand Over Your Items          |handoveryouritems             |3.6                 |Manifest: NOSIGNATURE         handcrafted-neoforge-1.21.1-4.0.3.jar             |Handcrafted                   |handcrafted                   |4.0.3               |Manifest: NOSIGNATURE         HangGlider-v21.1.0-1.21.1-NeoForge.jar            |Hang Glider                   |hangglider                    |21.1.0              |Manifest: NOSIGNATURE         healingcampfire-1.21.1-6.2.jar                    |Healing Campfire              |healingcampfire               |6.2                 |Manifest: NOSIGNATURE         him-2.0.2-neoforge-1.21.1.jar                     |him                           |him                           |2.0.1               |Manifest: NOSIGNATURE         HopoBetterMineshaft-[1.21-1.21.3]-1.3.0b.jar      |HopoBetterMineshaft           |hopo                          |1.3.0               |Manifest: NOSIGNATURE         HopoBetterRuinedPortals-[1.21.1-1.21.3]-1.4.4b.jar|HopoBetterRuinedPortals       |hoporp                        |1.4.4               |Manifest: NOSIGNATURE         HopoBetterUnderwaterRuins-[1.21.1-1.21.3]-1.2.1b.j|HopoBetterUnderwaterRuins     |hopour                        |1.2.1               |Manifest: NOSIGNATURE         HorseExpert-v21.1.0-1.21.1-NeoForge.jar           |Horse Expert                  |horseexpert                   |21.1.0              |Manifest: NOSIGNATURE         Iceberg-1.21.1-neoforge-1.3.2.jar                 |Iceberg                       |iceberg                       |1.3.2               |Manifest: NOSIGNATURE         ImmediatelyFast-NeoForge-1.6.6+1.21.1.jar         |ImmediatelyFast               |immediatelyfast               |1.6.6+1.21.1        |Manifest: NOSIGNATURE         immersive_aircraft-1.3.3+1.21.1-neoforge.jar      |Immersive Aircraft            |immersive_aircraft            |1.3.3+1.21.1        |Manifest: NOSIGNATURE         immersivethunder-neoforge-1.21.1-1.3.0.jar        |Immersive Thunder             |immersivethunder              |1.3.0               |Manifest: NOSIGNATURE         ImmersiveUI-NEOFORGE-0.3.3+1.21.1.jar             |ImmersiveUI                   |immersiveui                   |0.3.3               |Manifest: NOSIGNATURE         infinitetrading-1.21.1-4.6.jar                    |Infinite Trading              |infinitetrading               |4.6                 |Manifest: NOSIGNATURE         iris-neoforge-1.8.12+mc1.21.1.jar                 |Iris                          |iris                          |1.8.12-snapshot+mc1.|Manifest: NOSIGNATURE         ironbookshelves-1.21.1-1.4.11-neoforge.jar        |Iron Bookshelves              |ironbookshelves               |1.21.1-1.4.11-neofor|Manifest: NOSIGNATURE         ItemBorders-1.21-neoforge-1.2.5.jar               |Item Borders                  |itemborders                   |1.2.5               |Manifest: NOSIGNATURE         Jade-1.21.1-NeoForge-15.10.3.jar                  |Jade                          |jade                          |15.10.3+neoforge    |Manifest: NOSIGNATURE         JadeAddons-1.21.1-NeoForge-6.1.0.jar              |Jade Addons                   |jadeaddons                    |6.1.0+neoforge      |Manifest: NOSIGNATURE         jamlib-neoforge-1.3.5+1.21.1.jar                  |JamLib                        |jamlib                        |1.3.5+1.21.1        |Manifest: NOSIGNATURE         jumpboat-1.21.0-1.0.5.jar                         |Jumpy Boats                   |jumpboat                      |1.21.0-1.0.5        |Manifest: NOSIGNATURE         justenoughbreeding-neoforge-1.21-1.21.1-1.6.2.jar |Just Enough Breeding          |justenoughbreeding            |1.6.2               |Manifest: NOSIGNATURE         jeed-1.21-2.2.19.jar                              |Just Enough Effects Descriptio|jeed                          |1.21-2.2.19         |Manifest: NOSIGNATURE         jei-1.21.1-neoforge-19.22.1.316.jar               |Just Enough Items             |jei                           |19.22.1.316         |Manifest: NOSIGNATURE         JustEnoughProfessions-neoforge-1.21.1-4.0.4.jar   |Just Enough Professions (JEP) |justenoughprofessions         |4.0.4               |Manifest: NOSIGNATURE         Kiwi-1.21.1-NeoForge-15.6.2.jar                   |Kiwi Library                  |kiwi                          |15.6.2+neoforge     |Manifest: NOSIGNATURE         konkrete_neoforge_1.9.9_MC_1.21.jar               |Konkrete                      |konkrete                      |1.9.9               |Manifest: NOSIGNATURE         thedarkcolour.kffmod-5.9.0.jar                    |Kotlin For Forge              |kotlinforforge                |5.9.0               |Manifest: NOSIGNATURE         kubejs-neoforge-2101.7.1-build.181.jar            |KubeJS                        |kubejs                        |2101.7.1-build.181  |Manifest: NOSIGNATURE         kuma-api-neoforge-21.0.5+1.21.jar                 |KumaAPI                       |kuma_api                      |21.0.5              |Manifest: NOSIGNATURE         mcwifipnp-1.9.0-1.21-neoforge.jar                 |LAN World Plug-n-Play         |mcwifipnp                     |1.9.0               |Manifest: NOSIGNATURE         LegendaryTooltips-1.21.1-neoforge-1.5.5.jar       |Legendary Tooltips            |legendarytooltips             |1.5.5               |Manifest: NOSIGNATURE         libIPN-neoforge-1.21-6.5.1.jar                    |libIPN                        |libipn                        |6.5.1               |Manifest: NOSIGNATURE         lithium-neoforge-0.15.0+mc1.21.1.jar              |Lithium                       |lithium                       |0.15.0+mc1.21.1     |Manifest: NOSIGNATURE         lootr-neoforge-1.21-1.10.35.91.jar                |Lootr                         |lootr                         |1.21-1.10.35.91     |Manifest: NOSIGNATURE         lukis-crazy-chambers-1.0.2.jar                    |Luki's Crazy Chambers         |mr_lukis_crazychambers        |1.0.2               |Manifest: NOSIGNATURE         mru-1.0.19+LTS+1.21.1+neoforge.jar                |M.R.U                         |mru                           |1.0.19+LTS+1.21.1+ne|Manifest: NOSIGNATURE         mcw-doors-1.1.2-mc1.21.1neoforge.jar              |Macaw's Doors                 |mcwdoors                      |1.1.2               |Manifest: NOSIGNATURE         mcw-fences-1.2.0-1.21.1neoforge.jar               |Macaw's Fences and Walls      |mcwfences                     |1.2.0               |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.2-mc1.21.1neoforge.jar              |Macaw's Roofs                 |mcwroofs                      |2.3.2               |Manifest: NOSIGNATURE         mcw-stairs-1.0.1-1.21.1neoforge.jar               |Macaw's Stairs and Balconies  |mcwstairs                     |1.0.1               |Manifest: NOSIGNATURE         mcw-trapdoors-1.1.4-mc1.21.1neoforge.jar          |Macaw's Trapdoors             |mcwtrpdoors                   |1.1.4               |Manifest: NOSIGNATURE         MagnumTorch-v21.1.0-1.21.1-NeoForge.jar           |Magnum Torch                  |magnumtorch                   |21.1.0              |Manifest: NOSIGNATURE         man_of_many_planes-0.2.1+1.21.1-neoforge.jar      |Man of Many Planes            |man_of_many_planes            |0.2.1+1.21.1        |Manifest: NOSIGNATURE         Mekanism-1.21.1-10.7.15.81.jar                    |Mekanism                      |mekanism                      |10.7.15             |Manifest: NOSIGNATURE         MekanismAdditions-1.21.1-10.7.15.81.jar           |Mekanism: Additions           |mekanismadditions             |10.7.15             |Manifest: NOSIGNATURE         MekanismGenerators-1.21.1-10.7.15.81.jar          |Mekanism: Generators          |mekanismgenerators            |10.7.15             |Manifest: NOSIGNATURE         MekanismTools-1.21.1-10.7.15.81.jar               |Mekanism: Tools               |mekanismtools                 |10.7.15             |Manifest: NOSIGNATURE         melody_neoforge_1.0.10_MC_1.21.jar                |Melody                        |melody                        |1.0.10              |Manifest: NOSIGNATURE         midnightlib-1.7.5-neoforge+1.21.1.jar             |MidnightLib                   |midnightlib                   |1.7.5               |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         MobLassos-v21.1.0-1.21.1-NeoForge.jar             |Mob Lassos                    |moblassos                     |21.1.0              |Manifest: NOSIGNATURE         modernfix-neoforge-5.24.3+mc1.21.1.jar            |ModernFix                     |modernfix                     |5.24.3+mc1.21.1     |Manifest: NOSIGNATURE         modpack-update-checker-1.21.1-neoforge-0.15.6.jar |Modpack Update Checker        |modpackupdatechecker          |0.15.6              |Manifest: 4f:88:cf:0c:4c:fd:bd:e8:35:93:f6:9f:0e:12:30:77:82:b3:66:1e:b0:ca:bc:29:a8:0b:91:83:c6:7d:81:19         mmv-1.1.2-1.21.jar                                |Moog's Structures Template    |mmv                           |1.1.2-1.21          |Manifest: NOSIGNATURE         moonlight-1.21-2.22.2-neoforge.jar                |Moonlight Lib                 |moonlight                     |1.21-2.22.2         |Manifest: NOSIGNATURE         morediscs-1.21.1-neoforge-35.jar                  |More Music Discs              |morediscs                     |35                  |Manifest: NOSIGNATURE         moreoverlays-1.24.1-mc1.21.1-neoforge.jar         |More Overlays Updated         |moreoverlays                  |1.24.1              |Manifest: NOSIGNATURE         morevanillashields-1.0.2-1.21.1.jar               |More Vanilla Shields          |morevanillashields            |1.0.2-1.21.1        |Manifest: NOSIGNATURE         MouseTweaks-neoforge-mc1.21-2.26.1.jar            |Mouse Tweaks                  |mousetweaks                   |2.26.1              |Manifest: NOSIGNATURE         1.21-neo-0.1.2.jar                                |MPUC lavender-md              |mpuc_lavendermd               |0.1.2               |Manifest: 4f:88:cf:0c:4c:fd:bd:e8:35:93:f6:9f:0e:12:30:77:82:b3:66:1e:b0:ca:bc:29:a8:0b:91:83:c6:7d:81:19         refurbished_furniture-neoforge-1.21.1-1.0.16.jar  |MrCrayfish's Furniture Mod: Re|refurbished_furniture         |1.0.16              |Manifest: NOSIGNATURE         MutantMonsters-v21.1.0-1.21.1-NeoForge.jar        |Mutant Monsters               |mutantmonsters                |21.1.0              |Manifest: NOSIGNATURE         MyNethersDelight-1.21.1-1.8.jar                   |My Nether's Delight           |mynethersdelight              |1.8                 |Manifest: NOSIGNATURE         nametagtweaks-1.21.1-4.0.jar                      |Name Tag Tweaks               |nametagtweaks                 |4.0                 |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.203-universal.jar                   |NeoForge                      |neoforge                      |21.1.203            |Manifest: NOSIGNATURE         neoforgedatapackextensions-neoforge-21.1.2.jar    |NeoForge Data Pack Extensions |neoforgedatapackextensions    |21.1.2              |Manifest: NOSIGNATURE         netherportalfix-neoforge-1.21.1-21.1.1.jar        |NetherPortalFix               |netherportalfix               |21.1.1              |Manifest: NOSIGNATURE         nofeathertrample-1.21.1-1.3.jar                   |No Feather Trample            |nofeathertrample              |1.3                 |Manifest: NOSIGNATURE         noisium-neoforge-2.3.0+mc1.21-1.21.1.jar          |Noisium                       |noisium                       |2.3.0+mc1.21-1.21.1 |Manifest: NOSIGNATURE         Not Enough Recipe Book-NEOFORGE-0.4.3+1.21.jar    |Not Enough Recipe Book        |nerb                          |0.4.3               |Manifest: NOSIGNATURE         notenoughanimations-neoforge-1.10.1-mc1.21.jar    |NotEnoughAnimations           |notenoughanimations           |1.10.1              |Manifest: NOSIGNATURE         OctoLib-NEOFORGE-0.6.0.3+1.21.jar                 |OctoLib                       |octolib                       |0.6.0.3             |Manifest: NOSIGNATURE         Oreganized 1.21.1-5.0.0.jar                       |Oreganized                    |oreganized                    |5.0.0               |Manifest: NOSIGNATURE         overloadedarmorbar-neoforge-1.21-2.jar            |OverloadedArmorBar            |overloadedarmorbar            |2                   |Manifest: NOSIGNATURE         owo-lib-neoforge-0.12.15.5-beta.1+1.21.jar        |oωo                           |owo                           |0.12.15.5-beta.1+1.2|Manifest: NOSIGNATURE         packetfixer-3.1.4-1.20.5-1.21.X-merged.jar        |PacketFixer                   |packetfixer                   |3.1.4               |Manifest: NOSIGNATURE         particle_effects-1.21.1-NeoForge-1.0.1.jar        |Particle Effects              |particle_effects              |1.0.1               |Manifest: NOSIGNATURE         particular-1.21.1-NeoForge-1.1.6.jar              |Particular                    |particular                    |1.1.6               |Manifest: NOSIGNATURE         Perception-NEOFORGE-0.1.6+1.21.1.jar              |Perception                    |perception                    |0.1.6               |Manifest: NOSIGNATURE         PermanentSponges-v21.1.0-1.21.1-NeoForge.jar      |Permanent Sponges             |permanentsponges              |21.1.0              |Manifest: NOSIGNATURE         PickUpNotifier-v21.1.1-1.21.1-NeoForge.jar        |Pick Up Notifier              |pickupnotifier                |21.1.1              |Manifest: NOSIGNATURE         Placebo-1.21.1-9.9.1.jar                          |Placebo                       |placebo                       |9.9.1               |Manifest: NOSIGNATURE         platform-neoforge-1.21.1-1.2.10.2.jar             |Platform                      |platform                      |1.2.10.2            |Manifest: NOSIGNATURE         player-animation-lib-forge-2.0.1+1.21.1.jar       |Player Animator               |playeranimator                |2.0.1+1.21.1        |Manifest: NOSIGNATURE         plushies-neoforge-1.5.1.jar                       |Plushie Mod                   |plushies                      |1.5.1               |Manifest: NOSIGNATURE         Ponder-NeoForge-1.21.1-1.0.56.jar                 |Ponder                        |ponder                        |1.0.56              |Manifest: NOSIGNATURE         PortableHole-v21.1.0-1.21.1-NeoForge.jar          |Portable Hole                 |portablehole                  |21.1.0              |Manifest: NOSIGNATURE         prickle-neoforge-1.21.1-21.1.10.jar               |PrickleMC                     |prickle                       |21.1.10             |Manifest: NOSIGNATURE         Prism-1.21.1-neoforge-1.0.11.jar                  |Prism                         |prism                         |1.0.11              |Manifest: NOSIGNATURE         ProPlacer-v21.1.1-1.21.1-NeoForge.jar             |Pro Placer                    |proplacer                     |21.1.1              |Manifest: NOSIGNATURE         PuzzlesLib-v21.1.38-1.21.1-NeoForge.jar           |Puzzles Lib                   |puzzleslib                    |21.1.38             |Manifest: NOSIGNATURE         AdditionalEnchantedMiner-1.21.1-neoforge-21.1.119.|QuarryPlus                    |quarryplus                    |21.1.119            |Manifest: ef:50:af:b3:03:e0:3e:70:a7:ef:78:77:a5:4d:d4:b5:07:ec:df:9d:d6:f3:12:13:c9:3c:cd:9a:0a:3e:6b:43         rarcompat-1.21-0.9.6.jar                          |RAR-Compat                    |rarcompat                     |0.9.6               |Manifest: NOSIGNATURE         rechiseled-1.1.6a-neoforge-mc1.21.jar             |Rechiseled                    |rechiseled                    |1.1.6+a             |Manifest: NOSIGNATURE         rechiseledcreate-1.0.2a-neoforge-mc1.21.jar       |Rechiseled: Create            |rechiseledcreate              |1.0.2+a             |Manifest: NOSIGNATURE         reeses-sodium-options-neoforge-1.8.3+mc1.21.4.jar |Reese's Sodium Options        |reeses_sodium_options         |1.8.3+mc1.21.4      |Manifest: NOSIGNATURE         relics-1.21.1-0.11.jar                            |Relics                        |relics                        |0.11                |Manifest: NOSIGNATURE         replantingcrops-1.21.1-5.5.jar                    |Replanting Crops              |replantingcrops               |5.5                 |Manifest: NOSIGNATURE         repurposed_structures-7.5.17+1.21.1-neoforge.jar  |Repurposed Structures         |repurposed_structures         |7.5.17+1.21.1-neofor|Manifest: NOSIGNATURE         resourcelibrary-neoforge-1.21.1-2.8.0.jar         |Resource Library              |resourcelibrary               |1.21.1-2.8.0        |Manifest: NOSIGNATURE         resource_nether_ores-neoforge-1.21.1-2.1.0.jar    |Resource Nether Ores          |resource_nether_ores          |2.1.0               |Manifest: NOSIGNATURE         resourcefullib-neoforge-1.21-3.0.12.jar           |Resourceful Lib               |resourcefullib                |3.0.12              |Manifest: NOSIGNATURE         resourcefulconfig-neoforge-1.21-3.0.11.jar        |Resourcefulconfig             |resourcefulconfig             |3.0.11              |Manifest: NOSIGNATURE         rhino-2101.2.7-build.77.jar                       |Rhino                         |rhino                         |2101.2.7-build.77   |Manifest: NOSIGNATURE         rightclickharvest-neoforge-4.5.3+1.21.1.jar       |Right Click Harvest           |rightclickharvest             |4.5.3+1.21.1        |Manifest: NOSIGNATURE         satisfying_buttons-neoforge-1.1.2-1.21.1.jar      |Satisfying Buttons            |satisfying_buttons            |1.1.1               |Manifest: NOSIGNATURE         Searchables-neoforge-1.21.1-1.0.2.jar             |Searchables                   |searchables                   |1.0.2               |Manifest: NOSIGNATURE         simple_weather-1.0.13.jar                         |Simple Weather                |simple_weather                |1.0.13              |Manifest: NOSIGNATURE         simplehats-neoforge-1.21.1-0.4.0.jar              |SimpleHats                    |simplehats                    |0.4.0               |Manifest: NOSIGNATURE         simplylight-1.5.3+1.21.1-b4.jar                   |Simply Light                  |simplylight                   |1.5.3               |Manifest: NOSIGNATURE         SkinnedCarts-1.21-6.0.1.jar                       |Skinned Carts                 |skinnedcarts                  |6.0.1               |Manifest: NOSIGNATURE         sleepsooner-1.21.1-4.7.jar                        |Sleep Sooner                  |sleepsooner                   |4.7                 |Manifest: NOSIGNATURE         smallernetherportals-1.21.1-3.9.jar               |Smaller Nether Portals        |smallernetherportals          |3.9                 |Manifest: NOSIGNATURE         SmartBrainLib-neoforge-1.21.1-1.16.10.jar         |SmartBrainLib                 |smartbrainlib                 |1.16.10             |Manifest: NOSIGNATURE         smoothchunk-1.21-4.1.jar                          |Smoothchunk mod               |smoothchunk                   |4.1                 |Manifest: NOSIGNATURE         snowundertrees-1.21.1-1.5.jar                     |Snow Under Trees              |snowundertrees                |1.5                 |Manifest: NOSIGNATURE         SnowRealMagic-1.21.1-NeoForge-12.1.2.jar          |Snow! Real Magic!             |snowrealmagic                 |12.1.2+neoforge     |Manifest: NOSIGNATURE         sodium-neoforge-0.6.13+mc1.21.1.jar               |Sodium                        |sodium                        |0.6.13+mc1.21.1     |Manifest: NOSIGNATURE         sodiumdynamiclights-neoforge-1.0.10-1.21.1.jar    |Sodium Dynamic Lights         |sodiumdynamiclights           |1.0.9               |Manifest: NOSIGNATURE         sodiumextras-neoforge-1.0.8-1.21.1.jar            |Sodium Extras                 |sodiumextras                  |1.0.7               |Manifest: NOSIGNATURE         sodiumoptionsapi-neoforge-1.0.10-1.21.1.jar       |Sodium Options API            |sodiumoptionsapi              |1.0.10              |Manifest: NOSIGNATURE         sodiumoptionsmodcompat-neoforge-1.0.0-1.21.1.jar  |Sodium Options Mod Compat     |sodiumoptionsmodcompat        |1.0.0               |Manifest: NOSIGNATURE         someassemblyrequired-5.2.2.jar                    |Some Assembly Required        |someassemblyrequired          |5.2.2               |Manifest: NOSIGNATURE         sophisticatedbackpacks-1.21.1-3.24.21.1314.jar    |Sophisticated Backpacks       |sophisticatedbackpacks        |3.24.21             |Manifest: NOSIGNATURE         sophisticatedcore-1.21.1-1.3.64.1090.jar          |Sophisticated Core            |sophisticatedcore             |1.3.64              |Manifest: NOSIGNATURE         sound-physics-remastered-neoforge-1.21.1-1.4.10.ja|Sound Physics Remastered      |sound_physics_remastered      |1.21.1-1.4.10       |Manifest: NOSIGNATURE         sounds-2.4.13.1+lts+1.21.1+neoforge.jar           |Sounds                        |sounds                        |2.4.13.1+lts+1.21.1+|Manifest: NOSIGNATURE         spark-1.10.124-neoforge.jar                       |spark                         |spark                         |1.10.124            |Manifest: NOSIGNATURE         sparsestructures-neoforge-1.21.1-3.0.jar          |SparseStructures              |sparsestructures              |3.0                 |Manifest: NOSIGNATURE         spectrelib-neoforge-0.17.2+1.21.jar               |SpectreLib                    |spectrelib                    |0.17.2+1.21         |Manifest: NOSIGNATURE         SpikySpikes-v21.1.1-1.21.1-NeoForge.jar           |Spiky Spikes                  |spikyspikes                   |21.1.1              |Manifest: NOSIGNATURE         statuemenus-neoforge-21.1.0.jar                   |Statue Menus                  |statuemenus                   |21.1.0              |Manifest: NOSIGNATURE         stickyenchantinglapis-1.21.1-1.5.jar              |Sticky Enchanting Lapis       |stickyenchantinglapis         |1.5                 |Manifest: NOSIGNATURE         StorageDrawers-neoforge-1.21.1-13.11.1.jar        |Storage Drawers               |storagedrawers                |13.11.1             |Manifest: NOSIGNATURE         StrawStatues-v21.1.0-1.21.1-NeoForge.jar          |Straw Statues                 |strawstatues                  |21.1.0              |Manifest: NOSIGNATURE         SubtleEffects-neoforge-1.21.1-1.12.1.jar          |Subtle Effects                |subtle_effects                |1.12.1              |Manifest: NOSIGNATURE         supermartijn642configlib-1.1.8-neoforge-mc1.21.jar|SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |Manifest: NOSIGNATURE         supermartijn642corelib-1.1.18a-neoforge-mc1.21.jar|SuperMartijn642's Core Lib    |supermartijn642corelib        |1.1.18+a            |Manifest: NOSIGNATURE         supplementaries-1.21-3.4.9-neoforge.jar           |Supplementaries               |supplementaries               |1.21-3.4.9          |Manifest: NOSIGNATURE         sweety_archaeology-1.0.9b-neoforge-1.21.1.jar     |Sweety's Archaeology          |sweety_archaeology            |1.0.9               |Manifest: NOSIGNATURE         sweety_garden-1.0.1-neoforge-1.21.1.jar           |Sweety's Garden               |sweety_garden                 |1.0.1               |Manifest: NOSIGNATURE         TCTcore-1.21.1.jar                                |tctcore                       |tctcore                       |2.0                 |Manifest: NOSIGNATURE         tide-neoforge-1.21-1.6.3.jar                      |Tide                          |tide                          |1.6.3               |Manifest: NOSIGNATURE         TinySkeletons-v21.1.0-1.21.1-NeoForge.jar         |Tiny Skeletons                |tinyskeletons                 |21.1.0              |Manifest: NOSIGNATURE         toofast-1.21.0-0.4.3.5.jar                        |Too Fast                      |toofast                       |0.4.3.5             |Manifest: NOSIGNATURE         t_and_t-neoforge-fabric-1.13.2.jar                |Towns and Towers              |t_and_t                       |1.13.2              |Manifest: NOSIGNATURE         TradingPost-v21.1.0-1.21.1-NeoForge.jar           |Trading Post                  |tradingpost                   |21.1.0              |Manifest: NOSIGNATURE         TRansition-1.0.3-1.21-neoforge-SNAPSHOT.jar       |TRansition                    |transition                    |1.0.3               |Manifest: NOSIGNATURE         trashcans-1.0.18c-neoforge-mc1.21.jar             |Trash Cans                    |trashcans                     |1.0.18+c            |Manifest: NOSIGNATURE         trashslot-neoforge-1.21.1-21.1.4.jar              |TrashSlot                     |trashslot                     |21.1.4              |Manifest: NOSIGNATURE         TRender-1.0.5-1.21-neoforge-SNAPSHOT.jar          |TRender                       |trender                       |1.0.5               |Manifest: NOSIGNATURE         trimmable_tools-neoforge-1.21.1-2.0.5.jar         |Trimmable Tools               |trimmable_tools               |2.0.5               |Manifest: NOSIGNATURE         UniversalBoneMeal-v21.1.0-1.21.1-NeoForge.jar     |Universal Bone Meal           |universalbonemeal             |21.1.0              |Manifest: NOSIGNATURE         sawmill-1.21-1.5.22-neoforge.jar                  |Universal Sawmill             |sawmill                       |1.21-1.5.22         |Manifest: NOSIGNATURE         vanillazoom-1.21.1-2.8.jar                        |Vanilla Zoom                  |vanillazoom                   |2.8                 |Manifest: NOSIGNATURE         VisualWorkbench-v21.1.1-1.21.1-NeoForge.jar       |Visual Workbench              |visualworkbench               |21.1.1              |Manifest: NOSIGNATURE         visuality-forge-2.1.0.jar                         |Visuality: Reforged           |visuality                     |2.1.0               |Manifest: NOSIGNATURE         wakes-1.21.1-NeoForge-1.0.2.jar                   |Wakes                         |wakes                         |1.0.2               |Manifest: NOSIGNATURE         worldplaytime-1.2.2-1.21-NEOFORGE.jar             |World Play Time               |worldplaytime                 |1.2.2               |Manifest: NOSIGNATURE         xptome-1.21.1-2.4.jar                             |XP Tome                       |xpbook                        |2.4                 |Manifest: NOSIGNATURE         yeetusexperimentus-neoforge-87.0.0.jar            |Yeetus Experimentus           |yeetusexperimentus            |87.0.0              |Manifest: NOSIGNATURE         yet_another_config_lib_v3-3.7.1+1.21.1-neoforge.ja|YetAnotherConfigLib           |yet_another_config_lib_v3     |3.7.1+1.21.1-neoforg|Manifest: NOSIGNATURE     Crash Report UUID: d3322bc4-8aef-4225-92bb-bb873ab76ea0     FML: 4.0.41     NeoForge: 21.1.203     Flywheel Backend: flywheel:off    
    • I have the same problem, but after research I still can't find a solution. Can you give me your list of mods so I know if we have one in common, and if that's the reason?
    • Hi! I setup and run MC forge MDK on Linux. Reading the code of the example mod, I expect to some entries in the log located in ./run/logs/latest.log. I can see the entries from commonSetup(): forge-1.21.7-57.0.2-mdk $ grep moellendorf -r ./run/logs/latest.log [01Sep2025 11:28:16.980] [Worker-Main-12/INFO] [eu.moellendorf.myfirstmod.MyFirstMod/]: HELLO FROM COMMON SETUP [01Sep2025 11:28:16.980] [Worker-Main-12/INFO] [eu.moellendorf.myfirstmod.MyFirstMod/]: DIRT BLOCK >> minecraft:dirt [01Sep2025 11:28:16.980] [Worker-Main-12/INFO] [eu.moellendorf.myfirstmod.MyFirstMod/]: The magic number is... 42 [01Sep2025 11:28:16.980] [Worker-Main-12/INFO] [eu.moellendorf.myfirstmod.MyFirstMod/]: ITEM >> minecraft:iron_ingot But I cannot see the log entries from onClientSetup(). I expect to see: "HELLO FROM CLIENT SETUP" "MINECRAFT NAME >> " and my user's name (presumably "dev") What am I missing?
  • Topics

×
×
  • Create New...

Important Information

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