diff --git a/build.gradle.kts b/build.gradle.kts
index 153cb801a..9cea777e6 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -179,6 +179,7 @@ task("runClient", JavaExec::class) {
     group = "bta"
     mainClass.set("net.minecraft.client.Minecraft")
     classpath = sourceSets["main"].runtimeClasspath
+    jvmArgs = listOf("-XstartOnFirstThread", "-Djava.awt.headless=true")
 
     systemProperty("java.library.path", layout.buildDirectory.dir("natives").get().asFile.absolutePath)
 }
diff --git a/src/main/java/net/minecraft/client/Minecraft.java b/src/main/java/net/minecraft/client/Minecraft.java
index d71dc23ee..030fc07fc 100644
--- a/src/main/java/net/minecraft/client/Minecraft.java
+++ b/src/main/java/net/minecraft/client/Minecraft.java
@@ -188,7 +188,7 @@ import static org.lwjgl.opengl.GL11.glViewport;
 //            MinecraftApplet
 
 public class Minecraft
-    implements Runnable, MinecraftAccessor
+    implements MinecraftAccessor
 {
     public static Logger LOGGER = LogUtils.getLogger();
     public static final String VERSION = Global.VERSION;
@@ -875,8 +875,7 @@ public class Minecraft
 		}
 	}
 
-    @Override
-    public void run()
+    private void run()
     {
         running = true;
         try
@@ -2496,8 +2495,6 @@ public class Minecraft
     {
         GameWindow gameWindow = new GameWindowGLFW();
         Minecraft mc = new Minecraft(gameWindow);
-        Thread thread = new Thread(mc, "Client-Main");
-        thread.setPriority(10);
         mc.minecraftUri = "www.minecraft.net";
 
         sessionId = sessionId == null ? "" : sessionId;
@@ -2515,7 +2512,7 @@ public class Minecraft
         username = username == null ? "Player" + System.currentTimeMillis() % 1000L : username;
 
         mc.session = new Session(username, uuid, sessionId);
-        thread.start();
+        mc.run();
     }
 
     public static void main(String[] args)
diff --git a/src/main/java/net/minecraft/client/render/entity/EntityRenderer.java b/src/main/java/net/minecraft/client/render/entity/EntityRenderer.java
index b70f3f9a1..fb7eccdde 100644
--- a/src/main/java/net/minecraft/client/render/entity/EntityRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/EntityRenderer.java
@@ -167,7 +167,9 @@ public abstract class EntityRenderer<T extends Entity>
         }
         tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, (float)alpha);
         AABB aabb = block.getCollisionBoundingBoxFromPool(getWorld(), x, y, z);
-
+        if(aabb == null) {
+        	return;
+        }
         double xMin = aabb.minX + xo;
         double xMax = aabb.maxX + xo;
         double yMin = aabb.maxY + yo + 0.015625D - 1;
diff --git a/src/main/java/net/minecraft/client/render/window/GameWindowGLFW.java b/src/main/java/net/minecraft/client/render/window/GameWindowGLFW.java
index 2545519d3..c2ffc63a1 100644
--- a/src/main/java/net/minecraft/client/render/window/GameWindowGLFW.java
+++ b/src/main/java/net/minecraft/client/render/window/GameWindowGLFW.java
@@ -79,22 +79,22 @@ public class GameWindowGLFW implements GameWindow {
 		});
 
 		// Setup Icon
