From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sun, 4 Oct 2020 12:00:42 -0500
Subject: [PATCH] Flying squids! Oh my!


diff --git a/src/main/java/net/minecraft/world/entity/animal/EntitySquid.java b/src/main/java/net/minecraft/world/entity/animal/EntitySquid.java
index a9fa18931d93dd7fa428b8cd6a414d4b3a3b4fbb..be48e12dd6c9a390bf383129953bcd3d1f818427 100644
--- a/src/main/java/net/minecraft/world/entity/animal/EntitySquid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/EntitySquid.java
@@ -81,6 +81,11 @@ public class EntitySquid extends EntityWaterAnimal {
         vector.setX(cos * x - sine * z);
         vector.setZ(sine * x + cos * z);
     }
+
+    @Override
+    public boolean isInWater() {
+        return this.inWater || world.purpurConfig.squidsCanFly;
+    }
     // Purpur end
 
     @Override
@@ -146,6 +151,7 @@ public class EntitySquid extends EntityWaterAnimal {
         }
 
         if (this.aH()) {
+            if (world.purpurConfig.squidsCanFly) setNoGravity(!inWater); // Purpur
             if (this.bp < 3.1415927F) {
                 float f = this.bp / 3.1415927F;
 
@@ -353,7 +359,7 @@ public class EntitySquid extends EntityWaterAnimal {
 
             if (i > 100) {
                 this.b.a(0.0F, 0.0F, 0.0F);
-            } else if (this.b.getRandom().nextInt(50) == 0 || !this.b.inWater || !this.b.eK()) {
+            } else if (this.b.getRandom().nextInt(50) == 0 || !this.b.isInWater() || !this.b.eK()) { // Purpur
                 float f = this.b.getRandom().nextFloat() * 6.2831855F;
                 float f1 = MathHelper.cos(f) * 0.2F;
                 float f2 = -0.1F + this.b.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index abe5bc17ff209edbbcb3bb366669887b8d3c75f3..53a9208cd22b5057caef0dff5edc100297686422 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -891,10 +891,12 @@ public class PurpurWorldConfig {
     public boolean squidRidable = false;
     public boolean squidImmuneToEAR = true;
     public double squidOffsetWaterCheck = 0.0D;
+    public boolean squidsCanFly = false;
     private void squidSettings() {
         squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
         squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
         squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
+        squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
     }
 
     public boolean spiderRidable = false;
