--- a/net/minecraft/world/entity/animal/Squid.java
+++ b/net/minecraft/world/entity/animal/Squid.java
@@ -1,3 +1,4 @@
+// mc-dev import
 package net.minecraft.world.entity.animal;
 
 import net.minecraft.core.BlockPos;
@@ -27,6 +28,7 @@
 import net.minecraft.world.phys.Vec3;
 
 public class Squid extends WaterAnimal {
+
     public float xBodyRot;
     public float xBodyRotO;
     public float zBodyRot;
@@ -44,7 +46,7 @@
 
     public Squid(EntityType<? extends Squid> type, Level world) {
         super(type, world);
-        this.random.setSeed((long)this.getId());
+        //this.random.setSeed((long) this.getId()); // Paper - we set the random to shared, do not clobber the seed
         this.tentacleSpeed = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F;
     }
 
@@ -105,24 +107,25 @@
         this.oldTentacleMovement = this.tentacleMovement;
         this.oldTentacleAngle = this.tentacleAngle;
         this.tentacleMovement += this.tentacleSpeed;
-        if ((double)this.tentacleMovement > (Math.PI * 2D)) {
+        if ((double) this.tentacleMovement > 6.283185307179586D) {
             if (this.level.isClientSide) {
-                this.tentacleMovement = ((float)Math.PI * 2F);
+                this.tentacleMovement = 6.2831855F;
             } else {
-                this.tentacleMovement -= ((float)Math.PI * 2F);
+                this.tentacleMovement -= 6.2831855F;
                 if (this.random.nextInt(10) == 0) {
                     this.tentacleSpeed = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F;
                 }
 
-                this.level.broadcastEntityEvent(this, (byte)19);
+                this.level.broadcastEntityEvent(this, (byte) 19);
             }
         }
 
         if (this.isInWaterOrBubble()) {
-            if (this.tentacleMovement < (float)Math.PI) {
-                float f = this.tentacleMovement / (float)Math.PI;
-                this.tentacleAngle = Mth.sin(f * f * (float)Math.PI) * (float)Math.PI * 0.25F;
-                if ((double)f > 0.75D) {
+            if (this.tentacleMovement < 3.1415927F) {
+                float f = this.tentacleMovement / 3.1415927F;
+
+                this.tentacleAngle = Mth.sin(f * f * 3.1415927F) * 3.1415927F * 0.25F;
+                if ((double) f > 0.75D) {
                     this.speed = 1.0F;
                     this.rotateSpeed = 1.0F;
                 } else {
@@ -135,26 +138,28 @@
             }
 
             if (!this.level.isClientSide) {
-                this.setDeltaMovement((double)(this.tx * this.speed), (double)(this.ty * this.speed), (double)(this.tz * this.speed));
+                this.setDeltaMovement((double) (this.tx * this.speed), (double) (this.ty * this.speed), (double) (this.tz * this.speed));
             }
 
-            Vec3 vec3 = this.getDeltaMovement();
-            double d = vec3.horizontalDistance();
-            this.yBodyRot += (-((float)Mth.atan2(vec3.x, vec3.z)) * (180F / (float)Math.PI) - this.yBodyRot) * 0.1F;
+            Vec3 vec3d = this.getDeltaMovement();
+            double d0 = vec3d.horizontalDistance();
+
+            this.yBodyRot += (-((float) Mth.atan2(vec3d.x, vec3d.z)) * 57.295776F - this.yBodyRot) * 0.1F;
             this.setYRot(this.yBodyRot);
-            this.zBodyRot += (float)Math.PI * this.rotateSpeed * 1.5F;
-            this.xBodyRot += (-((float)Mth.atan2(d, vec3.y)) * (180F / (float)Math.PI) - this.xBodyRot) * 0.1F;
+            this.zBodyRot += 3.1415927F * this.rotateSpeed * 1.5F;
+            this.xBodyRot += (-((float) Mth.atan2(d0, vec3d.y)) * 57.295776F - this.xBodyRot) * 0.1F;
         } else {
-            this.tentacleAngle = Mth.abs(Mth.sin(this.tentacleMovement)) * (float)Math.PI * 0.25F;
+            this.tentacleAngle = Mth.abs(Mth.sin(this.tentacleMovement)) * 3.1415927F * 0.25F;
             if (!this.level.isClientSide) {
-                double e = this.getDeltaMovement().y;
+                double d1 = this.getDeltaMovement().y;
+
                 if (this.hasEffect(MobEffects.LEVITATION)) {
-                    e = 0.05D * (double)(this.getEffect(MobEffects.LEVITATION).getAmplifier() + 1);
+                    d1 = 0.05D * (double) (this.getEffect(MobEffects.LEVITATION).getAmplifier() + 1);
                 } else if (!this.isNoGravity()) {
-                    e -= 0.08D;
+                    d1 -= 0.08D;
                 }
 
-                this.setDeltaMovement(0.0D, e * (double)0.98F, 0.0D);
+                this.setDeltaMovement(0.0D, d1 * 0.9800000190734863D, 0.0D);
             }
 
             this.xBodyRot += (-90.0F - this.xBodyRot) * 0.02F;
@@ -176,18 +181,21 @@
     }
 
     private Vec3 rotateVector(Vec3 shootVector) {
-        Vec3 vec3 = shootVector.xRot(this.xBodyRotO * ((float)Math.PI / 180F));
-        return vec3.yRot(-this.yBodyRotO * ((float)Math.PI / 180F));
+        Vec3 vec3d1 = shootVector.xRot(this.xBodyRotO * 0.017453292F);
+
+        vec3d1 = vec3d1.yRot(-this.yBodyRotO * 0.017453292F);
+        return vec3d1;
     }
 
     private void spawnInk() {
         this.playSound(this.getSquirtSound(), this.getSoundVolume(), this.getVoicePitch());
-        Vec3 vec3 = this.rotateVector(new Vec3(0.0D, -1.0D, 0.0D)).add(this.getX(), this.getY(), this.getZ());
+        Vec3 vec3d = this.rotateVector(new Vec3(0.0D, -1.0D, 0.0D)).add(this.getX(), this.getY(), this.getZ());
 
-        for(int i = 0; i < 30; ++i) {
-            Vec3 vec32 = this.rotateVector(new Vec3((double)this.random.nextFloat() * 0.6D - 0.3D, -1.0D, (double)this.random.nextFloat() * 0.6D - 0.3D));
-            Vec3 vec33 = vec32.scale(0.3D + (double)(this.random.nextFloat() * 2.0F));
-            ((ServerLevel)this.level).sendParticles(this.getInkParticle(), vec3.x, vec3.y + 0.5D, vec3.z, 0, vec33.x, vec33.y, vec33.z, (double)0.1F);
+        for (int i = 0; i < 30; ++i) {
+            Vec3 vec3d1 = this.rotateVector(new Vec3((double) this.random.nextFloat() * 0.6D - 0.3D, -1.0D, (double) this.random.nextFloat() * 0.6D - 0.3D));
+            Vec3 vec3d2 = vec3d1.scale(0.3D + (double) (this.random.nextFloat() * 2.0F));
+
+            ((ServerLevel) this.level).sendParticles(this.getInkParticle(), vec3d.x, vec3d.y + 0.5D, vec3d.z, 0, vec3d2.x, vec3d2.y, vec3d2.z, 0.10000000149011612D);
         }
 
     }
@@ -221,20 +229,51 @@
         return this.tx != 0.0F || this.ty != 0.0F || this.tz != 0.0F;
     }
 
-    class SquidFleeGoal extends Goal {
+    private class SquidRandomMovementGoal extends Goal {
+
+        private final Squid squid;
+
+        public SquidRandomMovementGoal(Squid entitysquid) {
+            this.squid = entitysquid;
+        }
+
+        @Override
+        public boolean canUse() {
+            return true;
+        }
+
+        @Override
+        public void tick() {
+            int i = this.squid.getNoActionTime();
+
+            if (i > 100) {
+                this.squid.setMovementVector(0.0F, 0.0F, 0.0F);
+            } else if (this.squid.getRandom().nextInt(reducedTickDelay(50)) == 0 || !this.squid.wasTouchingWater || !this.squid.hasMovementVector()) {
+                float f = this.squid.getRandom().nextFloat() * 6.2831855F;
+                float f1 = Mth.cos(f) * 0.2F;
+                float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
+                float f3 = Mth.sin(f) * 0.2F;
+
+                this.squid.setMovementVector(f1, f2, f3);
+            }
+
+        }
+    }
+
+    private class SquidFleeGoal extends Goal {
+
         private static final float SQUID_FLEE_SPEED = 3.0F;
         private static final float SQUID_FLEE_MIN_DISTANCE = 5.0F;
         private static final float SQUID_FLEE_MAX_DISTANCE = 10.0F;
         private int fleeTicks;
 
+        SquidFleeGoal() {}
+
         @Override
         public boolean canUse() {
-            LivingEntity livingEntity = Squid.this.getLastHurtByMob();
-            if (Squid.this.isInWater() && livingEntity != null) {
-                return Squid.this.distanceToSqr(livingEntity) < 100.0D;
-            } else {
-                return false;
-            }
+            LivingEntity entityliving = Squid.this.getLastHurtByMob();
+
+            return Squid.this.isInWater() && entityliving != null ? Squid.this.distanceToSqr((Entity) entityliving) < 100.0D : false;
         }
 
         @Override
@@ -250,30 +289,34 @@
         @Override
         public void tick() {
             ++this.fleeTicks;
-            LivingEntity livingEntity = Squid.this.getLastHurtByMob();
-            if (livingEntity != null) {
-                Vec3 vec3 = new Vec3(Squid.this.getX() - livingEntity.getX(), Squid.this.getY() - livingEntity.getY(), Squid.this.getZ() - livingEntity.getZ());
-                BlockState blockState = Squid.this.level.getBlockState(new BlockPos(Squid.this.getX() + vec3.x, Squid.this.getY() + vec3.y, Squid.this.getZ() + vec3.z));
-                FluidState fluidState = Squid.this.level.getFluidState(new BlockPos(Squid.this.getX() + vec3.x, Squid.this.getY() + vec3.y, Squid.this.getZ() + vec3.z));
-                if (fluidState.is(FluidTags.WATER) || blockState.isAir()) {
-                    double d = vec3.length();
-                    if (d > 0.0D) {
-                        vec3.normalize();
-                        double e = 3.0D;
-                        if (d > 5.0D) {
-                            e -= (d - 5.0D) / 5.0D;
+            LivingEntity entityliving = Squid.this.getLastHurtByMob();
+
+            if (entityliving != null) {
+                Vec3 vec3d = new Vec3(Squid.this.getX() - entityliving.getX(), Squid.this.getY() - entityliving.getY(), Squid.this.getZ() - entityliving.getZ());
+                BlockState iblockdata = Squid.this.level.getBlockState(new BlockPos(Squid.this.getX() + vec3d.x, Squid.this.getY() + vec3d.y, Squid.this.getZ() + vec3d.z));
+                FluidState fluid = Squid.this.level.getFluidState(new BlockPos(Squid.this.getX() + vec3d.x, Squid.this.getY() + vec3d.y, Squid.this.getZ() + vec3d.z));
+
+                if (fluid.is(FluidTags.WATER) || iblockdata.isAir()) {
+                    double d0 = vec3d.length();
+
+                    if (d0 > 0.0D) {
+                        vec3d.normalize();
+                        double d1 = 3.0D;
+
+                        if (d0 > 5.0D) {
+                            d1 -= (d0 - 5.0D) / 5.0D;
                         }
 
-                        if (e > 0.0D) {
-                            vec3 = vec3.scale(e);
+                        if (d1 > 0.0D) {
+                            vec3d = vec3d.scale(d1);
                         }
                     }
 
-                    if (blockState.isAir()) {
-                        vec3 = vec3.subtract(0.0D, vec3.y, 0.0D);
+                    if (iblockdata.isAir()) {
+                        vec3d = vec3d.subtract(0.0D, vec3d.y, 0.0D);
                     }
 
-                    Squid.this.setMovementVector((float)vec3.x / 20.0F, (float)vec3.y / 20.0F, (float)vec3.z / 20.0F);
+                    Squid.this.setMovementVector((float) vec3d.x / 20.0F, (float) vec3d.y / 20.0F, (float) vec3d.z / 20.0F);
                 }
 
                 if (this.fleeTicks % 10 == 5) {
@@ -283,32 +326,4 @@
             }
         }
     }
-
-    class SquidRandomMovementGoal extends Goal {
-        private final Squid squid;
-
-        public SquidRandomMovementGoal(Squid squid) {
-            this.squid = squid;
-        }
-
-        @Override
-        public boolean canUse() {
-            return true;
-        }
-
-        @Override
-        public void tick() {
-            int i = this.squid.getNoActionTime();
-            if (i > 100) {
-                this.squid.setMovementVector(0.0F, 0.0F, 0.0F);
-            } else if (this.squid.getRandom().nextInt(reducedTickDelay(50)) == 0 || !this.squid.wasTouchingWater || !this.squid.hasMovementVector()) {
-                float f = this.squid.getRandom().nextFloat() * ((float)Math.PI * 2F);
-                float g = Mth.cos(f) * 0.2F;
-                float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
-                float j = Mth.sin(f) * 0.2F;
-                this.squid.setMovementVector(g, h, j);
-            }
-
-        }
-    }
 }
