        if (!var8.isEmpty()) {
          for (String var10 : var8) {
            if (var7) {
+diff --git a/net/minecraft/server/management/PlayerList.java b/net/minecraft/server/management/PlayerList.java
+index b4328c5..9ae582f 100644
+--- a/net/minecraft/server/management/PlayerList.java
++++ b/net/minecraft/server/management/PlayerList.java
+@@ -409,7 +409,7 @@ public abstract class PlayerList {
+ 
+   public EntityPlayerMP createPlayerForUser(GameProfile var1) {
+     UUID var2 = EntityPlayer.getUUID(var1);
+-    ArrayList var3 = Lists.newArrayList();
++    ArrayList<EntityPlayerMP> var3 = Lists.newArrayList(); // BCMP
+ 
+     for (int var4 = 0; var4 < this.playerEntityList.size(); ++var4) {
+       EntityPlayerMP var5 = (EntityPlayerMP) this.playerEntityList.get(var4);
+diff --git a/net/minecraft/server/management/PlayerProfileCache.java b/net/minecraft/server/management/PlayerProfileCache.java
+index 88a5958..74aced2 100644
+--- a/net/minecraft/server/management/PlayerProfileCache.java
++++ b/net/minecraft/server/management/PlayerProfileCache.java
+@@ -192,7 +192,7 @@ public class PlayerProfileCache {
+ 
+     try {
+       var1 = Files.newReader(this.usercacheFile, Charsets.UTF_8);
+-      List var2 = (List) this.gson.fromJson(var1, TYPE);
++      List<PlayerProfileCache.ProfileEntry> var2 = (List) this.gson.fromJson(var1, TYPE); // BCMP
+       this.usernameToProfileEntryMap.clear();
+       this.uuidToProfileEntryMap.clear();
+       this.gameProfiles.clear();
+diff --git a/net/minecraft/server/management/UserList.java b/net/minecraft/server/management/UserList.java
+index c6aca35..7ca6695 100644
+--- a/net/minecraft/server/management/UserList.java
++++ b/net/minecraft/server/management/UserList.java
+@@ -146,7 +146,7 @@ public class UserList<K, V extends UserListEntry<K>> {
+   }
+ 
+   public void readSavedFile() throws FileNotFoundException {
+-    Collection var1 = null;
++    Collection<V> var1 = null; // BCMP
+     BufferedReader var2 = null;
+ 
+     try {
+@@ -159,7 +159,7 @@ public class UserList<K, V extends UserListEntry<K>> {
+     if (var1 != null) {
+       this.values.clear();
+ 
+-      for (UserListEntry var4 : var1) {
++      for (V var4 : var1) { // BCMP
+         if (var4.getValue() != null) {
+           this.values.put(this.getObjectKey(var4.getValue()), var4);
+         }
 diff --git a/net/minecraft/tileentity/TileEntityBeacon.java b/net/minecraft/tileentity/TileEntityBeacon.java
 index b54ae18..adc7d46 100644
 --- a/net/minecraft/tileentity/TileEntityBeacon.java

 
       for (EntityPlayer var11 : var9) {
         var11.addPotionEffect(new PotionEffect(this.primaryEffect, var4, var3, true, true));
diff --git a/net/minecraft/util/IntHashMap.java b/net/minecraft/util/IntHashMap.java
index 46fee47..9b77225 100644
--- a/net/minecraft/util/IntHashMap.java

     }
 
     this.objectList.set(var2, var1);
diff --git a/net/minecraft/util/datafix/DataFixer.java b/net/minecraft/util/datafix/DataFixer.java
index 496d42c..e2dc7c2 100644
--- a/net/minecraft/util/datafix/DataFixer.java
+++ b/net/minecraft/util/datafix/DataFixer.java
@@ -93,7 +93,7 @@ public class DataFixer implements IDataFixer {
   }
 
   private <V> List<V> getTypeList(Map<IFixType, List<V>> var1, IFixType var2) {
-    Object var3 = (List) var1.get(var2);
+    List<V> var3 = (List) var1.get(var2); // BCMP
     if (var3 == null) {
       var3 = Lists.newArrayList();
       var1.put(var2, var3);
diff --git a/net/minecraft/util/math/Cartesian.java b/net/minecraft/util/math/Cartesian.java
index 93855fe..e6e5849 100644
--- a/net/minecraft/util/math/Cartesian.java
