diff --git a/patches/server/0005-Ridables.patch b/patches/server/0005-Ridables.patch index db422da23..50dcd9f92 100644 --- a/patches/server/0005-Ridables.patch +++ b/patches/server/0005-Ridables.patch @@ -1,4 +1,4 @@ -From 39cab841087ade6937df4982bd2105ddc5878529 Mon Sep 17 00:00:00 2001 +From 968974fd46af44aea280c9ae0a043c7d2c6d02b9 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 6 Feb 2020 19:53:59 -0600 Subject: [PATCH] Ridables @@ -6,7 +6,7 @@ Subject: [PATCH] Ridables --- .../server/ControllerLookDolphin.java | 4 +- .../net/minecraft/server/ControllerMove.java | 6 +- - .../java/net/minecraft/server/Entity.java | 60 +- + .../java/net/minecraft/server/Entity.java | 63 +- .../net/minecraft/server/EntityAgeable.java | 2 +- .../java/net/minecraft/server/EntityBat.java | 40 ++ .../java/net/minecraft/server/EntityBee.java | 106 +++- @@ -15,11 +15,12 @@ Subject: [PATCH] Ridables .../minecraft/server/EntityCaveSpider.java | 17 + .../net/minecraft/server/EntityChicken.java | 19 + .../java/net/minecraft/server/EntityCod.java | 17 + + .../minecraft/server/EntityComplexPart.java | 7 + .../java/net/minecraft/server/EntityCow.java | 18 + .../net/minecraft/server/EntityCreeper.java | 76 +++ .../net/minecraft/server/EntityDolphin.java | 40 +- .../net/minecraft/server/EntityDrowned.java | 24 +- - .../minecraft/server/EntityEnderDragon.java | 22 + + .../minecraft/server/EntityEnderDragon.java | 87 ++- .../net/minecraft/server/EntityEnderman.java | 33 +- .../net/minecraft/server/EntityEndermite.java | 19 + .../net/minecraft/server/EntityEvoker.java | 22 + @@ -76,7 +77,7 @@ Subject: [PATCH] Ridables .../server/EntityVillagerTrader.java | 18 + .../minecraft/server/EntityVindicator.java | 19 + .../net/minecraft/server/EntityWitch.java | 21 +- - .../net/minecraft/server/EntityWither.java | 26 +- + .../net/minecraft/server/EntityWither.java | 28 +- .../java/net/minecraft/server/EntityWolf.java | 121 ++-- .../net/minecraft/server/EntityZombie.java | 19 + .../minecraft/server/EntityZombieHusk.java | 17 + @@ -95,7 +96,7 @@ Subject: [PATCH] Ridables .../controller/ControllerMoveWASDWater.java | 43 ++ .../pathfinder/PathfinderGoalHasRider.java | 21 + .../craftbukkit/entity/CraftEntity.java | 27 + - 91 files changed, 3026 insertions(+), 188 deletions(-) + 92 files changed, 3095 insertions(+), 196 deletions(-) create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java @@ -142,7 +143,7 @@ index a5c4cbb67f..efe6afde9b 100644 public ControllerMove(EntityInsentient entityinsentient) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 8974c16bf9..6acc65abfa 100644 +index 8974c16bf9..1d5cbbf97d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -78,7 +78,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -172,7 +173,24 @@ index 8974c16bf9..6acc65abfa 100644 public boolean noclip; public float J; protected final Random random; -@@ -2112,7 +2112,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -179,7 +179,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + private boolean aF; + private final double[] aG; + private long aH; +- private EntitySize size; ++ protected EntitySize size; // Purpur - private -> protected + private float headHeight; + // CraftBukkit start + public boolean persist = true; +@@ -1285,6 +1285,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + return this.inLava; + } + ++ public void moveRelative(float speed, Vec3D motion) { this.a(speed, motion); } // Purpur - OBFHELPER + public void a(float f, Vec3D vec3d) { + Vec3D vec3d1 = a(vec3d, f, this.yaw); + +@@ -2112,7 +2113,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } else { this.passengers.add(entity); } @@ -187,7 +205,7 @@ index 8974c16bf9..6acc65abfa 100644 } return true; // CraftBukkit } -@@ -2147,6 +2153,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2147,6 +2154,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } // Spigot end @@ -200,7 +218,7 @@ index 8974c16bf9..6acc65abfa 100644 this.passengers.remove(entity); entity.j = 60; } -@@ -2533,6 +2545,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2533,6 +2546,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public void setHeadRotation(float f) {} @@ -208,7 +226,7 @@ index 8974c16bf9..6acc65abfa 100644 public void l(float f) {} public boolean bA() { -@@ -3378,4 +3391,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3378,4 +3392,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke void accept(Entity entity, double d0, double d1, double d2); } @@ -755,6 +773,22 @@ index 1e3782122a..0153a821ee 100644 @Override protected ItemStack l() { return new ItemStack(Items.COD_BUCKET); +diff --git a/src/main/java/net/minecraft/server/EntityComplexPart.java b/src/main/java/net/minecraft/server/EntityComplexPart.java +index a0b35c8699..144e89f224 100644 +--- a/src/main/java/net/minecraft/server/EntityComplexPart.java ++++ b/src/main/java/net/minecraft/server/EntityComplexPart.java +@@ -47,4 +47,11 @@ public class EntityComplexPart extends Entity { + public EntitySize a(EntityPose entitypose) { + return this.d; + } ++ ++ // Purpur start ++ @Override ++ public boolean b(EntityHuman entityhuman, EnumHand enumhand) { ++ return owner.isAlive() && owner.tryRide(entityhuman, enumhand); ++ } ++ // Purpur end + } diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java index 2c8bbf20ae..723a9fa1ee 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java @@ -1060,13 +1094,43 @@ index 77885f67ff..63f5969b10 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index af10fc36e0..9cba1b6c84 100644 +index af10fc36e0..e08b731d2c 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java -@@ -62,6 +62,28 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { - this.bO = new DragonControllerManager(this); - } +@@ -46,6 +46,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + private final int[] bS = new int[24]; + private final Path bT = new Path(); + private Explosion explosionSource = new Explosion(null, this, Double.NaN, Double.NaN, Double.NaN, Float.NaN, true, Explosion.Effect.DESTROY); // CraftBukkit - reusable source for CraftTNTPrimed.getSource() ++ private boolean hadRider; // Purpur + public EntityEnderDragon(EntityTypes entitytypes, World world) { + super(EntityTypes.ENDER_DRAGON, world); +@@ -60,8 +61,50 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + } + + this.bO = new DragonControllerManager(this); ++ ++ // Purpur start ++ this.moveController = new net.pl3x.purpur.controller.ControllerMoveWASDFlying(this) { ++ @Override ++ public void tick() { ++ // dragon doesn't use the controller. do nothing ++ } ++ }; ++ this.lookController = new net.pl3x.purpur.controller.ControllerLookWASD(this) { ++ @Override ++ public void tick() { ++ // dragon doesn't use the controller. do nothing ++ } ++ ++ @Override ++ public void tick(EntityHuman rider) { ++ setYawPitch(rider.yaw - 180F, rider.pitch * 0.5F); ++ } ++ }; ++ // Purpur end ++ } ++ + // Purpur start + @Override + public boolean isRidable() { @@ -1076,8 +1140,8 @@ index af10fc36e0..9cba1b6c84 100644 + @Override + public boolean isRidableInWater() { + return world.purpurConfig.enderDragonRidableInWater; -+ } -+ + } + + @Override + public boolean requireShiftToMount() { + return world.purpurConfig.enderDragonRequireShiftToMount; @@ -1092,6 +1156,100 @@ index af10fc36e0..9cba1b6c84 100644 @Override protected void initAttributes() { super.initAttributes(); +@@ -96,6 +139,37 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + + @Override + public void movementTick() { ++ // Purpur start ++ boolean hasRider = getRider() != null; ++ if (hasRider) { ++ if (!hadRider) { ++ hadRider = true; ++ noclip = false; ++ this.size = EntitySize.b(4.0F, 2.0F); ++ } ++ ++ // dragon doesn't use controllers, so must tick manually ++ moveController.a(); ++ lookController.a(); ++ ++ moveRelative((float) getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).getValue() * 0.1F, new Vec3D(-getStrafe(), getVertical(), -getForward())); ++ Vec3D mot = getMot(); ++ setMot(mot); ++ move(EnumMoveType.PLAYER, mot); ++ ++ mot = mot.multiply(0.9F, 0.9F, 0.9F); ++ setMot(mot); ++ ++ // control wing flap speed on client ++ getDragonControllerManager().setControllerPhase(mot.getX() * mot.getX() + mot.getZ() * mot.getZ() < 0.005F ? DragonControllerPhase.HOVER : DragonControllerPhase.HOLDING_PATTERN); ++ } else if (hadRider) { ++ hadRider = false; ++ noclip = true; ++ this.size = EntitySize.b(16.0F, 8.0F); ++ getDragonControllerManager().setControllerPhase(DragonControllerPhase.HOLDING_PATTERN); // HoldingPattern ++ } ++ // Purpur end ++ + float f; + float f1; + +@@ -117,6 +191,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + + this.bx = this.by; + if (this.getHealth() <= 0.0F) { ++ if (hasRider) ejectPassengers(); // Purpur + f = (this.random.nextFloat() - 0.5F) * 8.0F; + f1 = (this.random.nextFloat() - 0.5F) * 4.0F; + float f2 = (this.random.nextFloat() - 0.5F) * 8.0F; +@@ -128,9 +203,9 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + + f1 = 0.2F / (MathHelper.sqrt(b(vec3d)) * 10.0F + 1.0F); + f1 *= (float) Math.pow(2.0D, vec3d.y); +- if (this.bO.a().a()) { ++ if (!hasRider && this.bO.a().a()) { // Purpur + this.by += 0.1F; +- } else if (this.bz) { ++ } else if (!hasRider && this.bz) { // Purpur + this.by += f1 * 0.5F; + } else { + this.by += f1; +@@ -174,7 +249,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + } + + this.bO.a().b(); +- } else { ++ } else if (!hasRider) { // Purpur + IDragonController idragoncontroller = this.bO.a(); + + idragoncontroller.c(); +@@ -241,7 +316,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + this.a(this.bH, (double) (f11 * 0.5F), 0.0D, (double) (-f12 * 0.5F)); + this.a(this.bL, (double) (f12 * 4.5F), 2.0D, (double) (f11 * 4.5F)); + this.a(this.bM, (double) (f12 * -4.5F), 2.0D, (double) (f11 * -4.5F)); +- if (!this.world.isClientSide && this.hurtTicks == 0) { ++ if (!hasRider && this.hurtTicks == 0) { // Purpur + this.a(this.world.getEntities(this, this.bL.getBoundingBox().grow(4.0D, 2.0D, 4.0D).d(0.0D, -2.0D, 0.0D), IEntitySelector.e)); + this.a(this.world.getEntities(this, this.bM.getBoundingBox().grow(4.0D, 2.0D, 4.0D).d(0.0D, -2.0D, 0.0D), IEntitySelector.e)); + this.b(this.world.getEntities(this, this.bw.getBoundingBox().g(1.0D), IEntitySelector.e)); +@@ -284,7 +359,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + } + + if (!this.world.isClientSide) { +- this.bz = this.b(this.bw.getBoundingBox()) | this.b(this.bG.getBoundingBox()) | this.b(this.bH.getBoundingBox()); ++ this.bz = !hasRider && this.b(this.bw.getBoundingBox()) | this.b(this.bG.getBoundingBox()) | this.b(this.bH.getBoundingBox()); // Purpur + if (this.bN != null) { + this.bN.b(this); + } +@@ -950,7 +1025,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + + @Override + protected boolean n(Entity entity) { +- return false; ++ return getRideCooldown() <= 0; // Purpur + } + + @Override diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java index 212636dcb2..de30ce483f 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java @@ -4159,7 +4317,7 @@ index 1432d3f6bf..447387bd78 100644 this.targetSelector.a(2, this.bz); this.targetSelector.a(3, this.bA); diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java -index 8977c3516b..f654f27010 100644 +index 8977c3516b..12f97910e3 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java @@ -41,13 +41,37 @@ public class EntityWither extends EntityMonster implements IRangedEntity { @@ -4201,6 +4359,15 @@ index 8977c3516b..f654f27010 100644 this.targetSelector.a(1, new PathfinderGoalHurtByTarget(this, new Class[0])); this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityInsentient.class, 0, false, false, EntityWither.bG)); } +@@ -541,7 +565,7 @@ public class EntityWither extends EntityMonster implements IRangedEntity { + + @Override + protected boolean n(Entity entity) { +- return false; ++ return getRideCooldown() <= 0; // Purpur + } + + @Override diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java index eec1e26b6e..47f0b2df6c 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java diff --git a/patches/server/0017-Cows-eat-mushrooms.patch b/patches/server/0017-Cows-eat-mushrooms.patch index c20d36a5d..c72b59e29 100644 --- a/patches/server/0017-Cows-eat-mushrooms.patch +++ b/patches/server/0017-Cows-eat-mushrooms.patch @@ -1,4 +1,4 @@ -From 684b9dd00a327e6f8470cb3e65d47e26f1d20357 Mon Sep 17 00:00:00 2001 +From dcbc6628adfb40507e4ab140b0884d24fc5929d7 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 4 May 2019 01:10:30 -0500 Subject: [PATCH] Cows eat mushrooms @@ -11,7 +11,7 @@ Subject: [PATCH] Cows eat mushrooms 4 files changed, 77 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 6acc65abfa..1d96f0242a 100644 +index 1d5cbbf97d..9e985e278d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1037,6 +1037,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -22,7 +22,7 @@ index 6acc65abfa..1d96f0242a 100644 public void a(SoundEffect soundeffect, float f, float f1) { if (!this.isSilent()) { this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), soundeffect, this.getSoundCategory(), f, f1); -@@ -2572,6 +2573,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2573,6 +2574,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.invulnerable = flag; } @@ -140,7 +140,7 @@ index 17ff8a9fc3..6ca11091c9 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a1f0e659c2..c5c59a8c81 100644 +index 9b60d17bdf..661dcce493 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -145,10 +145,12 @@ public class PurpurWorldConfig { diff --git a/patches/server/0022-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0022-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index e56473fa0..dbe06222b 100644 --- a/patches/server/0022-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0022-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -1,4 +1,4 @@ -From 66373970bd7f4ab4bcb8ea9bf1ceb75722fa1e07 Mon Sep 17 00:00:00 2001 +From 364a040bfacb575c41cc1479436618390094af09 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 9 May 2019 18:26:06 -0500 Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms @@ -25,10 +25,10 @@ index 816d301f1c..0971f25b56 100644 return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic(); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 1d96f0242a..a9b1ce4165 100644 +index 9e985e278d..4400aa5066 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1380,6 +1380,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1381,6 +1381,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return d3 * d3 + d4 * d4 + d5 * d5; } @@ -36,7 +36,7 @@ index 1d96f0242a..a9b1ce4165 100644 public double h(Entity entity) { return this.c(entity.getPositionVector()); } -@@ -1903,14 +1904,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1904,14 +1905,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.a(new ItemStack(imaterial), (float) i); } diff --git a/patches/server/0025-Ender-dragon-always-drop-full-exp.patch b/patches/server/0025-Ender-dragon-always-drop-full-exp.patch index e525c0634..7235fe823 100644 --- a/patches/server/0025-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0025-Ender-dragon-always-drop-full-exp.patch @@ -1,4 +1,4 @@ -From 9a2541adcd16702d7dca91e37e4616eb973339e9 Mon Sep 17 00:00:00 2001 +From e28713985f2973e247ecd50ed0b4579cd377be50 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 24 Aug 2019 14:42:54 -0500 Subject: [PATCH] Ender dragon always drop full exp @@ -9,10 +9,10 @@ Subject: [PATCH] Ender dragon always drop full exp 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 9cba1b6c84..5aea402797 100644 +index e08b731d2c..baab056eff 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java -@@ -588,7 +588,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { +@@ -641,7 +641,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { boolean flag = this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT); short short0 = 500; @@ -22,7 +22,7 @@ index 9cba1b6c84..5aea402797 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d69baa858c..5ed5276348 100644 +index 77070e618a..cd4b4ee293 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -201,12 +201,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0041-Implement-AFK-API.patch b/patches/server/0041-Implement-AFK-API.patch index 53cf1333a..561f51738 100644 --- a/patches/server/0041-Implement-AFK-API.patch +++ b/patches/server/0041-Implement-AFK-API.patch @@ -1,4 +1,4 @@ -From 8bca0822c07fd0b8f61319668c78a26c4c37eb98 Mon Sep 17 00:00:00 2001 +From fe7a867041542145cc9fb41d1016040fe8f64800 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 8 Aug 2019 15:29:15 -0500 Subject: [PATCH] Implement AFK API @@ -17,10 +17,10 @@ Subject: [PATCH] Implement AFK API 10 files changed, 112 insertions(+), 24 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 44ae05b8a2..4358505dc2 100644 +index b8959e005f..d38bbf6a4e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1373,6 +1373,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1374,6 +1374,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return MathHelper.c(f * f + f1 * f1 + f2 * f2); } @@ -227,7 +227,7 @@ index 874b8c1292..567b297e05 100644 } else if (entityplayer.isSleeping()) { ++j; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c76363c529..c53b07adf6 100644 +index 2bbbf30c0d..95f1dcf0d7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -147,6 +147,21 @@ public class PurpurWorldConfig { diff --git a/patches/server/0048-Add-EntityPortalReadyEvent.patch b/patches/server/0048-Add-EntityPortalReadyEvent.patch index 9c5b5f40e..dc27c9bdb 100644 --- a/patches/server/0048-Add-EntityPortalReadyEvent.patch +++ b/patches/server/0048-Add-EntityPortalReadyEvent.patch @@ -1,4 +1,4 @@ -From 3cb2c16e16925d3e7e036f3f9af9c9008af7f593 Mon Sep 17 00:00:00 2001 +From 30f6de2f967a3536824c0ea811a24b3bc0cd22f9 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 11 Jan 2020 23:12:52 -0600 Subject: [PATCH] Add EntityPortalReadyEvent @@ -86,7 +86,7 @@ index 09c7c13183..6880cdd7f9 100644 break; // CraftBukkit start - add the block to our list diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 4358505dc2..2e151ebc19 100644 +index d38bbf6a4e..3ba936b101 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -168,9 +168,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -102,7 +102,7 @@ index 4358505dc2..2e151ebc19 100644 private boolean invulnerable; protected UUID uniqueID; protected String am; -@@ -2214,6 +2214,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2215,6 +2215,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.world.getMethodProfiler().enter("portal"); this.ag = i; this.portalCooldown = this.ba(); diff --git a/patches/server/0056-Ladders-should-not-bypass-cramming-gamerule.patch b/patches/server/0056-Ladders-should-not-bypass-cramming-gamerule.patch index 55f9336b3..53a9e7cae 100644 --- a/patches/server/0056-Ladders-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0056-Ladders-should-not-bypass-cramming-gamerule.patch @@ -1,4 +1,4 @@ -From 8ad4489bd0b08b22fdad0c2ac05a202351aeb0ad Mon Sep 17 00:00:00 2001 +From 2a2790a02166f3d335a7577dcce637927244a33a Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 21 Jul 2019 18:06:20 -0500 Subject: [PATCH] Ladders should not bypass cramming gamerule @@ -17,10 +17,10 @@ Subject: [PATCH] Ladders should not bypass cramming gamerule 10 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2e151ebc19..f1c749c38f 100644 +index 3ba936b101..e6575076dd 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1508,6 +1508,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1509,6 +1509,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean isCollidable() { @@ -155,7 +155,7 @@ index 4665671ef6..037f14e010 100644 ScoreboardTeamBase.EnumTeamPush scoreboardteambase_enumteampush = scoreboardteambase == null ? ScoreboardTeamBase.EnumTeamPush.ALWAYS : scoreboardteambase.getCollisionRule(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d39fc8d5d6..cfe3db96c1 100644 +index 814ff59352..9319c3b74b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -145,6 +145,7 @@ public class PurpurWorldConfig {