Flying squids! Oh my!

This commit is contained in:
William Blake Galbreath
2020-10-04 12:39:53 -05:00
parent 4984bb71e0
commit 81ca45c1e3

View File

@@ -0,0 +1,56 @@
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/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;