Jump to content

[1.7.2] [SOLVED!] Arrow not rendering correctly while flying


Metalbot1

Recommended Posts

So, when i shoot my custom arrows from my crossbow, They render as if their falling at different points in the flight parabola. Pics to explain better:

(Imgur wasnt working for images... so ill just post the links to them here)

 

Heres my entity and render code:

package com.MinePlus.CombatPlus.Crossbow;

import java.util.List;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.play.server.S2BPacketChangeGameState;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;

import com.MinePlus.CombatPlus.Items.MPCItems;

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

public class EntityCrossbowBolt extends EntityArrow implements IProjectile {
    private int field_145791_d = -1;
    private int field_145792_e = -1;
    private int field_145789_f = -1;
    private Block field_145790_g;
    private int inData;
    private boolean inGround;
    private int ticksInGround;
    private int ticksInAir;
    private double damage = 2.0D;
    /** The amount of knockback an arrow applies when it hits a mob. */
    private int knockbackStrength;
    private static final String __OBFID = "CL_00001715";

    public EntityCrossbowBolt(World par1World)
    {
        super(par1World);
        this.renderDistanceWeight = 10.0D;
        this.setSize(0.5F, 0.5F);
    }

    public EntityCrossbowBolt(World par1World, double par2, double par4, double par6)
    {
        super(par1World);
        this.renderDistanceWeight = 10.0D;
        this.setSize(0.5F, 0.5F);
        this.setPosition(par2, par4, par6);
        this.yOffset = 0.0F;
    }

    public EntityCrossbowBolt(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5)
    {
        super(par1World);
        this.renderDistanceWeight = 10.0D;
        this.shootingEntity = par2EntityLivingBase;

        if (par2EntityLivingBase instanceof EntityPlayer)
        {
            this.canBePickedUp = 1;
        }

        this.posY = par2EntityLivingBase.posY + (double)par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D;
        double d0 = par3EntityLivingBase.posX - par2EntityLivingBase.posX;
        double d1 = par3EntityLivingBase.boundingBox.minY + (double)(par3EntityLivingBase.height / 3.0F) - this.posY;
        double d2 = par3EntityLivingBase.posZ - par2EntityLivingBase.posZ;
        double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2);

