Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
0f06d380 Restrict vanilla teleport command to within worldborder
24d93aaf Fix Optional null issue - Fixes #3155
eb71c5fa Fix incorect timing of mspt
1ca80434 Optimise entity hard collision checking
b67a4237 Don't run entity collision code if not needed
bd9aa547 Optimise ArraySetSorted#removeIf
78871d07 Make JavaClassLoader thread-safe (Fixes #3137) (#3144)
This commit is contained in:
ChrystiGalbreath
2020-04-16 20:45:31 -05:00
parent ea1b4e3583
commit 6c4aab0053
21 changed files with 270 additions and 306 deletions

2
Paper

Submodule Paper updated: 81706e6268...0f06d38062

View File

@@ -1 +1 @@
1.15.2--294ef5b86e28a9a3583ab2ce4f8ddd4b7e36e541
1.15.2--029c5687efac68dae543dcdae06aa5afe9c0d787

View File

@@ -1,4 +1,4 @@
From 00c8afb2ece0408c0d695b2b150a29fbc874c2ce Mon Sep 17 00:00:00 2001
From dd81bbb0f301d276c38962221b2de0b042a46e41 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 01:02:11 -0500
Subject: [PATCH] Rebrand
@@ -15,7 +15,7 @@ Subject: [PATCH] Rebrand
create mode 100644 src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
diff --git a/pom.xml b/pom.xml
index 55679af926..a7ee9396a0 100644
index 55679af92..a7ee9396a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,11 +1,11 @@
@@ -94,7 +94,7 @@ index 55679af926..a7ee9396a0 100644
</configuration>
<executions>
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
index cd6e259239..bb227bc0fb 100644
index cd6e25923..bb227bc0f 100644
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
@@ -107,10 +107,10 @@ index cd6e259239..bb227bc0fb 100644
);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a9b5337512..1675ae09c7 100644
index 36fff92f3..ad744ff63 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1515,7 +1515,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@@ -121,7 +121,7 @@ index a9b5337512..1675ae09c7 100644
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
new file mode 100644
index 0000000000..d8b408f061
index 000000000..d8b408f06
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
@@ -0,0 +1,115 @@
@@ -241,7 +241,7 @@ index 0000000000..d8b408f061
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8cc0f66ce5..76fbbb620c 100644
index 8cc0f66ce..76fbbb620 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -203,7 +203,7 @@ import javax.annotation.Nullable; // Paper
@@ -254,7 +254,7 @@ index 8cc0f66ce5..76fbbb620c 100644
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 770375ed42..0e5da2a30d 100644
index 770375ed4..0e5da2a30 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -306,7 +306,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -267,7 +267,7 @@ index 770375ed42..0e5da2a30d 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 674096cab1..e9aee2d8a9 100644
index 674096cab..e9aee2d8a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {
@@ -280,5 +280,5 @@ index 674096cab1..e9aee2d8a9 100644
if (stream != null) {
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 3f896a527678b6dd67981570d466f6e38aabe85e Mon Sep 17 00:00:00 2001
From 3abc1359f398d88bc8f87a26e50e9c3083647a08 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 6 Feb 2020 19:53:59 -0600
Subject: [PATCH] Ridables
@@ -115,7 +115,7 @@ Subject: [PATCH] Ridables
create mode 100644 src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java
diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java
index c950139c0f..77cb24ef66 100644
index 3fdb52007..7e67292c2 100644
--- a/src/main/java/net/minecraft/server/AxisAlignedBB.java
+++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java
@@ -104,6 +104,7 @@ public class AxisAlignedBB {
@@ -135,7 +135,7 @@ index c950139c0f..77cb24ef66 100644
return this.grow(d0, d0, d0);
}
diff --git a/src/main/java/net/minecraft/server/ControllerLookDolphin.java b/src/main/java/net/minecraft/server/ControllerLookDolphin.java
index 1d9ba04daa..2bade947ee 100644
index 1d9ba04da..2bade947e 100644
--- a/src/main/java/net/minecraft/server/ControllerLookDolphin.java
+++ b/src/main/java/net/minecraft/server/ControllerLookDolphin.java
@@ -1,6 +1,6 @@
@@ -156,7 +156,7 @@ index 1d9ba04daa..2bade947ee 100644
this.d = false;
this.a.aK = this.a(this.a.aK, this.h() + 20.0F, this.b);
diff --git a/src/main/java/net/minecraft/server/ControllerMove.java b/src/main/java/net/minecraft/server/ControllerMove.java
index a5c4cbb67f..efe6afde9b 100644
index a5c4cbb67..efe6afde9 100644
--- a/src/main/java/net/minecraft/server/ControllerMove.java
+++ b/src/main/java/net/minecraft/server/ControllerMove.java
@@ -6,9 +6,9 @@ public class ControllerMove {
@@ -173,7 +173,7 @@ index a5c4cbb67f..efe6afde9b 100644
public ControllerMove(EntityInsentient entityinsentient) {
diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java
index 816d301f1c..f7344d3aec 100644
index 816d301f1..f7344d3ae 100644
--- a/src/main/java/net/minecraft/server/DamageSource.java
+++ b/src/main/java/net/minecraft/server/DamageSource.java
@@ -57,6 +57,7 @@ public class DamageSource {
@@ -198,7 +198,7 @@ index 816d301f1c..f7344d3aec 100644
this.C = true;
return this;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 9cb4e5a1e6..48be21826c 100644
index 96a47dd1c..a3bee7bf2 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -79,7 +79,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -237,7 +237,7 @@ index 9cb4e5a1e6..48be21826c 100644
private float headHeight;
// CraftBukkit start
public boolean persist = true;
@@ -823,6 +823,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -857,6 +857,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return vec3d1;
}
@@ -245,7 +245,7 @@ index 9cb4e5a1e6..48be21826c 100644
public static double b(Vec3D vec3d) {
return vec3d.x * vec3d.x + vec3d.z * vec3d.z;
}
@@ -1149,6 +1150,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1183,6 +1184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return flag;
}
@@ -253,7 +253,7 @@ index 9cb4e5a1e6..48be21826c 100644
private boolean l() {
return this.world.getType(new BlockPosition(this)).getBlock() == Blocks.BUBBLE_COLUMN;
}
@@ -1162,8 +1164,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1196,8 +1198,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.isInWater() || this.isInRain() || this.l();
}
@@ -264,7 +264,7 @@ index 9cb4e5a1e6..48be21826c 100644
}
public boolean aA() {
@@ -1294,6 +1297,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1328,6 +1331,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.inLava;
}
@@ -272,7 +272,7 @@ index 9cb4e5a1e6..48be21826c 100644
public void a(float f, Vec3D vec3d) {
Vec3D vec3d1 = a(vec3d, f, this.yaw);
@@ -2125,7 +2129,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2159,7 +2163,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} else {
this.passengers.add(entity);
}
@@ -287,7 +287,7 @@ index 9cb4e5a1e6..48be21826c 100644
}
return true; // CraftBukkit
}
@@ -2160,6 +2170,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2194,6 +2204,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false;
}
// Spigot end
@@ -300,7 +300,7 @@ index 9cb4e5a1e6..48be21826c 100644
this.passengers.remove(entity);
entity.j = 60;
}
@@ -2328,6 +2344,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2362,6 +2378,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.setFlag(4, flag);
}
@@ -308,7 +308,7 @@ index 9cb4e5a1e6..48be21826c 100644
public boolean bt() {
return this.glowing || this.world.isClientSide && this.getFlag(6);
}
@@ -2546,6 +2563,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2580,6 +2597,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public void setHeadRotation(float f) {}
@@ -316,7 +316,7 @@ index 9cb4e5a1e6..48be21826c 100644
public void l(float f) {}
public boolean bA() {
@@ -3392,4 +3410,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -3426,4 +3444,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
void accept(Entity entity, double d0, double d1, double d2);
}
@@ -361,7 +361,7 @@ index 9cb4e5a1e6..48be21826c 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java
index 3d27f0964a..822316a65f 100644
index 3d27f0964..822316a65 100644
--- a/src/main/java/net/minecraft/server/EntityAgeable.java
+++ b/src/main/java/net/minecraft/server/EntityAgeable.java
@@ -86,7 +86,7 @@ public abstract class EntityAgeable extends EntityCreature {
@@ -374,7 +374,7 @@ index 3d27f0964a..822316a65f 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index 34239160be..592408bac9 100644
index 34239160b..592408bac 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -14,9 +14,44 @@ public class EntityBat extends EntityAmbient {
@@ -465,7 +465,7 @@ index 34239160be..592408bac9 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java
index dd1d246aeb..f0f83baac8 100644
index dd1d246ae..f0f83baac 100644
--- a/src/main/java/net/minecraft/server/EntityBee.java
+++ b/src/main/java/net/minecraft/server/EntityBee.java
@@ -36,9 +36,7 @@ public class EntityBee extends EntityAnimal implements EntityBird {
@@ -646,7 +646,7 @@ index dd1d246aeb..f0f83baac8 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityBlaze.java b/src/main/java/net/minecraft/server/EntityBlaze.java
index da6a3fa2c8..d02130e0d1 100644
index da6a3fa2c..d02130e0d 100644
--- a/src/main/java/net/minecraft/server/EntityBlaze.java
+++ b/src/main/java/net/minecraft/server/EntityBlaze.java
@@ -10,6 +10,7 @@ public class EntityBlaze extends EntityMonster {
@@ -736,7 +736,7 @@ index da6a3fa2c8..d02130e0d1 100644
if (this.c <= 0) {
this.c = 100;
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
index b3bdc194ab..8b9222d778 100644
index b3bdc194a..8b9222d77 100644
--- a/src/main/java/net/minecraft/server/EntityCat.java
+++ b/src/main/java/net/minecraft/server/EntityCat.java
@@ -42,6 +42,23 @@ public class EntityCat extends EntityTameableAnimal {
@@ -830,7 +830,7 @@ index b3bdc194ab..8b9222d778 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityCaveSpider.java b/src/main/java/net/minecraft/server/EntityCaveSpider.java
index 23ced2c7bb..5b86b36f6a 100644
index 23ced2c7b..5b86b36f6 100644
--- a/src/main/java/net/minecraft/server/EntityCaveSpider.java
+++ b/src/main/java/net/minecraft/server/EntityCaveSpider.java
@@ -8,6 +8,23 @@ public class EntityCaveSpider extends EntitySpider {
@@ -858,7 +858,7 @@ index 23ced2c7bb..5b86b36f6a 100644
protected void initAttributes() {
super.initAttributes();
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
index 65795fc896..5505b7ee94 100644
index 65795fc89..5505b7ee9 100644
--- a/src/main/java/net/minecraft/server/EntityChicken.java
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
@@ -17,9 +17,27 @@ public class EntityChicken extends EntityAnimal {
@@ -898,7 +898,7 @@ index 65795fc896..5505b7ee94 100644
this.forceDrops = true; // CraftBukkit
this.a((IMaterial) Items.EGG);
diff --git a/src/main/java/net/minecraft/server/EntityCod.java b/src/main/java/net/minecraft/server/EntityCod.java
index 1e3782122a..0153a821ee 100644
index 1e3782122..0153a821e 100644
--- a/src/main/java/net/minecraft/server/EntityCod.java
+++ b/src/main/java/net/minecraft/server/EntityCod.java
@@ -6,6 +6,23 @@ public class EntityCod extends EntityFishSchool {
@@ -926,7 +926,7 @@ index 1e3782122a..0153a821ee 100644
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
index a0b35c869..144e89f22 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 {
@@ -942,7 +942,7 @@ index a0b35c8699..144e89f224 100644
+ // 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
index 2c8bbf20a..723a9fa1e 100644
--- a/src/main/java/net/minecraft/server/EntityCow.java
+++ b/src/main/java/net/minecraft/server/EntityCow.java
@@ -11,9 +11,27 @@ public class EntityCow extends EntityAnimal {
@@ -974,7 +974,7 @@ index 2c8bbf20ae..723a9fa1ee 100644
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.25D, RecipeItemStack.a(Items.WHEAT), false));
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 45dfc8104a..48fd8e716b 100644
index 45dfc8104..48fd8e716 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -23,16 +23,35 @@ public class EntityCreeper extends EntityMonster {
@@ -1090,7 +1090,7 @@ index 45dfc8104a..48fd8e716b 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java
index ce78586ea0..81570b37bb 100644
index ce78586ea..81570b37b 100644
--- a/src/main/java/net/minecraft/server/EntityDolphin.java
+++ b/src/main/java/net/minecraft/server/EntityDolphin.java
@@ -1,5 +1,12 @@
@@ -1241,7 +1241,7 @@ index ce78586ea0..81570b37bb 100644
this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D));
}
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
index 77885f67ff..63f5969b10 100644
index 77885f67f..63f5969b1 100644
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
@@ -19,6 +19,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
@@ -1304,7 +1304,7 @@ 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..e08b731d2c 100644
index 2887cb14e..a6a79f5e9 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -46,6 +46,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -1451,7 +1451,7 @@ index af10fc36e0..e08b731d2c 100644
if (this.bN != null) {
this.bN.b(this);
}
@@ -950,7 +1025,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -951,7 +1026,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@Override
protected boolean n(Entity entity) {
@@ -1461,7 +1461,7 @@ index af10fc36e0..e08b731d2c 100644
@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
index 212636dcb..de30ce483 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -27,9 +27,27 @@ public class EntityEnderman extends EntityMonster {
@@ -1560,7 +1560,7 @@ index 212636dcb2..de30ce483f 100644
if (iblockdata2 != null && this.a(world, blockposition, iblockdata2, iblockdata, iblockdata1, blockposition1)) {
// CraftBukkit start - Place event
diff --git a/src/main/java/net/minecraft/server/EntityEndermite.java b/src/main/java/net/minecraft/server/EntityEndermite.java
index e4bd2796a4..5eaf1920b2 100644
index e4bd2796a..5eaf1920b 100644
--- a/src/main/java/net/minecraft/server/EntityEndermite.java
+++ b/src/main/java/net/minecraft/server/EntityEndermite.java
@@ -12,13 +12,32 @@ public class EntityEndermite extends EntityMonster {
@@ -1597,7 +1597,7 @@ index e4bd2796a4..5eaf1920b2 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
}
diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java
index b030fe9577..179a261296 100644
index b030fe957..179a26129 100644
--- a/src/main/java/net/minecraft/server/EntityEvoker.java
+++ b/src/main/java/net/minecraft/server/EntityEvoker.java
@@ -12,10 +12,28 @@ public class EntityEvoker extends EntityIllagerWizard {
@@ -1662,7 +1662,7 @@ index b030fe9577..179a261296 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityFish.java b/src/main/java/net/minecraft/server/EntityFish.java
index b853fd0d9b..b8d786fad5 100644
index b853fd0d9..b8d786fad 100644
--- a/src/main/java/net/minecraft/server/EntityFish.java
+++ b/src/main/java/net/minecraft/server/EntityFish.java
@@ -72,9 +72,10 @@ public abstract class EntityFish extends EntityWaterAnimal {
@@ -1716,7 +1716,7 @@ index b853fd0d9b..b8d786fad5 100644
this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D));
}
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
index 82a32d5dbf..4f53090d3d 100644
index 82a32d5db..4f53090d3 100644
--- a/src/main/java/net/minecraft/server/EntityFox.java
+++ b/src/main/java/net/minecraft/server/EntityFox.java
@@ -55,6 +55,23 @@ public class EntityFox extends EntityAnimal {
@@ -1854,7 +1854,7 @@ index 82a32d5dbf..4f53090d3d 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityGhast.java b/src/main/java/net/minecraft/server/EntityGhast.java
index e1c2540d14..46841df718 100644
index e1c2540d1..46841df71 100644
--- a/src/main/java/net/minecraft/server/EntityGhast.java
+++ b/src/main/java/net/minecraft/server/EntityGhast.java
@@ -14,11 +14,47 @@ public class EntityGhast extends EntityFlying implements IMonster {
@@ -1937,7 +1937,7 @@ index e1c2540d14..46841df718 100644
if (this.j-- <= 0) {
this.j += this.i.getRandom().nextInt(5) + 2;
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index d9e5eaad12..ff8a41a539 100644
index d9e5eaad1..ff8a41a53 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -4,8 +4,33 @@ public class EntityGiantZombie extends EntityMonster {
@@ -1975,7 +1975,7 @@ index d9e5eaad12..ff8a41a539 100644
protected float b(EntityPose entitypose, EntitySize entitysize) {
return 10.440001F;
diff --git a/src/main/java/net/minecraft/server/EntityGuardian.java b/src/main/java/net/minecraft/server/EntityGuardian.java
index e69cb334fb..97040872bc 100644
index e69cb334f..97040872b 100644
--- a/src/main/java/net/minecraft/server/EntityGuardian.java
+++ b/src/main/java/net/minecraft/server/EntityGuardian.java
@@ -24,15 +24,39 @@ public class EntityGuardian extends EntityMonster {
@@ -2076,7 +2076,7 @@ index e69cb334fb..97040872bc 100644
Vec3D vec3d = new Vec3D(this.b - this.i.locX(), this.c - this.i.locY(), this.d - this.i.locZ());
double d0 = vec3d.f();
diff --git a/src/main/java/net/minecraft/server/EntityGuardianElder.java b/src/main/java/net/minecraft/server/EntityGuardianElder.java
index 7484bfeea0..f231340d90 100644
index 7484bfeea..f231340d9 100644
--- a/src/main/java/net/minecraft/server/EntityGuardianElder.java
+++ b/src/main/java/net/minecraft/server/EntityGuardianElder.java
@@ -16,6 +16,23 @@ public class EntityGuardianElder extends EntityGuardian {
@@ -2104,7 +2104,7 @@ index 7484bfeea0..f231340d90 100644
public void initAttributes() {
super.initAttributes();
diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java
index a6fb4ba5b9..98b1e93759 100644
index a6fb4ba5b..98b1e9375 100644
--- a/src/main/java/net/minecraft/server/EntityHorse.java
+++ b/src/main/java/net/minecraft/server/EntityHorse.java
@@ -19,6 +19,13 @@ public class EntityHorse extends EntityHorseAbstract {
@@ -2122,7 +2122,7 @@ index a6fb4ba5b9..98b1e93759 100644
protected void initDatawatcher() {
super.initDatawatcher();
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index c56efe035a..e7ba83f32a 100644
index c56efe035..e7ba83f32 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -38,12 +38,39 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -2175,7 +2175,7 @@ index c56efe035a..e7ba83f32a 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java
index 9a52decdca..64d80081f7 100644
index 9a52decdc..64d80081f 100644
--- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java
+++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java
@@ -6,6 +6,13 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract {
@@ -2193,7 +2193,7 @@ index 9a52decdca..64d80081f7 100644
protected SoundEffect getSoundAmbient() {
super.getSoundAmbient();
diff --git a/src/main/java/net/minecraft/server/EntityHorseMule.java b/src/main/java/net/minecraft/server/EntityHorseMule.java
index 4dd4d91eba..a9f26efe66 100644
index 4dd4d91eb..a9f26efe6 100644
--- a/src/main/java/net/minecraft/server/EntityHorseMule.java
+++ b/src/main/java/net/minecraft/server/EntityHorseMule.java
@@ -6,6 +6,13 @@ public class EntityHorseMule extends EntityHorseChestedAbstract {
@@ -2211,7 +2211,7 @@ index 4dd4d91eba..a9f26efe66 100644
protected SoundEffect getSoundAmbient() {
super.getSoundAmbient();
diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
index 290cb9337c..7bf76e5a0b 100644
index 290cb9337..7bf76e5a0 100644
--- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
+++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
@@ -12,6 +12,18 @@ public class EntityHorseSkeleton extends EntityHorseAbstract {
@@ -2252,7 +2252,7 @@ index 290cb9337c..7bf76e5a0b 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java
index 5782a25ecd..c87fc523f1 100644
index 5782a25ec..c87fc523f 100644
--- a/src/main/java/net/minecraft/server/EntityHorseZombie.java
+++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java
@@ -8,6 +8,18 @@ public class EntityHorseZombie extends EntityHorseAbstract {
@@ -2282,7 +2282,7 @@ index 5782a25ecd..c87fc523f1 100644
+ protected void ez() { if (world.purpurConfig.zombieHorseCanSwim) goalSelector.a(0, new PathfinderGoalFloat(this)); } // Purpur
}
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 7afcde608e..f372c13d8b 100644
index 7afcde608..f372c13d8 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -374,9 +374,21 @@ public abstract class EntityHuman extends EntityLiving {
@@ -2309,7 +2309,7 @@ index 7afcde608e..f372c13d8b 100644
this.setSneaking(false);
} else {
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
index 81b7cd06f2..3e6722cfce 100644
index 81b7cd06f..3e6722cfc 100644
--- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
+++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
@@ -19,10 +19,28 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
@@ -2350,7 +2350,7 @@ index 81b7cd06f2..3e6722cfce 100644
this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300));
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300));
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 1991cee43d..d0a5687f03 100644
index 1991cee43..d0a5687f0 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -28,7 +28,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -2442,7 +2442,7 @@ index 1991cee43d..d0a5687f03 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java
index 7f6a567760..288a043fbd 100644
index 7f6a56776..288a043fb 100644
--- a/src/main/java/net/minecraft/server/EntityIronGolem.java
+++ b/src/main/java/net/minecraft/server/EntityIronGolem.java
@@ -17,8 +17,26 @@ public class EntityIronGolem extends EntityGolem {
@@ -2497,7 +2497,7 @@ index 7f6a567760..288a043fbd 100644
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index ad474500e2..4049ab0273 100644
index dfb9421a1..53925d526 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -75,7 +75,7 @@ public abstract class EntityLiving extends Entity {
@@ -2570,7 +2570,7 @@ index ad474500e2..4049ab0273 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index 193dbfc5f6..7a4e64a3d0 100644
index 193dbfc5f..7a4e64a3d 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -16,8 +16,47 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
@@ -2675,7 +2675,7 @@ index 193dbfc5f6..7a4e64a3d0 100644
return i == -1 ? null : EnumColor.fromColorIndex(i);
diff --git a/src/main/java/net/minecraft/server/EntityLlamaTrader.java b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
index 4cebd67e85..08c4ca3f36 100644
index 4cebd67e8..08c4ca3f3 100644
--- a/src/main/java/net/minecraft/server/EntityLlamaTrader.java
+++ b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
@@ -11,6 +11,23 @@ public class EntityLlamaTrader extends EntityLlama {
@@ -2716,7 +2716,7 @@ index 4cebd67e85..08c4ca3f36 100644
@Override
public GroupDataEntity prepare(GeneratorAccess generatoraccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) {
diff --git a/src/main/java/net/minecraft/server/EntityMagmaCube.java b/src/main/java/net/minecraft/server/EntityMagmaCube.java
index 1fdc248ba8..a5a36af217 100644
index 1fdc248ba..a5a36af21 100644
--- a/src/main/java/net/minecraft/server/EntityMagmaCube.java
+++ b/src/main/java/net/minecraft/server/EntityMagmaCube.java
@@ -8,6 +8,23 @@ public class EntityMagmaCube extends EntitySlime {
@@ -2744,7 +2744,7 @@ index 1fdc248ba8..a5a36af217 100644
protected void initAttributes() {
super.initAttributes();
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index 3706c31aad..b20f4afd3f 100644
index 3706c31aa..b20f4afd3 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -20,6 +20,23 @@ public class EntityMushroomCow extends EntityCow {
@@ -2772,7 +2772,7 @@ index 3706c31aad..b20f4afd3f 100644
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
return iworldreader.getType(blockposition.down()).getBlock() == Blocks.MYCELIUM ? 10.0F : iworldreader.w(blockposition) - 0.5F;
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
index d9a7b8ac1e..8fdf348573 100644
index d9a7b8ac1..8fdf34857 100644
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
@@ -16,6 +16,23 @@ public class EntityOcelot extends EntityAnimal {
@@ -2815,7 +2815,7 @@ index d9a7b8ac1e..8fdf348573 100644
this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, false, false, EntityTurtle.bw));
}
diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java
index f50ed19080..87ed9a8ca0 100644
index f50ed1908..87ed9a8ca 100644
--- a/src/main/java/net/minecraft/server/EntityPanda.java
+++ b/src/main/java/net/minecraft/server/EntityPanda.java
@@ -46,6 +46,23 @@ public class EntityPanda extends EntityAnimal {
@@ -2961,7 +2961,7 @@ index f50ed19080..87ed9a8ca0 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
index 94e57a2d85..7ba2f3a351 100644
index 94e57a2d8..7ba2f3a35 100644
--- a/src/main/java/net/minecraft/server/EntityParrot.java
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
@@ -62,12 +62,83 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
@@ -3062,7 +3062,7 @@ index 94e57a2d85..7ba2f3a351 100644
this.goalSelector.a(2, this.goalSit);
this.goalSelector.a(2, new PathfinderGoalFollowOwner(this, 1.0D, 5.0F, 1.0F, true));
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index 90eeddb1af..c392085d0b 100644
index 90eeddb1a..c392085d0 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -22,6 +22,40 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -3249,7 +3249,7 @@ index 90eeddb1af..c392085d0b 100644
EntityPhantom.this.yaw += 180.0F;
this.j = 0.1F;
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
index 8d277566e9..e6a7f8ef37 100644
index 8d277566e..e6a7f8ef3 100644
--- a/src/main/java/net/minecraft/server/EntityPig.java
+++ b/src/main/java/net/minecraft/server/EntityPig.java
@@ -19,9 +19,27 @@ public class EntityPig extends EntityAnimal {
@@ -3320,7 +3320,7 @@ index 8d277566e9..e6a7f8ef37 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index 9dd028b558..fb9ef88ea3 100644
index 9dd028b55..fb9ef88ea 100644
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
@@ -17,6 +17,23 @@ public class EntityPigZombie extends EntityZombie {
@@ -3348,7 +3348,7 @@ index 9dd028b558..fb9ef88ea3 100644
public void setLastDamager(@Nullable EntityLiving entityliving) {
super.setLastDamager(entityliving);
diff --git a/src/main/java/net/minecraft/server/EntityPillager.java b/src/main/java/net/minecraft/server/EntityPillager.java
index 0357c9da93..98a657cece 100644
index 0357c9da9..98a657cec 100644
--- a/src/main/java/net/minecraft/server/EntityPillager.java
+++ b/src/main/java/net/minecraft/server/EntityPillager.java
@@ -13,15 +13,34 @@ public class EntityPillager extends EntityIllagerAbstract implements ICrossbow,
@@ -3387,7 +3387,7 @@ index 0357c9da93..98a657cece 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false));
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index fb38975830..b99ae9a7b8 100644
index edccd632b..3edba1e5a 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1292,6 +1292,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -3407,7 +3407,7 @@ index fb38975830..b99ae9a7b8 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
index f8e29a02d3..0a3906bde0 100644
index f8e29a02d..0a3906bde 100644
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
@@ -17,6 +17,23 @@ public class EntityPolarBear extends EntityAnimal {
@@ -3499,7 +3499,7 @@ index f8e29a02d3..0a3906bde0 100644
public d() {
diff --git a/src/main/java/net/minecraft/server/EntityPufferFish.java b/src/main/java/net/minecraft/server/EntityPufferFish.java
index 98af9a2235..d0e3e251e1 100644
index 98af9a223..d0e3e251e 100644
--- a/src/main/java/net/minecraft/server/EntityPufferFish.java
+++ b/src/main/java/net/minecraft/server/EntityPufferFish.java
@@ -17,6 +17,23 @@ public class EntityPufferFish extends EntityFish {
@@ -3536,7 +3536,7 @@ index 98af9a2235..d0e3e251e1 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
index 2ed2d0b6bb..9040ab1c54 100644
index 2ed2d0b6b..9040ab1c5 100644
--- a/src/main/java/net/minecraft/server/EntityRabbit.java
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java
@@ -26,9 +26,27 @@ public class EntityRabbit extends EntityAnimal {
@@ -3691,7 +3691,7 @@ index 2ed2d0b6bb..9040ab1c54 100644
this.d = flag;
}
diff --git a/src/main/java/net/minecraft/server/EntityRavager.java b/src/main/java/net/minecraft/server/EntityRavager.java
index fd25ce1026..98d182a4ce 100644
index fd25ce102..98d182a4c 100644
--- a/src/main/java/net/minecraft/server/EntityRavager.java
+++ b/src/main/java/net/minecraft/server/EntityRavager.java
@@ -20,14 +20,33 @@ public class EntityRavager extends EntityRaider {
@@ -3729,7 +3729,7 @@ index fd25ce1026..98d182a4ce 100644
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(4, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true));
diff --git a/src/main/java/net/minecraft/server/EntitySalmon.java b/src/main/java/net/minecraft/server/EntitySalmon.java
index 6be29f3078..189515b0ff 100644
index 6be29f307..189515b0f 100644
--- a/src/main/java/net/minecraft/server/EntitySalmon.java
+++ b/src/main/java/net/minecraft/server/EntitySalmon.java
@@ -6,6 +6,23 @@ public class EntitySalmon extends EntityFishSchool {
@@ -3757,7 +3757,7 @@ index 6be29f3078..189515b0ff 100644
public int es() {
return 5;
diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java
index d5ffdc110d..d4f2642d3d 100644
index d5ffdc110..d4f2642d3 100644
--- a/src/main/java/net/minecraft/server/EntitySheep.java
+++ b/src/main/java/net/minecraft/server/EntitySheep.java
@@ -55,10 +55,28 @@ public class EntitySheep extends EntityAnimal {
@@ -3790,7 +3790,7 @@ index d5ffdc110d..d4f2642d3d 100644
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false));
diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java
index 0d2ceff6f2..46379588c1 100644
index 0d2ceff6f..46379588c 100644
--- a/src/main/java/net/minecraft/server/EntityShulker.java
+++ b/src/main/java/net/minecraft/server/EntityShulker.java
@@ -32,6 +32,23 @@ public class EntityShulker extends EntityGolem implements IMonster {
@@ -3840,7 +3840,7 @@ index 0d2ceff6f2..46379588c1 100644
@Override
public boolean a() {
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
index 08c2a22f7a..dff20567b3 100644
index 08c2a22f7..dff20567b 100644
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
@@ -11,13 +11,32 @@ public class EntitySilverfish extends EntityMonster {
@@ -3885,7 +3885,7 @@ index 08c2a22f7a..dff20567b3 100644
public void g() {
diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java
index 0e78d5c62c..8e6efeb7b7 100644
index 0e78d5c62..8e6efeb7b 100644
--- a/src/main/java/net/minecraft/server/EntitySkeleton.java
+++ b/src/main/java/net/minecraft/server/EntitySkeleton.java
@@ -6,6 +6,23 @@ public class EntitySkeleton extends EntitySkeletonAbstract {
@@ -3913,7 +3913,7 @@ index 0e78d5c62c..8e6efeb7b7 100644
protected SoundEffect getSoundAmbient() {
return SoundEffects.ENTITY_SKELETON_AMBIENT;
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
index 3c95c0428b..8bc4e85156 100644
index 3c95c0428..8bc4e8515 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
@@ -28,12 +28,14 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
@@ -3932,7 +3932,7 @@ index 3c95c0428b..8bc4e85156 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true));
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonStray.java b/src/main/java/net/minecraft/server/EntitySkeletonStray.java
index 2eb53864f2..a930fb8401 100644
index 2eb53864f..a930fb840 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonStray.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonStray.java
@@ -8,6 +8,23 @@ public class EntitySkeletonStray extends EntitySkeletonAbstract {
@@ -3960,7 +3960,7 @@ index 2eb53864f2..a930fb8401 100644
return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition));
}
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
index 98e042424c..8aa0a6699f 100644
index 98e042424..8aa0a6699 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
@@ -9,6 +9,23 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract {
@@ -3988,7 +3988,7 @@ index 98e042424c..8aa0a6699f 100644
protected SoundEffect getSoundAmbient() {
return SoundEffects.ENTITY_WITHER_SKELETON_AMBIENT;
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
index 2efc18df94..1469e3b23c 100644
index 2efc18df9..1469e3b23 100644
--- a/src/main/java/net/minecraft/server/EntitySlime.java
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
@@ -32,12 +32,31 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -4065,7 +4065,7 @@ index 2efc18df94..1469e3b23c 100644
} else {
this.h = ControllerMove.Operation.WAIT;
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 07ca1a4987..941873513f 100644
index 07ca1a498..941873513 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -14,12 +14,31 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
@@ -4127,7 +4127,7 @@ index 07ca1a4987..941873513f 100644
}
diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java
index d02db56595..d3708a7b0e 100644
index d02db5659..d3708a7b0 100644
--- a/src/main/java/net/minecraft/server/EntitySpider.java
+++ b/src/main/java/net/minecraft/server/EntitySpider.java
@@ -11,14 +11,33 @@ public class EntitySpider extends EntityMonster {
@@ -4165,7 +4165,7 @@ index d02db56595..d3708a7b0e 100644
this.targetSelector.a(2, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityHuman.class));
this.targetSelector.a(3, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityIronGolem.class));
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
index 92efe4e7f5..b967135ac3 100644
index 92efe4e7f..b967135ac 100644
--- a/src/main/java/net/minecraft/server/EntitySquid.java
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
@@ -25,10 +25,28 @@ public class EntitySquid extends EntityWaterAnimal {
@@ -4274,7 +4274,7 @@ index 92efe4e7f5..b967135ac3 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityTameableAnimal.java b/src/main/java/net/minecraft/server/EntityTameableAnimal.java
index 9b2eea71cc..d55c6cb339 100644
index 9b2eea71c..d55c6cb33 100644
--- a/src/main/java/net/minecraft/server/EntityTameableAnimal.java
+++ b/src/main/java/net/minecraft/server/EntityTameableAnimal.java
@@ -135,6 +135,7 @@ public abstract class EntityTameableAnimal extends EntityAnimal {
@@ -4286,7 +4286,7 @@ index 9b2eea71cc..d55c6cb339 100644
return entityliving == this.getOwner();
}
diff --git a/src/main/java/net/minecraft/server/EntityTropicalFish.java b/src/main/java/net/minecraft/server/EntityTropicalFish.java
index ef8f373bea..992978463d 100644
index ef8f373be..992978463 100644
--- a/src/main/java/net/minecraft/server/EntityTropicalFish.java
+++ b/src/main/java/net/minecraft/server/EntityTropicalFish.java
@@ -19,6 +19,23 @@ public class EntityTropicalFish extends EntityFishSchool {
@@ -4314,7 +4314,7 @@ index ef8f373bea..992978463d 100644
protected void initDatawatcher() {
super.initDatawatcher();
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
index b24a5100b4..4695492068 100644
index b24a5100b..469549206 100644
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
@@ -27,6 +27,23 @@ public class EntityTurtle extends EntityAnimal {
@@ -4462,7 +4462,7 @@ index b24a5100b4..4695492068 100644
if (this.h == ControllerMove.Operation.MOVE_TO && !this.i.getNavigation().m()) {
double d0 = this.b - this.i.locX();
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index 0f04bcc8b7..5a7494947c 100644
index 0f04bcc8b..5a7494947 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -259,6 +259,12 @@ public class EntityTypes<T extends Entity> {
@@ -4479,7 +4479,7 @@ index 0f04bcc8b7..5a7494947c 100644
if (this.bg == null) {
this.bg = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java
index cf274666c7..d919f44ab8 100644
index cf274666c..d919f44ab 100644
--- a/src/main/java/net/minecraft/server/EntityVex.java
+++ b/src/main/java/net/minecraft/server/EntityVex.java
@@ -19,6 +19,50 @@ public class EntityVex extends EntityMonster {
@@ -4593,7 +4593,7 @@ index cf274666c7..d919f44ab8 100644
Vec3D vec3d = new Vec3D(this.b - EntityVex.this.locX(), this.c - EntityVex.this.locY(), this.d - EntityVex.this.locZ());
double d0 = vec3d.f();
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 6e0020ae0b..3eaac031fb 100644
index 6e0020ae0..3eaac031f 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -68,6 +68,28 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -4626,7 +4626,7 @@ index 6e0020ae0b..3eaac031fb 100644
public BehaviorController<EntityVillager> getBehaviorController() {
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
index 2ad8dba5c0..4e9c5e84a9 100644
index 2ad8dba5c..4e9c5e84a 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -20,6 +20,23 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -4662,7 +4662,7 @@ index 2ad8dba5c0..4e9c5e84a9 100644
this.goalSelector.a(1, new PathfinderGoalAvoidTarget<>(this, EntityZombie.class, 8.0F, 0.5D, 0.5D));
this.goalSelector.a(1, new PathfinderGoalAvoidTarget<>(this, EntityEvoker.class, 12.0F, 0.5D, 0.5D));
diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
index c974c02e92..6ba920134a 100644
index c974c02e9..6ba920134 100644
--- a/src/main/java/net/minecraft/server/EntityVindicator.java
+++ b/src/main/java/net/minecraft/server/EntityVindicator.java
@@ -17,14 +17,33 @@ public class EntityVindicator extends EntityIllagerAbstract {
@@ -4700,7 +4700,7 @@ index c974c02e92..6ba920134a 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true));
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
index 1432d3f6bf..447387bd78 100644
index 1432d3f6b..447387bd7 100644
--- a/src/main/java/net/minecraft/server/EntityWitch.java
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
@@ -24,6 +24,23 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
@@ -4743,7 +4743,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..ad97fe7eaa 100644
index 8977c3516..ad97fe7ea 100644
--- a/src/main/java/net/minecraft/server/EntityWither.java
+++ b/src/main/java/net/minecraft/server/EntityWither.java
@@ -18,7 +18,7 @@ public class EntityWither extends EntityMonster implements IRangedEntity {
@@ -4876,7 +4876,7 @@ index 8977c3516b..ad97fe7eaa 100644
@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
index eec1e26b6..47f0b2df6 100644
--- a/src/main/java/net/minecraft/server/EntityWolf.java
+++ b/src/main/java/net/minecraft/server/EntityWolf.java
@@ -30,10 +30,28 @@ public class EntityWolf extends EntityTameableAnimal {
@@ -5050,7 +5050,7 @@ index eec1e26b6e..47f0b2df6c 100644
private final EntityWolf j;
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 07ebc1d816..8d1f04415e 100644
index 07ebc1d81..8d1f04415 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -44,11 +44,30 @@ public class EntityZombie extends EntityMonster {
@@ -5085,7 +5085,7 @@ index 07ebc1d816..8d1f04415e 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java
index da8446d05d..db252ba4e0 100644
index da8446d05..db252ba4e 100644
--- a/src/main/java/net/minecraft/server/EntityZombieHusk.java
+++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java
@@ -8,6 +8,23 @@ public class EntityZombieHusk extends EntityZombie {
@@ -5113,7 +5113,7 @@ index da8446d05d..db252ba4e0 100644
return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition));
}
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
index 8082fa617a..ebbfcb75a4 100644
index 8082fa617..ebbfcb75a 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
@@ -25,6 +25,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
@@ -5141,7 +5141,7 @@ index 8082fa617a..ebbfcb75a4 100644
protected void initDatawatcher() {
super.initDatawatcher();
diff --git a/src/main/java/net/minecraft/server/FoodInfo.java b/src/main/java/net/minecraft/server/FoodInfo.java
index b35fe21a6d..5b0f35c730 100644
index b35fe21a6..5b0f35c73 100644
--- a/src/main/java/net/minecraft/server/FoodInfo.java
+++ b/src/main/java/net/minecraft/server/FoodInfo.java
@@ -30,6 +30,7 @@ public class FoodInfo {
@@ -5153,7 +5153,7 @@ index b35fe21a6d..5b0f35c730 100644
return this.c;
}
diff --git a/src/main/java/net/minecraft/server/ItemDye.java b/src/main/java/net/minecraft/server/ItemDye.java
index da49f6e5ae..7b5d602649 100644
index da49f6e5a..7b5d60264 100644
--- a/src/main/java/net/minecraft/server/ItemDye.java
+++ b/src/main/java/net/minecraft/server/ItemDye.java
@@ -42,6 +42,7 @@ public class ItemDye extends Item {
@@ -5165,7 +5165,7 @@ index da49f6e5ae..7b5d602649 100644
return this.b;
}
diff --git a/src/main/java/net/minecraft/server/MathHelper.java b/src/main/java/net/minecraft/server/MathHelper.java
index c4aa38ddf1..3d52a396e6 100644
index c4aa38ddf..3d52a396e 100644
--- a/src/main/java/net/minecraft/server/MathHelper.java
+++ b/src/main/java/net/minecraft/server/MathHelper.java
@@ -263,6 +263,7 @@ public class MathHelper {
@@ -5185,7 +5185,7 @@ index c4aa38ddf1..3d52a396e6 100644
return f1 + f * (f2 - f1);
}
diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java
index 134f7d0013..d659796737 100644
index 134f7d001..d65979673 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoal.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoal.java
@@ -28,6 +28,7 @@ public abstract class PathfinderGoal {
@@ -5197,7 +5197,7 @@ index 134f7d0013..d659796737 100644
// Paper start - remove streams from pathfindergoalselector
this.goalTypes.clear();
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
index e07c7674a5..3c077b6870 100644
index e07c7674a..3c077b687 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
@@ -4,8 +4,8 @@ import java.util.EnumSet;
@@ -5220,7 +5220,7 @@ index e07c7674a5..3c077b6870 100644
this.a.a(-1);
} else if (this.a.h((Entity) this.b) > 49.0D) {
diff --git a/src/main/java/net/minecraft/server/ProjectileHelper.java b/src/main/java/net/minecraft/server/ProjectileHelper.java
index 1b796ba5b3..7dbe3500e9 100644
index 1b796ba5b..7dbe3500e 100644
--- a/src/main/java/net/minecraft/server/ProjectileHelper.java
+++ b/src/main/java/net/minecraft/server/ProjectileHelper.java
@@ -15,6 +15,7 @@ public final class ProjectileHelper {
@@ -5232,7 +5232,7 @@ index 1b796ba5b3..7dbe3500e9 100644
return a(entity, flag, false, (Entity) null, raytrace_blockcollisionoption, false, predicate, axisalignedbb);
}
diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java
index 0c7f094e54..62a0810062 100644
index 0c7f094e5..62a081006 100644
--- a/src/main/java/net/minecraft/server/Vec3D.java
+++ b/src/main/java/net/minecraft/server/Vec3D.java
@@ -27,6 +27,7 @@ public class Vec3D implements IPosition {
@@ -5260,7 +5260,7 @@ index 0c7f094e54..62a0810062 100644
return new Vec3D(this.x * d0, this.y * d1, this.z * d2);
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 618f115ca9..ae36518374 100644
index 67e46376a..d1e316cc4 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -975,6 +975,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -5271,7 +5271,7 @@ index 618f115ca9..ae36518374 100644
public boolean a(AxisAlignedBB axisalignedbb, Material material) {
int i = MathHelper.floor(axisalignedbb.minX);
int j = MathHelper.f(axisalignedbb.maxX);
@@ -1584,4 +1585,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1610,4 +1611,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@Override public BiomeManager d() {
return this.biomeManager;
}
@@ -5283,7 +5283,7 @@ index 618f115ca9..ae36518374 100644
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index eda37fa43f..69f99a993d 100644
index eda37fa43..69f99a993 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -64,4 +64,603 @@ public class PurpurWorldConfig {
@@ -5892,7 +5892,7 @@ index eda37fa43f..69f99a993d 100644
}
diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java
new file mode 100644
index 0000000000..828e1b8730
index 000000000..828e1b873
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java
@@ -0,0 +1,75 @@
@@ -5973,7 +5973,7 @@ index 0000000000..828e1b8730
+}
diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java
new file mode 100644
index 0000000000..0a5d6d46c2
index 000000000..0a5d6d46c
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java
@@ -0,0 +1,86 @@
@@ -6065,7 +6065,7 @@ index 0000000000..0a5d6d46c2
+}
diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java
new file mode 100644
index 0000000000..3491250704
index 000000000..349125070
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java
@@ -0,0 +1,53 @@
@@ -6124,7 +6124,7 @@ index 0000000000..3491250704
+}
diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java
new file mode 100644
index 0000000000..f753759361
index 000000000..f75375936
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java
@@ -0,0 +1,61 @@
@@ -6191,7 +6191,7 @@ index 0000000000..f753759361
+}
diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java
new file mode 100644
index 0000000000..e75e580670
index 000000000..e75e58067
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java
@@ -0,0 +1,43 @@
@@ -6240,7 +6240,7 @@ index 0000000000..e75e580670
+}
diff --git a/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java b/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java
new file mode 100644
index 0000000000..7189cc569f
index 000000000..7189cc569
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java
@@ -0,0 +1,119 @@
@@ -6365,7 +6365,7 @@ index 0000000000..7189cc569f
+}
diff --git a/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java b/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java
new file mode 100644
index 0000000000..f9e680efd2
index 000000000..f9e680efd
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java
@@ -0,0 +1,126 @@
@@ -6497,7 +6497,7 @@ index 0000000000..f9e680efd2
+}
diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java
new file mode 100644
index 0000000000..6e50344c07
index 000000000..6e50344c0
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java
@@ -0,0 +1,21 @@
@@ -6523,7 +6523,7 @@ index 0000000000..6e50344c07
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index dfa15372b8..350aa67549 100644
index dfa15372b..350aa6754 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1057,4 +1057,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -6559,7 +6559,7 @@ index dfa15372b8..350aa67549 100644
+ // Purpur end
}
diff --git a/src/main/resources/purpur.lang b/src/main/resources/purpur.lang
index 0967ef424b..7125c0477e 100644
index 0967ef424..7125c0477 100644
--- a/src/main/resources/purpur.lang
+++ b/src/main/resources/purpur.lang
@@ -1 +1,3 @@
@@ -6568,5 +6568,5 @@ index 0967ef424b..7125c0477e 100644
+ "cannot.ride.mob": "You cannot mount that mob"
+}
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From e7435b03177cd83fc098e5dd9f0d23dae640fb5f Mon Sep 17 00:00:00 2001
From 005f622f55341fd77c959ae0cd0286f161070ecf Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 01:10:30 -0500
Subject: [PATCH] Cows eat mushrooms
@@ -11,10 +11,10 @@ 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 48be21826c..db6766dce3 100644
index a3bee7bf2..ce9552375 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1047,6 +1047,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1081,6 +1081,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false;
}
@@ -22,7 +22,7 @@ index 48be21826c..db6766dce3 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);
@@ -2590,6 +2591,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2624,6 +2625,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.invulnerable = flag;
}
@@ -31,7 +31,7 @@ index 48be21826c..db6766dce3 100644
this.setPositionRotation(entity.locX(), entity.locY(), entity.locZ(), entity.yaw, entity.pitch);
}
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
index 723a9fa1ee..f56fd7c012 100644
index 723a9fa1e..f56fd7c01 100644
--- a/src/main/java/net/minecraft/server/EntityCow.java
+++ b/src/main/java/net/minecraft/server/EntityCow.java
@@ -34,6 +34,7 @@ public class EntityCow extends EntityAnimal {
@@ -124,10 +124,10 @@ index 723a9fa1ee..f56fd7c012 100644
public EntityCow createChild(EntityAgeable entityageable) {
return (EntityCow) EntityTypes.COW.a(this.world);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 4049ab0273..47b19b7754 100644
index 53925d526..01c0919f6 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2812,8 +2812,9 @@ public abstract class EntityLiving extends Entity {
@@ -2818,8 +2818,9 @@ public abstract class EntityLiving extends Entity {
this.aK = f;
}
@@ -140,7 +140,7 @@ index 4049ab0273..47b19b7754 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 12fbdf65c5..091f30727f 100644
index 12fbdf65c..091f30727 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 {
@@ -157,5 +157,5 @@ index 12fbdf65c5..091f30727f 100644
public boolean creeperRidable = false;
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From c6456c0ea379bec1ad012133ad7f17dc0779d90a Mon Sep 17 00:00:00 2001
From 1bc85a1770aca2643f9cf22d26f2a8ee0dc3d1c5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 9 May 2019 18:26:06 -0500
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
@@ -13,7 +13,7 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
6 files changed, 226 insertions(+), 11 deletions(-)
diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java
index f7344d3aec..f6c0165f94 100644
index f7344d3ae..f6c0165f9 100644
--- a/src/main/java/net/minecraft/server/DamageSource.java
+++ b/src/main/java/net/minecraft/server/DamageSource.java
@@ -82,6 +82,7 @@ public class DamageSource {
@@ -25,10 +25,10 @@ index f7344d3aec..f6c0165f94 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 db6766dce3..06fd474253 100644
index ce9552375..c730974ee 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1393,6 +1393,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1427,6 +1427,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return d3 * d3 + d4 * d4 + d5 * d5;
}
@@ -36,7 +36,7 @@ index db6766dce3..06fd474253 100644
public double h(Entity entity) {
return this.c(entity.getPositionVector());
}
@@ -1920,14 +1921,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1954,14 +1955,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.a(new ItemStack(imaterial), (float) i);
}
@@ -55,7 +55,7 @@ index db6766dce3..06fd474253 100644
return null;
} else if (this.world.isClientSide) {
diff --git a/src/main/java/net/minecraft/server/EntityEnderCrystal.java b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
index a57d0089d8..02952c3af8 100644
index a57d0089d..02952c3af 100644
--- a/src/main/java/net/minecraft/server/EntityEnderCrystal.java
+++ b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
@@ -13,6 +13,12 @@ public class EntityEnderCrystal extends Entity {
@@ -123,7 +123,7 @@ index a57d0089d8..02952c3af8 100644
@Override
protected void b(NBTTagCompound nbttagcompound) {
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index 9d331f9ad6..77b69cd362 100644
index 9d331f9ad..77b69cd36 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -8,9 +8,10 @@ import javax.annotation.Nullable;
@@ -350,7 +350,7 @@ index 9d331f9ad6..77b69cd362 100644
return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false;
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
index 4157e50e4d..774ec96f0a 100644
index 5135308fb..899619009 100644
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
@@ -34,6 +34,7 @@ public interface IEntityAccess {
@@ -362,7 +362,7 @@ index 4157e50e4d..774ec96f0a 100644
return this.a(oclass, axisalignedbb, IEntitySelector.f);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 12cd819635..e341c492ed 100644
index 12cd81963..e341c492e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -404,6 +404,9 @@ public class PurpurWorldConfig {
@@ -386,5 +386,5 @@ index 12cd819635..e341c492ed 100644
public boolean pigRidable = false;
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 28482d5bf765b5f76d724fc3f43d1b7bf3afe75a Mon Sep 17 00:00:00 2001
From 63787e2f49d0fa28e9c3b61034124abe70125732 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 29 Jun 2019 02:32:40 -0500
Subject: [PATCH] Controllable Minecarts
@@ -11,10 +11,10 @@ Subject: [PATCH] Controllable Minecarts
4 files changed, 76 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 06fd474253..4a24f38885 100644
index c730974ee..3bc4327a1 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1294,6 +1294,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1328,6 +1328,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.inLava = true;
}
@@ -23,7 +23,7 @@ index 06fd474253..4a24f38885 100644
return this.inLava;
}
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index 665bbe07fa..1f3e5bd288 100644
index 665bbe07f..1f3e5bd28 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -357,12 +357,50 @@ public abstract class EntityMinecartAbstract extends Entity {
@@ -78,7 +78,7 @@ index 665bbe07fa..1f3e5bd288 100644
this.setMot(new Vec3D(this.getMot().x * this.derailedX, this.getMot().y * this.derailedY, this.getMot().z * this.derailedZ));
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/ItemMinecart.java b/src/main/java/net/minecraft/server/ItemMinecart.java
index b73e317fbb..e1337a9c04 100644
index b73e317fb..e1337a9c0 100644
--- a/src/main/java/net/minecraft/server/ItemMinecart.java
+++ b/src/main/java/net/minecraft/server/ItemMinecart.java
@@ -103,8 +103,10 @@ public class ItemMinecart extends Item {
@@ -103,7 +103,7 @@ index b73e317fbb..e1337a9c04 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ecaa388a29..0894523d72 100644
index ecaa388a2..0894523d7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,10 +1,16 @@
@@ -157,5 +157,5 @@ index ecaa388a29..0894523d72 100644
public boolean batRidableInWater = false;
public boolean batRequireShiftToMount = true;
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From af5c19a1d071f70a805d733799353485d3a679ef Mon Sep 17 00:00:00 2001
From a8a28fa403a52296f962ecd52aed54289ec3c6a9 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 19 May 2019 18:11:53 -0500
Subject: [PATCH] Campfires have regen effect
@@ -12,7 +12,7 @@ Subject: [PATCH] Campfires have regen effect
5 files changed, 92 insertions(+), 4 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BlockCampfire.java b/src/main/java/net/minecraft/server/BlockCampfire.java
index 6303be944c..65f8d803b8 100644
index 6303be944..65f8d803b 100644
--- a/src/main/java/net/minecraft/server/BlockCampfire.java
+++ b/src/main/java/net/minecraft/server/BlockCampfire.java
@@ -8,7 +8,7 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
@@ -25,10 +25,10 @@ index 6303be944c..65f8d803b8 100644
public static final BlockStateDirection e = BlockProperties.N;
private static final VoxelShape f = Block.a(6.0D, 0.0D, 6.0D, 10.0D, 16.0D, 10.0D);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 47b19b7754..106fb5c027 100644
index 01c0919f6..fdc32d986 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2772,10 +2772,19 @@ public abstract class EntityLiving extends Entity {
@@ -2778,10 +2778,19 @@ public abstract class EntityLiving extends Entity {
}
public boolean hasLineOfSight(Entity entity) {
@@ -52,7 +52,7 @@ index 47b19b7754..106fb5c027 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPotion.java b/src/main/java/net/minecraft/server/EntityPotion.java
index 2f9a73ea33..2398499bcb 100644
index 2f9a73ea3..2398499bc 100644
--- a/src/main/java/net/minecraft/server/EntityPotion.java
+++ b/src/main/java/net/minecraft/server/EntityPotion.java
@@ -91,6 +91,7 @@ public class EntityPotion extends EntityProjectile {
@@ -96,7 +96,7 @@ index 2f9a73ea33..2398499bcb 100644
AxisAlignedBB axisalignedbb = this.getBoundingBox().grow(4.0D, 2.0D, 4.0D);
List<EntityLiving> list = this.world.a(EntityLiving.class, axisalignedbb, EntityPotion.e);
diff --git a/src/main/java/net/minecraft/server/TileEntityCampfire.java b/src/main/java/net/minecraft/server/TileEntityCampfire.java
index a1580b8c6d..618ca2d763 100644
index a1580b8c6..618ca2d76 100644
--- a/src/main/java/net/minecraft/server/TileEntityCampfire.java
+++ b/src/main/java/net/minecraft/server/TileEntityCampfire.java
@@ -14,6 +14,7 @@ public class TileEntityCampfire extends TileEntity implements Clearable, ITickab
@@ -165,7 +165,7 @@ index a1580b8c6d..618ca2d763 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3c7f545e2e..3aa2da98b8 100644
index 3c7f545e2..3aa2da98b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -71,6 +71,29 @@ public class PurpurWorldConfig {
@@ -199,5 +199,5 @@ index 3c7f545e2e..3aa2da98b8 100644
private void farmlandSettings() {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 7398c439e6806f120c852ef757f91ca13849fe68 Mon Sep 17 00:00:00 2001
From 7e6b7af3b6081ab19c08cb19001e14be79870ae6 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 8 Aug 2019 15:29:15 -0500
Subject: [PATCH] Implement AFK API
@@ -18,10 +18,10 @@ Subject: [PATCH] Implement AFK API
11 files changed, 111 insertions(+), 25 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 4a24f38885..1454c2fa4d 100644
index 3bc4327a1..8a2fcb37f 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1386,6 +1386,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1420,6 +1420,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return MathHelper.c(f * f + f1 * f1 + f2 * f2);
}
@@ -30,7 +30,7 @@ index 4a24f38885..1454c2fa4d 100644
double d3 = this.locX() - d0;
double d4 = this.locY() - d1;
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index f372c13d8b..d69854b5c1 100644
index f372c13d8..d69854b5c 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -86,6 +86,15 @@ public abstract class EntityHuman extends EntityLiving {
@@ -50,7 +50,7 @@ index f372c13d8b..d69854b5c1 100644
super(EntityTypes.PLAYER, world);
this.bV = ItemStack.a;
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index ff92843a14..4b38c89419 100644
index b2bf1be75..f98780d0e 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1624,8 +1624,51 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -106,10 +106,10 @@ index ff92843a14..4b38c89419 100644
return this.serverStatisticManager;
}
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
index 774ec96f0a..e474ae08a1 100644
index 899619009..d9f246b87 100644
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
@@ -116,28 +116,18 @@ public interface IEntityAccess {
@@ -125,28 +125,18 @@ public interface IEntityAccess {
return entityhuman;
}
@@ -151,7 +151,7 @@ index 774ec96f0a..e474ae08a1 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index e1fdee2794..4665671ef6 100644
index e1fdee279..4665671ef 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -7,6 +7,7 @@ import javax.annotation.Nullable;
@@ -171,7 +171,7 @@ index e1fdee2794..4665671ef6 100644
public static Predicate<Entity> a(double d0, double d1, double d2, double d3) {
double d4 = d3 * d3;
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 895e34ed34..f92516069a 100644
index 895e34ed3..f92516069 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -223,6 +223,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -206,7 +206,7 @@ index 895e34ed34..f92516069a 100644
if (from.getX() != Double.MAX_VALUE) {
Location oldTo = to.clone();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 7d9e61a82d..b9309f1d2c 100644
index e98747903..0e30dcb87 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -393,7 +393,7 @@ public class WorldServer extends World {
@@ -228,7 +228,7 @@ index 7d9e61a82d..b9309f1d2c 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 c6bf9395c1..76f8c8fed1 100644
index c6bf9395c..76f8c8fed 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -138,6 +138,17 @@ public class PurpurWorldConfig {
@@ -250,7 +250,7 @@ index c6bf9395c1..76f8c8fed1 100644
public boolean batRidableInWater = false;
public boolean batRequireShiftToMount = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 33cac5fcb1..aa6f67cad3 100644
index 33cac5fcb..aa6f67cad 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2057,4 +2057,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -276,7 +276,7 @@ index 33cac5fcb1..aa6f67cad3 100644
+ // Purpur end
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 795817177a..17c4d7ec9b 100644
index 795817177..17c4d7ec9 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -146,6 +146,7 @@ public class ActivationRange
@@ -288,7 +288,7 @@ index 795817177a..17c4d7ec9b 100644
ActivationType.MISC.boundingBox = player.getBoundingBox().grow( miscActivationRange, 256, miscActivationRange );
ActivationType.RAIDER.boundingBox = player.getBoundingBox().grow( raiderActivationRange, 256, raiderActivationRange );
diff --git a/src/main/resources/purpur.lang b/src/main/resources/purpur.lang
index 7125c0477e..e925e1374d 100644
index 7125c0477..e925e1374 100644
--- a/src/main/resources/purpur.lang
+++ b/src/main/resources/purpur.lang
@@ -1,3 +1,5 @@
@@ -299,5 +299,5 @@ index 7125c0477e..e925e1374d 100644
+ "idle.timeout.broadcast.back": "§e§o%s is no longer AFK"
}
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 2e76b7ccd2948b9132693e58ef8dfde62d72f28d Mon Sep 17 00:00:00 2001
From fdc280962c3c49742d6ae7a72fb8b93f39a54ab8 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 16 Jan 2020 14:59:16 -0600
Subject: [PATCH] Make the GUI better
@@ -40,7 +40,7 @@ Subject: [PATCH] Make the GUI better
create mode 100644 src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index e614570d33..bd9c123d56 100644
index e614570d3..bd9c123d5 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -8,6 +8,8 @@ import com.mojang.authlib.GameProfileRepository;
@@ -88,10 +88,10 @@ index e614570d33..bd9c123d56 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1675ae09c7..36dbef247d 100644
index ad744ff63..87fb666a6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1318,6 +1318,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1322,6 +1322,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
return true;
}
@@ -101,7 +101,7 @@ index 1675ae09c7..36dbef247d 100644
}
diff --git a/src/main/java/net/pl3x/purpur/gui/ServerGUI.java b/src/main/java/net/pl3x/purpur/gui/ServerGUI.java
new file mode 100644
index 0000000000..973b5efef5
index 000000000..973b5efef
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/ServerGUI.java
@@ -0,0 +1,123 @@
@@ -230,7 +230,7 @@ index 0000000000..973b5efef5
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/console/JColorTextPane.java b/src/main/java/net/pl3x/purpur/gui/console/JColorTextPane.java
new file mode 100644
index 0000000000..55feec811f
index 000000000..55feec811
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/console/JColorTextPane.java
@@ -0,0 +1,81 @@
@@ -317,7 +317,7 @@ index 0000000000..55feec811f
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/console/JConsolePanel.java b/src/main/java/net/pl3x/purpur/gui/console/JConsolePanel.java
new file mode 100644
index 0000000000..fb017a0708
index 000000000..fb017a070
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/console/JConsolePanel.java
@@ -0,0 +1,128 @@
@@ -451,7 +451,7 @@ index 0000000000..fb017a0708
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/info/DetailsListSelectionModel.java b/src/main/java/net/pl3x/purpur/gui/info/DetailsListSelectionModel.java
new file mode 100644
index 0000000000..4e0b80fddb
index 000000000..4e0b80fdd
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/info/DetailsListSelectionModel.java
@@ -0,0 +1,21 @@
@@ -478,7 +478,7 @@ index 0000000000..4e0b80fddb
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/info/JInfoPanel.java b/src/main/java/net/pl3x/purpur/gui/info/JInfoPanel.java
new file mode 100644
index 0000000000..c4903c7db6
index 000000000..c4903c7db
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/info/JInfoPanel.java
@@ -0,0 +1,42 @@
@@ -526,7 +526,7 @@ index 0000000000..c4903c7db6
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/info/RAMDetails.java b/src/main/java/net/pl3x/purpur/gui/info/RAMDetails.java
new file mode 100644
index 0000000000..1e049d575b
index 000000000..1e049d575
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/info/RAMDetails.java
@@ -0,0 +1,59 @@
@@ -591,7 +591,7 @@ index 0000000000..1e049d575b
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/info/graph/GraphColor.java b/src/main/java/net/pl3x/purpur/gui/info/graph/GraphColor.java
new file mode 100644
index 0000000000..2fdb9bdd0d
index 000000000..2fdb9bdd0
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/info/graph/GraphColor.java
@@ -0,0 +1,44 @@
@@ -641,7 +641,7 @@ index 0000000000..2fdb9bdd0d
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/info/graph/GraphData.java b/src/main/java/net/pl3x/purpur/gui/info/graph/GraphData.java
new file mode 100644
index 0000000000..85babad9cd
index 000000000..85babad9c
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/info/graph/GraphData.java
@@ -0,0 +1,47 @@
@@ -694,7 +694,7 @@ index 0000000000..85babad9cd
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/info/graph/RAMGraph.java b/src/main/java/net/pl3x/purpur/gui/info/graph/RAMGraph.java
new file mode 100644
index 0000000000..0c0c73beeb
index 000000000..0c0c73bee
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/info/graph/RAMGraph.java
@@ -0,0 +1,144 @@
@@ -844,7 +844,7 @@ index 0000000000..0c0c73beeb
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/playerlist/JPlayerList.java b/src/main/java/net/pl3x/purpur/gui/playerlist/JPlayerList.java
new file mode 100644
index 0000000000..17e75a2070
index 000000000..17e75a207
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/playerlist/JPlayerList.java
@@ -0,0 +1,57 @@
@@ -907,7 +907,7 @@ index 0000000000..17e75a2070
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListCellRenderer.java b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListCellRenderer.java
new file mode 100644
index 0000000000..2f02e9adc7
index 000000000..2f02e9adc
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListCellRenderer.java
@@ -0,0 +1,22 @@
@@ -935,7 +935,7 @@ index 0000000000..2f02e9adc7
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListModel.java b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListModel.java
new file mode 100644
index 0000000000..edbf454163
index 000000000..edbf45416
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListModel.java
@@ -0,0 +1,47 @@
@@ -988,7 +988,7 @@ index 0000000000..edbf454163
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListMouseAdapter.java b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListMouseAdapter.java
new file mode 100644
index 0000000000..13a5eb3ad3
index 000000000..13a5eb3ad
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListMouseAdapter.java
@@ -0,0 +1,32 @@
@@ -1026,7 +1026,7 @@ index 0000000000..13a5eb3ad3
+}
diff --git a/src/main/java/net/pl3x/purpur/gui/util/GUIColor.java b/src/main/java/net/pl3x/purpur/gui/util/GUIColor.java
new file mode 100644
index 0000000000..973c8ddf93
index 000000000..973c8ddf9
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/gui/util/GUIColor.java
@@ -0,0 +1,54 @@
@@ -1086,7 +1086,7 @@ index 0000000000..973c8ddf93
+}
diff --git a/src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java b/src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java
new file mode 100644
index 0000000000..4b340b88a2
index 000000000..4b340b88a
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java
@@ -0,0 +1,86 @@
@@ -1177,7 +1177,7 @@ index 0000000000..4b340b88a2
+
+}
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index a9bb987652..4be7613d0f 100644
index a9bb98765..4be7613d0 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -1,8 +1,17 @@
@@ -1201,5 +1201,5 @@ index a9bb987652..4be7613d0f 100644
<TerminalConsole name="TerminalConsole">
<PatternLayout>
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 866304d7e8ea0c56e8d4c59567255bbc9abd93b6 Mon Sep 17 00:00:00 2001
From 9044e19ed6ab20ef0e977469c2a997fe9c85687c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 11 Jan 2020 23:12:52 -0600
Subject: [PATCH] Add EntityPortalReadyEvent
@@ -11,7 +11,7 @@ Subject: [PATCH] Add EntityPortalReadyEvent
4 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BlockPortal.java b/src/main/java/net/minecraft/server/BlockPortal.java
index 09c7c13183..6880cdd7f9 100644
index 09c7c1318..6880cdd7f 100644
--- a/src/main/java/net/minecraft/server/BlockPortal.java
+++ b/src/main/java/net/minecraft/server/BlockPortal.java
@@ -54,6 +54,7 @@ public class BlockPortal extends Block {
@@ -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 1454c2fa4d..41f4d086e2 100644
index 8a2fcb37f..1aadd8802 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -169,9 +169,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -102,7 +102,7 @@ index 1454c2fa4d..41f4d086e2 100644
private boolean invulnerable;
protected UUID uniqueID;
protected String am;
@@ -2231,6 +2231,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2265,6 +2265,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.world.getMethodProfiler().enter("portal");
this.ag = i;
this.portalCooldown = this.ba();
@@ -111,7 +111,7 @@ index 1454c2fa4d..41f4d086e2 100644
if (this instanceof EntityPlayer) {
((EntityPlayer) this).a(this.world.worldProvider.getDimensionManager().getType() == DimensionManager.NETHER ? DimensionManager.OVERWORLD : DimensionManager.NETHER, PlayerTeleportEvent.TeleportCause.NETHER_PORTAL);
diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java
index f84dd6d9be..f50e9670bc 100644
index f84dd6d9b..f50e9670b 100644
--- a/src/main/java/net/minecraft/server/PortalTravelAgent.java
+++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java
@@ -11,6 +11,7 @@ public class PortalTravelAgent {
@@ -141,7 +141,7 @@ index f84dd6d9be..f50e9670bc 100644
}
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index b9309f1d2c..d0d3d6c29c 100644
index 0e30dcb87..d8fad3a06 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -75,7 +75,7 @@ public class WorldServer extends World {
@@ -154,5 +154,5 @@ index b9309f1d2c..d0d3d6c29c 100644
private final TickListServer<FluidType> nextTickListFluid;
private final Set<NavigationAbstract> navigators;
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From c840da389140d49c8d6423e6ed55ca491c677046 Mon Sep 17 00:00:00 2001
From 2e3dcf0e698715fc0be5ae200482a177f8d81aac Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 21 Jul 2019 18:06:20 -0500
Subject: [PATCH] Climbing should not bypass cramming gamerule
@@ -17,10 +17,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
10 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 41f4d086e2..1ee3dafc45 100644
index 1aadd8802..aefae74ec 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1521,6 +1521,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1555,6 +1555,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
public boolean isCollidable() {
@@ -34,7 +34,7 @@ index 41f4d086e2..1ee3dafc45 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index 8ad131e4fc..dfe8c57cef 100644
index 8ad131e4f..dfe8c57ce 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -318,7 +318,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -47,7 +47,7 @@ index 8ad131e4fc..dfe8c57cef 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index 592408bac9..7a740f6768 100644
index 592408bac..7a740f676 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -85,7 +85,7 @@ public class EntityBat extends EntityAmbient {
@@ -60,7 +60,7 @@ index 592408bac9..7a740f6768 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
index fdf306e80a..563fc8ced0 100644
index fdf306e80..563fc8ced 100644
--- a/src/main/java/net/minecraft/server/EntityBoat.java
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
@@ -98,7 +98,7 @@ public class EntityBoat extends Entity {
@@ -73,7 +73,7 @@ index fdf306e80a..563fc8ced0 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index e7ba83f32a..55e18e4c7a 100644
index e7ba83f32..55e18e4c7 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -188,7 +188,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -86,19 +86,19 @@ index e7ba83f32a..55e18e4c7a 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index e85a7526a2..9f2b100735 100644
index 53f018232..006b498fd 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2673,7 +2673,7 @@ public abstract class EntityLiving extends Entity {
protected void doTick() {}
protected void collideNearby() {
@@ -2679,7 +2679,7 @@ public abstract class EntityLiving extends Entity {
return;
}
// Paper - end don't run getEntities if we're not going to use its result
- List<Entity> list = this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.a(this));
+ List<Entity> list = this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.pushable(this, world.purpurConfig.fixClimbingBypassingCrammingRule)); // Purpur
if (!list.isEmpty()) {
int i = this.world.getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING);
@@ -2811,8 +2811,10 @@ public abstract class EntityLiving extends Entity {
// Paper - move up
@@ -2817,8 +2817,10 @@ public abstract class EntityLiving extends Entity {
}
@Override
@@ -112,7 +112,7 @@ index e85a7526a2..9f2b100735 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index 1f3e5bd288..ae4758f251 100644
index 1f3e5bd28..ae4758f25 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -105,7 +105,7 @@ public abstract class EntityMinecartAbstract extends Entity {
@@ -125,7 +125,7 @@ index 1f3e5bd288..ae4758f251 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
index 7ba2f3a351..dd2cd7b219 100644
index 7ba2f3a35..dd2cd7b21 100644
--- a/src/main/java/net/minecraft/server/EntityParrot.java
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
@@ -392,7 +392,7 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
@@ -138,7 +138,7 @@ index 7ba2f3a351..dd2cd7b219 100644
}
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index 4665671ef6..fbf2a50f08 100644
index 4665671ef..fbf2a50f0 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -36,11 +36,17 @@ public final class IEntitySelector {
@@ -161,7 +161,7 @@ index 4665671ef6..fbf2a50f08 100644
} else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ec())) {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 829ab945fa..0d8276a69c 100644
index 829ab945f..0d8276a69 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -136,6 +136,7 @@ public class PurpurWorldConfig {
@@ -181,5 +181,5 @@ index 829ab945fa..0d8276a69c 100644
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
}
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 2f457ddb8fff476a7b0fe42d81e33c811ad3360c Mon Sep 17 00:00:00 2001
From e7dc28f5a84b152131b5ec461d00bec53d8357be Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 01:42:50 -0500
Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases
@@ -9,10 +9,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index ae36518374..b2dd0c2073 100644
index d1e316cc4..a917c8ee1 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1391,8 +1391,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1417,8 +1417,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return blockposition;
}
@@ -25,7 +25,7 @@ index ae36518374..b2dd0c2073 100644
public boolean a(EntityHuman entityhuman, BlockPosition blockposition) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 0f5bd0a17a..b9b23c9803 100644
index 0f5bd0a17..b9b23c980 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -383,12 +383,16 @@ public class CraftWorld implements World {
@@ -50,5 +50,5 @@ index 0f5bd0a17a..b9b23c9803 100644
return true;
} catch (Exception e) {
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 1e7e5241331ed8490956a00a2005baae289d08df Mon Sep 17 00:00:00 2001
From 339e67624e3d05eef905a0f2e4e7094cfe9f2fdc Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Tue, 18 Feb 2020 20:07:08 -0600
Subject: [PATCH] Add option to disable saving projectiles to disk
@@ -15,7 +15,7 @@ Subject: [PATCH] Add option to disable saving projectiles to disk
8 files changed, 58 insertions(+)
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 57a6e7c133..89fa4f0a96 100644
index 57a6e7c13..89fa4f0a9 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -437,6 +437,7 @@ public class ChunkRegionLoader {
@@ -27,10 +27,10 @@ index 57a6e7c133..89fa4f0a96 100644
// Paper start
if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 1ee3dafc45..e207a40777 100644
index aefae74ec..5b0be3878 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1538,6 +1538,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1572,6 +1572,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
@@ -44,7 +44,7 @@ index 1ee3dafc45..e207a40777 100644
String s = this.getSaveID();
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index 9c97edf9c9..48da1e662a 100644
index 9c97edf9c..48da1e662 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -68,6 +68,13 @@ public abstract class EntityArrow extends Entity implements IProjectile {
@@ -62,7 +62,7 @@ index 9c97edf9c9..48da1e662a 100644
this.av = soundeffect;
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java
index 7ebd7da1c5..74f8257ecd 100644
index 7ebd7da1c..74f8257ec 100644
--- a/src/main/java/net/minecraft/server/EntityEnderSignal.java
+++ b/src/main/java/net/minecraft/server/EntityEnderSignal.java
@@ -19,6 +19,13 @@ public class EntityEnderSignal extends Entity {
@@ -80,7 +80,7 @@ index 7ebd7da1c5..74f8257ecd 100644
if (itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) {
this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // Purpur - decompile error
diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java
index 5c3731f68a..ce3168e5de 100644
index 5c3731f68..ce3168e5d 100644
--- a/src/main/java/net/minecraft/server/EntityFireworks.java
+++ b/src/main/java/net/minecraft/server/EntityFireworks.java
@@ -21,6 +21,13 @@ public class EntityFireworks extends Entity implements IProjectile {
@@ -98,7 +98,7 @@ index 5c3731f68a..ce3168e5de 100644
@Override
public void inactiveTick() {
diff --git a/src/main/java/net/minecraft/server/EntityLlamaSpit.java b/src/main/java/net/minecraft/server/EntityLlamaSpit.java
index b7a92e1002..b95ee50a4e 100644
index b7a92e100..b95ee50a4 100644
--- a/src/main/java/net/minecraft/server/EntityLlamaSpit.java
+++ b/src/main/java/net/minecraft/server/EntityLlamaSpit.java
@@ -19,6 +19,13 @@ public class EntityLlamaSpit extends Entity implements IProjectile {
@@ -116,7 +116,7 @@ index b7a92e1002..b95ee50a4e 100644
public void tick() {
super.tick();
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
index f5c8074dcf..674f2ccc7f 100644
index f5c8074dc..674f2ccc7 100644
--- a/src/main/java/net/minecraft/server/EntityProjectile.java
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java
@@ -35,6 +35,13 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
@@ -134,7 +134,7 @@ index f5c8074dcf..674f2ccc7f 100644
float f5 = -MathHelper.sin(f1 * 0.017453292F) * MathHelper.cos(f * 0.017453292F);
float f6 = -MathHelper.sin((f + f2) * 0.017453292F);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4db025e2c7..de6246e230 100644
index 4db025e2c..de6246e23 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -164,6 +164,7 @@ public class PurpurWorldConfig {
@@ -168,5 +168,5 @@ index 4db025e2c7..de6246e230 100644
public int elytraDamagePerSecond = 1;
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 332f58b260caf189214afc480b28c85cf558c790 Mon Sep 17 00:00:00 2001
From 86a922d7c1f587da68283850f7222d735c61ffab Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 22 Feb 2020 15:54:08 -0600
Subject: [PATCH] Add item entity options
@@ -10,10 +10,10 @@ Subject: [PATCH] Add item entity options
3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index e207a40777..604c95b5ae 100644
index 5b0be3878..970eab330 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1269,6 +1269,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1303,6 +1303,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
@@ -22,7 +22,7 @@ index e207a40777..604c95b5ae 100644
return this.a(tag, false);
}
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index bbb9ca1efc..262a7935e7 100644
index bbb9ca1ef..262a7935e 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -71,7 +71,7 @@ public class EntityItem extends Entity {
@@ -56,7 +56,7 @@ index bbb9ca1efc..262a7935e7 100644
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index eaaffc2b30..9348193e58 100644
index eaaffc2b3..9348193e5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -5,6 +5,8 @@ import net.minecraft.server.Block;
@@ -100,5 +100,5 @@ index eaaffc2b30..9348193e58 100644
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From c15bcd4bf9e8bb736c8d3fd046bf4e1df8109b9d Mon Sep 17 00:00:00 2001
From 1dafc3735358bb198bc92eb97b9325a24cc10d57 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 27 Feb 2020 21:42:19 -0600
Subject: [PATCH] Configurable void damage height
@@ -9,10 +9,10 @@ Subject: [PATCH] Configurable void damage height
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 604c95b5ae..6c3d5cdab3 100644
index 970eab330..68a951002 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -453,7 +453,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -487,7 +487,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
// Paper start
protected void performVoidDamage() {
@@ -22,7 +22,7 @@ index 604c95b5ae..6c3d5cdab3 100644
&& this.locY >= world.paperConfig.netherVoidTopDamageHeight)) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9348193e58..7e920b0d04 100644
index 9348193e5..7e920b0d0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -189,6 +189,7 @@ public class PurpurWorldConfig {
@@ -42,5 +42,5 @@ index 9348193e58..7e920b0d04 100644
public int elytraDamagePerSecond = 1;
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 078dd0a43d122985c30e849bb195a1d1cf0d1054 Mon Sep 17 00:00:00 2001
From 5b6105785f4193955d46d5a7ccedd757cdb2deb8 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 6 Mar 2020 13:37:26 -0600
Subject: [PATCH] Fix the dead lagging the server
@@ -9,10 +9,10 @@ Subject: [PATCH] Fix the dead lagging the server
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 6c3d5cdab3..61b931e6bf 100644
index 68a951002..d140ffcf9 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1355,7 +1355,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1389,7 +1389,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F;
this.lastYaw = this.yaw;
this.lastPitch = this.pitch;
@@ -22,7 +22,7 @@ index 6c3d5cdab3..61b931e6bf 100644
public void setPositionRotation(BlockPosition blockposition, float f, float f1) {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 0405393f32..2769077bb4 100644
index e69b09aa1..19e281bec 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2385,7 +2385,7 @@ public abstract class EntityLiving extends Entity {
@@ -35,5 +35,5 @@ index 0405393f32..2769077bb4 100644
double d1 = this.locZ() - this.lastZ;
float f = (float) (d0 * d0 + d1 * d1);
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 9812b682d24b4bca2bc822d9fa27d6f2ca5f7a9b Mon Sep 17 00:00:00 2001
From 598668d4a40b05ccefe6cefc226caeb1e10350a4 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 21 Mar 2020 11:47:39 -0500
Subject: [PATCH] Configurable server mod name
@@ -9,10 +9,10 @@ Subject: [PATCH] Configurable server mod name
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index fab3e3d784..e3c326c340 100644
index f83e6de09..dd2620d31 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1531,7 +1531,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1535,7 +1535,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@@ -22,7 +22,7 @@ index fab3e3d784..e3c326c340 100644
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index c4ec515557..dd3afd4a57 100644
index c4ec51555..dd3afd4a5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -185,6 +185,11 @@ public class PurpurConfig {
@@ -38,5 +38,5 @@ index c4ec515557..dd3afd4a57 100644
getString("settings.timings.url", "https://timings.pl3x.net");
}
--
2.24.0
2.25.0.windows.1

View File

@@ -1,4 +1,4 @@
From 721d5c59f4af48c0d087e14ef7a282fd753886e5 Mon Sep 17 00:00:00 2001
From fcf79cdd6ddb8adcb2a81596411637ce49d2b740 Mon Sep 17 00:00:00 2001
From: Spottedleaf <spottedleaf@spottedleaf.dev>
Date: Fri, 3 Apr 2020 02:21:13 -0700
Subject: [PATCH] Tuinity - Always able to execute tasks on the main server
@@ -12,7 +12,7 @@ chunks.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cebb45ec76..157bb1f9c4 100644
index a712ae3c4..8f78fe511 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1070,7 +1070,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -25,5 +25,5 @@ index cebb45ec76..157bb1f9c4 100644
@Override
--
2.24.0
2.25.0.windows.1

View File

@@ -1,36 +0,0 @@
From 1dc8af244d0a5138e53b3a2bcd9cf901e1edfbf6 Mon Sep 17 00:00:00 2001
From: Spottedleaf <spottedleaf@spottedleaf.dev>
Date: Thu, 26 Mar 2020 18:34:18 -0700
Subject: [PATCH] Tuinity - Don't run entity collision code if not needed
Will not run if max entity craming is disabled and
the max collisions per entity is less than or equal to 0
---
src/main/java/net/minecraft/server/EntityLiving.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index fdb8a0f8c7..44889e86e1 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2701,10 +2701,16 @@ public abstract class EntityLiving extends Entity {
protected void doTick() {}
protected void collideNearby() {
+ // Purpur start
+ int i = this.world.getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING);
+ if (i <= 0 && world.paperConfig.maxCollisionsPerEntity <= 0) {
+ return;
+ }
+ // Purpur end
List<Entity> list = this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.pushable(this, world.purpurConfig.fixClimbingBypassingCrammingRule)); // Purpur
if (!list.isEmpty()) {
- int i = this.world.getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING);
+ // int i = this.world.getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING); // Purpur - move up
int j;
if (i > 0 && list.size() > i - 1 && this.random.nextInt(4) == 0) {
--
2.24.0

View File

@@ -1,4 +1,4 @@
From 9de07f09d0b0d02442fc5708bfc7ad0764058aac Mon Sep 17 00:00:00 2001
From 15a893d30f6b9ee1ed7327b3b51c1499b67225e3 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
Date: Thu, 5 Mar 2020 23:08:01 +0100
Subject: [PATCH] YAPFA - Disable mojang profiler
@@ -13,7 +13,7 @@ Subject: [PATCH] YAPFA - Disable mojang profiler
create mode 100644 src/main/java/net/pl3x/purpur/GameProfilerNoop.java
diff --git a/src/main/java/net/minecraft/server/CommandDebug.java b/src/main/java/net/minecraft/server/CommandDebug.java
index f0d72ea39d..e38a684060 100644
index f0d72ea39..e38a68406 100644
--- a/src/main/java/net/minecraft/server/CommandDebug.java
+++ b/src/main/java/net/minecraft/server/CommandDebug.java
@@ -22,6 +22,7 @@ public class CommandDebug {
@@ -43,7 +43,7 @@ index f0d72ea39d..e38a684060 100644
throw CommandDebug.b.create();
} else {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 157bb1f9c4..8724bae64b 100644
index 8f78fe511..93ecf378b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -80,7 +80,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -55,7 +55,7 @@ index 157bb1f9c4..8724bae64b 100644
private ServerConnection serverConnection;
public final WorldLoadListenerFactory worldLoadListenerFactory;
private final ServerPing serverPing = new ServerPing();
@@ -1414,6 +1414,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1418,6 +1418,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
String s1 = (String) Optional.ofNullable(optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName);
final DedicatedServer dedicatedserver = new DedicatedServer(optionset, dedicatedserversettings, DataConverterRegistry.a(), yggdrasilauthenticationservice, minecraftsessionservice, gameprofilerepository, usercache, WorldLoadListenerLogger::new, s1);
@@ -64,7 +64,7 @@ index 157bb1f9c4..8724bae64b 100644
/*
dedicatedserver.i((String) optionset.valueOf(optionspec7));
dedicatedserver.setPort((Integer) optionset.valueOf(optionspec10));
@@ -1839,6 +1841,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1843,6 +1845,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public abstract boolean a(EnumGamemode enumgamemode, boolean flag, int i);
@@ -74,7 +74,7 @@ index 157bb1f9c4..8724bae64b 100644
}
diff --git a/src/main/java/net/pl3x/purpur/GameProfilerNoop.java b/src/main/java/net/pl3x/purpur/GameProfilerNoop.java
new file mode 100644
index 0000000000..b32a5418f2
index 000000000..b32a5418f
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/GameProfilerNoop.java
@@ -0,0 +1,68 @@
@@ -147,7 +147,7 @@ index 0000000000..b32a5418f2
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 7b7e1475b3..1136a0a26d 100644
index 7b7e1475b..1136a0a26 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -144,6 +144,8 @@ public class Main {
@@ -160,7 +160,7 @@ index 7b7e1475b3..1136a0a26d 100644
// Paper start
diff --git a/src/main/resources/purpur.lang b/src/main/resources/purpur.lang
index e81beea7fa..5c3536b26b 100644
index e81beea7f..5c3536b26 100644
--- a/src/main/resources/purpur.lang
+++ b/src/main/resources/purpur.lang
@@ -1,5 +1,6 @@
@@ -171,5 +171,5 @@ index e81beea7fa..5c3536b26b 100644
"idle.timeout.broadcast.away": "§e§o%s is now AFK",
"idle.timeout.broadcast.back": "§e§o%s is no longer AFK"
--
2.24.0
2.25.0.windows.1