mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-01 13:57:35 +01:00
Add config option for spider worldborder climbing (#6448)
Co-authored-by: BillyGalbreath <blake.galbreath@gmail.com>
This commit is contained in:
parent
c2bee2c705
commit
b8a1f20c8d
@ -0,0 +1,40 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 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
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
|
@javax.annotation.Nullable
|
||||||
|
private UUID originWorld;
|
||||||
|
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
|
||||||
|
+ public boolean collidingWithWorldBorder; // Paper
|
||||||
|
|
||||||
|
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||||
|
this.origin = location.toVector();
|
||||||
|
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
|
io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, this.level.paperConfig().chunks.preventMovingIntoUnloadedChunks,
|
||||||
|
false, false, null, null);
|
||||||
|
|
||||||
|
- if (io.papermc.paper.util.CollisionUtil.isCollidingWithBorderEdge(world.getWorldBorder(), collisionBox)) {
|
||||||
|
+ if (collidingWithWorldBorder = io.papermc.paper.util.CollisionUtil.isCollidingWithBorderEdge(world.getWorldBorder(), collisionBox)) { // Paper - this line *is* correct, ignore the IDE warning about assignments being used as a condition
|
||||||
|
io.papermc.paper.util.CollisionUtil.addBoxesToIfIntersects(world.getWorldBorder().getCollisionShape(), collisionBox, potentialCollisions);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||||
|
@@ -0,0 +0,0 @@ public class Spider extends Monster {
|
||||||
|
public void tick() {
|
||||||
|
super.tick();
|
||||||
|
if (!this.level.isClientSide) {
|
||||||
|
- this.setClimbing(this.horizontalCollision);
|
||||||
|
+ this.setClimbing(this.horizontalCollision && (this.level.paperConfig().entities.behavior.allowSpiderWorldBorderClimbing || !collidingWithWorldBorder)); // Paper
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1655,6 +1655,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ public boolean zombiesTargetTurtleEggs = true;
|
+ public boolean zombiesTargetTurtleEggs = true;
|
||||||
+ public boolean piglinsGuardChests = true;
|
+ public boolean piglinsGuardChests = true;
|
||||||
+ public double babyZombieMovementModifier = 0.5;
|
+ public double babyZombieMovementModifier = 0.5;
|
||||||
|
+ public boolean allowSpiderWorldBorderClimbing = true;
|
||||||
+ public DoorBreakingDifficulty doorBreakingDifficulty;
|
+ public DoorBreakingDifficulty doorBreakingDifficulty;
|
||||||
+
|
+
|
||||||
+ public class DoorBreakingDifficulty extends ConfigurationPart { // TODO convert to map at some point
|
+ public class DoorBreakingDifficulty extends ConfigurationPart { // TODO convert to map at some point
|
||||||
|
Loading…
Reference in New Issue
Block a user