        if (d3 >= 1.0E-7D)
        {
            float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F;
            float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI));
            double d4 = d0 / d3;
            double d5 = d2 / d3;
            this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3);
            this.yOffset = 0.0F;
            float f4 = (float)d3 * 0.2F;
            this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5);
        }
    }

    public EntityCrossbowBolt(World par1World, EntityLivingBase par2EntityLivingBase, float par3)
    {
        super(par1World);
        this.renderDistanceWeight = 10.0D;
        this.shootingEntity = par2EntityLivingBase;

        if (par2EntityLivingBase instanceof EntityPlayer)
        {
            this.canBePickedUp = 1;
        }

        this.setSize(0.5F, 0.5F);
        this.setLocationAndAngles(par2EntityLivingBase.posX, par2EntityLivingBase.posY + (double)par2EntityLivingBase.getEyeHeight(), par2EntityLivingBase.posZ, par2EntityLivingBase.rotationYaw, par2EntityLivingBase.rotationPitch);
        this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
        this.posY -= 0.10000000149011612D;
        this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
        this.setPosition(this.posX, this.posY, this.posZ);
        this.yOffset = 0.0F;
        this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI));
        this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI));
        this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI));
        this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F);
    }

    protected void entityInit()
    {
        this.dataWatcher.addObject(16, Byte.valueOf((byte)0));
    }

    /**
     * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction.
     */
    public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8)
    {
        float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5);
        par1 /= (double)f2;
        par3 /= (double)f2;
        par5 /= (double)f2;
        par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
        par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
        par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
        par1 *= (double)par7;
        par3 *= (double)par7;
        par5 *= (double)par7;
        this.motionX = par1;
        this.motionY = par3;
        this.motionZ = par5;
        float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
        this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI);
        this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI);
        this.ticksInGround = 0;
    }

    /**
     * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX,
     * posY, posZ, yaw, pitch
     */
    @SideOnly(Side.CLIENT)
    public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9)
    {
        this.setPosition(par1, par3, par5);
        this.setRotation(par7, par8);
    }

    /**
     * Sets the velocity to the args. Args: x, y, z
     */
    @SideOnly(Side.CLIENT)
    public void setVelocity(double par1, double par3, double par5)
    {
        this.motionX = par1;
        this.motionY = par3;
        this.motionZ = par5;

        if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
        {
            float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
            this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI);
            this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI);
            this.prevRotationPitch = this.rotationPitch;
            this.prevRotationYaw = this.rotationYaw;
            this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
            this.ticksInGround = 0;
        }
    }

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

        if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
        {
            float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
            this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
            this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI);
        }

        Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f);

        if (block.getMaterial() != Material.air)
        {
            block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
            AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);

            if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ)))
            {
                this.inGround = true;
            }
        }

        if (this.arrowShake > 0)
        {
            --this.arrowShake;
        }

        if (this.inGround)
        {
            int j = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f);

            if (block == this.field_145790_g && j == this.inData)
            {
                ++this.ticksInGround;

                if (this.ticksInGround == 1200)
                {
                    this.setDead();
                }
            }
            else
            {
                this.inGround = false;
                this.motionX *= (double)(this.rand.nextFloat() * 0.2F);
                this.motionY *= (double)(this.rand.nextFloat() * 0.2F);
                this.motionZ *= (double)(this.rand.nextFloat() * 0.2F);
                this.ticksInGround = 0;
                this.ticksInAir = 0;
            }
        }
        else
        {
            ++this.ticksInAir;
            Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ);
            Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
            MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false);
            vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ);
            vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);

            if (movingobjectposition != null)
            {
                vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord);
            }

            Entity entity = null;
            List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
            double d0 = 0.0D;
            int i;
            float f1;

            for (i = 0; i < list.size(); ++i)
            {
                Entity entity1 = (Entity)list.get(i);

                if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5))
                {
                    f1 = 0.3F;
                    AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1);
                    MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3);

                    if (movingobjectposition1 != null)
                    {
                        double d1 = vec31.distanceTo(movingobjectposition1.hitVec);

                        if (d1 < d0 || d0 == 0.0D)
                        {
                            entity = entity1;
                            d0 = d1;
                        }
                    }
                }
            }

            if (entity != null)
            {
                movingobjectposition = new MovingObjectPosition(entity);
            }

            if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer)
            {
                EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit;

                if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer))
                {
                    movingobjectposition = null;
                }
            }

            float f2;
            float f4;

            if (movingobjectposition != null)
            {
                if (movingobjectposition.entityHit != null)
                {
                    f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
                    int k = MathHelper.ceiling_double_int((double)f2 * this.damage);

                    if (this.getIsCritical())
                    {
                        k += this.rand.nextInt(k / 2 + 2);
                    }

                    DamageSource damagesource = null;

                    if (this.shootingEntity == null)
                    {
                        damagesource = DamageSource.causeThrownDamage(this, this);
                    }
                    else
                    {
                        damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity);
                    }

                    if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman))
                    {
                        movingobjectposition.entityHit.setFire(5);
                    }

                    if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)k))
                    {
                        if (movingobjectposition.entityHit instanceof EntityLivingBase)
                        {
                            EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit;

                            if (!this.worldObj.isRemote)
                            {
                                entitylivingbase.setArrowCountInEntity(entitylivingbase.getArrowCountInEntity() + 1);
                            }

                            if (this.knockbackStrength > 0)
                            {
                                f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);

                                if (f4 > 0.0F)
                                {
                                    movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4);
                                }
                            }

                            if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase)
                            {
                                EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity);
                                EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase);
                            }

                            if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP)
                            {
                                ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F));
                            }
                        }

                        this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));

                        if (!(movingobjectposition.entityHit instanceof EntityEnderman))
                        {
                            this.setDead();
                        }
                    }
                    else
                    {
                        this.motionX *= -0.10000000149011612D;
                        this.motionY *= -0.10000000149011612D;
                        this.motionZ *= -0.10000000149011612D;
                        this.rotationYaw += 180.0F;
                        this.prevRotationYaw += 180.0F;
                        this.ticksInAir = 0;
                    }
                }
                else
                {
                    this.field_145791_d = movingobjectposition.blockX;
                    this.field_145792_e = movingobjectposition.blockY;
                    this.field_145789_f = movingobjectposition.blockZ;
                    this.field_145790_g = block;
                    this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f);
                    this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX));
                    this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY));
                    this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ));
                    f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
                    this.posX -= this.motionX / (double)f2 * 0.05000000074505806D;
                    this.posY -= this.motionY / (double)f2 * 0.05000000074505806D;
                    this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D;
                    this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
                    this.inGround = true;
                    this.arrowShake = 7;
                    this.setIsCritical(false);

                    if (this.field_145790_g.getMaterial() != Material.air)
                    {
                        this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this);
                    }
                }
            }

            if (this.getIsCritical())
            {
                for (i = 0; i < 4; ++i)
                {
                    this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)i / 4.0D, this.posY + this.motionY * (double)i / 4.0D, this.posZ + this.motionZ * (double)i / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ);
                }
            }

            this.posX += this.motionX;
            this.posY += this.motionY;
            this.posZ += this.motionZ;
            f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
            this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);

            for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
            {
                ;
            }

            while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
            {
                this.prevRotationPitch += 360.0F;
            }

            while (this.rotationYaw - this.prevRotationYaw < -180.0F)
            {
                this.prevRotationYaw -= 360.0F;
            }

            while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
            {
                this.prevRotationYaw += 360.0F;
            }

            this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F;
            this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F;
            float f3 = 0.99F;
            f1 = 0.05F;

            if (this.isInWater())
            {
                for (int l = 0; l < 4; ++l)
                {
                    f4 = 0.25F;
                    this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f4, this.posY - this.motionY * (double)f4, this.posZ - this.motionZ * (double)f4, this.motionX, this.motionY, this.motionZ);
                }

                f3 = 0.8F;
            }

            if (this.isWet())
            {
                this.extinguish();
            }

            this.motionX *= (double)f3;
            this.motionY *= (double)f3;
            this.motionZ *= (double)f3;
            this.motionY -= (double)f1;
            this.setPosition(this.posX, this.posY, this.posZ);
            this.func_145775_I();
        }
    }

    /**
     * (abstract) Protected helper method to write subclass entity data to NBT.
     */
    public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
    {
        par1NBTTagCompound.setShort("xTile", (short)this.field_145791_d);
        par1NBTTagCompound.setShort("yTile", (short)this.field_145792_e);
        par1NBTTagCompound.setShort("zTile", (short)this.field_145789_f);
        par1NBTTagCompound.setShort("life", (short)this.ticksInGround);
        par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g));
        par1NBTTagCompound.setByte("inData", (byte)this.inData);
        par1NBTTagCompound.setByte("shake", (byte)this.arrowShake);
        par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0));
        par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp);
        par1NBTTagCompound.setDouble("damage", this.damage);
    }

    /**
     * (abstract) Protected helper method to read subclass entity data from NBT.
     */
    public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
    {
        this.field_145791_d = par1NBTTagCompound.getShort("xTile");
        this.field_145792_e = par1NBTTagCompound.getShort("yTile");
        this.field_145789_f = par1NBTTagCompound.getShort("zTile");
        this.ticksInGround = par1NBTTagCompound.getShort("life");
        this.field_145790_g = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255);
        this.inData = par1NBTTagCompound.getByte("inData") & 255;
        this.arrowShake = par1NBTTagCompound.getByte("shake") & 255;
        this.inGround = par1NBTTagCompound.getByte("inGround") == 1;

        if (par1NBTTagCompound.hasKey("damage", 99))
        {
            this.damage = par1NBTTagCompound.getDouble("damage");
        }

        if (par1NBTTagCompound.hasKey("pickup", 99))
        {
            this.canBePickedUp = par1NBTTagCompound.getByte("pickup");
        }
        else if (par1NBTTagCompound.hasKey("player", 99))
        {
            this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0;
        }
    }

    /**
     * Called by a player entity when they collide with an entity
     */
    public void onCollideWithPlayer(EntityPlayer par1EntityPlayer)
    {
        if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0)
        {
            boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode;

            if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(MPCItems.CrossbowBolt, 1)))
            {
                flag = false;
            }

            if (flag)
            {
                this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
                par1EntityPlayer.onItemPickup(this, 1);
                this.setDead();
            }
        }
    }

    /**
     * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to
     * prevent them from trampling crops
     */
    protected boolean canTriggerWalking()
    {
        return false;
    }

    @SideOnly(Side.CLIENT)
    public float getShadowSize()
    {
        return 0.0F;
    }

    public void setDamage(double par1)
    {
        this.damage = par1;
    }

    public double getDamage()
    {
        return this.damage;
    }

    /**
     * Sets the amount of knockback the arrow applies when it hits a mob.
     */
    public void setKnockbackStrength(int par1)
    {
        this.knockbackStrength = par1;
    }

    /**
     * If returns false, the item will not inflict any damage against entities.
     */
    public boolean canAttackWithItem()
    {
        return false;
    }

    /**
     * Whether the arrow has a stream of critical hit particles flying behind it.
     */
    public void setIsCritical(boolean par1)
    {
        byte b0 = this.dataWatcher.getWatchableObjectByte(16);

        if (par1)
        {
            this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1)));
        }
        else
        {
            this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2)));
        }
    }

    /**
     * Whether the arrow has a stream of critical hit particles flying behind it.
     */
    public boolean getIsCritical()
    {
        byte b0 = this.dataWatcher.getWatchableObjectByte(16);
        return (b0 & 1) != 0;
    }
}

 

package com.MinePlus.CombatPlus.Crossbow;

import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;

import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

import com.MinePlus.CombatPlus.CombatPlus;

public class RenderCrossbowBolt extends Render{
    private static final ResourceLocation arrowTextures = new ResourceLocation(CombatPlus.MODID + ":" + "textures/entity/bolt.png");
    private static final String __OBFID = "CL_00000978";

