Jump to content

[1.15.2] ArrowRenderer incorrectly draws an arrow at a modified velocity


Recommended Posts

Posted (edited)

With small values [1; 1,5], the problem is invisible. If I indicate 2 or more, the arrow flies to the side, but at the same time, the target I aimed at takes damage. Arrows that do not hit the target lie next to it, and not on the side where the arrow flew. Searches are complicated by the fact that in class ArrowRenderer the obfuscated variables are not renamed.

video

 

repository

bow component responsible for arrow settings

bow

Spoiler

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package net.minecraft.client.renderer.entity;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.matrix.MatrixStack.Entry;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.Matrix3f;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.projectile.AbstractArrowEntity;
import net.minecraft.util.math.MathHelper;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

@OnlyIn(Dist.CLIENT)
public abstract class ArrowRenderer<T extends AbstractArrowEntity> extends EntityRenderer<T> {
    public ArrowRenderer(EntityRendererManager p_i46193_1_) {
        super(p_i46193_1_);
    }

    public void render(T p_225623_1_, float p_225623_2_, float p_225623_3_, MatrixStack p_225623_4_, IRenderTypeBuffer p_225623_5_, int p_225623_6_) {
        p_225623_4_.push();
        p_225623_4_.rotate(Vector3f.YP.rotationDegrees(MathHelper.lerp(p_225623_3_, p_225623_1_.prevRotationYaw, p_225623_1_.rotationYaw) - 90.0F));
        p_225623_4_.rotate(Vector3f.ZP.rotationDegrees(MathHelper.lerp(p_225623_3_, p_225623_1_.prevRotationPitch, p_225623_1_.rotationPitch)));
        int lvt_7_1_ = false;
        float lvt_8_1_ = 0.0F;
        float lvt_9_1_ = 0.5F;
        float lvt_10_1_ = 0.0F;
        float lvt_11_1_ = 0.15625F;
        float lvt_12_1_ = 0.0F;
        float lvt_13_1_ = 0.15625F;
        float lvt_14_1_ = 0.15625F;
        float lvt_15_1_ = 0.3125F;
        float lvt_16_1_ = 0.05625F;
        float lvt_17_1_ = (float)p_225623_1_.arrowShake - p_225623_3_;
        if (lvt_17_1_ > 0.0F) {
            float lvt_18_1_ = -MathHelper.sin(lvt_17_1_ * 3.0F) * lvt_17_1_;
            p_225623_4_.rotate(Vector3f.ZP.rotationDegrees(lvt_18_1_));
        }

        p_225623_4_.rotate(Vector3f.XP.rotationDegrees(45.0F));
        p_225623_4_.scale(0.05625F, 0.05625F, 0.05625F);
        p_225623_4_.translate(-4.0D, 0.0D, 0.0D);
        IVertexBuilder lvt_18_2_ = p_225623_5_.getBuffer(RenderType.getEntityCutout(this.getEntityTexture(p_225623_1_)));
        Entry lvt_19_1_ = p_225623_4_.getLast();
        Matrix4f lvt_20_1_ = lvt_19_1_.getMatrix();
        Matrix3f lvt_21_1_ = lvt_19_1_.getNormal();
        this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -7, -2, -2, 0.0F, 0.15625F, -1, 0, 0, p_225623_6_);
        this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -7, -2, 2, 0.15625F, 0.15625F, -1, 0, 0, p_225623_6_);
        this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -7, 2, 2, 0.15625F, 0.3125F, -1, 0, 0, p_225623_6_);
        this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -7, 2, -2, 0.0F, 0.3125F, -1, 0, 0, p_225623_6_);
        this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -7, 2, -2, 0.0F, 0.15625F, 1, 0, 0, p_225623_6_);
        this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -7, 2, 2, 0.15625F, 0.15625F, 1, 0, 0, p_225623_6_);
        this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -7, -2, 2, 0.15625F, 0.3125F, 1, 0, 0, p_225623_6_);
        this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -7, -2, -2, 0.0F, 0.3125F, 1, 0, 0, p_225623_6_);

        for(int lvt_22_1_ = 0; lvt_22_1_ < 4; ++lvt_22_1_) {
            p_225623_4_.rotate(Vector3f.XP.rotationDegrees(90.0F));
            this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -8, -2, 0, 0.0F, 0.0F, 0, 1, 0, p_225623_6_);
            this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, 8, -2, 0, 0.5F, 0.0F, 0, 1, 0, p_225623_6_);
            this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, 8, 2, 0, 0.5F, 0.15625F, 0, 1, 0, p_225623_6_);
            this.func_229039_a_(lvt_20_1_, lvt_21_1_, lvt_18_2_, -8, 2, 0, 0.0F, 0.15625F, 0, 1, 0, p_225623_6_);
        }

        p_225623_4_.pop();
        super.render(p_225623_1_, p_225623_2_, p_225623_3_, p_225623_4_, p_225623_5_, p_225623_6_);
    }

    public void func_229039_a_(Matrix4f p_229039_1_, Matrix3f p_229039_2_, IVertexBuilder p_229039_3_, int p_229039_4_, int p_229039_5_, int p_229039_6_, float p_229039_7_, float p_229039_8_, int p_229039_9_, int p_229039_10_, int p_229039_11_, int p_229039_12_) {
        p_229039_3_.pos(p_229039_1_, (float)p_229039_4_, (float)p_229039_5_, (float)p_229039_6_).color(255, 255, 255, 255).tex(p_229039_7_, p_229039_8_).overlay(OverlayTexture.NO_OVERLAY).lightmap(p_229039_12_).normal(p_229039_2_, (float)p_229039_9_, (float)p_229039_11_, (float)p_229039_10_).endVertex();
    }
}

 

Spoiler

package net.minecraft.client.renderer.entity;

import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.culling.ClippingHelperImpl;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.LightType;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

@OnlyIn(Dist.CLIENT)
public abstract class EntityRenderer<T extends Entity> {
   protected final EntityRendererManager renderManager;
   protected float shadowSize;
   protected float shadowOpaque = 1.0F;

   protected EntityRenderer(EntityRendererManager renderManager) {
      this.renderManager = renderManager;
   }

   public final int getPackedLight(T entityIn, float partialTicks) {
      return LightTexture.packLight(this.getBlockLight(entityIn, partialTicks), entityIn.world.getLightFor(LightType.SKY, new BlockPos(entityIn.getEyePosition(partialTicks))));
   }

   protected int getBlockLight(T entityIn, float partialTicks) {
      return entityIn.isBurning() ? 15 : entityIn.world.getLightFor(LightType.BLOCK, new BlockPos(entityIn.getEyePosition(partialTicks)));
   }

   public boolean shouldRender(T livingEntityIn, ClippingHelperImpl camera, double camX, double camY, double camZ) {
      if (!livingEntityIn.isInRangeToRender3d(camX, camY, camZ)) {
         return false;
      } else if (livingEntityIn.ignoreFrustumCheck) {
         return true;
      } else {
         AxisAlignedBB axisalignedbb = livingEntityIn.getRenderBoundingBox().grow(0.5D);
         if (axisalignedbb.hasNaN() || axisalignedbb.getAverageEdgeLength() == 0.0D) {
            axisalignedbb = new AxisAlignedBB(livingEntityIn.getPosX() - 2.0D, livingEntityIn.getPosY() - 2.0D, livingEntityIn.getPosZ() - 2.0D, livingEntityIn.getPosX() + 2.0D, livingEntityIn.getPosY() + 2.0D, livingEntityIn.getPosZ() + 2.0D);
         }

         return camera.isBoundingBoxInFrustum(axisalignedbb);
      }
   }

   public Vec3d getRenderOffset(T entityIn, float partialTicks) {
      return Vec3d.ZERO;
   }

   public void render(T entityIn, float entityYaw, float partialTicks, MatrixStack matrixStackIn, IRenderTypeBuffer bufferIn, int packedLightIn) {
      net.minecraftforge.client.event.RenderNameplateEvent renderNameplateEvent = new net.minecraftforge.client.event.RenderNameplateEvent(entityIn,entityIn.getDisplayName().getFormattedText(), matrixStackIn, bufferIn);
      net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(renderNameplateEvent);
      if (renderNameplateEvent.getResult() != net.minecraftforge.eventbus.api.Event.Result.DENY && (renderNameplateEvent.getResult() == net.minecraftforge.eventbus.api.Event.Result.ALLOW || this.canRenderName(entityIn))) {
         this.renderName(entityIn, renderNameplateEvent.getContent(), matrixStackIn, bufferIn, packedLightIn);
      }
   }

   protected boolean canRenderName(T entity) {
      return entity.getAlwaysRenderNameTagForRender() && entity.hasCustomName();
   }

   /**
    * Returns the location of an entity's texture.
    */
   public abstract ResourceLocation getEntityTexture(T entity);

   /**
    * Returns the font renderer from the set render manager
    */
   public FontRenderer getFontRendererFromRenderManager() {
      return this.renderManager.getFontRenderer();
   }

   protected void renderName(T entityIn, String displayNameIn, MatrixStack matrixStackIn, IRenderTypeBuffer bufferIn, int packedLightIn) {
      double d0 = this.renderManager.squareDistanceTo(entityIn);
      if (!(d0 > 4096.0D)) {
         boolean flag = !entityIn.isDiscrete();
         float f = entityIn.getHeight() + 0.5F;
         int i = "deadmau5".equals(displayNameIn) ? -10 : 0;
         matrixStackIn.push();
         matrixStackIn.translate(0.0D, (double)f, 0.0D);
         matrixStackIn.rotate(this.renderManager.getCameraOrientation());
         matrixStackIn.scale(-0.025F, -0.025F, 0.025F);
         Matrix4f matrix4f = matrixStackIn.getLast().getMatrix();
         float f1 = Minecraft.getInstance().gameSettings.getTextBackgroundOpacity(0.25F);
         int j = (int)(f1 * 255.0F) << 24;
         FontRenderer fontrenderer = this.getFontRendererFromRenderManager();
         float f2 = (float)(-fontrenderer.getStringWidth(displayNameIn) / 2);
         fontrenderer.renderString(displayNameIn, f2, (float)i, 553648127, false, matrix4f, bufferIn, flag, j, packedLightIn);
         if (flag) {
            fontrenderer.renderString(displayNameIn, f2, (float)i, -1, false, matrix4f, bufferIn, false, 0, packedLightIn);
         }

         matrixStackIn.pop();
      }
   }

