From 282ba1fdc731d4159ac07d67f9b579e4f562407e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 14 Apr 2014 14:35:27 +1000
Subject: [PATCH] Upstream merge

---
 Bukkit                                        |   2 +-
 CraftBukkit                                   |   2 +-
 ...ix-several-occurances-of-missed-diff.patch | 105 +-----------------
 .../0135-Use-Correct-firstPlayed-Value.patch  |  33 ------
 ...se-for-Non-Existent-Offline-Players.patch} |   2 +-
 ...rom-a-ConversationTracker-exception.patch} |   2 +-
 6 files changed, 6 insertions(+), 140 deletions(-)
 delete mode 100644 CraftBukkit-Patches/0135-Use-Correct-firstPlayed-Value.patch
 rename CraftBukkit-Patches/{0136-Use-Provided-Case-for-Non-Existent-Offline-Players.patch => 0135-Use-Provided-Case-for-Non-Existent-Offline-Players.patch} (92%)
 rename CraftBukkit-Patches/{0137-Prevent-crash-from-a-ConversationTracker-exception.patch => 0136-Prevent-crash-from-a-ConversationTracker-exception.patch} (96%)

diff --git a/Bukkit b/Bukkit
index 8c0271cf92..ec19988db3 160000
--- a/Bukkit
+++ b/Bukkit
@@ -1 +1 @@
-Subproject commit 8c0271cf92140cd4789750426858beb39a1dd89a
+Subproject commit ec19988db3ba9415f9453c68b4861ffbe90e4153
diff --git a/CraftBukkit b/CraftBukkit
index 3c3980f05d..1ab090e71e 160000
--- a/CraftBukkit
+++ b/CraftBukkit
@@ -1 +1 @@
-Subproject commit 3c3980f05d4045de1e85ba7db1c57bc20c113eea
+Subproject commit 1ab090e71ea261fe38cef980bc2ebe696a494ea3
diff --git a/CraftBukkit-Patches/0128-Fix-several-occurances-of-missed-diff.patch b/CraftBukkit-Patches/0128-Fix-several-occurances-of-missed-diff.patch
index 0b5603cd1b..ed391c8c91 100644
--- a/CraftBukkit-Patches/0128-Fix-several-occurances-of-missed-diff.patch
+++ b/CraftBukkit-Patches/0128-Fix-several-occurances-of-missed-diff.patch
@@ -1,4 +1,4 @@
-From bec4bddd3c55a063703dd088e4d31f2f1285e9f8 Mon Sep 17 00:00:00 2001
+From 21f4c01b12101d1c3a1447908d48997f08939949 Mon Sep 17 00:00:00 2001
 From: md_5 <git@md-5.net>
 Date: Sat, 12 Apr 2014 17:49:14 +1000
 Subject: [PATCH] Fix several occurances of missed diff.
@@ -30,50 +30,6 @@ index 0df3b6b..cc0776f 100644
          // CraftBukkit start
          double prevX = this.locX;
          double prevY = this.locY;
-diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
-index 9a8408c..64b0992 100644
---- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
-+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
-@@ -135,7 +135,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
-                     d2 = this.locZ + (this.bj - this.locZ) / (double) this.bg;
-                     d3 = MathHelper.g(this.bk - (double) this.yaw);
-                     this.yaw = (float) ((double) this.yaw + d3 / (double) this.bg);
--                    this.pitch = (float) ((double) this.pitch + (this.bm - (double) this.pitch) / (double) this.bg);
-+                    this.pitch = (float) ((double) this.pitch + (this.bl - (double) this.pitch) / (double) this.bg);
-                     --this.bg;
-                     this.setPosition(d0, d1, d2);
-                     this.b(this.yaw, this.pitch);
-diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index bc55fcc..922b576 100644
---- a/src/main/java/net/minecraft/server/EntityHuman.java
-+++ b/src/main/java/net/minecraft/server/EntityHuman.java
-@@ -78,7 +78,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
-         ChunkCoordinates chunkcoordinates = world.getSpawn();
- 
-         this.setPositionRotation((double) chunkcoordinates.x + 0.5D, (double) (chunkcoordinates.y + 1), (double) chunkcoordinates.z + 0.5D, 0.0F, 0.0F);
--        this.az = 180.0F;
-+        this.aZ = 180.0F;
-         this.maxFireTicks = 20;
-     }
- 
-@@ -190,7 +190,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
-         }
- 
-         if (d0 < -d3) {
--            this.bu = this.by = this.locX;
-+            this.bu = this.bx = this.locX;
-         }
- 
-         if (d2 < -d3) {
-@@ -198,7 +198,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
-         }
- 
-         if (d1 < -d3) {
--            this.bv = this.bz = this.locY;
-+            this.bv = this.by = this.locY;
-         }
- 
-         this.bx += d0 * 0.25D;
 diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
 index 0f1bcc7..5eb893f 100644
 --- a/src/main/java/net/minecraft/server/EntityItem.java
