Files
Purpur/patches/server/0107-Stop-squids-floating-on-top-of-water.patch
jmp 7e8bf667fa Updated Upstream (Paper & Tuinity)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
d6f730655 Do not add passengers of entities that were above save limit (#5073)
cb99288a5 Try to get a new 1.16.5 build on website now we hopefully fixed site bug
946cdd2d2 [CI-SKIP] [Auto] Rebuild Patches
8f805412b Remove class 13 from netty preload - Fixes #5066
f6d3c6811 Make ProjectileHitEvent Cancellable
97b020f13 make schedule command per world
aac07a271 Return chat component with empty text instead of throwing exception. Fixes #3328
f27bc0659 Collision option for requiring a player participant
193f80148 Add StructureLocateEvent
59222b5ba Add sendOpLevel API
f792973c2 [CI-SKIP] Update API to 1.16.5 (#5067)

Tuinity Changes:
db82b6c Update to starlight 0.0.3
b97e87f Merge branch 'master' into dev/lighting
1d169e7 Updated Upstream (Paper)
09997a6 Merge branch 'master' into dev/lighting
8954b61 Updated Upstream (Paper)
8753f47 Merge branch 'master' into dev/lighting
4743c34 Updated Upstream (Paper)
2021-01-16 17:34:55 -08:00

60 lines
2.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 13 Aug 2020 04:00:26 -0500
Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index cf13b30c71e093296ffa02c6f1383de405ee34d3..3002dbaba08a5567e7e173f47f5973a8d6b4075a 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -3457,8 +3457,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.lastYaw = this.yaw;
}
+ // Purpur start
+ public AxisAlignedBB getAxisForFluidCheck() {
+ return this.getBoundingBox().shrink(0.001D);
+ }
public boolean a(Tag<FluidType> tag, double d0) {
- AxisAlignedBB axisalignedbb = this.getBoundingBox().shrink(0.001D);
+ AxisAlignedBB axisalignedbb = getAxisForFluidCheck();
+ // Purpur end
int i = MathHelper.floor(axisalignedbb.minX);
int j = MathHelper.f(axisalignedbb.maxX);
int k = MathHelper.floor(axisalignedbb.minY);
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
index b21605a62365fe24f315f35bd840b4740fc80f0e..148e4b158734f136832e5c17bdc69634c0f294aa 100644
--- a/src/main/java/net/minecraft/server/EntitySquid.java
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
@@ -25,6 +25,14 @@ public class EntitySquid extends EntityWaterAnimal {
this.bu = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F;
}
+ // Purpur start
+ @Override
+ public AxisAlignedBB getAxisForFluidCheck() {
+ // Stops squids from floating just over the water
+ return this.getBoundingBox().shrink(0.001D).offsetY(world.purpurConfig.squidOffsetWaterCheck);
+ }
+ // Purpur end
+
@Override
protected void initPathfinder() {
this.goalSelector.a(0, new EntitySquid.PathfinderGoalSquid(this));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5fe074cab7afdcb1a30801f2f59b5a3080d93759..2a997302e1df398f9ca546a1acfa3a9cf70c7d54 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -489,8 +489,10 @@ public class PurpurWorldConfig {
}
public boolean squidImmuneToEAR = true;
+ public double squidOffsetWaterCheck = 0.0D;
private void squidSettings() {
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
+ squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
}
public int villagerBrainTicks = 1;