   public EntityRendererManager getRenderManager() {
      return this.renderManager;
   }
}

 

Spoiler

package net.minecraft.entity.projectile;

import com.google.common.collect.Lists;
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import javax.annotation.Nullable;
import net.minecraft.advancements.CriteriaTriggers;
import net.minecraft.block.BlockState;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntitySize;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.Pose;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.NBTUtil;
import net.minecraft.network.IPacket;
import net.minecraft.network.datasync.DataParameter;
import net.minecraft.network.datasync.DataSerializers;
import net.minecraft.network.datasync.EntityDataManager;
import net.minecraft.network.play.server.SChangeGameStatePacket;
import net.minecraft.network.play.server.SSpawnObjectPacket;
import net.minecraft.particles.ParticleTypes;
import net.minecraft.util.DamageSource;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundEvent;
import net.minecraft.util.SoundEvents;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.World;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

public abstract class AbstractArrowEntity extends Entity implements IProjectile {
   private static final DataParameter<Byte> CRITICAL = EntityDataManager.createKey(AbstractArrowEntity.class, DataSerializers.BYTE);
   protected static final DataParameter<Optional<UUID>> field_212362_a = EntityDataManager.createKey(AbstractArrowEntity.class, DataSerializers.OPTIONAL_UNIQUE_ID);
   private static final DataParameter<Byte> PIERCE_LEVEL = EntityDataManager.createKey(AbstractArrowEntity.class, DataSerializers.BYTE);
   @Nullable
   private BlockState inBlockState;
   protected boolean inGround;
   protected int timeInGround;
   public AbstractArrowEntity.PickupStatus pickupStatus = AbstractArrowEntity.PickupStatus.DISALLOWED;
   public int arrowShake;
   public UUID shootingEntity;
   private int ticksInGround;
   private int ticksInAir;
   private double damage = 2.0D;
   private int knockbackStrength;
   private SoundEvent hitSound = this.getHitEntitySound();
   private IntOpenHashSet piercedEntities;
   private List<Entity> hitEntities;

   protected AbstractArrowEntity(EntityType<? extends AbstractArrowEntity> type, World worldIn) {
      super(type, worldIn);
   }

   protected AbstractArrowEntity(EntityType<? extends AbstractArrowEntity> type, double x, double y, double z, World worldIn) {
      this(type, worldIn);
      this.setPosition(x, y, z);
   }

   protected AbstractArrowEntity(EntityType<? extends AbstractArrowEntity> type, LivingEntity shooter, World worldIn) {
      this(type, shooter.getPosX(), shooter.getPosYEye() - (double)0.1F, shooter.getPosZ(), worldIn);
      this.setShooter(shooter);
      if (shooter instanceof PlayerEntity) {
         this.pickupStatus = AbstractArrowEntity.PickupStatus.ALLOWED;
      }

   }

   public void setHitSound(SoundEvent soundIn) {
      this.hitSound = soundIn;
   }

   /**
    * Checks if the entity is in range to render.
    */
   @OnlyIn(Dist.CLIENT)
   public boolean isInRangeToRenderDist(double distance) {
      double d0 = this.getBoundingBox().getAverageEdgeLength() * 10.0D;
      if (Double.isNaN(d0)) {
         d0 = 1.0D;
      }

      d0 = d0 * 64.0D * getRenderDistanceWeight();
      return distance < d0 * d0;
   }

   protected void registerData() {
      this.dataManager.register(CRITICAL, (byte)0);
      this.dataManager.register(field_212362_a, Optional.empty());
      this.dataManager.register(PIERCE_LEVEL, (byte)0);
   }

   public void shoot(Entity shooter, float pitch, float yaw, float p_184547_4_, float velocity, float inaccuracy) {
      float f = -MathHelper.sin(yaw * ((float)Math.PI / 180F)) * MathHelper.cos(pitch * ((float)Math.PI / 180F));
      float f1 = -MathHelper.sin(pitch * ((float)Math.PI / 180F));
      float f2 = MathHelper.cos(yaw * ((float)Math.PI / 180F)) * MathHelper.cos(pitch * ((float)Math.PI / 180F));
      this.shoot((double)f, (double)f1, (double)f2, velocity, inaccuracy);
      this.setMotion(this.getMotion().add(shooter.getMotion().x, shooter.onGround ? 0.0D : shooter.getMotion().y, shooter.getMotion().z));
   }

   /**
    * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction.
    */
   public void shoot(double x, double y, double z, float velocity, float inaccuracy) {
      Vec3d vec3d = (new Vec3d(x, y, z)).normalize().add(this.rand.nextGaussian() * (double)0.0075F * (double)inaccuracy, this.rand.nextGaussian() * (double)0.0075F * (double)inaccuracy, this.rand.nextGaussian() * (double)0.0075F * (double)inaccuracy).scale((double)velocity);
      this.setMotion(vec3d);
      float f = MathHelper.sqrt(horizontalMag(vec3d));
      this.rotationYaw = (float)(MathHelper.atan2(vec3d.x, vec3d.z) * (double)(180F / (float)Math.PI));
      this.rotationPitch = (float)(MathHelper.atan2(vec3d.y, (double)f) * (double)(180F / (float)Math.PI));
      this.prevRotationYaw = this.rotationYaw;
      this.prevRotationPitch = this.rotationPitch;
      this.ticksInGround = 0;
   }

   /**
    * Sets a target for the client to interpolate towards over the next few ticks
    */
   @OnlyIn(Dist.CLIENT)
   public void setPositionAndRotationDirect(double x, double y, double z, float yaw, float pitch, int posRotationIncrements, boolean teleport) {
      this.setPosition(x, y, z);
      this.setRotation(yaw, pitch);
   }