@@ -87,45 +43,10 @@ index 0f1bcc7..5eb893f 100644
      }
  
      public void setItemStack(ItemStack itemstack) {
-diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
-index f565028..166206c 100644
---- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
-+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
-@@ -199,7 +199,7 @@ public abstract class EntityMinecartAbstract extends Entity {
-         }
- 
-         if (this.locY < -64.0D) {
--            this.G();
-+            this.F();
-         }
- 
-         int i;
-diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
-index c05d86c..f737dd8 100644
---- a/src/main/java/net/minecraft/server/EntitySlime.java
-+++ b/src/main/java/net/minecraft/server/EntitySlime.java
-@@ -146,7 +146,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
-         } else {
-             this.bc = false;
-             if (this.onGround) {
--                this.bd = this.bf = 0.0F;
-+                this.bd = this.be = 0.0F;
-             }
-         }
-     }
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 6f30e6d..fd6e057 100644
+index db53569..fd6e057 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
-@@ -354,7 +354,7 @@ public class PlayerConnection implements PacketPlayInListener {
-                 }
- 
-                 this.player.i();
--                this.player.W = 0.0F;
-+                this.player.V = 0.0F;
-                 this.player.setLocation(this.y, this.z, this.q, f2, f3);
-                 if (!this.checkMovement) {
-                     return;
 @@ -1740,7 +1740,7 @@ public class PlayerConnection implements PacketPlayInListener {
                      }
  
@@ -135,28 +56,6 @@ index 6f30e6d..fd6e057 100644
                      }
  
                      return;
-diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 9abf099..5b112d5 100644
---- a/src/main/java/net/minecraft/server/PlayerList.java
-+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -164,7 +164,7 @@ public abstract class PlayerList {
-         }
- 
-         // CraftBukkit - Moved from above, added world
--        g.info(entityplayer.getName() + "[" + s + "] logged in with entity id " + entityplayer.getId() + " at ([" + entityplayer.world.worldData.getName() + "] " + entityplayer.locX + ", " + entityplayer.locY + ", " + entityplayer.locZ + ")");
-+        g.info(entityplayer.getName() + "[" + s1 + "] logged in with entity id " + entityplayer.getId() + " at ([" + entityplayer.world.worldData.getName() + "] " + entityplayer.locX + ", " + entityplayer.locY + ", " + entityplayer.locZ + ")");
-     }
- 
-     public void a(ScoreboardServer scoreboardserver, EntityPlayer entityplayer) { // CraftBukkit - protected -> public
-@@ -801,7 +801,7 @@ event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, org.spigotmc.SpigotConfig
-         }
- 
-         /* CraftBukkit start - Remove updating of lag to players -- it spams way to much on big servers.
--        if (this.p < this.players.size()) {
-+        if (this.t < this.players.size()) {
-             EntityPlayer entityplayer = (EntityPlayer) this.players.get(this.p);
- 
-             this.sendAll(new PacketPlayOutPlayerInfo(entityplayer.getName(), true, entityplayer.ping));
 diff --git a/src/main/java/net/minecraft/server/PlayerSelector.java b/src/main/java/net/minecraft/server/PlayerSelector.java
 index e7615d3..2b2d510 100644
 --- a/src/main/java/net/minecraft/server/PlayerSelector.java
diff --git a/CraftBukkit-Patches/0135-Use-Correct-firstPlayed-Value.patch b/CraftBukkit-Patches/0135-Use-Correct-firstPlayed-Value.patch
deleted file mode 100644
index 545539fbdf..0000000000
--- a/CraftBukkit-Patches/0135-Use-Correct-firstPlayed-Value.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 31c8db94074982f07da2cb3ce0f70f8bf721e50d Mon Sep 17 00:00:00 2001
-From: md_5 <git@md-5.net>
-Date: Sun, 13 Apr 2014 14:45:57 +1000
-Subject: [PATCH] Use Correct firstPlayed Value.
-
-
-diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java
-index 89ba461..8f2de94 100644
---- a/src/main/java/net/minecraft/server/WorldNBTStorage.java
-+++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java
-@@ -194,8 +194,9 @@ public class WorldNBTStorage implements IDataManager, IPlayerFileData {
-     public NBTTagCompound load(EntityHuman entityhuman) {
-         NBTTagCompound nbttagcompound = null;
- 
-+        File file1 = null; // Spigot
-         try {
--            File file1 = new File(this.playerDir, entityhuman.getUniqueID().toString() + ".dat");
-+            file1 = new File(this.playerDir, entityhuman.getUniqueID().toString() + ".dat"); // Spigot
-             // Spigot Start
-             boolean usingWrongFile = false;
-             if ( !file1.exists() )
-@@ -226,7 +227,7 @@ public class WorldNBTStorage implements IDataManager, IPlayerFileData {
-             // CraftBukkit start
-             if (entityhuman instanceof EntityPlayer) {
-                 CraftPlayer player = (CraftPlayer) entityhuman.bukkitEntity;
--                player.setFirstPlayed(new File(playerDir, entityhuman.getName() + ".dat").lastModified());
-+                player.setFirstPlayed(file1.lastModified()); // Spigot
-             }
-             // CraftBukkit end
- 
--- 
-1.8.3.2
-
diff --git a/CraftBukkit-Patches/0136-Use-Provided-Case-for-Non-Existent-Offline-Players.patch b/CraftBukkit-Patches/0135-Use-Provided-Case-for-Non-Existent-Offline-Players.patch
similarity index 92%
rename from CraftBukkit-Patches/0136-Use-Provided-Case-for-Non-Existent-Offline-Players.patch
rename to CraftBukkit-Patches/0135-Use-Provided-Case-for-Non-Existent-Offline-Players.patch
index 7d6b9f8573..cafbcc11b3 100644
--- a/CraftBukkit-Patches/0136-Use-Provided-Case-for-Non-Existent-Offline-Players.patch
+++ b/CraftBukkit-Patches/0135-Use-Provided-Case-for-Non-Existent-Offline-Players.patch
@@ -1,4 +1,4 @@
-From 21597351ce90e3e55205bb002b5a7976615724d2 Mon Sep 17 00:00:00 2001
+From 52ddbd12db29790dd2c0551f4a0e53c6b1d5af27 Mon Sep 17 00:00:00 2001
 From: md_5 <git@md-5.net>
 Date: Mon, 14 Apr 2014 09:46:20 +1000
 Subject: [PATCH] Use Provided Case for Non Existent Offline Players
diff --git a/CraftBukkit-Patches/0137-Prevent-crash-from-a-ConversationTracker-exception.patch b/CraftBukkit-Patches/0136-Prevent-crash-from-a-ConversationTracker-exception.patch
similarity index 96%
rename from CraftBukkit-Patches/0137-Prevent-crash-from-a-ConversationTracker-exception.patch
rename to CraftBukkit-Patches/0136-Prevent-crash-from-a-ConversationTracker-exception.patch
index ffb6dfb7c6..69ff6e2929 100644
--- a/CraftBukkit-Patches/0137-Prevent-crash-from-a-ConversationTracker-exception.patch
+++ b/CraftBukkit-Patches/0136-Prevent-crash-from-a-ConversationTracker-exception.patch
@@ -1,4 +1,4 @@
-From bd5de624cf81503ac6f5309bdd61446e9a677518 Mon Sep 17 00:00:00 2001
+From c4611db9d7d06723ded37a11c24a808e04c1ef6f Mon Sep 17 00:00:00 2001
 From: Devin Ryan <devin@forairan.com>
 Date: Mon, 14 Apr 2014 11:33:48 +1000
 Subject: [PATCH] Prevent crash from a ConversationTracker exception.