-		iconLabel: {
-			int[] resolutions = new int[]{16, 32, 64, 128, 256};
-			GLFWImage.Buffer gb = GLFWImage.create(resolutions.length);
-			for (int i = 0; i < resolutions.length; i++) {
-				int res = resolutions[i];
-				ByteBuffer icon = getImageBuffer("/icon/" + res + ".png");
-				if (icon == null) {
-					System.err.println("Icon at resolution '" + res + "' is null! Skipping icons!");
-					gb.close();
-					break iconLabel;
-				}
-				GLFWImage iconGI = GLFWImage.create().set(res, res, icon);
-				gb.put(i, iconGI);
-			}
-			glfwSetWindowIcon(window, gb);
-		}
+//		iconLabel: {
+//			int[] resolutions = new int[]{16, 32, 64, 128, 256};
+//			GLFWImage.Buffer gb = GLFWImage.create(resolutions.length);
+//			for (int i = 0; i < resolutions.length; i++) {
+//				int res = resolutions[i];
+//				ByteBuffer icon = getImageBuffer("/icon/" + res + ".png");
+//				if (icon == null) {
+//					System.err.println("Icon at resolution '" + res + "' is null! Skipping icons!");
+//					gb.close();
+//					break iconLabel;
+//				}
+//				GLFWImage iconGI = GLFWImage.create().set(res, res, icon);
+//				gb.put(i, iconGI);
+//			}
+//			glfwSetWindowIcon(window, gb);
+//		}
 
 		// Show window
 		glfwShowWindow(window);
diff --git a/src/main/java/net/minecraft/core/block/PaintedTrapDoorBlock.java b/src/main/java/net/minecraft/core/block/PaintedTrapDoorBlock.java
index 3aaa018c6..c469ff609 100644
--- a/src/main/java/net/minecraft/core/block/PaintedTrapDoorBlock.java
+++ b/src/main/java/net/minecraft/core/block/PaintedTrapDoorBlock.java
@@ -2,11 +2,9 @@ package net.minecraft.core.block;
 
 import net.minecraft.core.block.entity.BlockEntity;
 import net.minecraft.core.block.material.Material;
-import net.minecraft.core.entity.Mob;
+import net.minecraft.core.entity.player.Player;
 import net.minecraft.core.enums.EnumDropCause;
-import net.minecraft.core.enums.PlacementMode;
 import net.minecraft.core.item.ItemStack;
-import net.minecraft.core.util.helper.Direction;
 import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.world.World;
 
