Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Called to update the entity's position/logic.
- */
- public void onUpdate()
- {
- super.onUpdate();
- if (!this.worldObj.isRemote)
- {
- int i = this.getArrowCountInEntity();
- if (i > 0)
- {
- if (this.arrowHitTimer <= 0)
- {
- this.arrowHitTimer = 20 * (30 - i);
- }
- --this.arrowHitTimer;
- if (this.arrowHitTimer <= 0)
- {
- this.setArrowCountInEntity(i - 1);
- }
- }
- for (int j = 0; j < 5; ++j)
- {
- ItemStack itemstack = this.previousEquipment[j];
- ItemStack itemstack1 = this.getEquipmentInSlot(j);
- if (!ItemStack.areItemStacksEqual(itemstack1, itemstack))
- {
- ((WorldServer)this.worldObj).getEntityTracker().sendToAllTrackingEntity(this, new S04PacketEntityEquipment(this.getEntityId(), j, itemstack1));
- if (itemstack != null)
- {
- this.attributeMap.removeAttributeModifiers(itemstack.getAttributeModifiers());
- }
- if (itemstack1 != null)
- {
- this.attributeMap.applyAttributeModifiers(itemstack1.getAttributeModifiers());
- }
- this.previousEquipment[j] = itemstack1 == null ? null : itemstack1.copy();
- }
- }
- if (this.ticksExisted % 20 == 0)
- {
- this.getCombatTracker().reset();
- }
- }
- this.onLivingUpdate();
- double deltaX = this.posX - this.prevPosX;
- double deltaZ = this.posZ - this.prevPosZ;
- float distance = (float) (deltaX * deltaX + deltaZ * deltaZ);
- float yawHead = rotationYawHead;
- if(this == Minecraft.getMinecraft().thePlayer)
- yawHead = PlayerHandler.yaw;
- float offset = renderYawOffset;
- float f2 = 0.0F;
- this.prevOnGroundSpeedFactor = this.onGroundSpeedFactor;
- float f3 = 0.0F;
- if (distance > 0.0025000002F)
- offset = (float) MathHelper.func_181159_b(deltaZ, deltaX) * 180.0F / (float) Math.PI - 90.0F;
- if (this.swingProgress > 0.0F)
- offset = yawHead;
- if (!this.onGround) {
- f3 = 0.0F;
- }
- this.onGroundSpeedFactor += (f3 - this.onGroundSpeedFactor) * 0.3F;
- this.worldObj.theProfiler.startSection("headTurn");
- f2 = this.func_110146_f(offset, f2);
- this.worldObj.theProfiler.endSection();
- this.worldObj.theProfiler.startSection("rangeChecks");
- while (this.rotationYaw - this.prevRotationYaw < -180.0F) {
- this.prevRotationYaw -= 360.0F;
- }
- while (this.rotationYaw - this.prevRotationYaw >= 180.0F) {
- this.prevRotationYaw += 360.0F;
- }
- while (this.renderYawOffset - this.prevRenderYawOffset < -180.0F) {
- this.prevRenderYawOffset -= 360.0F;
- }
- while (this.renderYawOffset - this.prevRenderYawOffset >= 180.0F) {
- this.prevRenderYawOffset += 360.0F;
- }
- while (this.rotationPitch - this.prevRotationPitch < -180.0F) {
- this.prevRotationPitch -= 360.0F;
- }
- while (this.rotationPitch - this.prevRotationPitch >= 180.0F) {
- this.prevRotationPitch += 360.0F;
- }
- while (this.rotationYawHead - this.prevRotationYawHead < -180.0F) {
- this.prevRotationYawHead -= 360.0F;
- }
- while (this.rotationYawHead - this.prevRotationYawHead >= 180.0F) {
- this.prevRotationYawHead += 360.0F;
- }
- this.worldObj.theProfiler.endSection();
- this.movedDistance += f2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement