diff --git a/patches/server/0133-Flying-squids-Oh-my.patch b/patches/server/0133-Flying-squids-Oh-my.patch new file mode 100644 index 000000000..064a9153c --- /dev/null +++ b/patches/server/0133-Flying-squids-Oh-my.patch @@ -0,0 +1,56 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Sun, 4 Oct 2020 12:00:42 -0500 +Subject: [PATCH] Flying squids! Oh my! + + +diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java +index c9d2461318..aa294a46e4 100644 +--- a/src/main/java/net/minecraft/server/EntitySquid.java ++++ b/src/main/java/net/minecraft/server/EntitySquid.java +@@ -51,6 +51,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 +@@ -116,6 +121,7 @@ public class EntitySquid extends EntityWaterAnimal { + } + + if (this.aG()) { ++ if (world.purpurConfig.squidsCanFly) setNoGravity(!inWater); // Purpur + if (this.bp < 3.1415927F) { + float f = this.bp / 3.1415927F; + +@@ -323,7 +329,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 a36989d2b3..1d48cc4187 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -859,10 +859,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;