From 9773687ae3818948cb8795404e622e256056ecbd Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Thu, 27 Oct 2022 15:35:47 +0200
Subject: [PATCH] Add config option for spider worldborder climbing

---
 .../net/minecraft/world/entity/monster/Spider.java.patch | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/paper-server/patches/sources/net/minecraft/world/entity/monster/Spider.java.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/Spider.java.patch
index cc9ec522f2..6f5110cd1c 100644
--- a/paper-server/patches/sources/net/minecraft/world/entity/monster/Spider.java.patch
+++ b/paper-server/patches/sources/net/minecraft/world/entity/monster/Spider.java.patch
@@ -1,5 +1,14 @@
 --- a/net/minecraft/world/entity/monster/Spider.java
 +++ b/net/minecraft/world/entity/monster/Spider.java
+@@ -82,7 +82,7 @@
+     public void tick() {
+         super.tick();
+         if (!this.level().isClientSide) {
+-            this.setClimbing(this.horizontalCollision);
++            this.setClimbing(this.horizontalCollision && (this.level().paperConfig().entities.behavior.allowSpiderWorldBorderClimbing || !(ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.isCollidingWithBorder(this.level().getWorldBorder(), this.getBoundingBox().inflate(ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.COLLISION_EPSILON)) && this.level().getWorldBorder().isInsideCloseToBorder(this, this.getBoundingBox())))); // Paper - Add config option for spider worldborder climbing (Inflate by +EPSILON as collision will just barely place us outside border)
+         }
+ 
+     }
 @@ -172,7 +172,7 @@
              Holder<MobEffect> holder = entityspider_groupdataspider.effect;