@@ -14,17 +12,12 @@ public class PaintedTrapDoorBlock extends TrapDoorBlock {
     public PaintedTrapDoorBlock(String key, String namespaceId, int id, Material material) {
         super(key, namespaceId, id, material, false);
     }
+    
     @Override
-    public void onBlockPlacedByMob(World world, int x, int y, int z, Side side, Mob mob, double sideHeight) {
-        int meta = world.getBlockMetadata(x, y, z);
-        int colorBits = meta & 0xF0;
-        meta = getMetaForDirection(mob.getHorizontalPlacementDirection(side, PlacementMode.SIDE));
-        if(mob.getVerticalPlacementDirection(side, sideHeight) == Direction.UP) {
-            meta |= 8;
-        }
-        meta |= colorBits;
-        world.setBlockMetadata(x, y, z, meta);
+    public int getPlacedBlockMetadata(Player player, ItemStack stack, World world, int x, int y, int z, Side side, double xPlaced, double yPlaced) {
+    	return stack.getMetadata() | super.getPlacedBlockMetadata(player, stack, world, x, y, z, side, xPlaced, yPlaced);
     }
+    
     @Override
     public ItemStack[] getBreakResult(World world, EnumDropCause dropCause, int x, int y, int z, int meta, BlockEntity blockEntity)
     {
diff --git a/src/main/java/net/minecraft/core/block/RedstoneTorchBlock.java b/src/main/java/net/minecraft/core/block/RedstoneTorchBlock.java
index bcaf06c8d..a721200fa 100644
--- a/src/main/java/net/minecraft/core/block/RedstoneTorchBlock.java
+++ b/src/main/java/net/minecraft/core/block/RedstoneTorchBlock.java
@@ -2,7 +2,6 @@ package net.minecraft.core.block;
 
 import net.minecraft.client.util.helper.Colors;
 import net.minecraft.core.block.entity.BlockEntity;
-import net.minecraft.core.block.logic.RedstoneUpdateInfo;
 import net.minecraft.core.enums.EnumDropCause;
 import net.minecraft.core.item.ItemStack;
 import net.minecraft.core.sound.SoundCategory;
@@ -21,24 +20,9 @@ import java.util.Random;
 
 public class RedstoneTorchBlock extends TorchBlock
 {
-    private boolean checkForBurnout(World world, int x, int y, int z, boolean addUpdateInfo)
-    {
-        if(addUpdateInfo) {
-            torchUpdates.add(new RedstoneUpdateInfo(x, y, z, world.getWorldTime()));
-        }
-        int l = 0;
-        for (RedstoneUpdateInfo redstoneupdateinfo : torchUpdates) {
-            if (redstoneupdateinfo.getXCoord() == x && redstoneupdateinfo.getYCoord() == y && redstoneupdateinfo.getZCoord() == z && ++l >= 8) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    protected RedstoneTorchBlock(String key, String namespaceId, int id, boolean flag) {
+    protected RedstoneTorchBlock(String key, String namespaceId, int id, boolean isActive) {
         super(key, namespaceId, id);
-        torchActive = flag;
+        torchActive = isActive;
         setTicking(true);
     }
 
@@ -117,34 +101,14 @@ public class RedstoneTorchBlock extends TorchBlock
     @Override
 	public void updateTick(World world, int x, int y, int z, Random rand)
     {
-        boolean flag = isPoweredByBlock(world, x, y, z);
-        List<RedstoneUpdateInfo> _updates = new ArrayList<>(torchUpdates);
-        for (RedstoneUpdateInfo info : torchUpdates){
-            if (world.getWorldTime() - info.getUpdateTime() > 100L){
-                _updates.remove(info);
-            }
-        }
-        torchUpdates = _updates;
+        boolean isPowered = isPoweredByBlock(world, x, y, z);
         if(torchActive)
         {
-            if(flag)
+            if(isPowered)
             {
                 world.setBlockAndMetadataWithNotify(x, y, z, Blocks.TORCH_REDSTONE_IDLE.id, world.getBlockMetadata(x, y, z));
-                if(checkForBurnout(world, x, y, z, true))
-                {
-                    world.playSoundEffect(null, SoundCategory.WORLD_SOUNDS, (float) x + 0.5F, (float) y + 0.5F, (float) z + 0.5F, "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F);
-                    for(int l = 0; l < 5; l++)
-                    {
-                        double d = (double) x + rand.nextDouble() * 0.6D + 0.2D;
-                        double d1 = (double) y + rand.nextDouble() * 0.6D + 0.2D;
-                        double d2 = (double) z + rand.nextDouble() * 0.6D + 0.2D;
-                        world.spawnParticle("smoke", d, d1, d2, 0.0D, 0.0D, 0.0D, 0);
-                    }
-                }
             }
-        } else
-        if(!flag && !checkForBurnout(world, x, y, z, false))
-        {
+        } else if(!isPowered) {
             world.setBlockAndMetadataWithNotify(x, y, z, Blocks.TORCH_REDSTONE_ACTIVE.id, world.getBlockMetadata(x, y, z));
         }
     }
@@ -214,6 +178,5 @@ public class RedstoneTorchBlock extends TorchBlock
 	}
 
     private final boolean torchActive;
-    private static List<RedstoneUpdateInfo> torchUpdates = new ArrayList<>();
 
 }
diff --git a/src/main/java/net/minecraft/core/block/TrapDoorBlock.java b/src/main/java/net/minecraft/core/block/TrapDoorBlock.java
index 72e5b8adf..fcd92ecca 100644
--- a/src/main/java/net/minecraft/core/block/TrapDoorBlock.java
+++ b/src/main/java/net/minecraft/core/block/TrapDoorBlock.java
@@ -1,15 +1,15 @@
 package net.minecraft.core.block;
 
-import net.minecraft.core.entity.player.Player;
-import net.minecraft.core.util.phys.HitResult;
 import net.minecraft.core.block.material.Material;
-import net.minecraft.core.entity.Mob;
+import net.minecraft.core.entity.player.Player;
 import net.minecraft.core.enums.PlacementMode;
 import net.minecraft.core.item.Item;
+import net.minecraft.core.item.ItemStack;
 import net.minecraft.core.item.tag.ItemTags;
 import net.minecraft.core.util.helper.Direction;
 import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.util.phys.AABB;
+import net.minecraft.core.util.phys.HitResult;
 import net.minecraft.core.util.phys.Vec3;
 import net.minecraft.core.world.World;
 import net.minecraft.core.world.WorldSource;
@@ -141,12 +141,12 @@ public class TrapDoorBlock extends Block
     }
     
     @Override
-    public void onBlockPlacedByMob(World world, int x, int y, int z, Side side, Mob mob, double sideHeight) {
-    	int meta = getMetaForDirection(mob.getHorizontalPlacementDirection(side, PlacementMode.SIDE));
-    	if(mob.getVerticalPlacementDirection(side, sideHeight) == Direction.UP) {
+    public int getPlacedBlockMetadata(Player player, ItemStack stack, World world, int x, int y, int z, Side side, double xPlaced, double yPlaced) {
+    	int meta = getMetaForDirection(player.getHorizontalPlacementDirection(side, PlacementMode.SIDE));
+    	if(player.getVerticalPlacementDirection(side, yPlaced) == Direction.UP) {
     		meta |= 8;
     	}
-    	world.setBlockMetadata(x, y, z, meta);
+    	return meta;
     }
     
     @Override
diff --git a/src/main/java/net/minecraft/core/block/logic/RedstoneUpdateInfo.java b/src/main/java/net/minecraft/core/block/logic/RedstoneUpdateInfo.java
deleted file mode 100644
index 133508cf0..000000000
--- a/src/main/java/net/minecraft/core/block/logic/RedstoneUpdateInfo.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package net.minecraft.core.block.logic;
-
-
-public class RedstoneUpdateInfo {
-    private final int x;
-    private final int y;
-    private final int z;
-    private final long updateTime;
-
-    public RedstoneUpdateInfo(int x, int y, int z, long updateTime) {
-        this.x = x;
-        this.y = y;
-        this.z = z;
-        this.updateTime = updateTime;
-    }
-
-    public int getXCoord(){
-        return x;
-    }
-    public int getYCoord(){
-        return y;
-    }
-    public int getZCoord(){
-        return z;
-    }
-    public long getUpdateTime(){
-        return updateTime;
-    }
-}
diff --git a/src/main/java/net/minecraft/core/entity/FishingBobberEntity.java b/src/main/java/net/minecraft/core/entity/FishingBobberEntity.java
index 8f05a057c..2238e1ee1 100644
--- a/src/main/java/net/minecraft/core/entity/FishingBobberEntity.java
+++ b/src/main/java/net/minecraft/core/entity/FishingBobberEntity.java
@@ -178,6 +178,19 @@ public class FishingBobberEntity extends Entity
                     x = hookedEntity.x;
                     y = hookedEntity.bb.minY + (double) hookedEntity.bbHeight * 0.8D;
                     z = hookedEntity.z;
+                    if(hookedEntity instanceof PathfinderMob){
+                        ((PathfinderMob) hookedEntity).target = owner;
+                    }
+                    double dx = owner.x - x;
+                    double dy = owner.y - y;
+                    double dz = owner.z - z;
+                    double distance = MathHelper.sqrt(dx * dx + dy * dy + dz * dz);
+                    if(distance > 10) {
+                        double scale = 0.01D;
+                        hookedEntity.xd += dx * scale;
+                        hookedEntity.yd += dy * scale;
+                        hookedEntity.zd += dz * scale;
+                    }
                     return;
                 }
             }
@@ -337,6 +350,15 @@ public class FishingBobberEntity extends Entity
         setPos(x, y, z);
     }
 
+    @Override
+    public void remove()
+    {
+        if(hookedEntity instanceof PathfinderMob){
+            ((PathfinderMob) hookedEntity).target = null;
+        }
+        super.remove();
+    }
+
     @Override
 	public void addAdditionalSaveData(CompoundTag compoundTag) {
     }
diff --git a/src/main/java/net/minecraft/core/entity/PathfinderMob.java b/src/main/java/net/minecraft/core/entity/PathfinderMob.java
index a4c968ce2..a14a3ab55 100644
--- a/src/main/java/net/minecraft/core/entity/PathfinderMob.java
+++ b/src/main/java/net/minecraft/core/entity/PathfinderMob.java
@@ -16,7 +16,7 @@ public abstract class PathfinderMob extends Mob
 {
     private static final int MAX_TURN = 30;
     protected Path pathToEntity;
-    protected Entity entityToAttack;
+    protected Entity target;
     protected Entity closestFireflyEntity;
     protected boolean hasAttacked;
 
@@ -36,32 +36,32 @@ public abstract class PathfinderMob extends Mob
     {
         hasAttacked = isMovementCeased();
         float sightRadius = 16F;
-        if(entityToAttack == null)
+        if(target == null)
         {
-            entityToAttack = findPlayerToAttack();
-            if(entityToAttack != null)
+            target = findPlayerToAttack();
+            if(target != null)
             {
-                pathToEntity = world.getPathToEntity(this, entityToAttack, sightRadius);
+                pathToEntity = world.getPathToEntity(this, target, sightRadius);
             }
         } else
-        if(!entityToAttack.isAlive())
+        if(!target.isAlive())
         {
-            entityToAttack = null;
+            target = null;
         } else
         {
-            float distanceToEntity = entityToAttack.distanceTo(this);
-            if(canEntityBeSeen(entityToAttack))
+            float distanceToEntity = target.distanceTo(this);
+            if(canEntityBeSeen(target))
             {
-                attackEntity(entityToAttack, distanceToEntity);
+                attackEntity(target, distanceToEntity);
             } else
             {
-                attackBlockedEntity(entityToAttack, distanceToEntity);
+                attackBlockedEntity(target, distanceToEntity);
             }
         }
-        if(!hasAttacked && entityToAttack != null && (pathToEntity == null || random.nextInt(20) == 0))
+        if(!hasAttacked && target != null && (pathToEntity == null || random.nextInt(20) == 0))
         {
             //pathfind to entity
-            pathToEntity = world.getPathToEntity(this, entityToAttack, sightRadius);
+            pathToEntity = world.getPathToEntity(this, target, sightRadius);
         } else
         if(!hasAttacked && closestFireflyEntity == null && (pathToEntity == null && random.nextInt(80) == 0 || random.nextInt(80) == 0))
         {
@@ -115,10 +115,10 @@ public abstract class PathfinderMob extends Mob
                 f3 = -MAX_TURN;
             }
             yRot += f3;
-            if(hasAttacked && entityToAttack != null)
+            if(hasAttacked && target != null)
             {
-                double d4 = entityToAttack.x - x;
-                double d5 = entityToAttack.z - z;
+                double d4 = target.x - x;
+                double d5 = target.z - z;
                 float f5 = yRot;
                 yRot = (float)((java.lang.Math.atan2(d5, d4) * 180D) / Math.PI) - 90F;
                 float f4 = (((f5 - yRot) + 90F) * MathHelper.PI) / 180F;
@@ -130,9 +130,9 @@ public abstract class PathfinderMob extends Mob
                 isJumping = true;
             }
         }
-        if(entityToAttack != null)
+        if(target != null)
         {
-            lookAt(entityToAttack, 30F, 30F);
+            lookAt(target, 30F, 30F);
         }
         if(horizontalCollision && !hasPath())
         {
@@ -230,12 +230,12 @@ public abstract class PathfinderMob extends Mob
 
     public Entity getTarget()
     {
-        return entityToAttack;
+        return target;
     }
 
     public void setTarget(Entity entity)
     {
-        entityToAttack = entity;
+        target = entity;
     }
 
 
diff --git a/src/main/java/net/minecraft/core/entity/animal/Animal.java b/src/main/java/net/minecraft/core/entity/animal/Animal.java
index 27a6ef249..e9e69ab05 100644
--- a/src/main/java/net/minecraft/core/entity/animal/Animal.java
+++ b/src/main/java/net/minecraft/core/entity/animal/Animal.java
@@ -6,10 +6,8 @@ package net.minecraft.core.entity.animal;
 //            MathHelper, AxisAlignedBB, NBTTagCompound
 
 import net.minecraft.core.block.tag.BlockTags;
-import net.minecraft.core.data.tag.Tag;
 import net.minecraft.core.entity.PathfinderMob;
 import net.minecraft.core.entity.player.Player;
-import net.minecraft.core.item.Item;
 import net.minecraft.core.item.ItemStack;
 import net.minecraft.core.util.helper.MathHelper;
 import com.mojang.nbt.CompoundTag;
@@ -31,17 +29,23 @@ public abstract class Animal extends PathfinderMob
     @Override
     protected void updateAI()
     {
-        Player closest = world.getClosestPlayer(x, y, z, 10);
-        if(closest != null){
-            if(isFavouriteItem(closest.getHeldItem())){
-                setTarget(closest);
+        if(target == null){
+            closestPlayer = world.getClosestPlayer(x, y, z, 10);
+        }
+
+        if(closestPlayer != null) {
+            if(isFavouriteItem(closestPlayer.getHeldItem())){
+                setTarget(closestPlayer);
             } else {
                 setTarget(null);
+                closestPlayer = null;
             }
         }
+
         super.updateAI();
-        if(entityToAttack != null) {
-            float distanceToEntity = entityToAttack.distanceTo(this);
+
+        if(target != null) {
+            float distanceToEntity = target.distanceTo(this);
             if(distanceToEntity < 3) {
                 moveForward = 0;
             }
@@ -105,4 +109,5 @@ public abstract class Animal extends PathfinderMob
     public boolean isFavouriteItem(ItemStack itemStack) {
         return false;
     }
+    public Player closestPlayer;
 }
diff --git a/src/main/java/net/minecraft/core/entity/animal/WolfMob.java b/src/main/java/net/minecraft/core/entity/animal/WolfMob.java
index 6a1305ce7..eef1e84b7 100644
--- a/src/main/java/net/minecraft/core/entity/animal/WolfMob.java
+++ b/src/main/java/net/minecraft/core/entity/animal/WolfMob.java
@@ -302,7 +302,7 @@ public class WolfMob extends Animal
                 setWolfSitting(false);
             }
         } else
-        if(entityToAttack == null && !hasPath())
+        if(target == null && !hasPath())
         {
             if(!isWolfTamed() && world.rand.nextInt(100) == 0){
                 List<Entity> nearbySheep = world.getEntitiesWithinAABB(SheepMob.class, AABB.getTemporaryBB(x, y, z, x + 1.0D, y + 1.0D, z + 1.0D).grow(16D, 4D, 16D));
@@ -550,7 +550,7 @@ public class WolfMob extends Animal
                 if(attacker instanceof Player)
                 {
                     setWolfAngry(true);
-                    entityToAttack = attacker;
+                    target = attacker;
                 }
                 if((attacker instanceof ArrowProjectile) && ((ArrowProjectile) attacker).owner != null)
                 {
@@ -568,9 +568,9 @@ public class WolfMob extends Animal
                         }
                         Entity entity1 = iterator.next();
                         WolfMob entitywolf = (WolfMob)entity1;
-                        if(!entitywolf.isWolfTamed() && entitywolf.entityToAttack == null)
+                        if(!entitywolf.isWolfTamed() && entitywolf.target == null)
                         {
-                            entitywolf.entityToAttack = attacker;
+                            entitywolf.target = attacker;
                             if(attacker instanceof Player)
                             {
                                 entitywolf.setWolfAngry(true);
@@ -585,7 +585,7 @@ public class WolfMob extends Animal
                 {
                     return true;
                 }
-                entityToAttack = attacker;
+                target = attacker;
             }
             return true;
         } else
diff --git a/src/main/java/net/minecraft/core/entity/monster/Monster.java b/src/main/java/net/minecraft/core/entity/monster/Monster.java
index 66e6525f9..2c3de6be6 100644
--- a/src/main/java/net/minecraft/core/entity/monster/Monster.java
+++ b/src/main/java/net/minecraft/core/entity/monster/Monster.java
@@ -107,7 +107,7 @@ public abstract class Monster extends PathfinderMob
             }
             if(attacker != this)
             {
-                entityToAttack = attacker;
+                target = attacker;
             }
             return true;
         } else
diff --git a/src/main/java/net/minecraft/core/entity/monster/ScorpionMob.java b/src/main/java/net/minecraft/core/entity/monster/ScorpionMob.java
index 2589bf1a2..988535c6b 100644
--- a/src/main/java/net/minecraft/core/entity/monster/ScorpionMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/ScorpionMob.java
@@ -101,7 +101,7 @@ public class ScorpionMob extends Monster
         float f1 = getBrightness(1.0F);
         if(f1 > 0.5F && random.nextInt(100) == 0)
         {
-            entityToAttack = null;
+            target = null;
             return;
         }
         if(distance > 2.0F && distance < 6F && random.nextInt(10) == 0)
diff --git a/src/main/java/net/minecraft/core/entity/monster/SpiderMob.java b/src/main/java/net/minecraft/core/entity/monster/SpiderMob.java
index 069672ce7..46c39cdbd 100644
--- a/src/main/java/net/minecraft/core/entity/monster/SpiderMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/SpiderMob.java
@@ -101,7 +101,7 @@ public class SpiderMob extends Monster
         float brightness = getBrightness(1.0F);
         if(brightness > 0.5F && random.nextInt(100) == 0)
         {
-            entityToAttack = null;
+            target = null;
             return;
         }
         if(distance > 2.0F && distance < 6F && random.nextInt(10) == 0)
diff --git a/src/main/java/net/minecraft/core/entity/monster/ZombiePigMob.java b/src/main/java/net/minecraft/core/entity/monster/ZombiePigMob.java
index c761c4cbe..f738e2264 100644
--- a/src/main/java/net/minecraft/core/entity/monster/ZombiePigMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/ZombiePigMob.java
@@ -1,7 +1,6 @@
 package net.minecraft.core.entity.monster;
 
 import net.minecraft.core.WeightedRandomLootObject;
-import net.minecraft.core.achievement.Achievement;
 import net.minecraft.core.achievement.Achievements;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.player.Player;
@@ -39,19 +38,19 @@ public class ZombiePigMob extends ZombieMob
     @Override
 	public void tick()
     {
-        if (tickCount % 200 == 0 && entityToAttack instanceof Player && ((Player) entityToAttack).getStat(Achievements.MOST_WANTED) <= 0) {
+        if (tickCount % 200 == 0 && target instanceof Player && ((Player) target).getStat(Achievements.MOST_WANTED) <= 0) {
             int agroNumber = 1;
             for (Entity e : world.loadedEntityList) {
-                if (e instanceof ZombiePigMob && ((ZombiePigMob) e).entityToAttack == this.entityToAttack) {
+                if (e instanceof ZombiePigMob && ((ZombiePigMob) e).target == this.target) {
                     agroNumber++;
                 }
                 if (agroNumber >= 20) {
-                    ((Player) entityToAttack).addStat(Achievements.MOST_WANTED, 1);
+                    ((Player) target).addStat(Achievements.MOST_WANTED, 1);
                     break;
                 }
             }
         }
-        moveSpeed = entityToAttack == null ? 0.5F : 0.95F;
+        moveSpeed = target == null ? 0.5F : 0.95F;
         if(randomSoundDelay > 0 && --randomSoundDelay == 0)
         {
             world.playSoundAtEntity(null, this, "mob.zombiepig.zpigangry", getSoundVolume() * 2.0F, ((random.nextFloat() - random.nextFloat()) * 0.2F + 1.0F) * 1.8F);
@@ -123,7 +122,7 @@ public class ZombiePigMob extends ZombieMob
 
     private void becomeAngryAt(Entity entity)
     {
-        entityToAttack = entity;
+        target = entity;
         angerLevel = 400 + random.nextInt(400);
         randomSoundDelay = random.nextInt(40);
     }