    /**
     * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
     * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
     * (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1,
     * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
     */
    public void doRender(EntityCrossbowBolt par1EntityCrossbowBolt, double par2, double par4, double par6, float par8, float par9)
    {
        if (par1EntityCrossbowBolt.prevRotationYaw == 0.0F && par1EntityCrossbowBolt.prevRotationPitch == 0.0F)
        {
            return;
        }
        this.bindEntityTexture(par1EntityCrossbowBolt);
        GL11.glPushMatrix();
        GL11.glTranslatef((float)par2, (float)par4, (float)par6);
        GL11.glRotatef(par1EntityCrossbowBolt.prevRotationYaw + (par1EntityCrossbowBolt.rotationYaw - par1EntityCrossbowBolt.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F);
        GL11.glRotatef(par1EntityCrossbowBolt.prevRotationPitch + (par1EntityCrossbowBolt.rotationPitch - par1EntityCrossbowBolt.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F);
        Tessellator tessellator = Tessellator.instance;
        byte b0 = 0;
        float f2 = 0.0F;
        float f3 = 0.5F;
        float f4 = (float)(0 + b0 * 10) / 32.0F;
        float f5 = (float)(5 + b0 * 10) / 32.0F;
        float f6 = 0.0F;
        float f7 = 0.15625F;
        float f8 = (float)(5 + b0 * 10) / 32.0F;
        float f9 = (float)(10 + b0 * 10) / 32.0F;
        float f10 = 0.05625F;
        GL11.glEnable(GL12.GL_RESCALE_NORMAL);
        float f11 = (float)par1EntityCrossbowBolt.arrowShake - par9;

        if (f11 > 0.0F)
        {
            float f12 = -MathHelper.sin(f11 * 3.0F) * f11;
            GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F);
        }

        GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
        GL11.glScalef(f10, f10, f10);
        GL11.glTranslatef(-0.0F, 0.0F, 0.0F);
        GL11.glNormal3f(f10, 0.0F, 0.0F);
        tessellator.startDrawingQuads();
        tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8);
        tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8);
        tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9);
        tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9);
        tessellator.draw();
        GL11.glNormal3f(-f10, 0.0F, 0.0F);
        tessellator.startDrawingQuads();
        tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8);
        tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8);
        tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9);
        tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9);
        tessellator.draw();

        for (int i = 0; i < 4; ++i)
        {
            GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
            GL11.glNormal3f(0.0F, 0.0F, f10);
            tessellator.startDrawingQuads();
            tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4);
            tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4);
            tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5);
            tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5);
            tessellator.draw();
        }

        GL11.glDisable(GL12.GL_RESCALE_NORMAL);
        GL11.glPopMatrix();
    }

    /**
     * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
     */
    protected ResourceLocation getEntityTexture(EntityCrossbowBolt par1EntityCrossbowBolt)
    {
        return arrowTextures;
    }

    /**
     * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
     */
    protected ResourceLocation getEntityTexture(Entity par1Entity)
    {
        return this.getEntityTexture((EntityCrossbowBolt)par1Entity);
    }

    /**
     * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
     * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
     * (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1,
     * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
     */
    public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
    {
        this.doRender((EntityCrossbowBolt)par1Entity, par2, par4, par6, par8, par9);
    }
}

 

Any help greatly appreciated :)

 

EDIT: Thanks to CoolAlias and jabelar for helping me out! The fixed code is further down the page.

 

 

Link to comment
Share on other sites

Ive already removed all the variables that are inherited from entityarrow, ive also added

        if (par1EntityCrossbowBolt.prevRotationYaw == 0.0F && par1EntityCrossbowBolt.prevRotationPitch == 0.0F)
        {
            return;
        }

to my render code to prevent arrows rendering sideways. However im still ending up with this issue

Link to comment
Share on other sites

I don't have a solution, but I can say that I recently ran into the exact same problem with a throwable.  The entity looked like it was falling from one point on the trajectory then would fall from another, and so on.

 

What I believe was happening was some issue with sync between server and client.  Bascially the server knew that it was flying with a trajectory and so ultimately it went where it was supposed to, but the client got occasional syncs from server which put it back on trajectory but in between syncs the client did intermediate processing and thought it was falling.

 

For fast moving objects in client-server games, you usually have to do this -- the client has to do intermediate processing otherwise the movement will be too jerky and laggy waiting for server to update the position.

 

When I was debugging this I found that the server was syncing the position but not the motion.  I'm pretty sure that is the problem.  I sort of brute forced it by totally rewriting it so that the client took the last two server positions and created motion on the client.

 

But there has to be a cleaner way since there are already projectiles and throwables that work well in Minecraft.  I think perhaps vanilla entities have some special sync packet that we're not getting with our custom entity or something?

 

Anyway, hope that gives you some idea.

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

Link to comment
Share on other sites

Just to double-check with the OP and jabelar, above, you guys are registering your projectiles as mod entities, correct? Because that sends a lot of update information (position, motion, etc.) to the client if you do it correctly.

 

This is what I use for all of my projectiles:

// for arrow-types, I use a tracking frequency of '20', as that's what vanilla arrows use:
EntityRegistry.registerModEntity(EntityArrowCustom.class, "arrowcustom", ++modEntityIndex, ZSSMain.instance, 64, 20, true);

// all other throwables use a frequency of '10':
EntityRegistry.registerModEntity(EntityBomb.class, "bomb", ++modEntityIndex, ZSSMain.instance, 64, 10, true);

 

You don't have to have the exact same frequency, but it certainly seems to do the trick for me.

 

Here is a full chart of vanilla entities and their associated values, put together I think by LockNLoad: https://docs.google.com/spreadsheet/pub?key=0Ap8gssssFFPAdFRXREZGSzZRY3k1WE8wcUE4S09xWXc&single=true&gid=0&output=html

Link to comment
Share on other sites

That's an interesting point.  Yes i use the registerModEntity() registration method. I had been using tracking frequency of 3.  I thought that smaller was better (i.e. that it was number of ticks or something).  But I guess you're saying that higher is better?

 

[EDIT]Actually, I was right -- lower is more frequent.  20 was horrible, but a value of 1 was really quite nice.

 