   /**
    * Updates the entity motion clientside, called by packets from the server
    */
   @OnlyIn(Dist.CLIENT)
   public void setVelocity(double x, double y, double z) {
      this.setMotion(x, y, z);
      if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) {
         float f = MathHelper.sqrt(x * x + z * z);
         this.rotationPitch = (float)(MathHelper.atan2(y, (double)f) * (double)(180F / (float)Math.PI));
         this.rotationYaw = (float)(MathHelper.atan2(x, z) * (double)(180F / (float)Math.PI));
         this.prevRotationPitch = this.rotationPitch;
         this.prevRotationYaw = this.rotationYaw;
         this.setLocationAndAngles(this.getPosX(), this.getPosY(), this.getPosZ(), this.rotationYaw, this.rotationPitch);
         this.ticksInGround = 0;
      }

   }

   /**
    * Called to update the entity's position/logic.
    */
   public void tick() {
      super.tick();
      boolean flag = this.getNoClip();
      Vec3d vec3d = this.getMotion();
      if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) {
         float f = MathHelper.sqrt(horizontalMag(vec3d));
         this.rotationYaw = (float)(MathHelper.atan2(vec3d.x, vec3d.z) * (double)(180F / (float)Math.PI));
         this.rotationPitch = (float)(MathHelper.atan2(vec3d.y, (double)f) * (double)(180F / (float)Math.PI));
         this.prevRotationYaw = this.rotationYaw;
         this.prevRotationPitch = this.rotationPitch;
      }

      BlockPos blockpos = new BlockPos(this);
      BlockState blockstate = this.world.getBlockState(blockpos);
      if (!blockstate.isAir(this.world, blockpos) && !flag) {
         VoxelShape voxelshape = blockstate.getCollisionShape(this.world, blockpos);
         if (!voxelshape.isEmpty()) {
            Vec3d vec3d1 = this.getPositionVec();

            for(AxisAlignedBB axisalignedbb : voxelshape.toBoundingBoxList()) {
               if (axisalignedbb.offset(blockpos).contains(vec3d1)) {
                  this.inGround = true;
                  break;
               }
            }
         }
      }

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

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

      if (this.inGround && !flag) {
         if (this.inBlockState != blockstate && this.world.func_226664_a_(this.getBoundingBox().grow(0.06D))) {
            this.inGround = false;
            this.setMotion(vec3d.mul((double)(this.rand.nextFloat() * 0.2F), (double)(this.rand.nextFloat() * 0.2F), (double)(this.rand.nextFloat() * 0.2F)));
            this.ticksInGround = 0;
            this.ticksInAir = 0;
         } else if (!this.world.isRemote) {
            this.func_225516_i_();
         }

         ++this.timeInGround;
      } else {
         this.timeInGround = 0;
         ++this.ticksInAir;
         Vec3d vec3d2 = this.getPositionVec();
         Vec3d vec3d3 = vec3d2.add(vec3d);
         RayTraceResult raytraceresult = this.world.rayTraceBlocks(new RayTraceContext(vec3d2, vec3d3, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, this));
         if (raytraceresult.getType() != RayTraceResult.Type.MISS) {
            vec3d3 = raytraceresult.getHitVec();
         }

         while(!this.removed) {
            EntityRayTraceResult entityraytraceresult = this.rayTraceEntities(vec3d2, vec3d3);
            if (entityraytraceresult != null) {
               raytraceresult = entityraytraceresult;
            }

            if (raytraceresult != null && raytraceresult.getType() == RayTraceResult.Type.ENTITY) {
               Entity entity = ((EntityRayTraceResult)raytraceresult).getEntity();
               Entity entity1 = this.getShooter();
               if (entity instanceof PlayerEntity && entity1 instanceof PlayerEntity && !((PlayerEntity)entity1).canAttackPlayer((PlayerEntity)entity)) {
                  raytraceresult = null;
                  entityraytraceresult = null;
               }
            }

            if (raytraceresult != null && raytraceresult.getType() != RayTraceResult.Type.MISS && !flag && !net.minecraftforge.event.ForgeEventFactory.onProjectileImpact(this, raytraceresult)) {
               this.onHit(raytraceresult);
               this.isAirBorne = true;
            }

            if (entityraytraceresult == null || this.getPierceLevel() <= 0) {
               break;
            }

            raytraceresult = null;
         }

         vec3d = this.getMotion();
         double d3 = vec3d.x;
         double d4 = vec3d.y;
         double d0 = vec3d.z;
         if (this.getIsCritical()) {
            for(int i = 0; i < 4; ++i) {
               this.world.addParticle(ParticleTypes.CRIT, this.getPosX() + d3 * (double)i / 4.0D, this.getPosY() + d4 * (double)i / 4.0D, this.getPosZ() + d0 * (double)i / 4.0D, -d3, -d4 + 0.2D, -d0);
            }
         }

         double d5 = this.getPosX() + d3;
         double d1 = this.getPosY() + d4;
         double d2 = this.getPosZ() + d0;
         float f1 = MathHelper.sqrt(horizontalMag(vec3d));
         if (flag) {
            this.rotationYaw = (float)(MathHelper.atan2(-d3, -d0) * (double)(180F / (float)Math.PI));
         } else {
            this.rotationYaw = (float)(MathHelper.atan2(d3, d0) * (double)(180F / (float)Math.PI));
         }

         for(this.rotationPitch = (float)(MathHelper.atan2(d4, (double)f1) * (double)(180F / (float)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 = MathHelper.lerp(0.2F, this.prevRotationPitch, this.rotationPitch);
         this.rotationYaw = MathHelper.lerp(0.2F, this.prevRotationYaw, this.rotationYaw);
         float f2 = 0.99F;
         float f3 = 0.05F;
         if (this.isInWater()) {
            for(int j = 0; j < 4; ++j) {
               float f4 = 0.25F;
               this.world.addParticle(ParticleTypes.BUBBLE, d5 - d3 * 0.25D, d1 - d4 * 0.25D, d2 - d0 * 0.25D, d3, d4, d0);
            }

            f2 = this.getWaterDrag();
         }

         this.setMotion(vec3d.scale((double)f2));
         if (!this.hasNoGravity() && !flag) {
            Vec3d vec3d4 = this.getMotion();
            this.setMotion(vec3d4.x, vec3d4.y - (double)0.05F, vec3d4.z);
         }

         this.setPosition(d5, d1, d2);
         this.doBlockCollisions();
      }
   }

   protected void func_225516_i_() {
      ++this.ticksInGround;
      if (this.ticksInGround >= 1200) {
         this.remove();
      }

   }

   /**
    * Called when the arrow hits a block or an entity
    */
   protected void onHit(RayTraceResult raytraceResultIn) {
      RayTraceResult.Type raytraceresult$type = raytraceResultIn.getType();
      if (raytraceresult$type == RayTraceResult.Type.ENTITY) {
         this.onEntityHit((EntityRayTraceResult)raytraceResultIn);
      } else if (raytraceresult$type == RayTraceResult.Type.BLOCK) {
         BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult)raytraceResultIn;
         BlockState blockstate = this.world.getBlockState(blockraytraceresult.getPos());
         this.inBlockState = blockstate;
         Vec3d vec3d = blockraytraceresult.getHitVec().subtract(this.getPosX(), this.getPosY(), this.getPosZ());
         this.setMotion(vec3d);
         Vec3d vec3d1 = vec3d.normalize().scale((double)0.05F);
         this.setRawPosition(this.getPosX() - vec3d1.x, this.getPosY() - vec3d1.y, this.getPosZ() - vec3d1.z);
         this.playSound(this.getHitGroundSound(), 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
         this.inGround = true;
         this.arrowShake = 7;
         this.setIsCritical(false);
         this.setPierceLevel((byte)0);
         this.setHitSound(SoundEvents.ENTITY_ARROW_HIT);
         this.setShotFromCrossbow(false);
         this.func_213870_w();
         blockstate.onProjectileCollision(this.world, blockstate, blockraytraceresult, this);
      }

   }

   private void func_213870_w() {
      if (this.hitEntities != null) {
         this.hitEntities.clear();
      }

      if (this.piercedEntities != null) {
         this.piercedEntities.clear();
      }

   }

   /**
    * Called when the arrow hits an entity
    */
   protected void onEntityHit(EntityRayTraceResult p_213868_1_) {
      Entity entity = p_213868_1_.getEntity();
      float f = (float)this.getMotion().length();
      int i = MathHelper.ceil(Math.max((double)f * this.damage, 0.0D));
      if (this.getPierceLevel() > 0) {
         if (this.piercedEntities == null) {
            this.piercedEntities = new IntOpenHashSet(5);
         }

         if (this.hitEntities == null) {
            this.hitEntities = Lists.newArrayListWithCapacity(5);
         }

         if (this.piercedEntities.size() >= this.getPierceLevel() + 1) {
            this.remove();
            return;
         }

         this.piercedEntities.add(entity.getEntityId());
      }

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

      Entity entity1 = this.getShooter();
      DamageSource damagesource;
      if (entity1 == null) {
         damagesource = DamageSource.causeArrowDamage(this, this);
      } else {
         damagesource = DamageSource.causeArrowDamage(this, entity1);
         if (entity1 instanceof LivingEntity) {
            ((LivingEntity)entity1).setLastAttackedEntity(entity);
         }
      }

      boolean flag = entity.getType() == EntityType.ENDERMAN;
      int j = entity.getFireTimer();
      if (this.isBurning() && !flag) {
         entity.setFire(5);
      }

      if (entity.attackEntityFrom(damagesource, (float)i)) {
         if (flag) {
            return;
         }

         if (entity instanceof LivingEntity) {
            LivingEntity livingentity = (LivingEntity)entity;
            if (!this.world.isRemote && this.getPierceLevel() <= 0) {
               livingentity.setArrowCountInEntity(livingentity.getArrowCountInEntity() + 1);
            }

            if (this.knockbackStrength > 0) {
               Vec3d vec3d = this.getMotion().mul(1.0D, 0.0D, 1.0D).normalize().scale((double)this.knockbackStrength * 0.6D);
               if (vec3d.lengthSquared() > 0.0D) {
                  livingentity.addVelocity(vec3d.x, 0.1D, vec3d.z);
               }
            }

            if (!this.world.isRemote && entity1 instanceof LivingEntity) {
               EnchantmentHelper.applyThornEnchantments(livingentity, entity1);
               EnchantmentHelper.applyArthropodEnchantments((LivingEntity)entity1, livingentity);
            }

            this.arrowHit(livingentity);
            if (entity1 != null && livingentity != entity1 && livingentity instanceof PlayerEntity && entity1 instanceof ServerPlayerEntity) {
               ((ServerPlayerEntity)entity1).connection.sendPacket(new SChangeGameStatePacket(6, 0.0F));
            }

            if (!entity.isAlive() && this.hitEntities != null) {
               this.hitEntities.add(livingentity);
            }

            if (!this.world.isRemote && entity1 instanceof ServerPlayerEntity) {
               ServerPlayerEntity serverplayerentity = (ServerPlayerEntity)entity1;
               if (this.hitEntities != null && this.getShotFromCrossbow()) {
                  CriteriaTriggers.KILLED_BY_CROSSBOW.trigger(serverplayerentity, this.hitEntities, this.hitEntities.size());
               } else if (!entity.isAlive() && this.getShotFromCrossbow()) {
                  CriteriaTriggers.KILLED_BY_CROSSBOW.trigger(serverplayerentity, Arrays.asList(entity), 0);
               }
            }
         }

         this.playSound(this.hitSound, 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
         if (this.getPierceLevel() <= 0) {
            this.remove();
         }
      } else {
         entity.setFireTimer(j);
         this.setMotion(this.getMotion().scale(-0.1D));
         this.rotationYaw += 180.0F;
         this.prevRotationYaw += 180.0F;
         this.ticksInAir = 0;
         if (!this.world.isRemote && this.getMotion().lengthSquared() < 1.0E-7D) {
            if (this.pickupStatus == AbstractArrowEntity.PickupStatus.ALLOWED) {
               this.entityDropItem(this.getArrowStack(), 0.1F);
            }

            this.remove();
         }
      }

   }

   /**
    * The sound made when an entity is hit by this projectile
    */
   protected SoundEvent getHitEntitySound() {
      return SoundEvents.ENTITY_ARROW_HIT;
   }

   protected final SoundEvent getHitGroundSound() {
      return this.hitSound;
   }

   protected void arrowHit(LivingEntity living) {
   }

   /**
    * Gets the EntityRayTraceResult representing the entity hit
    */
   @Nullable
   protected EntityRayTraceResult rayTraceEntities(Vec3d startVec, Vec3d endVec) {
      return ProjectileHelper.rayTraceEntities(this.world, this, startVec, endVec, this.getBoundingBox().expand(this.getMotion()).grow(1.0D), (p_213871_1_) -> {
         return !p_213871_1_.isSpectator() && p_213871_1_.isAlive() && p_213871_1_.canBeCollidedWith() && (p_213871_1_ != this.getShooter() || this.ticksInAir >= 5) && (this.piercedEntities == null || !this.piercedEntities.contains(p_213871_1_.getEntityId()));
      });
   }

   public void writeAdditional(CompoundNBT compound) {
      compound.putShort("life", (short)this.ticksInGround);
      if (this.inBlockState != null) {
         compound.put("inBlockState", NBTUtil.writeBlockState(this.inBlockState));
      }

      compound.putByte("shake", (byte)this.arrowShake);
      compound.putBoolean("inGround", this.inGround);
      compound.putByte("pickup", (byte)this.pickupStatus.ordinal());
      compound.putDouble("damage", this.damage);
      compound.putBoolean("crit", this.getIsCritical());
      compound.putByte("PierceLevel", this.getPierceLevel());
      if (this.shootingEntity != null) {
         compound.putUniqueId("OwnerUUID", this.shootingEntity);
      }

      compound.putString("SoundEvent", Registry.SOUND_EVENT.getKey(this.hitSound).toString());
      compound.putBoolean("ShotFromCrossbow", this.getShotFromCrossbow());
   }

   /**
    * (abstract) Protected helper method to read subclass entity data from NBT.
    */
   public void readAdditional(CompoundNBT compound) {
      this.ticksInGround = compound.getShort("life");
      if (compound.contains("inBlockState", 10)) {
         this.inBlockState = NBTUtil.readBlockState(compound.getCompound("inBlockState"));
      }

      this.arrowShake = compound.getByte("shake") & 255;
      this.inGround = compound.getBoolean("inGround");
      if (compound.contains("damage", 99)) {
         this.damage = compound.getDouble("damage");
      }

      if (compound.contains("pickup", 99)) {
         this.pickupStatus = AbstractArrowEntity.PickupStatus.getByOrdinal(compound.getByte("pickup"));
      } else if (compound.contains("player", 99)) {
         this.pickupStatus = compound.getBoolean("player") ? AbstractArrowEntity.PickupStatus.ALLOWED : AbstractArrowEntity.PickupStatus.DISALLOWED;
      }

      this.setIsCritical(compound.getBoolean("crit"));
      this.setPierceLevel(compound.getByte("PierceLevel"));
      if (compound.hasUniqueId("OwnerUUID")) {
         this.shootingEntity = compound.getUniqueId("OwnerUUID");
      }

      if (compound.contains("SoundEvent", 8)) {
         this.hitSound = Registry.SOUND_EVENT.getValue(new ResourceLocation(compound.getString("SoundEvent"))).orElse(this.getHitEntitySound());
      }

      this.setShotFromCrossbow(compound.getBoolean("ShotFromCrossbow"));
   }

   public void setShooter(@Nullable Entity entityIn) {
      this.shootingEntity = entityIn == null ? null : entityIn.getUniqueID();
      if (entityIn instanceof PlayerEntity) {
         this.pickupStatus = ((PlayerEntity)entityIn).abilities.isCreativeMode ? AbstractArrowEntity.PickupStatus.CREATIVE_ONLY : AbstractArrowEntity.PickupStatus.ALLOWED;
      }

   }

   @Nullable
   public Entity getShooter() {
      return this.shootingEntity != null && this.world instanceof ServerWorld ? ((ServerWorld)this.world).getEntityByUuid(this.shootingEntity) : null;
   }

   /**
    * Called by a player entity when they collide with an entity
    */
   public void onCollideWithPlayer(PlayerEntity entityIn) {
      if (!this.world.isRemote && (this.inGround || this.getNoClip()) && this.arrowShake <= 0) {
         boolean flag = this.pickupStatus == AbstractArrowEntity.PickupStatus.ALLOWED || this.pickupStatus == AbstractArrowEntity.PickupStatus.CREATIVE_ONLY && entityIn.abilities.isCreativeMode || this.getNoClip() && this.getShooter().getUniqueID() == entityIn.getUniqueID();
         if (this.pickupStatus == AbstractArrowEntity.PickupStatus.ALLOWED && !entityIn.inventory.addItemStackToInventory(this.getArrowStack())) {
            flag = false;
         }

         if (flag) {
            entityIn.onItemPickup(this, 1);
            this.remove();
         }

      }
   }

   protected abstract ItemStack getArrowStack();

   protected boolean canTriggerWalking() {
      return false;
   }

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

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

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

   /**
    * Returns true if it's possible to attack this entity with an item.
    */
   public boolean canBeAttackedWithItem() {
      return false;
   }

   protected float getEyeHeight(Pose poseIn, EntitySize sizeIn) {
      return 0.0F;
   }

   /**
    * Whether the arrow has a stream of critical hit particles flying behind it.
    */
   public void setIsCritical(boolean critical) {
      this.setArrowFlag(1, critical);
   }

   public void setPierceLevel(byte level) {
      this.dataManager.set(PIERCE_LEVEL, level);
   }

   private void setArrowFlag(int p_203049_1_, boolean p_203049_2_) {
      byte b0 = this.dataManager.get(CRITICAL);
      if (p_203049_2_) {
         this.dataManager.set(CRITICAL, (byte)(b0 | p_203049_1_));
      } else {
         this.dataManager.set(CRITICAL, (byte)(b0 & ~p_203049_1_));
      }

   }

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

   /**
    * Whether the arrow was shot from a crossbow.
    */
   public boolean getShotFromCrossbow() {
      byte b0 = this.dataManager.get(CRITICAL);
      return (b0 & 4) != 0;
   }

   public byte getPierceLevel() {
      return this.dataManager.get(PIERCE_LEVEL);
   }

   public void setEnchantmentEffectsFromEntity(LivingEntity p_190547_1_, float p_190547_2_) {
      int i = EnchantmentHelper.getMaxEnchantmentLevel(Enchantments.POWER, p_190547_1_);
      int j = EnchantmentHelper.getMaxEnchantmentLevel(Enchantments.PUNCH, p_190547_1_);
      this.setDamage((double)(p_190547_2_ * 2.0F) + this.rand.nextGaussian() * 0.25D + (double)((float)this.world.getDifficulty().getId() * 0.11F));
      if (i > 0) {
         this.setDamage(this.getDamage() + (double)i * 0.5D + 0.5D);
      }

      if (j > 0) {
         this.setKnockbackStrength(j);
      }

      if (EnchantmentHelper.getMaxEnchantmentLevel(Enchantments.FLAME, p_190547_1_) > 0) {
         this.setFire(100);
      }

   }

   protected float getWaterDrag() {
      return 0.6F;
   }

   /**
    * Sets if this arrow can noClip
    */
   public void setNoClip(boolean noClipIn) {
      this.noClip = noClipIn;
      this.setArrowFlag(2, noClipIn);
   }

   /**
    * Whether the arrow can noClip
    */
   public boolean getNoClip() {
      if (!this.world.isRemote) {
         return this.noClip;
      } else {
         return (this.dataManager.get(CRITICAL) & 2) != 0;
      }
   }

   /**
    * Sets data about if this arrow entity was shot from a crossbow
    */
   public void setShotFromCrossbow(boolean fromCrossbow) {
      this.setArrowFlag(4, fromCrossbow);
   }

   public IPacket<?> createSpawnPacket() {
      Entity entity = this.getShooter();
      return new SSpawnObjectPacket(this, entity == null ? 0 : entity.getEntityId());
   }

   public static enum PickupStatus {
      DISALLOWED,
      ALLOWED,
      CREATIVE_ONLY;

      public static AbstractArrowEntity.PickupStatus getByOrdinal(int ordinal) {
         if (ordinal < 0 || ordinal > values().length) {
            ordinal = 0;
         }

         return values()[ordinal];
      }
   }
}

 

Edited by Torq

If I helped you, don't forget like. I'm using a translator, sorry.

Posted (edited)

can anyone help me? The problem is still relevant. I don’t understand how this system works. Apparently, the entity flies correctly, and the renderer does not draw according to the coordinates of the entity, or it does not correctly orient the arrow in space.

If you set a high speed, the arrow still falls close to the player, the flight animation does not correspond to the direction of the shot and the flight range of the real arrow (where the arrow falls and remains on the ground).

Edited by Torq

If I helped you, don't forget like. I'm using a translator, sorry.

Posted (edited)

Do I understand correctly that there is no suitable event for rendering arrow? An event is not raised in the render() method of the ArrowRenderer class, and only the RenderNameplateEvent is created in the render() method of the EntityRenderer (super) class. I cannot change the event because it does not exist and I cannot rewrite ArrowRenderer, what can I try to do?

Edited by Torq

If I helped you, don't forget like. I'm using a translator, sorry.

Posted
35 minutes ago, Torq said:

I cannot change the event because it does not exist and I cannot rewrite ArrowRenderer, what can I try to do?

Create your own entity with it's own EntityRenderer.

35 minutes ago, Torq said:

Do I understand correctly that there is no suitable event for rendering arrow?

Yes you understand correctly. And there will not be one.

On 3/28/2020 at 2:19 AM, Torq said:

can anyone help me? The problem is still relevant. I don’t understand how this system works. Apparently, the entity flies correctly, and the renderer does not draw according to the coordinates of the entity, or it does not correctly orient the arrow in space.

Have you tried using the debugger to see the coordinates of the entity on both the logical server and logical client? It is likely a desync issue.

  • Like 1

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted
22 minutes ago, Animefan8888 said:

Create your own entity with it's own EntityRenderer.

Yes you understand correctly. And there will not be one.

Have you tried using the debugger to see the coordinates of the entity on both the logical server and logical client? It is likely a desync issue.

Can you tell (or give a link) how to use the debugger? It will be very useful to me in the future. I tried to find something similar or use a logger, but this is a very bad idea. If you meant breakpoints and debug, I tried to set breakpoints and look at the values, but apparently either I have little experience working with them, or I'm doing something wrong. I could not see the values of the variables and the game did not stop, nothing happened.
I will try to do what you said, but it’s not yet clear how to connect entity and renderer, and how to fire renderer (is there an event?), I planned to study this when I finish bow, but apparently I have to do it now.

If I helped you, don't forget like. I'm using a translator, sorry.

Posted
7 minutes ago, Torq said:

I will try to do what you said, but it’s not yet clear how to connect entity and renderer, and how to fire renderer (is there an event?), I planned to study this when I finish bow, but apparently I have to do it now.

There is likely a little more than this it's been a while since I've messed with Entities.

 

Entities are registered like Items and Blocks.

You must also register their renderer with RenderingRegistry.registerEntityRenderingHandler.

11 minutes ago, Torq said:

Can you tell (or give a link) how to use the debugger?

It depends on the IDE you are using. In eclipse just set a breakpoint and run the game in debug mode. I don't know about IntelliJ Idea or any other IDE.

To run in Debug mode click the bug icon next to the Run button.
image.png.bdbd7394d562ef5a85e685c63d88218e.png

  • Like 1

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted
2 minutes ago, Animefan8888 said:

Вероятно, немного больше, чем это, прошло много времени с тех пор, как я связался с сущностями.

 

Объекты регистрируются как элементы и блоки.

Вы также должны зарегистрировать их средство визуализации с помощью RenderingRegistry.registerEntityRenderingHandler.

Это зависит от используемой вами IDE. В eclipse просто установите точку останова и запустите игру в режиме отладки. Я не знаю ни о IntelliJ Idea, ни о какой-либо другой IDE.

Для запуска в режиме отладки щелкните значок ошибки рядом с кнопкой «Выполнить».
image.png.bdbd7394d562ef5a85e685c63d88218e.png

I use IntellijIDEA, I like it a little more, but I have VSCode and Eclipse in which the project starts normally. I already included debug in IntellijIDEA, I described the result above: I can’t see the values of the variables, breakpoints do not work, the game does not freeze, nothing happens (did what you described). Maybe I'm not doing it right. I'll try to do it in Eclipse.

If I helped you, don't forget like. I'm using a translator, sorry.

Posted (edited)
23 minutes ago, Animefan8888 said:

The best I can do for that is point you here. I don't know how clear that is.

I don’t know what the problem was, but now the game is frozen and everything works as it should)) I have experience debugging programs in Visual Studio, so I understand how this should happen.

