Fix bug with climbing bypass cramming patch

This commit is contained in:
William Blake Galbreath
2020-08-23 16:11:36 -05:00
parent 949a9956ab
commit c791e98cce

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 305b63b295..b3a28d1b8d 100644 index 4f87d1312..79e6f4361 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1692,6 +1692,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -1692,6 +1692,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -22,7 +22,7 @@ index 305b63b295..b3a28d1b8d 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index eb32abc5d1..6a505b3b04 100644 index eb32abc5d..6a505b3b0 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java --- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving { @@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -35,7 +35,7 @@ index eb32abc5d1..6a505b3b04 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index a726dd6768..b84aa1db83 100644 index a726dd676..b84aa1db8 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java --- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient { @@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient {
@@ -48,7 +48,7 @@ index a726dd6768..b84aa1db83 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
index 0f25d7cd61..5887b7a26e 100644 index 0f25d7cd6..5887b7a26 100644
--- a/src/main/java/net/minecraft/server/EntityBoat.java --- a/src/main/java/net/minecraft/server/EntityBoat.java
+++ b/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java
@@ -106,7 +106,7 @@ public class EntityBoat extends Entity { @@ -106,7 +106,7 @@ public class EntityBoat extends Entity {
@@ -61,7 +61,7 @@ index 0f25d7cd61..5887b7a26e 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index da79c7e631..8cfbf8abf6 100644 index da79c7e63..8cfbf8abf 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -74,7 +74,7 @@ index da79c7e631..8cfbf8abf6 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 51b2aa3e20..9398fa6801 100644 index 51b2aa3e2..788175110 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java --- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2854,7 +2854,7 @@ public abstract class EntityLiving extends Entity { @@ -2854,7 +2854,7 @@ public abstract class EntityLiving extends Entity {
@@ -86,19 +86,24 @@ index 51b2aa3e20..9398fa6801 100644
try { try {
// Tuinity end - reduce memory allocation from collideNearby // Tuinity end - reduce memory allocation from collideNearby
@@ -2998,8 +2998,8 @@ public abstract class EntityLiving extends Entity { @@ -2999,7 +2999,14 @@ public abstract class EntityLiving extends Entity {
}
@Override @Override
- public boolean isCollidable() { public boolean isCollidable() {
- return this.isAlive() && !this.isSpectator() && !this.isClimbing() && this.collides; // CraftBukkit - return this.isAlive() && !this.isSpectator() && !this.isClimbing() && this.collides; // CraftBukkit
+ public boolean isCollidable(boolean ignoreClimbing) { // Purpur + // Purpur start
+ return this.isAlive() && !this.isSpectator() && (ignoreClimbing || !this.isClimbing()) && this.collides; // CraftBukkit // Purpur + return this.isCollidable(world.purpurConfig.fixClimbingBypassingCrammingRule);
+ }
+
+ @Override
+ public boolean isCollidable(boolean ignoreClimbing) {
+ return this.isAlive() && !this.isSpectator() && (ignoreClimbing || !this.isClimbing()) && this.collides; // CraftBukkit
+ // Purpur end
} }
// CraftBukkit start - collidable API // CraftBukkit start - collidable API
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index d5e129678d..5e64ca8a03 100644 index d5e129678..5e64ca8a0 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity { @@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity {
@@ -111,7 +116,7 @@ index d5e129678d..5e64ca8a03 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
index 34e08dda2e..6bb73f869b 100644 index 34e08dda2..6bb73f869 100644
--- a/src/main/java/net/minecraft/server/EntityParrot.java --- a/src/main/java/net/minecraft/server/EntityParrot.java
+++ b/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java
@@ -314,8 +314,8 @@ public class EntityParrot extends EntityPerchable implements EntityBird { @@ -314,8 +314,8 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
@@ -126,7 +131,7 @@ index 34e08dda2e..6bb73f869b 100644
@Override @Override
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 65c241d88e..9b6e356bb3 100644 index 65c241d88..9b6e356bb 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1771,8 +1771,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -1771,8 +1771,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -141,7 +146,7 @@ index 65c241d88e..9b6e356bb3 100644
// Purpur end // Purpur end
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index 939535cb22..70eb26304d 100644 index 939535cb2..70eb26304 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java --- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -45,11 +45,17 @@ public final class IEntitySelector { @@ -45,11 +45,17 @@ public final class IEntitySelector {
@@ -164,7 +169,7 @@ index 939535cb22..70eb26304d 100644
} else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ey())) { } else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ey())) {
return false; return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a9b1a130be..860e25dfd8 100644 index a9b1a130b..860e25dfd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -114,6 +114,7 @@ public class PurpurWorldConfig { @@ -114,6 +114,7 @@ public class PurpurWorldConfig {