[EDIT#2]Derp! The problem for me is that in my registerModEntity() I had set the tracking to false!  I changed it back to value of 10 (suggested by you CoolAlias) and turned it on to true (and I also disabled my manual motion syncing) and it works beautifully now.

 

@Metalbot1, you should ensure that you set the tracking to true when you register the entity. Can you post your code where you register this entity?

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

Link to comment
Share on other sites

    	EntityRegistry.registerGlobalEntityID(EntityCrossbowBolt.class, "CrossbowBolt", EntityRegistry.findGlobalUniqueEntityId());
    	EntityRegistry.registerModEntity(EntityCrossbowBolt.class, "CrossbowBolt", 1, this, 100, 30, false);
    	RenderingRegistry.registerEntityRenderingHandler(EntityCrossbowBolt.class, new RenderCrossbowBolt());

 

This is the code ive been using to register my entity. I changed the frequency of tracking to 30 and im still ending up with the same issue.

 

EDIT: After changing the final parameter of registerModEntity(); to true and setting frequency lower its rendering perfectly. Thank you guys for the help! new register code:

    	EntityRegistry.registerGlobalEntityID(EntityCrossbowBolt.class, "CrossbowBolt", EntityRegistry.findGlobalUniqueEntityId());
    	EntityRegistry.registerModEntity(EntityCrossbowBolt.class, "CrossbowBolt", 1, this, 100, 1, true);
    	RenderingRegistry.registerEntityRenderingHandler(EntityCrossbowBolt.class, new RenderCrossbowBolt());

Link to comment
Share on other sites

Join the conversation

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

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • esto es lo que me marca con uno de los mods que tengo y no se la razón ya que estoy ocupando muchos mods a la vez y el código esta muy extenso  ---- Informe de fallos de Minecraft ---- // Apuesto a que los Cylons no tendrían este problema. Hora: 2024-07-18 17:46:01 Descripción: Se ha producido un error al cargar el mod java.lang.Exception: La carga del mod ha fallado     en net.minecraftforge.logging.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:55) ~[forge-1.19.2-43.4.2-universal.jar%23230!/:?] {re:classloading}     en net.minecraftforge.client.loading.ClientModLoader.completeModLoading(ClientModLoader.java:167) ~[forge-1.19.2-43.4.2-universal.jar%23230!/:?] {re:classloading,pl:runtimedistcleaner:A}     en net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:585) ~[cliente-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:playerrevive.mixins.json:MinecraftAccessor,pl:mixin:A,pl:runtimedistcleaner:A}     en net.minecraft.Util.m_137521_(Util.java:605) ~[cliente-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:classloading,xf:OptiFine:default}     en net.minecraft.client.Minecraft.lambda$new$3(Minecraft.java:579) ~[cliente-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:playerrevive.mixins.json:MinecraftAccessor,pl:mixin:A,pl:runtimedistcleaner:A}     en net.minecraft.client.gui.screens.LoadingOverlay.m_6305_(LoadingOverlay.java:196) ~[cliente-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:classloading,xf:OptiFine:default}     en net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:1290) ~[cliente-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default}     en net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1115) ~[cliente-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:playerrevive.mixins.json:MinecraftAccessor,pl:mixin:A,pl:runtimedistcleaner:A}     en net.minecraft.cliente.Minecraft.m_91374_(Minecraft.java:700) ~[cliente-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:playerrevive.mixins.json:MinecraftAccessor,pl:mixin:A,pl:runtimedistcleaner:A}     en net.minecraft.client.main.Main.m_239872_(Main.java:212) ~[cliente-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:classloading,pl:runtimedistcleaner:A}     en net.minecraft.client.main.Main.main(Main.java:51) ~[client-1.19.2-20220805.130853-srg.jar%23225!/:?] {re:classloading,pl:runtimedistcleaner:A}     en jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Método nativo) ~[?:?] {}     en jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     en jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     en java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     en net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:27) ~[fmlloader-1.19.2-43.4.2.jar%23101!/:?] {}     en cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.8.jar%2388!/:?] {}     en cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.8.jar%2388!/:?] {} en cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.8.jar     %2388!/:?] {}     en cpw.mods.modlauncher.run(Launcher.java:106) [modlauncher-10.0.8.jar%2388!/:?] {}     en cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-10.0.8.jar%2388!/:?] {}     en cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-10.0.8.jar%2388!/:?] {} en cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23)     [modlauncher-10.0.8.jar%2388!/:?] {}     en cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) [bootstraplauncher-1.1.2.jar:?] {} A continuación se muestra un recorrido detallado del error, su ruta de código y todos los detalles conocidos: --------------------------------------------------------------------------------------- -- Cabeza -- Hilo: Hilo de renderizado Stacktrace:     at corgitaco.corgilib.serialization.jankson.JanksonUtil.readConfig(JanksonUtil.java:139) ~[CorgiLib-forge-1.19.2-1.0.0.34.jar%23198!/:1.0.0.34] {re:classloading} -- MOD byg -- Detalles:     Archivo del mod: /C:/Users/jelia/AppData/Roaming/.minecraft/mods/Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar     Mensaje de error: Oh The Biomes You'll Go (byg) encontró un error durante la fase de evento completa         java.lang.IllegalArgumentException: Jankson file reading for "C:\Users\jelia\AppData\Roaming\.minecraft\config\byg\trades.json5" failed due to the following error(s): Jankson file reading for "C:\Users\jelia\AppData\Roaming\.minecraft\config\byg\trades.json5" failed due to the following error(s): Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds missed input: { "1": [ { "config": { "emerald_cost": 5, "item": "byg:aspen_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:baobab_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:blue_enchanted_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:pink_cherry_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:white_cherry_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:cika_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:cypress_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:ebony_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:ether_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:fir_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:green_enchanted_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:holly_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:jacaranda_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:indigo_jacaranda_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:lament_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:mahogany_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:mangrove_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:maple_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:red_maple_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:silver_maple_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:nightshade_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:palm_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:palo_verde_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:pine_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:rainbow_eucalyptus_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:redwood_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:skyris_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:willow_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:witch_hazel_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:zelkova_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:withering_oak_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:araucaria_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:blue_spruce_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:brown_birch_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:brown_oak_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:brown_zelkova_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:joshua_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:orange_birch_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:orange_oak_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:orange_spruce_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:orchard_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:red_birch_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:red_oak_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:red_spruce_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:yellow_birch_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:yellow_spruce_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:skyris_vine", "max_uses": 12, "number_of_items": 2, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:poison_ivy", "max_uses": 12, "number_of_items": 2, "villager_xp": 2 }, "type": "byg:items_for_emeralds" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds missed input: { "3": [ { "config": { "emerald_cost": 1, "item": "byg:rocky_stone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:rocky_stone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:mossy_stone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:mossy_stone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 1, "item": "byg:dacite", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:dacite", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:soapstone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:soapstone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:red_rock", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:red_rock", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_and_emeralds_to_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items missed input: { "1": [ { "config": { "cost": 24, "item": "byg:cattail_sprout", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "2": [ { "config": { "cost": 10, "item": "byg:baobab_fruit", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 16, "item": "byg:aloe_vera", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 24, "item": "byg:green_apple", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "3": [ { "config": { "cost": 10, "item": "byg:joshua_fruit", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 2, "from_count": 16, "from_item": "minecraft:dirt", "max_uses": 4, "to_count": 16, "to_item": "byg:lush_dirt", "villager_xp": 4 }, "type": "byg:items_and_emeralds_to_items" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items missed input: { "2": [ { "config": { "cost": 10, "item": "byg:blueberries", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds missed input: { "4": [ { "config": { "emerald_cost": 3, "item": "byg:chain_plating", "max_uses": 12, "number_of_items": 7, "villager_xp": 2 }, "type": "byg:items_for_emeralds" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items missed input: { "1": [ { "config": { "cost": 10, "item": "minecraft:red_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "minecraft:brown_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:green_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "2": [ { "config": { "cost": 8, "item": "byg:wood_blewit", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 8, "item": "byg:white_puffball_cap", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" } ], "3": [ { "config": { "emerald_cost": 4, "item": "byg:white_puffball_spores", "max_uses": 4, "number_of_items": 5, "villager_xp": 3 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 10, "item": "minecraft:crimson_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "minecraft:warped_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:sythian_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 4, "item": "byg:witch_hazel_branch", "max_uses": 4, "number_of_items": 9, "villager_xp": 3 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 10, "item": "byg:witch_hazel_blossom", "max_uses": 10, "number_of_items": 1, "villager_xp": 3 }, "type": "byg:items_for_emeralds" } ], "5": [ { "config": { "cost": 10, "item": "byg:imparius_mushroom", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:shulkren_fungus", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:fungal_imparius", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" } ] } missed input: { "byg:forager": { "1": [ { "config": { "cost": 10, "item": "minecraft:red_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "minecraft:brown_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:green_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "2": [ { "config": { "cost": 8, "item": "byg:wood_blewit", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 8, "item": "byg:white_puffball_cap", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" } ], "3": [ { "config": { "emerald_cost": 4, "item": "byg:white_puffball_spores", "max_uses": 4, "number_of_items": 5, "villager_xp": 3 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 10, "item": "minecraft:crimson_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "minecraft:warped_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:sythian_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 4, "item": "byg:witch_hazel_branch", "max_uses": 4, "number_of_items": 9, "villager_xp": 3 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 10, "item": "byg:witch_hazel_blossom", "max_uses": 10, "number_of_items": 1, "villager_xp": 3 }, "type": "byg:items_for_emeralds" } ], "5": [ { "config": { "cost": 10, "item": "byg:imparius_mushroom", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:shulkren_fungus", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:fungal_imparius", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" } ] }, "minecraft:armorer": { "1": [], "2": [], "3": [], "4": [ { "config": { "emerald_cost": 3, "item": "byg:chain_plating", "max_uses": 12, "number_of_items": 7, "villager_xp": 2 }, "type": "byg:items_for_emeralds" } ], "5": [] }, "minecraft:butcher": { "1": [], "2": [ { "config": { "cost": 10, "item": "byg:blueberries", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "3": [], "4": [], "5": [] }, "minecraft:farmer": { "1": [ { "config": { "cost": 24, "item": "byg:cattail_sprout", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "2": [ { "config": { "cost": 10, "item": "byg:baobab_fruit", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 16, "item": "byg:aloe_vera", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 24, "item": "byg:green_apple", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "3": [ { "config": { "cost": 10, "item": "byg:joshua_fruit", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 2, "from_count": 16, "from_item": "minecraft:dirt", "max_uses": 4, "to_count": 16, "to_item": "byg:lush_dirt", "villager_xp": 4 }, "type": "byg:items_and_emeralds_to_items" } ], "5": [] }, "minecraft:mason": { "1": [], "2": [], "3": [ { "config": { "emerald_cost": 1, "item": "byg:rocky_stone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:rocky_stone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:mossy_stone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:mossy_stone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 1, "item": "byg:dacite", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:dacite", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:soapstone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:soapstone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:red_rock", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:red_rock", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" } ], "5": [] } }     Mod Version: 2.0.1.6     Mod Issue URL: https://github.com/AOCAWOL/BYG/issues     Exception message: java.lang.IllegalArgumentException: Jankson file reading for "C:\Users\jelia\AppData\Roaming\.minecraft\config\byg\trades.json5" failed due to the following error(s): Jankson file reading for "C:\Users\jelia\AppData\Roaming\.minecraft\config\byg\trades.json5" failed due to the following error(s): Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds missed input: { "1": [ { "config": { "emerald_cost": 5, "item": "byg:aspen_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:baobab_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:blue_enchanted_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:pink_cherry_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:white_cherry_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:cika_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:cypress_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:ebony_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:ether_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:fir_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:green_enchanted_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:holly_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:jacaranda_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:indigo_jacaranda_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:lament_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:mahogany_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:mangrove_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:maple_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:red_maple_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:silver_maple_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:nightshade_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:palm_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:palo_verde_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:pine_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:rainbow_eucalyptus_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:redwood_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:skyris_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:willow_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:witch_hazel_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:zelkova_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:withering_oak_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:araucaria_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:blue_spruce_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:brown_birch_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:brown_oak_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:brown_zelkova_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:joshua_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:orange_birch_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:orange_oak_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:orange_spruce_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:orchard_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:red_birch_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:red_oak_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:red_spruce_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:yellow_birch_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:yellow_spruce_sapling", "max_uses": 12, "number_of_items": 1, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:skyris_vine", "max_uses": 12, "number_of_items": 2, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 5, "item": "byg:poison_ivy", "max_uses": 12, "number_of_items": 2, "villager_xp": 2 }, "type": "byg:items_for_emeralds" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds missed input: { "3": [ { "config": { "emerald_cost": 1, "item": "byg:rocky_stone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:rocky_stone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:mossy_stone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:mossy_stone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 1, "item": "byg:dacite", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:dacite", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:soapstone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:soapstone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:red_rock", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:red_rock", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_and_emeralds_to_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items missed input: { "1": [ { "config": { "cost": 24, "item": "byg:cattail_sprout", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "2": [ { "config": { "cost": 10, "item": "byg:baobab_fruit", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 16, "item": "byg:aloe_vera", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 24, "item": "byg:green_apple", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "3": [ { "config": { "cost": 10, "item": "byg:joshua_fruit", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 2, "from_count": 16, "from_item": "minecraft:dirt", "max_uses": 4, "to_count": 16, "to_item": "byg:lush_dirt", "villager_xp": 4 }, "type": "byg:items_and_emeralds_to_items" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items missed input: { "2": [ { "config": { "cost": 10, "item": "byg:blueberries", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds missed input: { "4": [ { "config": { "emerald_cost": 3, "item": "byg:chain_plating", "max_uses": 12, "number_of_items": 7, "villager_xp": 2 }, "type": "byg:items_for_emeralds" } ] }; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:items_for_emeralds; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items; Unknown registry key in ResourceKey[minecraft:root / corgilib:villager_trades_item_listing]: byg:emerald_for_items missed input: { "1": [ { "config": { "cost": 10, "item": "minecraft:red_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "minecraft:brown_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:green_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "2": [ { "config": { "cost": 8, "item": "byg:wood_blewit", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 8, "item": "byg:white_puffball_cap", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" } ], "3": [ { "config": { "emerald_cost": 4, "item": "byg:white_puffball_spores", "max_uses": 4, "number_of_items": 5, "villager_xp": 3 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 10, "item": "minecraft:crimson_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "minecraft:warped_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:sythian_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 4, "item": "byg:witch_hazel_branch", "max_uses": 4, "number_of_items": 9, "villager_xp": 3 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 10, "item": "byg:witch_hazel_blossom", "max_uses": 10, "number_of_items": 1, "villager_xp": 3 }, "type": "byg:items_for_emeralds" } ], "5": [ { "config": { "cost": 10, "item": "byg:imparius_mushroom", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:shulkren_fungus", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:fungal_imparius", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" } ] } missed input: { "byg:forager": { "1": [ { "config": { "cost": 10, "item": "minecraft:red_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "minecraft:brown_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:green_mushroom", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "2": [ { "config": { "cost": 8, "item": "byg:wood_blewit", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 8, "item": "byg:white_puffball_cap", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" } ], "3": [ { "config": { "emerald_cost": 4, "item": "byg:white_puffball_spores", "max_uses": 4, "number_of_items": 5, "villager_xp": 3 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 10, "item": "minecraft:crimson_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "minecraft:warped_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:sythian_fungus", "max_uses": 12, "villager_xp": 3 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 4, "item": "byg:witch_hazel_branch", "max_uses": 4, "number_of_items": 9, "villager_xp": 3 }, "type": "byg:items_for_emeralds" }, { "config": { "emerald_cost": 10, "item": "byg:witch_hazel_blossom", "max_uses": 10, "number_of_items": 1, "villager_xp": 3 }, "type": "byg:items_for_emeralds" } ], "5": [ { "config": { "cost": 10, "item": "byg:imparius_mushroom", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:shulkren_fungus", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 10, "item": "byg:fungal_imparius", "max_uses": 12, "villager_xp": 4 }, "type": "byg:emerald_for_items" } ] }, "minecraft:armorer": { "1": [], "2": [], "3": [], "4": [ { "config": { "emerald_cost": 3, "item": "byg:chain_plating", "max_uses": 12, "number_of_items": 7, "villager_xp": 2 }, "type": "byg:items_for_emeralds" } ], "5": [] }, "minecraft:butcher": { "1": [], "2": [ { "config": { "cost": 10, "item": "byg:blueberries", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "3": [], "4": [], "5": [] }, "minecraft:farmer": { "1": [ { "config": { "cost": 24, "item": "byg:cattail_sprout", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "2": [ { "config": { "cost": 10, "item": "byg:baobab_fruit", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 16, "item": "byg:aloe_vera", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" }, { "config": { "cost": 24, "item": "byg:green_apple", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "3": [ { "config": { "cost": 10, "item": "byg:joshua_fruit", "max_uses": 12, "villager_xp": 2 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 2, "from_count": 16, "from_item": "minecraft:dirt", "max_uses": 4, "to_count": 16, "to_item": "byg:lush_dirt", "villager_xp": 4 }, "type": "byg:items_and_emeralds_to_items" } ], "5": [] }, "minecraft:mason": { "1": [], "2": [], "3": [ { "config": { "emerald_cost": 1, "item": "byg:rocky_stone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:rocky_stone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:mossy_stone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:mossy_stone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" } ], "4": [ { "config": { "emerald_cost": 1, "item": "byg:dacite", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:dacite", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:soapstone", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:soapstone", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" }, { "config": { "emerald_cost": 1, "item": "byg:red_rock", "max_uses": 12, "number_of_items": 12, "villager_xp": 2 }, "type": "byg:items_for_emeralds" }, { "config": { "cost": 1, "item": "byg:red_rock", "max_uses": 12, "villager_xp": 12 }, "type": "byg:emerald_for_items" } ], "5": [] } } Stacktrace:     at corgitaco.corgilib.serialization.jankson.JanksonUtil.readConfig(JanksonUtil.java:139) ~[CorgiLib-forge-1.19.2-1.0.0.34.jar%23198!/:1.0.0.34] {re:classloading}     at potionstudios.byg.common.entity.npc.TradesConfig.readConfig(TradesConfig.java:66) ~[Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar%23216!/:2.0.1.6] {re:classloading}     at potionstudios.byg.common.entity.npc.TradesConfig.getConfig(TradesConfig.java:47) ~[Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar%23216!/:2.0.1.6] {re:classloading}     at potionstudios.byg.config.BYGConfigHandler.lambda$loadAllConfigs$6(BYGConfigHandler.java:50) ~[Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar%23216!/:2.0.1.6] {re:mixin,re:classloading}     at potionstudios.byg.config.BYGConfigHandler.tryCatchErrors(BYGConfigHandler.java:70) ~[Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar%23216!/:2.0.1.6] {re:mixin,re:classloading}     at potionstudios.byg.config.BYGConfigHandler.loadAllConfigs(BYGConfigHandler.java:50) ~[Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar%23216!/:2.0.1.6] {re:mixin,re:classloading}     at potionstudios.byg.config.BYGConfigHandler.loadAllConfigs(BYGConfigHandler.java:33) ~[Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar%23216!/:2.0.1.6] {re:mixin,re:classloading}     at potionstudios.byg.BYG.commonLoad(BYG.java:63) ~[Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar%23216!/:2.0.1.6] {re:mixin,re:classloading}     at potionstudios.byg.BYGForge.commonLoad(BYGForge.java:89) ~[Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar%23216!/:2.0.1.6] {re:classloading}     at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.3.jar%2385!/:?] {}     at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.3.jar%2385!/:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%2385!/:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%2385!/:?] {}     at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:114) ~[javafmllanguage-1.19.2-43.4.2.jar%23227!/:?] {}     at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:123) ~[fmlcore-1.19.2-43.4.2.jar%23226!/:?] {}     at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}     at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}     at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}     at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}     at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {re:computing_frames}     at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {re:computing_frames}     at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} -- System Details -- Details:     Minecraft Version: 1.19.2     Minecraft Version ID: 1.19.2     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.8, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 883961880 bytes (843 MiB) / 1996488704 bytes (1904 MiB) up to 4160749568 bytes (3968 MiB)     CPUs: 8     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz     Identifier: Intel64 Family 6 Model 126 Stepping 5     Microarchitecture: Ice Lake (Client)     Frequency (GHz): 1.19     Number of physical packages: 1     Number of physical CPUs: 4     Number of logical CPUs: 8     Graphics card #0 name: Intel(R) UHD Graphics     Graphics card #0 vendor: Intel Corporation (0x8086)     Graphics card #0 VRAM (MB): 1024.00     Graphics card #0 deviceId: 0x8a56     Graphics card #0 versionInfo: DriverVersion=30.0.100.9864     Memory slot #0 capacity (MB): 4096.00     Memory slot #0 clockSpeed (GHz): 2.67     Memory slot #0 type: Unknown     Memory slot #1 capacity (MB): 4096.00     Memory slot #1 clockSpeed (GHz): 2.67     Memory slot #1 type: Unknown     Virtual memory max (MB): 16126.37     Virtual memory used (MB): 9429.52     Swap memory total (MB): 8192.00     Swap memory used (MB): 1427.37     JVM Flags: 8 total; -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M -Xmx3967m -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump     OptiFine Version: OptiFine_1.19.2_HD_U_I2     OptiFine Build: 20230623-171717     Render Distance Chunks: 2     Mipmaps: 3     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 3.2.0 - Build 30.0.100.9864     OpenGlRenderer: Intel(R) UHD Graphics     OpenGlVendor: Intel     CpuCount: 8     ModLauncher: 10.0.8+10.0.8+main.0ef7e830     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:          mixin-0.8.5.jar mixin PLUGINSERVICE          eventbus-6.0.3.jar eventbus PLUGINSERVICE          fmlloader-1.19.2-43.4.2.jar slf4jfixer PLUGINSERVICE          fmlloader-1.19.2-43.4.2.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.19.2-43.4.2.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.19.2-43.4.2.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.19.2-43.4.2.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.8.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.8.jar OptiFine TRANSFORMATIONSERVICE          modlauncher-10.0.8.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         lowcodefml@null         javafml@null     Mod List:          client-1.19.2-20220805.130853-srg.jar             |Minecraft                     |minecraft                     |1.19.2              |DONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         FarmersDelight-1.19.2-1.2.2.jar                   |Farmer's Delight              |farmersdelight                |1.19.2-1.2.2        |DONE      |Manifest: NOSIGNATURE         TerraBlender-forge-1.19.2-2.0.1.166.jar           |TerraBlender                  |terrablender                  |2.0.1.166           |DONE      |Manifest: NOSIGNATURE         CozyHome-2.2.7-1.19.2.jar                         |Cozy Home                     |cozy_home                     |1.0.0               |DONE      |Manifest: NOSIGNATURE         EasyAnvils-v4.0.11-1.19.2-Forge.jar               |Easy Anvils                   |easyanvils                    |4.0.11              |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         trashslot-forge-1.19.2-12.1.0.jar                 |TrashSlot                     |trashslot                     |12.1.0              |DONE      |Manifest: NOSIGNATURE         beautify-1.4.3.jar                                |Beautify                      |beautify                      |1.4.3               |DONE      |Manifest: NOSIGNATURE         player-animation-lib-forge-1.0.2.jar              |Player Animator               |playeranimator                |1.0.2               |DONE      |Manifest: NOSIGNATURE         CreativeCore_FORGE_v2.9.3_mc1.19.2 - copia.jar    |CreativeCore                  |creativecore                  |2.9.3               |DONE      |Manifest: NOSIGNATURE         EasyMagic-v4.3.3-1.19.2-Forge.jar                 |Easy Magic                    |easymagic                     |4.3.3               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         libraryferret-forge-1.19.2-4.0.0.jar              |Library ferret                |libraryferret                 |4.0.0               |DONE      |Manifest: NOSIGNATURE         curios-forge-1.19.2-5.1.6.2.jar                   |Curios API                    |curios                        |1.19.2-5.1.6.2      |DONE      |Manifest: NOSIGNATURE         wardrobe-1.0.3-1.19.2.jar                         |Wardrobe                      |wardrobe                      |1.0.3               |DONE      |Manifest: NOSIGNATURE         Croptopia-1.19.2-FORGE-2.2.2.jar                  |Croptopia                     |croptopia                     |2.2.2               |DONE      |Manifest: NOSIGNATURE         camera-1.19.2-1.0.4.jar                           |Camera Mod                    |camera                        |1.19.2-1.0.4        |DONE      |Manifest: NOSIGNATURE         CTM-1.19.2-1.1.6+8.jar                            |ConnectedTexturesMod          |ctm                           |1.19.2-1.1.6+8      |DONE      |Manifest: NOSIGNATURE         modernlife-1.19.2-1.59 (1).jar                    |Modern Life                   |modernlife                    |1.19.2-1.59         |DONE      |Manifest: NOSIGNATURE         citadel-2.1.3-1.19.jar                            |Citadel                       |citadel                       |2.1.3               |DONE      |Manifest: NOSIGNATURE         alexsmobs-1.21.1.jar                              |Alex's Mobs                   |alexsmobs                     |1.21.1              |DONE      |Manifest: NOSIGNATURE         artifacts-1.19.2-5.0.5.jar                        |Artifacts                     |artifacts                     |1.19.2-5.0.5        |DONE      |Manifest: NOSIGNATURE         CustomPlayerModels-1.19-0.6.17a.jar               |Customizable Player Models    |cpm                           |0.6.17a             |DONE      |Manifest: NOSIGNATURE         bettervillage-forge-1.19.2-3.2.0.jar              |Better village                |bettervillage                 |3.1.0               |DONE      |Manifest: NOSIGNATURE         elevatorid-1.19.2-1.8.9.jar                       |Elevator Mod                  |elevatorid                    |1.19.2-1.8.9        |DONE      |Manifest: NOSIGNATURE         resourcefullib-forge-1.19.2-1.1.24.jar            |Resourceful Lib               |resourcefullib                |1.1.24              |DONE      |Manifest: NOSIGNATURE         balm-forge-1.19.2-4.5.7.jar                       |Balm                          |balm                          |4.5.7               |DONE      |Manifest: NOSIGNATURE         PuzzlesLib-v4.4.2-1.19.2-Forge - copia.jar        |Puzzles Lib                   |puzzleslib                    |4.4.2               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.1.6.jar  |Oh The Biomes You'll Go       |byg                           |2.0.1.6             |ERROR     |Manifest: NOSIGNATURE         CorgiLib-forge-1.19.2-1.0.0.34.jar                |CorgiLib                      |corgilib                      |1.0.0.34            |DONE      |Manifest: NOSIGNATURE         cloth-config-8.3.115-forge.jar                    |Cloth Config v8 API           |cloth_config                  |8.3.115             |DONE      |Manifest: NOSIGNATURE         voicechat-forge-1.19.2-2.5.19.jar                 |Simple Voice Chat             |voicechat                     |1.19.2-2.5.19       |DONE      |Manifest: NOSIGNATURE         forge-1.19.2-43.4.2-universal.jar                 |Forge                         |forge                         |43.4.2              |DONE      |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90         commonality-1.19.2-4.2.1.jar                      |Commonality                   |commonality                   |4.2.1               |DONE      |Manifest: NOSIGNATURE         apexcore-1.19.2-7.3.1.jar                         |ApexCore                      |apexcore                      |7.3.1               |DONE      |Manifest: NOSIGNATURE         fantasyfurniture-1.19.2-6.7.0.jar                 |Fantasy's Furniture           |fantasyfurniture              |6.7.0               |DONE      |Manifest: NOSIGNATURE         CosmeticArmorReworked-1.19.2-v1a (1).jar          |CosmeticArmorReworked         |cosmeticarmorreworked         |1.19.2-v1a          |DONE      |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         expandability-forge-7.0.0.jar                     |ExpandAbility                 |expandability                 |7.0.0               |DONE      |Manifest: NOSIGNATURE         PlayerRevive_FORGE_v2.0.14_mc1.19.2.jar           |PlayerRevive                  |playerrevive                  |2.0.14              |DONE      |Manifest: NOSIGNATURE         geckolib-forge-1.19-3.1.40 - copia.jar            |GeckoLib                      |geckolib3                     |3.1.40              |DONE      |Manifest: NOSIGNATURE         emotecraft-for-MC1.19.2-2.2.7-b.build.50-forge.jar|Emotecraft                    |emotecraft                    |2.2.7-b.build.50    |DONE      |Manifest: NOSIGNATURE         Corpse-forge-1.19.2-1.0.12.jar |Cadáver |cadáver |1.19.2-1.0.12 |HECHO |Manifiesto: NOSIGNATURE         chipped-forge-1.19.2-2.1.5.jar |Astillado |astillado |2.1.5 |HECHO |Manifiesto: NOSIGNATURE     Informe de fallos UUID: 452056ac-0e2c-4d3d-bed6-7e2edade8718     FML: 43.4     Forge: net.minecraftforge:43.4.2
    • version used : minecraft forge 1.20.1 Logs : https://bytebin.lucko.me/rtG4EA0vfb hi! so when i try to create a new minecraft world in single player, it just crashes?? does anyone has an idea what could be causing this ?
    • Hey today I was trying to play in 1.21 modpack that I made on fabric (my version of fabric is in 0.16.0) with this list of mods : - Entity Model Features (by traben_0) - Entity Texture Features (by traben_0) - Advanced Chat (by Wesley8081) - Ambient Environment (by Jaredlll08) - Ambient Souds 6 (by CreativeMD) - Animatica (by FoundationGames) - Armor Statues (by Fuzs) - Auto HUD (by Crendgrim) - Bad Packets (by badasintended) - Balm (by BlayTheNinth) - Better Beds (by Motschen) - Better Chunk Loading (by someaddon) - Better Compatibility Checker (by Gaz-) - Better FPS [Render Distance] (by someaddon) - Better Ping Display (by Quintinity) - Better Statistics Screen (by TheCSDev) - Better Armor HUD (by efekos) - Better F3 ( by cominixo) - Blur + (by Motschen) - Bobby (by Johni0702) - Cat Jam (by shmove) - Catalogue (by MrCrayfish) - Chat Heads (by dzwdz) - Cherished Worlds (by TheIllusiveC4) - Chunk Sending (by someaddon) - Chunks Fade In (by kerudion) - Chunky (by pop4959) - Cloth Config (by shedaniel) - Clumps (by Jaredlll08) - Cobweb (CrystalSpider) - Collective (by Serilum) - Configured (by MrCrayfish) - Connectivity (by someaddon) - Continuity (by Pepper_Bell) - Creative Core (by CreativeMD) - Cupboard (by someaddon) - Cut Through (by Fuzs) - Dark Loading Screen (by Neecko5b84) - Debugify (by XanderIsDev) - Double Doors (by Serilum) - Dynamic FPS (by juliand665) - Dynamic Lights (by Tschipcraft) - Easy Anvils (by Fuzs) - Easy Magic (by Fuzs) - Easy Shulker Boxes (by Fuzs) - Eating Animation (by theone-ss) - Enhanced Attack Indicator (by Mineash) - Enhanced Block Entities (by FoundationGames) - Enhanced Visuals (by CreativeMD) - Entity Culling (by tr7zw) - Environmental Water (by AgentMindStorm) - Essential (by SparkUniverse_) - Extra Thicc Packets (by JaselUmena) - Fabric (by modmuss50) - Fabric Language Kotlin (by modmuss50) - Falling Leaves (by RandomMcSomethin) - Fancy Block Particles (by Hantonik) - Fancy Health Bar (by efekos) - Farsight (by someaddon) - Fast IP Ping (by Fallen_Breath) - Ferrite Core (by  malte0811) - Fish On The Line (by Serilum) - Fix GPU Memory Leak  (by someaddon) - Forge Config API Port (by Fuzs) - FPS Reducer (by bre2el) - Freecam (by hashalite) - Fzzy Config (by fzzyhmstrs) - Get It Together (by bl4ckscor3) - Global Packs (by JTK222) - Harvest With Ease (by CrystalSpider) - Ichuntil Util (by iChun) - Immediately Fast (by RaphilMC) - Immersive UI (by SSKirillSS) - Indium (by comp500) - Inventory HUD+ (by dmitrylovin) - Iris Shaders (by coderbot) - Item Physic Full (by CreativeMD) - Jade (by Snownee) - Journey Map (by techbrew) - Just Enough Breeding (by Christofmeg) - Just Enough Items (by mezz) - Just Enough Professions (by Mrbysco) - Language Reload (by Jerozgen) - Leaves Be Gone (by Fuzs) - Let Me Despawn (by frikinjay) - Let Sleeping Dogs Lie (by iChun) - Lithium (by JellySquid) - Loading Backgrounds (by Lupin) - Mineblock's Repeated Utilities (by itsmineblock11) - Menulogue (by MrCrayfish) - Mob Plaques (by Fuzs) - Mod Menu (by Prospector) - Model Gap Fix (by MehVahdJukaar) - Mouse Tweaks (by YaLTeR) - Nether Portal Fix (by BlayTheNinth) - Nicer Skies (by ztereohype) - Noisium (by Steveplays28) - Not Enough Animations (by tr7zw) - Opti GUI (by opekope2) - Packet Fixer (by TonimatasDEV) - Particle Core (by fzzyhmstrs) - Passive Shields (by Serilum) - Pick Up Notifier (by Fuzs) - Ping Wheel (by LukenSkyne) - Puzzle (by Motschen) - Puzzles LIB (by Fuzs) - Reese's Sodium Options (by FlashyReese) - Resource Pack Overrides (by Fuzs) - Server Country Flags (by khajiitos) - Server Performance (by someaddon) - Skin Layer 3D (by tr7zw) - Sodium (by JellySquid) - Sodium Extra (by FlashyReese) - Sodium Shadowy Path Blocks (by Rynnavinx) - Sound Physics Remastered (by henkelmax) - Sounds (by itsmineblock11) - Spark (by lucko) - Stack Refill (by Serilum) - Structure Essentials (by someaddon) - TCD Commons API (by TheCSDev) - Text Placeholder API (by Patbox) - Villager Names (by Serilum) - Visual Overhaul (by Motschen) - Visual Workbench (by Fuzs) - Visuality (by PinkGoosik) - Wakes (by Goby56) - Wavey Capes (by tr7zw) - YDM'S Weapon Master  (by YourDailyModderx) - Yet Another Config LIB (by XanderIsDev) - Zoomify (by XanderIsDev) And When I load it it work, I can create a world and even let him open forever at least I didn't move cause if so the game just crash and tell me this message :   Encountered an unexpected exception net.minecraft.class_148: Ticking entity at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:1025) at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:912) at net.minecraft.class_1132.method_3748(class_1132.java:114) at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:697) at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.NullPointerException: Cannot invoke "net.minecraft.class_4706.isEmpty()" because "tickets" is null at net.minecraft.class_3204.canNoneExpire(class_3204.java:1034) at net.minecraft.class_3204.handler$dln000$lithium$unregisterExpiringTicket(class_3204.java:1075) at net.minecraft.class_3204.method_17645(class_3204.java:172) at net.minecraft.class_3204.method_17292(class_3204.java:194) at net.minecraft.class_3215.method_17300(class_3215.java:443) at com.betterchunkloading.chunk.PlayerChunkData.checkPrediction(PlayerChunkData.java:406) at com.betterchunkloading.chunk.PlayerChunkData.checkDirection(PlayerChunkData.java:353) at com.betterchunkloading.chunk.PlayerChunkData.trackPlayerMovement(PlayerChunkData.java:177) at com.betterchunkloading.chunk.PlayerChunkData.onChunkChanged(PlayerChunkData.java:130) at com.betterchunkloading.event.EventHandler.onPlayerTick(EventHandler.java:200) at net.minecraft.class_3222.handler$zed000$betterchunkloading$onPlayerTick(class_3222.java:2618) at net.minecraft.class_3222.method_5773(class_3222.java:564) at net.minecraft.class_3218.mixinextras$bridge$method_5773$202(class_3218.java) at net.minecraft.class_3218.wrapOperation$eei000$puzzleslib$tickNonPassenger(class_3218.java:7797) at net.minecraft.class_3218.method_18762(class_3218.java:770) at net.minecraft.class_1937.method_18472(class_1937.java:498) at net.minecraft.class_3218.method_31420(class_3218.java:408) at net.minecraft.class_5574.method_31791(class_5574.java:54) at net.minecraft.class_3218.method_18765(class_3218.java:372) at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:1021) ... 5 more Sorry guys if it obvious but actually I'm an old player of Minecraft but I'm new in modding so yup. But Thanks everyone by advance to help me with this.
    • These forums are for Minecraft Forge, not Fabric. You would probably be better served posting this question wherever fabric support is given, most likely their discord server.
    • Add the new latest.log (logs-folder) with sites like https://mclo.gs/ and paste the link to it here
  • Topics

×
×
  • Create New...

Important Information

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