Edited by Torq

If I helped you, don't forget like. I'm using a translator, sorry.

Posted
1 minute ago, Torq said:

but now the game is frozen

That's what debug mode does. It pauses the execution of code.

1 minute ago, Torq said:

and everything works as it should

So the bug is gone?

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted (edited)
6 minutes ago, Animefan8888 said:

That's what debug mode does. It pauses the execution of code.

So the bug is gone?

I know how debug works. Previously, debug did not work as it should, but now it has earned. The problem remains, but now I can see what happens.
Why is RenderNamePlateEvent responsible for rendering the arrow(it contains an arrow entity)? Is it not responsible for nicknames over the heads of players and the inscriptions of renamed objects placed in frames (and the like)?

Edited by Torq

If I helped you, don't forget like. I'm using a translator, sorry.

Posted
4 minutes ago, Torq said:
  Reveal hidden contents

image.thumb.png.244c511052dbbcd8628bea508002cbe0.png

 

That is not the ArrowRenderer. That is inside the EntityRenderer. The EntityRenderer renders the NamePlate of the Entity.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

  • 2 months later...

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

    • Ive recently made an ATM 8 server with some family. It was running fine for the first few hours but it seems to crash every 10 minutes now. Ive no idea on how to properly read the crash report so i was hoping someone here could help me out.   https://pastebin.com/KeWyDZd1    
    • i was running around in my miencraft with my modpack until suuden crash (the worl was going perfectly since i create it like 9 weeks ago) this is the log i get if i try again to join the same world(the other world works perfectly):     my log <-- i dont know to share it so i put i dropbox link plz help me i dont wanna lost my world
    • The game crashed: initializing game Error: net.minecraftforge.fml.loading.EarlyLoadingException: Could not execute entrypoint stage 'main' due to errors, provided by 'betternether' at 'org.betterx.betternether.BetterNether'!   crash report: ---- Minecraft Crash Report ---- // Hi. I'm Connector, and I'm a crashaholic ========================= SINYTRA CONNECTOR IS PRESENT! Please verify issues are not caused by Connector before reporting them to mod authors. If you're unsure, file a report on Connector's issue tracker found at https://github.com/Sinytra/Connector/issues. ========================= // My bad. Time: 2025-01-18 19:37:21 Description: Initializing game net.minecraftforge.fml.loading.EarlyLoadingException: Could not execute entrypoint stage 'main' due to errors, provided by 'betternether' at 'org.betterx.betternether.BetterNether'!     at org.sinytra.connector.loader.ConnectorEarlyLoader.createLoadingException(ConnectorEarlyLoader.java:81) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.loader.ConnectorEarlyLoader.createGenericLoadingException(ConnectorEarlyLoader.java:77) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:55) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     at net.minecraft.client.Minecraft.handler$dib000$connectormod$earlyInit(Minecraft.java:27924) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:424) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:182) ~[forge-47.3.0.jar:?] {re:classloading,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {re:mixin}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} Caused by: java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'betternether' at 'org.betterx.betternether.BetterNether'!     at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$0(FabricLoaderImpl.java:133) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:131) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:44) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     ... 18 more     Suppressed: java.lang.ExceptionInInitializerError         at org.betterx.betterend.registry.EndItems.<clinit>(EndItems.java:276) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         at org.betterx.betterend.complexmaterials.StoneMaterial.<init>(StoneMaterial.java:151) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         at org.betterx.betterend.registry.EndBlocks.<clinit>(EndBlocks.java:175) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:mixin,re:classloading}         at org.betterx.betterend.registry.EndBlockEntities.<clinit>(EndBlockEntities.java:17) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         at org.betterx.betterend.BetterEnd.onInitialize(BetterEnd.java:46) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:mixin,re:classloading}         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:129) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}         at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:44) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}         at net.minecraft.client.Minecraft.handler$dib000$connectormod$earlyInit(Minecraft.java:27924) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}         at net.minecraft.client.Minecraft.<init>(Minecraft.java:424) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}         at net.minecraft.client.main.Main.main(Main.java:182) ~[forge-47.3.0.jar:?] {re:classloading,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {re:mixin}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}     Caused by: java.lang.IllegalStateException: Attempted to get a value from a Registrar before it was registered. ResourceKey[minecraft:attribute / rediscovered:undead_damage_scaling]         at com.legacy.structure_gel.api.util.LazyOptional.getOrThrow(LazyOptional.java:55) ~[structure_gel-1.20.1-2.16.2.jar%23785!/:2.16.2] {re:classloading}         at com.legacy.structure_gel.api.registry.registrar.Registrar$Static.get(Registrar.java:297) ~[structure_gel-1.20.1-2.16.2.jar%23785!/:2.16.2] {re:mixin,re:classloading}         at net.minecraft.world.entity.LivingEntity.handler$jbl000$rediscovered$addAttributes(LivingEntity.java:36037) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:mixin:APP:bclib.mixins.common.json:elytra.LivingEntityMixin from mod bclib,pl:mixin:APP:betterend.mixins.common.json:LivingEntityMixin from mod betterend,pl:mixin:APP:forge-badoptimizations.mixins.json:entitydata.MixinLivingEntity from mod (unknown),pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LaterLivingEntityMixin from mod the_bumblezone,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin from mod modernfix,pl:mixin:APP:tinyskeletons.common.mixins.json:accessor.LivingEntityAccessor from mod tinyskeletons,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityAccessor from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:LivingEntityMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_elytra_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_hand_swing.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin from mod radium,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity from mod caelus,pl:mixin:APP:fromanotherworld-common.mixins.json:LivingEntityMixin from mod fromanotherworld,pl:mixin:APP:notenoughanimations.mixins.json:LivingEntityMixin from mod notenoughanimations,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity from mod bookshelf,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity from mod bookshelf,pl:mixin:APP:bagusmob.mixins.json:LivingEntityMixin from mod bagusmob,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin from mod cataclysm,pl:mixin:APP:enchantwithmob.mixins.json:LivingEntityMixin from mod enchantwithmob,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.LivingEntityMixin from mod reimaginingpotatoes,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin from mod friendsandfoes,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin from mod friendsandfoes,pl:mixin:APP:betterarcheology.mixins.json:TorrentTotemItemTickMixin from mod betterarcheology,pl:mixin:APP:creaturechat.mixins.json:MixinLivingEntity from mod creaturechat,pl:mixin:APP:lodestone.mixins.json:common.LivingEntityMixin from mod lodestone,pl:mixin:APP:goety.mixins.json:LivingEntityMixin from mod goety,pl:mixin:APP:bagus_lib.mixins.json:LivingEntityMixin from mod bagus_lib,pl:mixin:APP:curios.mixins.json:MixinLivingEntity from mod curios,pl:mixin:APP:fabric-entity-events-v1.mixins.json:LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:fabric-entity-events-v1.mixins.json:elytra.LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin from mod pehkui,pl:mixin:APP:earthmobsmod.mixins.json:LivingEntityMixin from mod earthmobsmod,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin from mod blue_skies,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor from mod netherportalfix,pl:mixin:APP:crittersandcompanions.mixins.json:LivingEntityMixin from mod crittersandcompanions,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin from mod aether,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.LivingEntityMixin from mod aether_redux,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin from mod citadel,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityMixin from mod all_bark_all_bite,pl:mixin:APP:dummmmmmy-common.mixins.json:LivingEntityMixin from mod dummmmmmy,pl:mixin:APP:snifferplus.mixins.json:MixinLivingEntity from mod snifferplus,pl:mixin:APP:trimeffects.mixins.json:MixinLivingEntity from mod trimeffects,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntity from mod witherstormmod,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntityAccessor from mod witherstormmod,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:LivingEntityMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin from mod betterdeserttemples,pl:mixin:APP:endergetic.mixins.json:LivingEntityMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:LivingEntityMixin from mod alexscaves,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity from mod quark,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor from mod supplementaries,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:rediscovered.mixins.json:LivingEntityMixin from mod rediscovered,pl:mixin:APP:walkers.mixins.json:LivingEntityFoodMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:LivingEntityMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:PlayerSwimmingMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.LivingEntityAccessor from mod walkers,pl:mixin:APP:META-INF/mixin/midnight.mixins.json:LivingEntityMixin from mod (unknown),pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityMixin from mod the_bumblezone,pl:mixin:A,pl:connector_pre_launch:A}         at net.minecraft.world.entity.LivingEntity.m_21183_(LivingEntity.java:279) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:mixin:APP:bclib.mixins.common.json:elytra.LivingEntityMixin from mod bclib,pl:mixin:APP:betterend.mixins.common.json:LivingEntityMixin from mod betterend,pl:mixin:APP:forge-badoptimizations.mixins.json:entitydata.MixinLivingEntity from mod (unknown),pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LaterLivingEntityMixin from mod the_bumblezone,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin from mod modernfix,pl:mixin:APP:tinyskeletons.common.mixins.json:accessor.LivingEntityAccessor from mod tinyskeletons,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityAccessor from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:LivingEntityMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_elytra_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_hand_swing.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin from mod radium,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity from mod caelus,pl:mixin:APP:fromanotherworld-common.mixins.json:LivingEntityMixin from mod fromanotherworld,pl:mixin:APP:notenoughanimations.mixins.json:LivingEntityMixin from mod notenoughanimations,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity from mod bookshelf,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity from mod bookshelf,pl:mixin:APP:bagusmob.mixins.json:LivingEntityMixin from mod bagusmob,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin from mod cataclysm,pl:mixin:APP:enchantwithmob.mixins.json:LivingEntityMixin from mod enchantwithmob,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.LivingEntityMixin from mod reimaginingpotatoes,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin from mod friendsandfoes,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin from mod friendsandfoes,pl:mixin:APP:betterarcheology.mixins.json:TorrentTotemItemTickMixin from mod betterarcheology,pl:mixin:APP:creaturechat.mixins.json:MixinLivingEntity from mod creaturechat,pl:mixin:APP:lodestone.mixins.json:common.LivingEntityMixin from mod lodestone,pl:mixin:APP:goety.mixins.json:LivingEntityMixin from mod goety,pl:mixin:APP:bagus_lib.mixins.json:LivingEntityMixin from mod bagus_lib,pl:mixin:APP:curios.mixins.json:MixinLivingEntity from mod curios,pl:mixin:APP:fabric-entity-events-v1.mixins.json:LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:fabric-entity-events-v1.mixins.json:elytra.LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin from mod pehkui,pl:mixin:APP:earthmobsmod.mixins.json:LivingEntityMixin from mod earthmobsmod,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin from mod blue_skies,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor from mod netherportalfix,pl:mixin:APP:crittersandcompanions.mixins.json:LivingEntityMixin from mod crittersandcompanions,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin from mod aether,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.LivingEntityMixin from mod aether_redux,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin from mod citadel,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityMixin from mod all_bark_all_bite,pl:mixin:APP:dummmmmmy-common.mixins.json:LivingEntityMixin from mod dummmmmmy,pl:mixin:APP:snifferplus.mixins.json:MixinLivingEntity from mod snifferplus,pl:mixin:APP:trimeffects.mixins.json:MixinLivingEntity from mod trimeffects,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntity from mod witherstormmod,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntityAccessor from mod witherstormmod,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:LivingEntityMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin from mod betterdeserttemples,pl:mixin:APP:endergetic.mixins.json:LivingEntityMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:LivingEntityMixin from mod alexscaves,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity from mod quark,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor from mod supplementaries,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:rediscovered.mixins.json:LivingEntityMixin from mod rediscovered,pl:mixin:APP:walkers.mixins.json:LivingEntityFoodMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:LivingEntityMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:PlayerSwimmingMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.LivingEntityAccessor from mod walkers,pl:mixin:APP:META-INF/mixin/midnight.mixins.json:LivingEntityMixin from mod (unknown),pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityMixin from mod the_bumblezone,pl:mixin:A,pl:connector_pre_launch:A}         at org.betterx.betterend.entity.DragonflyEntity.createMobAttributes(DragonflyEntity.java:49) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         at org.betterx.betterend.registry.EndEntities.<clinit>(EndEntities.java:28) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         ... 25 more Caused by: java.lang.ExceptionInInitializerError     at org.betterx.betternether.BetterNether.onInitialize(BetterNether.java:45) ~[better-nether-9.0.9_mapped_srg_1.20.1.jar%231429!/:?] {re:mixin,re:classloading}     at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:129) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:44) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     ... 18 more Caused by: java.lang.IllegalStateException: Attempted to get a value from a Registrar before it was registered. ResourceKey[minecraft:attribute / rediscovered:undead_damage_scaling]     at com.legacy.structure_gel.api.util.LazyOptional.getOrThrow(LazyOptional.java:55) ~[structure_gel-1.20.1-2.16.2.jar%23785!/:2.16.2] {re:classloading}     at com.legacy.structure_gel.api.registry.registrar.Registrar$Static.get(Registrar.java:297) ~[structure_gel-1.20.1-2.16.2.jar%23785!/:2.16.2] {re:mixin,re:classloading}     at net.minecraft.world.entity.LivingEntity.handler$jbl000$rediscovered$addAttributes(LivingEntity.java:36037) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:mixin:APP:bclib.mixins.common.json:elytra.LivingEntityMixin from mod bclib,pl:mixin:APP:betterend.mixins.common.json:LivingEntityMixin from mod betterend,pl:mixin:APP:forge-badoptimizations.mixins.json:entitydata.MixinLivingEntity from mod (unknown),pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LaterLivingEntityMixin from mod the_bumblezone,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin from mod modernfix,pl:mixin:APP:tinyskeletons.common.mixins.json:accessor.LivingEntityAccessor from mod tinyskeletons,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityAccessor from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:LivingEntityMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_elytra_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_hand_swing.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin from mod radium,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity from mod caelus,pl:mixin:APP:fromanotherworld-common.mixins.json:LivingEntityMixin from mod fromanotherworld,pl:mixin:APP:notenoughanimations.mixins.json:LivingEntityMixin from mod notenoughanimations,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity from mod bookshelf,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity from mod bookshelf,pl:mixin:APP:bagusmob.mixins.json:LivingEntityMixin from mod bagusmob,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin from mod cataclysm,pl:mixin:APP:enchantwithmob.mixins.json:LivingEntityMixin from mod enchantwithmob,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.LivingEntityMixin from mod reimaginingpotatoes,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin from mod friendsandfoes,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin from mod friendsandfoes,pl:mixin:APP:betterarcheology.mixins.json:TorrentTotemItemTickMixin from mod betterarcheology,pl:mixin:APP:creaturechat.mixins.json:MixinLivingEntity from mod creaturechat,pl:mixin:APP:lodestone.mixins.json:common.LivingEntityMixin from mod lodestone,pl:mixin:APP:goety.mixins.json:LivingEntityMixin from mod goety,pl:mixin:APP:bagus_lib.mixins.json:LivingEntityMixin from mod bagus_lib,pl:mixin:APP:curios.mixins.json:MixinLivingEntity from mod curios,pl:mixin:APP:fabric-entity-events-v1.mixins.json:LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:fabric-entity-events-v1.mixins.json:elytra.LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin from mod pehkui,pl:mixin:APP:earthmobsmod.mixins.json:LivingEntityMixin from mod earthmobsmod,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin from mod blue_skies,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor from mod netherportalfix,pl:mixin:APP:crittersandcompanions.mixins.json:LivingEntityMixin from mod crittersandcompanions,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin from mod aether,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.LivingEntityMixin from mod aether_redux,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin from mod citadel,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityMixin from mod all_bark_all_bite,pl:mixin:APP:dummmmmmy-common.mixins.json:LivingEntityMixin from mod dummmmmmy,pl:mixin:APP:snifferplus.mixins.json:MixinLivingEntity from mod snifferplus,pl:mixin:APP:trimeffects.mixins.json:MixinLivingEntity from mod trimeffects,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntity from mod witherstormmod,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntityAccessor from mod witherstormmod,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:LivingEntityMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin from mod betterdeserttemples,pl:mixin:APP:endergetic.mixins.json:LivingEntityMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:LivingEntityMixin from mod alexscaves,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity from mod quark,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor from mod supplementaries,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:rediscovered.mixins.json:LivingEntityMixin from mod rediscovered,pl:mixin:APP:walkers.mixins.json:LivingEntityFoodMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:LivingEntityMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:PlayerSwimmingMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.LivingEntityAccessor from mod walkers,pl:mixin:APP:META-INF/mixin/midnight.mixins.json:LivingEntityMixin from mod (unknown),pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityMixin from mod the_bumblezone,pl:mixin:A,pl:connector_pre_launch:A}     at net.minecraft.world.entity.LivingEntity.m_21183_(LivingEntity.java:279) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:mixin:APP:bclib.mixins.common.json:elytra.LivingEntityMixin from mod bclib,pl:mixin:APP:betterend.mixins.common.json:LivingEntityMixin from mod betterend,pl:mixin:APP:forge-badoptimizations.mixins.json:entitydata.MixinLivingEntity from mod (unknown),pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LaterLivingEntityMixin from mod the_bumblezone,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin from mod modernfix,pl:mixin:APP:tinyskeletons.common.mixins.json:accessor.LivingEntityAccessor from mod tinyskeletons,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityAccessor from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:LivingEntityMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_elytra_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_hand_swing.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin from mod radium,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity from mod caelus,pl:mixin:APP:fromanotherworld-common.mixins.json:LivingEntityMixin from mod fromanotherworld,pl:mixin:APP:notenoughanimations.mixins.json:LivingEntityMixin from mod notenoughanimations,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity from mod bookshelf,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity from mod bookshelf,pl:mixin:APP:bagusmob.mixins.json:LivingEntityMixin from mod bagusmob,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin from mod cataclysm,pl:mixin:APP:enchantwithmob.mixins.json:LivingEntityMixin from mod enchantwithmob,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.LivingEntityMixin from mod reimaginingpotatoes,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin from mod friendsandfoes,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin from mod friendsandfoes,pl:mixin:APP:betterarcheology.mixins.json:TorrentTotemItemTickMixin from mod betterarcheology,pl:mixin:APP:creaturechat.mixins.json:MixinLivingEntity from mod creaturechat,pl:mixin:APP:lodestone.mixins.json:common.LivingEntityMixin from mod lodestone,pl:mixin:APP:goety.mixins.json:LivingEntityMixin from mod goety,pl:mixin:APP:bagus_lib.mixins.json:LivingEntityMixin from mod bagus_lib,pl:mixin:APP:curios.mixins.json:MixinLivingEntity from mod curios,pl:mixin:APP:fabric-entity-events-v1.mixins.json:LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:fabric-entity-events-v1.mixins.json:elytra.LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin from mod pehkui,pl:mixin:APP:earthmobsmod.mixins.json:LivingEntityMixin from mod earthmobsmod,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin from mod blue_skies,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor from mod netherportalfix,pl:mixin:APP:crittersandcompanions.mixins.json:LivingEntityMixin from mod crittersandcompanions,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin from mod aether,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.LivingEntityMixin from mod aether_redux,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin from mod citadel,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityMixin from mod all_bark_all_bite,pl:mixin:APP:dummmmmmy-common.mixins.json:LivingEntityMixin from mod dummmmmmy,pl:mixin:APP:snifferplus.mixins.json:MixinLivingEntity from mod snifferplus,pl:mixin:APP:trimeffects.mixins.json:MixinLivingEntity from mod trimeffects,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntity from mod witherstormmod,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntityAccessor from mod witherstormmod,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:LivingEntityMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin from mod betterdeserttemples,pl:mixin:APP:endergetic.mixins.json:LivingEntityMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:LivingEntityMixin from mod alexscaves,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity from mod quark,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor from mod supplementaries,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:rediscovered.mixins.json:LivingEntityMixin from mod rediscovered,pl:mixin:APP:walkers.mixins.json:LivingEntityFoodMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:LivingEntityMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:PlayerSwimmingMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.LivingEntityAccessor from mod walkers,pl:mixin:APP:META-INF/mixin/midnight.mixins.json:LivingEntityMixin from mod (unknown),pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityMixin from mod the_bumblezone,pl:mixin:A,pl:connector_pre_launch:A}     at net.minecraft.world.entity.Mob.m_21552_(Mob.java:144) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,re:computing_frames,pl:accesstransformer:B,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:backported_wolves.mixins.json:MobEntityMixin from mod backported_wolves,pl:mixin:APP:tombstone.mixins.json:MobMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.MobAccessor from mod the_bumblezone,pl:mixin:APP:the_bumblezone-common.mixins.json:items.HoneyShieldMobMixin from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:MobMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:entity.inactive_navigations.MobEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.MobEntityMixin from mod radium,pl:mixin:APP:adastra-common.mixins.json:common.MobMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorMob from mod bookshelf,pl:mixin:APP:takesapillage.mixins.json:MobRememberSpawnReasonMixin from mod takesapillage,pl:mixin:APP:tumbleweed.mixins.json:MobAccessor from mod tumbleweed,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.MobMixin from mod reimaginingpotatoes,pl:mixin:APP:creaturechat.mixins.json:MixinMobEntity from mod creaturechat,pl:mixin:APP:creaturechat.mixins.json:MixinMobEntityAccessor from mod creaturechat,pl:mixin:APP:fabric-entity-events-v1.mixins.json:MobEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:MobEntityMixin from mod pehkui,pl:mixin:APP:tropicraft.mixins.json:MobMixin from mod tropicraft,pl:mixin:APP:aether.mixins.json:common.MobMixin from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.MobMixin from mod aether_redux,pl:mixin:APP:all_bark_all_bite.mixins.json:MobAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:MobMixin from mod all_bark_all_bite,pl:mixin:APP:despawn_tweaker.mixins.json:MobMixin from mod despawn_tweaker,pl:mixin:APP:witherstormmod.mixins.json:MixinMob from mod witherstormmod,pl:mixin:APP:forge-overclocked_watches.forge.mixins.json:ForgeMobMixin from mod (unknown),pl:mixin:APP:endergetic.mixins.json:MobMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:MobMixin from mod alexscaves,pl:mixin:APP:moonlight-common.mixins.json:EntityMixin from mod moonlight,pl:mixin:APP:rediscovered.mixins.json:MobAccessor from mod rediscovered,pl:mixin:APP:walkers.mixins.json:MobEntityDataMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:MobHunterPreyMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.MobEntityAccessor from mod walkers,pl:mixin:APP:pehkui.mixins.json:compat116plus.MobEntityMixin from mod pehkui,pl:mixin:A,pl:connector_pre_launch:A}     at org.betterx.betternether.entity.EntityFirefly.createMobAttributes(EntityFirefly.java:88) ~[better-nether-9.0.9_mapped_srg_1.20.1.jar%231429!/:?] {re:classloading}     at org.betterx.betternether.registry.NetherEntities.<clinit>(NetherEntities.java:143) ~[better-nether-9.0.9_mapped_srg_1.20.1.jar%231429!/:?] {re:classloading}     at org.betterx.betternether.BetterNether.onInitialize(BetterNether.java:45) ~[better-nether-9.0.9_mapped_srg_1.20.1.jar%231429!/:?] {re:mixin,re:classloading}     at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:129) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:44) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     ... 18 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Suspected Mods: NONE Stacktrace:     at org.sinytra.connector.loader.ConnectorEarlyLoader.createLoadingException(ConnectorEarlyLoader.java:81) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.loader.ConnectorEarlyLoader.createGenericLoadingException(ConnectorEarlyLoader.java:77) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:55) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     at net.minecraft.client.Minecraft.handler$dib000$connectormod$earlyInit(Minecraft.java:27924) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:424) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A} Mixins in Stacktrace:     net.minecraft.client.Minecraft:         glitchcore.mixin.client.MixinMinecraft (glitchcore.mixins.json)         mod.chloeprime.aaaparticles.mixin.client.MixinMinecraft (aaa_particles-common.mixins.json)         net.fabricmc.fabric.mixin.screen.MinecraftClientMixin (fabric-screen-api-v1.mixins.json)         traben.entity_model_features.mixin.accessor.MinecraftClientAccessor (entity_model_features-common.mixins.json)         org.embeddedt.modernfix.common.mixin.bugfix.concurrency.MinecraftMixin (modernfix-common.mixins.json)         net.fabricmc.fabric.mixin.registry.sync.client.MinecraftClientMixin (fabric-registry-sync-v0.client.mixins.json)         traben.entity_texture_features.mixin.reloading.MixinMinecraftClient (entity_texture_features-common.mixins.json)         de.keksuccino.konkrete.mixin.client.MixinMinecraft (konkrete.mixin.json)         org.betterx.betterend.mixin.client.MinecraftClientMixin (betterend.mixins.client.json)         net.mehvahdjukaar.moonlight.core.mixins.MinecraftMixin (moonlight-common.mixins.json)         dev.tr7zw.notenoughanimations.mixins.LivingRenderStateMixin (notenoughanimations.mixins.json)         com.cursee.monolib.mixin.MinecraftMixin (monolib.mixins.json)         dev.architectury.mixin.forge.MixinMinecraft (architectury.mixins.json)         net.darkhax.bookshelf.mixin.accessors.client.AccessorMinecraft (bookshelf.common.mixins.json)         org.embeddedt.modernfix.common.mixin.feature.measure_time.MinecraftMixin (modernfix-common.mixins.json)         traben.entity_model_features.mixin.MixinResourceReloadStart (entity_model_features-common.mixins.json)         net.raphimc.immediatelyfast.injection.mixins.core.MixinMinecraftClient (immediatelyfast-common.mixins.json)         com.anthonyhilyard.iceberg.mixin.MinecraftMixin (iceberg.mixins.json)         me.jellysquid.mods.sodium.mixin.core.render.MinecraftAccessor (embeddium.mixins.json)         org.violetmoon.quark.mixin.mixins.client.MinecraftMixin (quark.mixins.json)         net.blay09.mods.balm.mixin.MinecraftMixin (balm.mixins.json)         tschipp.carryon.mixin.MinecraftMixin (carryon.mixins.json)         net.mehvahdjukaar.supplementaries.mixins.MinecraftMixin (supplementaries-common.mixins.json)         tocraft.craftedcore.mixin.client.MinecraftMixin (craftedcore.mixins.json)         net.fabricmc.fabric.mixin.event.lifecycle.client.MinecraftClientMixin (fabric-lifecycle-events-v1.client.mixins.json)         org.sinytra.connector.mod.mixin.registries.MinecraftMixin (connectormod.mixins.json)         io.socol.betterthirdperson.mixin.MinecraftMixin (betterthirdperson.mixins.json)         net.fabricmc.fabric.mixin.event.interaction.client.MinecraftClientMixin (fabric-events-interaction-v0.client.mixins.json)         org.betterx.bclib.mixin.client.MinecraftMixin (bclib.mixins.client.json)         com.telepathicgrunt.the_bumblezone.mixin.client.MinecraftMixin (the_bumblezone-common.mixins.json)         mod.azure.azurelib.mixins.MinecraftMixin (azurelib.forge.mixins.json)         com.Polarice3.Goety.mixin.MinecraftMixin (goety.mixins.json)         org.embeddedt.modernfix.common.mixin.feature.remove_telemetry.MinecraftMixin_Telemetry (modernfix-common.mixins.json)         org.betterx.betternether.mixin.client.MinecraftClientMixin (betternether.mixins.client.json)         com.teamabnormals.blueprint.core.mixin.client.MinecraftMixin (blueprint.mixins.json)         com.github.alexmodguy.alexscaves.mixin.client.MinecraftMixin (alexscaves.mixins.json)         com.sonicether.soundphysics.mixin.MinecraftMixin (sound_physics_remastered.mixins.json)         net.geforcemods.securitycraft.mixin.camera.MinecraftMixin (securitycraft.mixins.json)         de.keksuccino.fancymenu.mixin.mixins.common.client.IMixinMinecraft (fancymenu.mixins.json)         net.irisshaders.iris.mixin.MixinMinecraft_PipelineManagement (mixins.oculus.json)         org.embeddedt.modernfix.common.mixin.perf.dedicated_reload_executor.MinecraftMixin (modernfix-common.mixins.json)         com.cerbon.beb.forge.mixin.test.TestMixin (beb.mixins.json)         com.aizistral.nochatreports.common.mixins.client.MixinMinecraft (mixins/common/nochatreports.mixins.json)         net.fabricmc.fabric.mixin.networking.client.accessor.MinecraftClientAccessor (fabric-networking-api-v1.client.mixins.json)         me.jellysquid.mods.sodium.mixin.core.MinecraftClientMixin (embeddium.mixins.json)         de.cheaterpaul.fallingleaves.mixin.MinecraftClientMixin (fallingleaves.mixins.json)         de.keksuccino.fancymenu.mixin.mixins.common.client.MixinMinecraft (fancymenu.mixins.json)         org.embeddedt.modernfix.common.mixin.bugfix.world_leaks.MinecraftMixin (modernfix-common.mixins.json)         org.embeddedt.modernfix.forge.mixin.feature.measure_time.MinecraftMixin_Forge (modernfix-forge.mixins.json)         org.embeddedt.modernfix.common.mixin.perf.blast_search_trees.MinecraftMixin (modernfix-common.mixins.json)         org.sinytra.connector.mod.mixin.boot.MinecraftMixin (connectormod.mixins.json) -- Initialization -- Details:     Modules:          ADVAPI32.dll:Advanced Windows 32 Base API:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         COMCTL32.dll:Biblioteka formantów czynności użytkownika:6.10 (WinBuild.160101.0800):Microsoft Corporation         CRYPT32.dll:Crypto API32:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         CRYPTSP.dll:Cryptographic Service Provider API:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         CoreMessaging.dll:Microsoft CoreMessaging Dll:10.0.19041.4355:Microsoft Corporation         CoreUIComponents.dll:Microsoft Core UI Components Dll:10.0.19041.3636:Microsoft Corporation         DBGHELP.DLL:Windows Image Helper:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         DEVOBJ.dll:Device Information Set DLL:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         DNSAPI.dll:Biblioteka DLL interfejsu API klienta usługi DNS:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         GDI32.dll:GDI Client DLL:10.0.19041.4474 (WinBuild.160101.0800):Microsoft Corporation         GLU32.dll:Biblioteka DLL OpenGL Utility Library:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         IMM32.DLL:Multi-User Windows IMM32 API Client DLL:10.0.19041.4474 (WinBuild.160101.0800):Microsoft Corporation         IPHLPAPI.DLL:IP Helper API:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         KERNEL32.DLL:Biblioteka DLL klienta Windows NT BASE API:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         KERNELBASE.dll:Biblioteka DLL klienta Windows NT BASE API:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         MSCTF.dll:Biblioteka DLL serwera MSCTF:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         NLAapi.dll:Network Location Awareness 2:10.0.19041.4123 (WinBuild.160101.0800):Microsoft Corporation         NSI.dll:NSI User-mode interface DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         NTASN1.dll:Microsoft ASN.1 API:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         OLEAUT32.dll:OLEAUT32.DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         POWRPROF.dll:Pomocnicza biblioteka DLL dla profilu zasilania:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         PROPSYS.dll:System właściwości firmy Microsoft:7.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         PSAPI.DLL:Process Status Helper:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         Pdh.dll:Windows Performance Data Helper DLL:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         RPCRT4.dll:Czas wykonania zdalnego wywoływania procedury:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         SETUPAPI.dll:Interfejs API Instalatora systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         SHCORE.dll:SHCORE:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         SHELL32.dll:Wspólna biblioteka DLL Powłoki systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         UMPDC.dll         USER32.dll:Współużytkowana biblioteka DLL klienta Windows USER API:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         USERENV.dll:Userenv:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         VCRUNTIME140.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         VERSION.dll:Version Checking and File Installation Libraries:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         WINHTTP.dll:Usługi Windows HTTP Services:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         WINMM.dll:MCI API DLL:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         WINSTA.dll:Winstation Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         WINTRUST.dll:Microsoft Trust Verification APIs:10.0.19041.4780 (WinBuild.160101.0800):Microsoft Corporation         WS2_32.dll:Biblioteka DLL 32-bitowej wersji usługi Windows Socket 2.0:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         WSOCK32.dll:Windows Socket 32-Bit DLL:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         WTSAPI32.dll:Windows Remote Desktop Session Host Server SDK APIs:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         Wldp.dll:Zasady blokady systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         amsi.dll:Anti-Malware Scan Interface:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         aswAMSI.dll:Avast AMSI COM object:24.12.9725.0:Gen Digital Inc.         aswhook.dll:Avast Hook Library:24.12.9725.0:AVAST Software         bcrypt.dll:Biblioteka podstawowych elementów kryptograficznych systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         bcryptPrimitives.dll:Windows Cryptographic Primitives Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         cfgmgr32.dll:Configuration Manager DLL:10.0.19041.3996 (WinBuild.160101.0800):Microsoft Corporation         clbcatq.dll:COM+ Configuration Catalog:2001.12.10941.16384 (WinBuild.160101.0800):Microsoft Corporation         combase.dll:Microsoft COM for Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         cryptbase.dll:Base cryptographic API DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         cryptnet.dll:Crypto Network Related API:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         dbgcore.DLL:Windows Core Debugging Helpers:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc.DLL:Usługa klienta DHCP:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc6.DLL:Klient DHCPv6:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         dinput8.dll:Microsoft DirectInput:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         drvstore.dll:Driver Store API:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         dwmapi.dll:Interfejs API menedżera okien Microsoft Desktop Window Manager:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         dxcore.dll:DXCore:10.0.19041.4474 (WinBuild.160101.0800):Microsoft Corporation         fwpuclnt.dll:Interfejs API trybu użytkownika funkcji FWP/IPSec:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         gdi32full.dll:GDI Client DLL:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         glfw.dll:GLFW 3.4.0 DLL:3.4.0:GLFW         inputhost.dll:InputHost:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         java.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         javaw.exe:OpenJDK Platform binary:17.0.8.0:Microsoft         jemalloc.dll         jimage.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jli.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jna18238345871653851494.dll:JNA native library:6.1.4:Java(TM) Native Access (JNA)         jsvml.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jvm.dll:OpenJDK 64-Bit server VM:17.0.8.0:Microsoft         kernel.appcore.dll:AppModel API Host:10.0.19041.3758 (WinBuild.160101.0800):Microsoft Corporation         lwjgl.dll         lwjgl_opengl.dll         lwjgl_stb.dll         management.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         management_ext.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         msasn1.dll:ASN.1 Runtime APIs:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         msvcp140.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         msvcp_win.dll:Microsoft® C Runtime Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         msvcrt.dll:Windows NT CRT DLL:7.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         mswsock.dll:Microsoft Windows Sockets 2.0 Dostawca usługi:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         napinsp.dll:Dostawca podkładek nazewnictwa poczty e-mail:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         ncrypt.dll:Router programu NCrypt w systemie Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         net.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         nio.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         ntdll.dll:Biblioteka NT Layer DLL:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         ntmarta.dll:Windows NT - dostawca MARTA:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         nvoglv64.dll:NVIDIA Compatible OpenGL ICD:30.0.14.7288:NVIDIA Corporation         ole32.dll:Microsoft OLE for Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         opengl32.dll:OpenGL Client DLL:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         perfos.dll:Biblioteka DLL obiektów wydajności systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         pnrpnsp.dll:Dostawca obszaru nazw PNRP:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         profapi.dll:User Profile Basic API:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         rasadhlp.dll:Remote Access AutoDial Helper:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         rsaenh.dll:Microsoft Enhanced Cryptographic Provider:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         sechost.dll:Host for SCM/SDDL/LSA Lookup APIs:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         shlwapi.dll:Biblioteka dodatkowych narzędzi powłoki:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         sunmscapi.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         textinputframework.dll:"TextInputFramework.DYNLINK":10.0.19041.4651 (WinBuild.160101.0800):Microsoft Corporation         ucrtbase.dll:Microsoft® C Runtime Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         uxtheme.dll:Biblioteka Microsoft UxTheme:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         vcruntime140_1.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         verify.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         win32u.dll:Win32u:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         windows.storage.dll:Interfejs API magazynu systemu Microsoft WinRT:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         winrnr.dll:LDAP RnR Provider DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         wintypes.dll:Biblioteka DLL typów systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         wshbth.dll:Windows Sockets Helper DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         xinput1_4.dll:Interfejs API typowego kontrolera firmy Microsoft:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         zip.dll:OpenJDK Platform binary:17.0.8.0:Microsoft Stacktrace:     at net.minecraft.client.main.Main.main(Main.java:182) ~[forge-47.3.0.jar:?] {re:classloading,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {re:mixin}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} Mixins in Stacktrace: None found -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     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: 1491492512 bytes (1422 MiB) / 3087007744 bytes (2944 MiB) up to 21474836480 bytes (20480 MiB)     CPUs: 12     Processor Vendor: GenuineIntel     Processor Name: 11th Gen Intel(R) Core(TM) i5-11500 @ 2.70GHz     Identifier: Intel64 Family 6 Model 167 Stepping 1     Microarchitecture: Rocket Lake     Frequency (GHz): 2.71     Number of physical packages: 1     Number of physical CPUs: 6     Number of logical CPUs: 12     Graphics card #0 name: NVIDIA GeForce RTX 3060     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x2504     Graphics card #0 versionInfo: DriverVersion=30.0.14.7288     Memory slot #0 capacity (MB): 16384.00     Memory slot #0 clockSpeed (GHz): 2.67     Memory slot #0 type: DDR4     Virtual memory max (MB): 47933.33     Virtual memory used (MB): 14112.97     Swap memory total (MB): 31711.85     Swap memory used (MB): 217.08     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx20G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Launched Version: forge-47.3.0     Backend library: LWJGL version 3.3.1 build 7     Backend API: Unknown     Window size: <not initialized>     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages: <disabled>     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     CPU: <unknown>     Sinytra Connector: 1.0.0-beta.46+1.20.1         SINYTRA CONNECTOR IS PRESENT!         Please verify issues are not caused by Connector before reporting them to mod authors. If you're unsure, file a report on Connector's issue tracker.         Connector's issue tracker can be found at https://github.com/Sinytra/Connector/issues.         Installed Fabric mods:         | ================================================== | ============================== | ============================== | ==================== |         | creaturechat-1.3.0+1.20.1-forge_mapped_srg_1.20.1. | CreatureChat                   | creaturechat                   | 1.3.01.20.1          |         | better-nether-9.0.9_mapped_srg_1.20.1.jar          | Better Nether                  | betternether                   | 9.0.9                |         | better-end-4.0.10_mapped_srg_1.20.1.jar            | Better End                     | betterend                      | 4.0.10               |         | bclib-3.0.13$wunderlib-1.1.5_mapped_srg_1.20.1.jar | WunderLib                      | wunderlib                      | 1.1.5                |         | bclib-3.0.13_mapped_srg_1.20.1.jar                 | BCLib                          | bclib                          | 3.0.13               |
    • Hi! I'm working on a server-side mod for our server, and we want to add security measures by checking on Player Connections before they log in. I'm aware of PlayerLoggedInEvent, but it works only after the Player is created. So, is there any way of detecting when a Client connects? Thanks in beforehand.
    • Hey dudes. Recently started up a 1.19.2 All the Mods 8 server with some of the family. It ran well for a few hours and now it crashes every 10 or so minutes. Crash log is below. Pastebin: https://pastebin.com/KeWyDZd1 Any help would be much appreciated dudes. Cheers
  • Topics

×
×
  • Create New...

Important Information

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