diff --git a/Spigot-API-Patches/POM-changes.patch b/Spigot-API-Patches/POM-changes.patch
index a90f27a2ab..6cf864a257 100644
--- a/Spigot-API-Patches/POM-changes.patch
+++ b/Spigot-API-Patches/POM-changes.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] POM changes
diff --git a/pom.xml b/pom.xml
-index df62fbd8..31991487 100644
+index cad55895..869be1b5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -0,0 +0,0 @@
@@ -24,7 +24,7 @@ index df62fbd8..31991487 100644
- spigot-api
+ com.destroystokyo.paper
+ paper-api
- 1.12-pre6-SNAPSHOT
+ 1.12-R0.1-SNAPSHOT
jar
- Spigot-API
diff --git a/Spigot-Server-Patches/Activation-Range-Improvements.patch b/Spigot-Server-Patches/Activation-Range-Improvements.patch
index 486e4de849..4919583fb9 100644
--- a/Spigot-Server-Patches/Activation-Range-Improvements.patch
+++ b/Spigot-Server-Patches/Activation-Range-Improvements.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Activation Range Improvements
Fixes and adds new Immunities to improve gameplay behavior
diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java
-index 653aba2ba..6f18bd75b 100644
+index 0c82c6f5b..9659a45ef 100644
--- a/src/main/java/net/minecraft/server/EntityCreature.java
+++ b/src/main/java/net/minecraft/server/EntityCreature.java
@@ -0,0 +0,0 @@ public abstract class EntityCreature extends EntityInsentient {
@@ -18,7 +18,7 @@ index 653aba2ba..6f18bd75b 100644
private float b;
private final float c;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 9bfc14e43..1fae017c0 100644
+index e50f7a3ca..194d55c30 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
@@ -31,29 +31,17 @@ index 9bfc14e43..1fae017c0 100644
protected int ticksFarFromPlayer;
protected float aW;
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
-index 8e165f9db..05ac3811e 100644
+index dbda68dd0..af49b7273 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -0,0 +0,0 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
return this.bM != null;
}
-+ public boolean inCaravan() { return this.dU(); } // Paper - OBFHELPER
- public boolean dU() {
++ public boolean inCaravan() { return this.dW(); } // Paper - OBFHELPER
+ public boolean dW() {
return this.bL != null;
}
-diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index faa82f764..ba7f250c2 100644
---- a/src/main/java/net/minecraft/server/EntityVillager.java
-+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -0,0 +0,0 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
- return Math.max(((Integer) this.datawatcher.get(EntityVillager.bz)).intValue() % 6, 0);
- }
-
-+ public final boolean isMating() { return this.dk(); } // Paper - OBFHELPER
- public boolean dk() {
- return this.bB;
- }
diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java
index 83d9c43f3..1cb6652c2 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoal.java
@@ -108,7 +96,7 @@ index e5b5e9887..e3781f3a8 100644
}
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 7396b35f5..428912cbc 100644
+index 47865c027..b08564618 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -0,0 +0,0 @@ import net.minecraft.server.EntityFireball;
@@ -130,24 +118,24 @@ index 7396b35f5..428912cbc 100644
}
- if ( entity instanceof EntityCreature && ( (EntityCreature) entity ).getGoalTarget() != null )
+ if ( entity instanceof EntityCreature )
-+ {
+ {
+- return true;
+ // Paper start
+ EntityCreature creature = (EntityCreature) entity;
+ if (creature.getGoalTarget() != null || creature.getMovingTarget() != null) {
+ return true;
+ }
+ // Paper end
-+ }
-+ if ( entity instanceof EntityVillager && ( (EntityVillager) entity ).isMating() ) // Paper
+ }
+ if ( entity instanceof EntityVillager && ( (EntityVillager) entity ).isInLove() )
{
return true;
}
-- if ( entity instanceof EntityVillager && ( (EntityVillager) entity ).dk()/* Getter for first boolean */ )
+ // Paper start
+ if ( entity instanceof EntityLlama && ( (EntityLlama ) entity ).inCaravan() )
- {
- return true;
- }
++ {
++ return true;
++ }
+ // Paper end
if ( entity instanceof EntityAnimal )
{
diff --git a/Spigot-Server-Patches/Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/Add-API-methods-to-control-if-armour-stands-can-move.patch
index c6aab8f27b..d6862dfb6b 100644
--- a/Spigot-Server-Patches/Add-API-methods-to-control-if-armour-stands-can-move.patch
+++ b/Spigot-Server-Patches/Add-API-methods-to-control-if-armour-stands-can-move.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add API methods to control if armour stands can move
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index 0ea60d125..091c96411 100644
+index 7901c0492..709c0150f 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
@@ -17,7 +17,7 @@ index 0ea60d125..091c96411 100644
public EntityArmorStand(World world) {
super(world);
@@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
- public boolean cQ() {
+ public boolean cS() {
return false;
}
+
diff --git a/Spigot-Server-Patches/Check-online-mode-before-converting-and-renaming-pla.patch b/Spigot-Server-Patches/Check-online-mode-before-converting-and-renaming-pla.patch
index 94774f7c17..76337aa3af 100644
--- a/Spigot-Server-Patches/Check-online-mode-before-converting-and-renaming-pla.patch
+++ b/Spigot-Server-Patches/Check-online-mode-before-converting-and-renaming-pla.patch
@@ -5,11 +5,11 @@ Subject: [PATCH] Check online mode before converting and renaming player data
diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java
-index ba124665f..7eaa8d511 100644
+index b69c6cf97..eba1228fd 100644
--- a/src/main/java/net/minecraft/server/WorldNBTStorage.java
+++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java
@@ -0,0 +0,0 @@ public class WorldNBTStorage implements IDataManager, IPlayerFileData {
- File file = new File(this.playerDir, entityhuman.bl() + ".dat");
+ File file = new File(this.playerDir, entityhuman.bn() + ".dat");
// Spigot Start
boolean usingWrongFile = false;
- if ( !file.exists() )
diff --git a/Spigot-Server-Patches/Configurable-flying-kick-messages.patch b/Spigot-Server-Patches/Configurable-flying-kick-messages.patch
index 6b6ece542a..6b95d25add 100644
--- a/Spigot-Server-Patches/Configurable-flying-kick-messages.patch
+++ b/Spigot-Server-Patches/Configurable-flying-kick-messages.patch
@@ -21,7 +21,7 @@ index 2001175bf..621c585e7 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index c5e89997e..94953307b 100644
+index e2dce0ec2..2df4e5a4b 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -34,7 +34,7 @@ index c5e89997e..94953307b 100644
}
} else {
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
- if (this.D && this.player.getVehicle().bC() == this.player) {
+ if (this.D && this.player.getVehicle().bE() == this.player) {
if (++this.E > 80) {
PlayerConnection.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName());
- this.disconnect(new ChatMessage("multiplayer.disconnect.flying", new Object[0]));
diff --git a/Spigot-Server-Patches/Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/Custom-replacement-for-eaten-items.patch
index 879453dc05..468e2cfd99 100644
--- a/Spigot-Server-Patches/Custom-replacement-for-eaten-items.patch
+++ b/Spigot-Server-Patches/Custom-replacement-for-eaten-items.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Custom replacement for eaten items
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 1ad33521c..2b20a0205 100644
+index 6b9b55020..fe9cd7769 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
@@ -34,9 +34,9 @@ index 1ad33521c..2b20a0205 100644
+ }
+ // Paper end
+
- this.a(this.cF(), itemstack);
+ this.a(this.cH(), itemstack);
// CraftBukkit end
- this.cL();
+ this.cN();
+
+ // Paper start - if the replacement is anything but the default, update the client inventory
+ if (this instanceof EntityPlayer && !com.google.common.base.Objects.equal(defaultReplacement, itemstack)) {
diff --git a/Spigot-Server-Patches/Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/Disable-Scoreboards-for-non-players-by-default.patch
index 17da98ce32..b099e8ffd8 100644
--- a/Spigot-Server-Patches/Disable-Scoreboards-for-non-players-by-default.patch
+++ b/Spigot-Server-Patches/Disable-Scoreboards-for-non-players-by-default.patch
@@ -25,7 +25,7 @@ index fa49397ea..9987a5c7a 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/CommandScoreboard.java b/src/main/java/net/minecraft/server/CommandScoreboard.java
-index 06523f683..00a34e85a 100644
+index ec9a87239..b08274d93 100644
--- a/src/main/java/net/minecraft/server/CommandScoreboard.java
+++ b/src/main/java/net/minecraft/server/CommandScoreboard.java
@@ -0,0 +0,0 @@ public class CommandScoreboard extends CommandAbstract {
@@ -33,19 +33,19 @@ index 06523f683..00a34e85a 100644
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
+ if (!entity.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(entity instanceof EntityHuman)) { continue; } // Paper
- String s2 = f(minecraftserver, icommandlistener, entity.bl());
+ String s2 = f(minecraftserver, icommandlistener, entity.bn());
if (scoreboard.addPlayerToTeam(s2, s)) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index e9a7565ae..dbaf2863b 100644
+index b4f42a71d..e78b3789f 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@Nullable
- public ScoreboardTeamBase aW() {
+ public ScoreboardTeamBase aY() {
+ if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper
- return this.world.getScoreboard().getPlayerTeam(this.bl());
+ return this.world.getScoreboard().getPlayerTeam(this.bn());
}
--
\ No newline at end of file
diff --git a/Spigot-Server-Patches/Disable-explosion-knockback.patch b/Spigot-Server-Patches/Disable-explosion-knockback.patch
index 847fff361f..4df4e38065 100644
--- a/Spigot-Server-Patches/Disable-explosion-knockback.patch
+++ b/Spigot-Server-Patches/Disable-explosion-knockback.patch
@@ -19,7 +19,7 @@ index a197af84f..2217f680c 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index c9bf14d77..64876f134 100644
+index f446020af..6b9b55020 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
@@ -46,9 +46,9 @@ index c9bf14d77..64876f134 100644
+
if (this.getHealth() <= 0.0F) {
if (!this.e(damagesource)) {
- SoundEffect soundeffect = this.cd();
+ SoundEffect soundeffect = this.cf();
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
-index 63b70d60c..0d434544d 100644
+index e7f0e84d4..e148901e5 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -0,0 +0,0 @@ public class Explosion {
diff --git a/Spigot-Server-Patches/Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/Do-not-let-armorstands-drown.patch
index 3a3031fc5a..33edcba6ea 100644
--- a/Spigot-Server-Patches/Do-not-let-armorstands-drown.patch
+++ b/Spigot-Server-Patches/Do-not-let-armorstands-drown.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Do not let armorstands drown
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index 091c96411..693f157ea 100644
+index 709c0150f..fd518061e 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
@@ -20,22 +20,22 @@ index 091c96411..693f157ea 100644
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index e5c7ee17f..00201988f 100644
+index b18fc969a..3c7c43902 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
super.a(d0, flag, iblockdata, blockposition);
}
-+ public boolean canBreatheUnderwater() { return this.bL(); } // Paper - OBFHELPER
- public boolean bL() {
++ public boolean canBreatheUnderwater() { return this.bN(); } // Paper - OBFHELPER
+ public boolean bN() {
return false;
}
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
if (this.isAlive()) {
if (this.a(Material.WATER)) {
-- if (!this.bL() && !this.hasEffect(MobEffects.WATER_BREATHING) && !flag1) {
+- if (!this.bN() && !this.hasEffect(MobEffects.WATER_BREATHING) && !flag1) {
+ if (!this.canBreatheUnderwater() && !this.hasEffect(MobEffects.WATER_BREATHING) && !flag1) {
this.setAirTicks(this.d(this.getAirTicks()));
if (this.getAirTicks() == -20) {
diff --git a/Spigot-Server-Patches/Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/Don-t-allow-entities-to-ride-themselves-572.patch
index 3b81a5fe6e..bdd40978e8 100644
--- a/Spigot-Server-Patches/Don-t-allow-entities-to-ride-themselves-572.patch
+++ b/Spigot-Server-Patches/Don-t-allow-entities-to-ride-themselves-572.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 0a3d1969a..127eaf1f6 100644
+index cd2220b63..ba0bf2ee2 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@@ -13,7 +13,7 @@ index 0a3d1969a..127eaf1f6 100644
protected void o(Entity entity) {
+ if (entity == this) throw new IllegalArgumentException("Entities cannot become a passenger of themselves"); // Paper - issue 572
- if (entity.bH() != this) {
+ if (entity.bJ() != this) {
throw new IllegalStateException("Use x.startRiding(y), not y.addPassenger(x)");
} else {
--
\ No newline at end of file
diff --git a/Spigot-Server-Patches/Firework-API-s.patch b/Spigot-Server-Patches/Firework-API-s.patch
index b27600fc7b..b2da1fb25e 100644
--- a/Spigot-Server-Patches/Firework-API-s.patch
+++ b/Spigot-Server-Patches/Firework-API-s.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Firework API's
diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java
-index 5e452b93c..28e12f7cc 100644
+index 48cdef5db..bd0ec95f2 100644
--- a/src/main/java/net/minecraft/server/EntityFireworks.java
+++ b/src/main/java/net/minecraft/server/EntityFireworks.java
@@ -0,0 +0,0 @@ package net.minecraft.server;
@@ -51,9 +51,9 @@ index 5e452b93c..28e12f7cc 100644
+ // Paper end
}
- public boolean bb() {
+ public boolean bd() {
diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java
-index dc8952340..b7569b2bd 100644
+index b0bb4aa23..44a997215 100644
--- a/src/main/java/net/minecraft/server/ItemFireworks.java
+++ b/src/main/java/net/minecraft/server/ItemFireworks.java
@@ -0,0 +0,0 @@ public class ItemFireworks extends Item {
diff --git a/Spigot-Server-Patches/Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/Fix-Double-World-Add-issues.patch
index c016b0d1fe..6d1a46f5e5 100644
--- a/Spigot-Server-Patches/Fix-Double-World-Add-issues.patch
+++ b/Spigot-Server-Patches/Fix-Double-World-Add-issues.patch
@@ -8,7 +8,7 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added.
Also add debug if something else tries to, and abort before world gets bad state
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 911f527f8..0d73e41f2 100644
+index 44f0d8831..6b5b5e912 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -18,10 +18,10 @@ index 911f527f8..0d73e41f2 100644
- if (world.addEntity(entity, reason) && entity.isVehicle()) {
+ if (!entity.valid && world.addEntity(entity, reason) && entity.isVehicle()) { // Paper
// CraftBukkit end
- Iterator iterator = entity.bD().iterator();
+ Iterator iterator = entity.bF().iterator();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 634f1c28c..0a473d7d2 100644
+index a44bc499a..2cdac0ebc 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
diff --git a/Spigot-Server-Patches/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
index 998d53b0b0..e35bccb16d 100644
--- a/Spigot-Server-Patches/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
+++ b/Spigot-Server-Patches/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
@@ -19,19 +19,19 @@ index 3a942c763..3bd29650c 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 9a47d00c0..f6d04c3d5 100644
+index ed8c72300..468d64316 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
return this.getFlag(5);
}
-+ @Nullable public ScoreboardTeamBase getTeam() { return this.aW(); } // Paper - OBFHELPER
++ @Nullable public ScoreboardTeamBase getTeam() { return this.aY(); } // Paper - OBFHELPER
@Nullable
- public ScoreboardTeamBase aW() {
+ public ScoreboardTeamBase aY() {
if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index e20a166b7..76784a3af 100644
+index 4c90d1d40..75f43f420 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/Spigot-Server-Patches/Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/Optional-TNT-doesn-t-move-in-water.patch
index 301d29467b..b4d5d3b157 100644
--- a/Spigot-Server-Patches/Optional-TNT-doesn-t-move-in-water.patch
+++ b/Spigot-Server-Patches/Optional-TNT-doesn-t-move-in-water.patch
@@ -32,7 +32,7 @@ index fbe769eb3..d2a542354 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 094891057..5cd82f1b2 100644
+index 14b6439c2..724e85aa3 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@@ -44,13 +44,13 @@ index 094891057..5cd82f1b2 100644
+
+ public boolean doWaterMovement() {
+ // Paper end
- if (this.bH() instanceof EntityBoat) {
+ if (this.bJ() instanceof EntityBoat) {
this.inWater = false;
} else if (this.world.a(this.getBoundingBox().grow(0.0D, -0.4000000059604645D, 0.0D).shrink(0.001D), Material.WATER, this)) {
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
}
- public boolean bm() {
+ public boolean bo() {
+ return this.pushedByWater();
+ }
+
diff --git a/Spigot-Server-Patches/POM-Changes.patch b/Spigot-Server-Patches/POM-Changes.patch
index db40606127..925847ce64 100644
--- a/Spigot-Server-Patches/POM-Changes.patch
+++ b/Spigot-Server-Patches/POM-Changes.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] POM Changes
diff --git a/pom.xml b/pom.xml
-index ed0ddbd86..fce7fe4d0 100644
+index d677e79df..78395669f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -0,0 +0,0 @@
@@ -17,7 +17,7 @@ index ed0ddbd86..fce7fe4d0 100644
+ com.destroystokyo.paper
+ paper
jar
- 1.12-pre6-SNAPSHOT
+ 1.12-R0.1-SNAPSHOT
- Spigot
- http://www.spigotmc.org
+ Paper
diff --git a/Spigot-Server-Patches/Timings-v2.patch b/Spigot-Server-Patches/Timings-v2.patch
index 7b6a3a7f40..5bd2476a74 100644
--- a/Spigot-Server-Patches/Timings-v2.patch
+++ b/Spigot-Server-Patches/Timings-v2.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Timings v2
diff --git a/pom.xml b/pom.xml
-index fce7fe4d0..ad910df98 100644
+index 78395669f..39ca6aede 100644
--- a/pom.xml
+++ b/pom.xml
@@ -0,0 +0,0 @@
@@ -441,7 +441,7 @@ index 5ab2cf6ee..b5795b6d3 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
-index 4cb71b294..ec406644c 100644
+index 7501a1a28..1701804b1 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -0,0 +0,0 @@ public class Block {
@@ -461,7 +461,7 @@ index 4cb71b294..ec406644c 100644
public static int getId(Block block) {
return Block.REGISTRY.a(block); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 7fee74d80..39ad8d691 100644
+index d268fec39..52f6242d7 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -0,0 +0,0 @@ public class Chunk {
@@ -531,7 +531,7 @@ index 9dcab42de..c1b0d6cea 100644
this.chunkLoader.a(this.world, chunk);
} catch (IOException ioexception) {
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 80a5b2013..403a2cb2e 100644
+index a4fca0ca9..161ea8172 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -571,7 +571,7 @@ index 80a5b2013..403a2cb2e 100644
// return chunk; // CraftBukkit
}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index 6abbc3bc3..11f62b9b9 100644
+index 7fe2796fe..2feeb855b 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -0,0 +0,0 @@ import java.io.PrintStream;
@@ -624,7 +624,7 @@ index 6abbc3bc3..11f62b9b9 100644
return waitable.get();
} catch (java.util.concurrent.ExecutionException e) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 0138ac4ab..5d47bc459 100644
+index da1598a24..2facde681 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -0,0 +0,0 @@ import org.bukkit.block.BlockFace;
@@ -663,7 +663,7 @@ index 0138ac4ab..5d47bc459 100644
public void recalcPosition() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index cb483dc2a..9e31db26d 100644
+index bc2da3316..f446020af 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -0,0 +0,0 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -681,7 +681,7 @@ index cb483dc2a..9e31db26d 100644
public void B_() {
- SpigotTimings.timerEntityBaseTick.startTiming(); // Spigot
super.B_();
- this.cG();
+ this.cI();
if (!this.world.isClientSide) {
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
}
@@ -728,13 +728,13 @@ index cb483dc2a..9e31db26d 100644
this.world.methodProfiler.b();
this.world.methodProfiler.a("push");
- SpigotTimings.timerEntityAICollision.startTiming(); // Spigot
- this.cz();
+ this.cB();
- SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot
this.world.methodProfiler.b();
}
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
-index c840f6761..14504cbcc 100644
+index 284d1204d..3aab54206 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -0,0 +0,0 @@ public class EntityTracker {
@@ -765,7 +765,7 @@ index c840f6761..14504cbcc 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3961a5fe6..8dbbab3ad 100644
+index e396b3822..43b4e552b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -0,0 +0,0 @@ import org.bukkit.Bukkit;
@@ -1012,7 +1012,7 @@ index eeac34998..e4ed2e991 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 1bcf74400..4c08373ba 100644
+index ddd36a3c6..42b05bee8 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -0,0 +0,0 @@ import org.bukkit.inventory.CraftingInventory;
@@ -1090,7 +1090,7 @@ index f74b06794..1fc632e0c 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 4798dd4f5..acdc68c8f 100644
+index 788e0e1b5..b7ebbc9ff 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -0,0 +0,0 @@
@@ -1176,7 +1176,7 @@ index 591f4ad7f..e02f0c442 100644
private static final RegistryMaterials> f = new RegistryMaterials();
protected World world;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 17255e2d5..e51a288a8 100644
+index d16e499ae..aced20e3b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -0,0 +0,0 @@ import com.google.common.collect.Maps;
@@ -1270,7 +1270,7 @@ index 17255e2d5..e51a288a8 100644
++entity.ticksLived;
+ ++co.aikar.timings.TimingHistory.activatedEntityTicks; // Paper
if (entity.isPassenger()) {
- entity.aC();
+ entity.aE();
} else {
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
}
@@ -1282,7 +1282,7 @@ index 17255e2d5..e51a288a8 100644
public boolean b(AxisAlignedBB axisalignedbb) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index b924dad97..63c7d4402 100644
+index bbbbae49b..5835553b5 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -0,0 +0,0 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -1677,7 +1677,7 @@ index 3a95b4465..b5efb9c3f 100644
public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c019e5229..d10177669 100644
+index 001b6040f..d4c8fafe7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -0,0 +0,0 @@ import org.bukkit.configuration.serialization.DelegateDeserialization;
@@ -1873,7 +1873,7 @@ index e52ef47b7..3d90b3426 100644
this.value = value;
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index be23631b2..9eb36f3e9 100644
+index 2bd690fdf..38be7ed71 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -0,0 +0,0 @@ import net.minecraft.server.EntityWither;
diff --git a/Spigot-Server-Patches/Toggleable-Elytra-Wall-Damage.patch b/Spigot-Server-Patches/Toggleable-Elytra-Wall-Damage.patch
index d6b5cebb93..3a8d47c2cb 100644
--- a/Spigot-Server-Patches/Toggleable-Elytra-Wall-Damage.patch
+++ b/Spigot-Server-Patches/Toggleable-Elytra-Wall-Damage.patch
@@ -21,13 +21,13 @@ index ef60c15bd..cec9ea74c 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 9587704d7..97b498507 100644
+index 3d1897d6f..e50f7a3ca 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
this.motY = 0.30000001192092896D;
}
- } else if (this.cN()) {
+ } else if (this.cP()) {
+ if (world.paperConfig.elytraHitWallDamage) { // Paper start - Toggleable Elytra Wall Damage
if (this.motY > -0.5D) {
this.fallDistance = 1.0F;
diff --git a/Spigot-Server-Patches/Undead-horse-leashing.patch b/Spigot-Server-Patches/Undead-horse-leashing.patch
index 208602713d..697f190903 100644
--- a/Spigot-Server-Patches/Undead-horse-leashing.patch
+++ b/Spigot-Server-Patches/Undead-horse-leashing.patch
@@ -20,7 +20,7 @@ index 9987a5c7a..0873febb6 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
-index bed01b8c0..a3c41130f 100644
+index 46d1ea217..dcc39236f 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -0,0 +0,0 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -31,5 +31,5 @@ index bed01b8c0..a3c41130f 100644
+ return world.paperConfig.allowLeashingUndeadHorse ? super.a(entityhuman) : super.a(entityhuman) && this.getMonsterType() != EnumMonsterType.UNDEAD; // Paper
}
- protected void s(float f) {
+ protected void q(float f) {
--
\ No newline at end of file
diff --git a/work/BuildData b/work/BuildData
index c93ef25131..ebd264edb5 160000
--- a/work/BuildData
+++ b/work/BuildData
@@ -1 +1 @@
-Subproject commit c93ef25131651aa8eb956e2397f7784e91ee7d93
+Subproject commit ebd264edb506ff3e72e92dd16b1b68c46905972c
diff --git a/work/Bukkit b/work/Bukkit
index e132104bf7..7b5ab33d62 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit e132104bf7d45f5c7c051396a8b011e3daee828c
+Subproject commit 7b5ab33d620b1d19e00152b4a0d64c160712c3b7
diff --git a/work/CraftBukkit b/work/CraftBukkit
index fe3ca95c76..bb4ae3b3b8 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit fe3ca95c764848be56e872e3de57c66cb07d7515
+Subproject commit bb4ae3b3b8a36a90a6ac29746c5b6cb1351fc772
diff --git a/work/Spigot b/work/Spigot
index ac83d698d4..ede465d4b5 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit ac83d698d48a362995bcebe48ab89ab71bcf4d18
+Subproject commit ede465d4b574dc539984f807d2d8b37a78da1858