diff --git a/src/common/resources/lang/en_US/options.lang b/src/common/resources/lang/en_US/options.lang
index 98d7fd10d..0eb92ced8 100644
--- a/src/common/resources/lang/en_US/options.lang
+++ b/src/common/resources/lang/en_US/options.lang
@@ -87,6 +87,8 @@ options.mipmapType=Mipmap Type
 options.mipmapType.rough=Rough
 options.mipmapType.smooth=Smooth
 options.clouds=Clouds
+options.cloudHeight=Cloud Height
+options.cloudHeight.default=Default
 options.armorDurabilityOverlay=Armor Durability Overlay
 options.overlayShowCoords=Coordinates
 options.overlayShowDirection=Direction
diff --git a/src/main/java/net/minecraft/client/Minecraft.java b/src/main/java/net/minecraft/client/Minecraft.java
index 023043528..1165821aa 100644
--- a/src/main/java/net/minecraft/client/Minecraft.java
+++ b/src/main/java/net/minecraft/client/Minecraft.java
@@ -70,7 +70,7 @@ import net.minecraft.client.render.model.ModelBiped;
 import net.minecraft.client.render.shader.Shaders;
 import net.minecraft.client.render.shader.ShadersRenderer;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.texturepack.TexturePackList;
 import net.minecraft.client.render.window.GameWindow;
 import net.minecraft.client.render.window.GameWindowLWJGL2;
@@ -565,7 +565,7 @@ public class Minecraft
         glTranslatef(0.0F, 0.0F, -2000F);
         glViewport(0, 0, resolution.width, resolution.height);
         glClearColor(0.0F, 0.0F, 0.0F, 0.0F);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         glDisable(2896 /*GL_LIGHTING*/);
         glEnable(3553 /*GL_TEXTURE_2D*/);
         glDisable(2912 /*GL_FOG*/);
@@ -603,7 +603,7 @@ public class Minecraft
     {
         float scaleX = 0.00390625F;
         float scaleY = 0.00390625F;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(minX + 0, minY + height, 0.0D, (float)(minU + 0) * scaleX, (float)(minV + height) * scaleY);
         tessellator.addVertexWithUV(minX + width, minY + height, 0.0D, (float)(minU + width) * scaleX, (float)(minV + height) * scaleY);
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityArrowGoldenFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityArrowGoldenFX.java
index 3e1cfbc54..0201a2fc8 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityArrowGoldenFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityArrowGoldenFX.java
@@ -1,11 +1,8 @@
 package net.minecraft.client.entity.fx;
 
 
-// Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
-
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 
 public class EntityArrowGoldenFX extends EntityFX
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityDiggingFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityDiggingFX.java
index d49abce12..d6fb40119 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityDiggingFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityDiggingFX.java
@@ -3,12 +3,12 @@ package net.minecraft.client.entity.fx;
 import net.minecraft.client.render.LightmapHelper;
 
 // Referenced classes of package net.minecraft.src:
-//            EntityFX, Block, TessellatorStandard, World
+//            EntityFX, Block, Tessellator, World
 
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.world.World;
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityExplodeFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityExplodeFX.java
index 25da7d5be..05c1df4c3 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityExplodeFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityExplodeFX.java
@@ -4,7 +4,7 @@ import net.minecraft.client.render.stitcher.TextureRegistry;
 import net.minecraft.core.world.World;
 
 // Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
+//            EntityFX, World, Tessellator
 
 public class EntityExplodeFX extends EntityFX
 {
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityFX.java
index 8e1a36204..95d7d8557 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityFX.java
@@ -1,15 +1,15 @@
 package net.minecraft.client.entity.fx;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.util.helper.MathHelper;
 import com.mojang.nbt.CompoundTag;
 import net.minecraft.core.world.World;
 
 // Referenced classes of package net.minecraft.src:
-//            Entity, MathHelper, TessellatorStandard, World,
+//            Entity, MathHelper, Tessellator, World,
 //            NBTTagCompound
 
 public class EntityFX extends Entity
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityFireflyFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityFireflyFX.java
index d774fde68..dfae0a923 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityFireflyFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityFireflyFX.java
@@ -1,9 +1,8 @@
 package net.minecraft.client.entity.fx;
 
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.animal.EntityFireflyCluster;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.world.World;
@@ -99,7 +98,7 @@ public class EntityFireflyFX extends EntityFX
         super.renderParticle(t, partialTick, rotationX, rotationXZ, rotationZ, rotationYZ, rotationXY);
     }
 
-    public void renderParticleInGUI(TessellatorStandard t, float partialTick) {
+    public void renderParticleInGUI(Tessellator t, float partialTick) {
         float b = getInternalBrightness(partialTick);
         if (b < 0.5f)
         {
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityFlameFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityFlameFX.java
index 76c45f27e..86eded1c6 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityFlameFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityFlameFX.java
@@ -1,12 +1,9 @@
 package net.minecraft.client.entity.fx;
 
-// Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
-
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.world.World;
 
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityFootStepFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityFootStepFX.java
index 541e7e733..c963bb2b9 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityFootStepFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityFootStepFX.java
@@ -1,14 +1,14 @@
 package net.minecraft.client.entity.fx;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.client.render.RenderEngine;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
 //            EntityFX, MathHelper, World, RenderEngine, 
-//            TessellatorStandard
+//            Tessellator
 
 public class EntityFootStepFX extends EntityFX
 {
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityHeartFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityHeartFX.java
index 125fff9fc..9203ac7ff 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityHeartFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityHeartFX.java
@@ -1,11 +1,8 @@
 package net.minecraft.client.entity.fx;
 
 
-// Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
-
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 
 public class EntityHeartFX extends EntityFX
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityItemFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityItemFX.java
index 576d4a826..81970aaa9 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityItemFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityItemFX.java
@@ -3,11 +3,11 @@ package net.minecraft.client.entity.fx;
 import net.minecraft.client.render.LightmapHelper;
 
 // Referenced classes of package net.minecraft.src:
-//            EntityFX, Item, Block, TessellatorStandard,
+//            EntityFX, Item, Block, Tessellator,
 //            World
 
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.item.Item;
 import net.minecraft.core.world.World;
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityLavaFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityLavaFX.java
index 3c99ebee0..3e5fa659a 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityLavaFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityLavaFX.java
@@ -1,11 +1,11 @@
 package net.minecraft.client.entity.fx;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 
 // Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
+//            EntityFX, World, Tessellator
 
 public class EntityLavaFX extends EntityFX
 {
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityLeafFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityLeafFX.java
index 5ae6ea979..ef8643347 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityLeafFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityLeafFX.java
@@ -3,11 +3,11 @@ package net.minecraft.client.entity.fx;
 import net.minecraft.client.render.LightmapHelper;
 
 // Referenced classes of package net.minecraft.src:
-//            EntityFX, Block, TessellatorStandard, World
+//            EntityFX, Block, Tessellator, World
 
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockLeavesBase;
 import net.minecraft.core.world.World;
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityNoteFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityNoteFX.java
index 15de160e0..40c711c61 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityNoteFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityNoteFX.java
@@ -1,11 +1,8 @@
 package net.minecraft.client.entity.fx;
 
 
-// Referenced classes of package net.minecraft.src:
-//            EntityFX, MathHelper, World, TessellatorStandard
-
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.world.World;
 
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityPickupFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityPickupFX.java
index b692a2103..fde4e3413 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityPickupFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityPickupFX.java
@@ -1,15 +1,15 @@
 package net.minecraft.client.entity.fx;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.client.render.EntityRenderDispatcher;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
 //            EntityFX, Entity, MathHelper, World, 
-//            RenderManager, TessellatorStandard
+//            RenderManager, Tessellator
 
 public class EntityPickupFX extends EntityFX
 {
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityPortalFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityPortalFX.java
index 83f18f77b..2c61bf6be 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityPortalFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityPortalFX.java
@@ -1,11 +1,11 @@
 package net.minecraft.client.entity.fx;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 
 // Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
+//            EntityFX, World, Tessellator
 
 public class EntityPortalFX extends EntityFX
 {
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityRainFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityRainFX.java
index a83eb4894..1ed2b5a14 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityRainFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityRainFX.java
@@ -2,7 +2,7 @@ package net.minecraft.client.entity.fx;
 
 // Referenced classes of package net.minecraft.src:
 //            EntityFX, MathHelper, World, Material, 
-//            BlockFluid, TessellatorStandard
+//            BlockFluid, Tessellator
 
 import net.minecraft.client.render.stitcher.TextureRegistry;
 import net.minecraft.core.block.BlockFluid;
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntityReddustFX.java b/src/main/java/net/minecraft/client/entity/fx/EntityReddustFX.java
index 338ae8b97..b8b7026a5 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntityReddustFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntityReddustFX.java
@@ -1,11 +1,8 @@
 package net.minecraft.client.entity.fx;
 
 
-// Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
-
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 
 public class EntityReddustFX extends EntityFX
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntitySlimeChunkFX.java b/src/main/java/net/minecraft/client/entity/fx/EntitySlimeChunkFX.java
index 0e678c61f..23facc8c6 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntitySlimeChunkFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntitySlimeChunkFX.java
@@ -2,11 +2,11 @@ package net.minecraft.client.entity.fx;
 
 
 // Referenced classes of package net.minecraft.src:
-//            EntityFX, Item, Block, TessellatorStandard,
+//            EntityFX, Item, Block, Tessellator,
 //            World
 
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.item.Item;
 import net.minecraft.core.world.World;
 
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntitySmokeFX.java b/src/main/java/net/minecraft/client/entity/fx/EntitySmokeFX.java
index c9c64cdab..7be5cf5d0 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntitySmokeFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntitySmokeFX.java
@@ -1,11 +1,8 @@
 package net.minecraft.client.entity.fx;
 
 
-// Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
-
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 
 public class EntitySmokeFX extends EntityFX
diff --git a/src/main/java/net/minecraft/client/entity/fx/EntitySnowShovelFX.java b/src/main/java/net/minecraft/client/entity/fx/EntitySnowShovelFX.java
index 404de1596..09a612715 100644
--- a/src/main/java/net/minecraft/client/entity/fx/EntitySnowShovelFX.java
+++ b/src/main/java/net/minecraft/client/entity/fx/EntitySnowShovelFX.java
@@ -1,11 +1,8 @@
 package net.minecraft.client.entity.fx;
 
 
-// Referenced classes of package net.minecraft.src:
-//            EntityFX, World, TessellatorStandard
-
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.world.World;
 
 public class EntitySnowShovelFX extends EntityFX
diff --git a/src/main/java/net/minecraft/client/gui/Gui.java b/src/main/java/net/minecraft/client/gui/Gui.java
index 3f61e3c09..ccb531b48 100644
--- a/src/main/java/net/minecraft/client/gui/Gui.java
+++ b/src/main/java/net/minecraft/client/gui/Gui.java
@@ -5,8 +5,9 @@ import static org.lwjgl.opengl.GL11.*;
 import net.minecraft.client.lang.text.Text;
 import net.minecraft.client.render.FontRenderer;
 import net.minecraft.client.render.RenderEngine;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
+
 import org.lwjgl.opengl.GL11;
 
 public class Gui
@@ -57,7 +58,7 @@ public class Gui
         float r = (float)(argb >> 16 & 0xff) / 255F;
         float g = (float)(argb >> 8 & 0xff) / 255F;
         float b = (float)(argb & 0xff) / 255F;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glEnable(GL_BLEND);
         GL11.glDisable(GL_TEXTURE_2D);
         GL11.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -97,7 +98,7 @@ public class Gui
         float r = (float)(argb >> 16 & 0xff) / 255F;
         float g = (float)(argb >> 8 & 0xff) / 255F;
         float b = (float)(argb & 0xff) / 255F;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glDisable(GL_TEXTURE_2D);
         GL11.glColor4f(r, g, b, a);
         tessellator.startDrawingQuads();
@@ -116,7 +117,7 @@ public class Gui
     	float b = ((argb >>  0) & 0xFF) / 255f;
     	glColor4f(r, g, b, a);
     	glDisable(GL_TEXTURE_2D);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertex(x, y, 0);
         tessellator.addVertex(x, y+height, 0);
@@ -140,7 +141,7 @@ public class Gui
         GL11.glDisable(GL_ALPHA_TEST);
         GL11.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
         GL11.glShadeModel(GL_SMOOTH);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.setColorRGBA_F(r1, g1, b1, a1);
         tessellator.addVertex(maxX, minY, 0.0D);
@@ -199,7 +200,7 @@ public class Gui
     {
         float uScale = 0.00390625F;
         float vScale = 0.00390625F;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(x + 0, y + height, zLevel, (float)(u + 0) * uScale, (float)(v + height) * vScale);
         tessellator.addVertexWithUV(x + width, y + height, zLevel, (float)(u + width) * uScale, (float)(v + height) * vScale);
@@ -209,7 +210,7 @@ public class Gui
     }
     public void drawTexturedModalRect(int x, int y, int u, int v, int width, int height, double uScale, double vScale)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(x + 0, y + height, zLevel, (float)(u + 0) * uScale, (float)(v + height) * vScale);
         tessellator.addVertexWithUV(x + width, y + height, zLevel, (float)(u + width) * uScale, (float)(v + height) * vScale);
@@ -222,7 +223,7 @@ public class Gui
     {
         float uScale = 0.00390625F;
         float vScale = 0.00390625F;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(x + 0, y + height, zLevel, (float)(u + 0) * uScale, (float)(v + uvHeight) * vScale);
         tessellator.addVertexWithUV(x + width, y + height, zLevel, (float)(u + uvWidth) * uScale, (float)(v + uvHeight) * vScale);
@@ -235,7 +236,7 @@ public class Gui
     {
         float uScale = scale;
         float vScale = scale;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(x + 0, y + height, zLevel, (float)(u + 0) * uScale, (float)(v + uvWidth) * vScale);
         tessellator.addVertexWithUV(x + width, y + height, zLevel, (float)(u + uvWidth) * uScale, (float)(v + uvWidth) * vScale);
@@ -246,7 +247,7 @@ public class Gui
     public void drawTexturedIcon(int x, int y, int width, int height, IconCoordinate coordinate)
     {
         coordinate.parentAtlas.bindTexture();
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(x + 0,      y + height, zLevel, coordinate.getIconUMin(), coordinate.getIconVMax());
         tessellator.addVertexWithUV(x + width,  y + height, zLevel, coordinate.getIconUMax(), coordinate.getIconVMax());
diff --git a/src/main/java/net/minecraft/client/gui/GuiAchievement.java b/src/main/java/net/minecraft/client/gui/GuiAchievement.java
index dcb5ccfd9..b89c02760 100644
--- a/src/main/java/net/minecraft/client/gui/GuiAchievement.java
+++ b/src/main/java/net/minecraft/client/gui/GuiAchievement.java
@@ -2,7 +2,7 @@ package net.minecraft.client.gui;
 
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.achievement.Achievement;
 import net.minecraft.core.item.Item;
@@ -149,7 +149,7 @@ public class GuiAchievement extends Gui
 
         GL11.glEnable(GL11.GL_DEPTH_TEST);
         Item achievementItem = Item.itemsList[theAchievement.itemId];
-        ItemModelDispatcher.getInstance().getDispatch(achievementItem).renderItemIntoGui(TessellatorStandard.instance, theGame.fontRenderer, theGame.renderEngine, achievementItem.getDefaultStack(), i + 8, j + 8, 1.0f);
+        ItemModelDispatcher.getInstance().getDispatch(achievementItem).renderItemIntoGui(Tessellator.instance, theGame.fontRenderer, theGame.renderEngine, achievementItem.getDefaultStack(), i + 8, j + 8, 1.0f);
         GL11.glDisable(GL11.GL_DEPTH_TEST);
 
         GL11.glDisable(GL12.GL_RESCALE_NORMAL);
diff --git a/src/main/java/net/minecraft/client/gui/GuiAchievements.java b/src/main/java/net/minecraft/client/gui/GuiAchievements.java
index 56f529dc5..158c0c779 100644
--- a/src/main/java/net/minecraft/client/gui/GuiAchievements.java
+++ b/src/main/java/net/minecraft/client/gui/GuiAchievements.java
@@ -5,9 +5,9 @@ import net.minecraft.client.render.Lighting;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
 import net.minecraft.client.render.entity.ItemEntityRenderer;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.achievement.Achievement;
 import net.minecraft.core.achievement.AchievementList;
 import net.minecraft.core.achievement.stat.StatsCounter;
@@ -332,7 +332,7 @@ public class GuiAchievements extends GuiScreen
             GL11.glEnable(GL11.GL_LIGHTING);
             GL11.glEnable(GL11.GL_CULL_FACE);
             Item achievementItem = Item.itemsList[achievement3.itemId];
-            ItemModelDispatcher.getInstance().getDispatch(achievementItem).renderItemIntoGui(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, achievementItem.getDefaultStack(), i6 + 3, k6 + 3, 1.0f);
+            ItemModelDispatcher.getInstance().getDispatch(achievementItem).renderItemIntoGui(Tessellator.instance, mc.fontRenderer, mc.renderEngine, achievementItem.getDefaultStack(), i6 + 3, k6 + 3, 1.0f);
             GL11.glDisable(GL11.GL_LIGHTING);
             if(!field_27120_x.isAchievementUnlockable(achievement3))
             {
diff --git a/src/main/java/net/minecraft/client/gui/GuiEditSign.java b/src/main/java/net/minecraft/client/gui/GuiEditSign.java
index 6b036baff..206a4003e 100644
--- a/src/main/java/net/minecraft/client/gui/GuiEditSign.java
+++ b/src/main/java/net/minecraft/client/gui/GuiEditSign.java
@@ -1,11 +1,11 @@
 package net.minecraft.client.gui;
 
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.enums.EnumSignPicture;
 import net.minecraft.core.util.helper.ChatAllowedCharacters;
 import net.minecraft.core.net.packet.Packet130UpdateSign;
 import net.minecraft.client.render.TileEntityRenderDispatcher;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.entity.TileEntitySign;
 import net.minecraft.core.lang.I18n;
 import org.lwjgl.input.Keyboard;
@@ -151,7 +151,7 @@ public class GuiEditSign extends GuiScreen
         {
             entitySign.lineBeingEdited = editLine;
         }
-        TileEntityRenderDispatcher.instance.renderTileEntity(TessellatorStandard.instance, entitySign, -0.5D, -0.75D, -0.5D, 0.0F);
+        TileEntityRenderDispatcher.instance.renderTileEntity(Tessellator.instance, entitySign, -0.5D, -0.75D, -0.5D, 0.0F);
         entitySign.lineBeingEdited = -1;
         GL11.glPopMatrix();
         
diff --git a/src/main/java/net/minecraft/client/gui/GuiHudDesigner.java b/src/main/java/net/minecraft/client/gui/GuiHudDesigner.java
index 7f30c253d..586e4e05e 100644
--- a/src/main/java/net/minecraft/client/gui/GuiHudDesigner.java
+++ b/src/main/java/net/minecraft/client/gui/GuiHudDesigner.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.gui;
 
 import net.minecraft.client.gui.hud.*;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.util.helper.MathHelper;
 import org.lwjgl.opengl.GL11;
@@ -238,7 +238,7 @@ public class GuiHudDesigner
 
         drawHudComponents(mouseX, mouseY);
 
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glDisable(GL_DEPTH_TEST);
         GL11.glDisable(GL_TEXTURE_2D);
         tessellator.startDrawingQuads();
@@ -266,7 +266,7 @@ public class GuiHudDesigner
         super.drawBackground();
         GL11.glDisable(GL11.GL_LIGHTING);
         GL11.glDisable(GL11.GL_FOG);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.renderEngine.getTexture("/assets/minecraft/textures/gui/designer_bg.png"));
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         float scale = 32F;
diff --git a/src/main/java/net/minecraft/client/gui/GuiIngame.java b/src/main/java/net/minecraft/client/gui/GuiIngame.java
index 5de98c011..6ee1f3c48 100644
--- a/src/main/java/net/minecraft/client/gui/GuiIngame.java
+++ b/src/main/java/net/minecraft/client/gui/GuiIngame.java
@@ -6,12 +6,12 @@ import net.minecraft.client.gui.hud.HudComponent;
 import net.minecraft.client.gui.hud.HudComponents;
 import net.minecraft.client.render.FontRenderer;
 import net.minecraft.client.render.Lighting;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.dynamictexture.DynamicTexture;
 import net.minecraft.client.render.entity.ItemEntityRenderer;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.tag.BlockTags;
@@ -454,7 +454,7 @@ public class GuiIngame extends Gui
                 {
                     int x = 2 + sp;
                     int y = height - sp - 64 + i * 16;
-                    ItemModelDispatcher.getInstance().getDispatch(stack).renderItemIntoGui(TessellatorStandard.instance, fontrenderer, mc.renderEngine, stack, x, y, 1.0f);
+                    ItemModelDispatcher.getInstance().getDispatch(stack).renderItemIntoGui(Tessellator.instance, fontrenderer, mc.renderEngine, stack, x, y, 1.0f);
 
                     if (stack.isItemStackDamageable())
                     {
@@ -521,7 +521,7 @@ public class GuiIngame extends Gui
                     GL11.glDisable(3042 /* GL_BLEND */);
                     GL11.glEnable(32826 /* GL_RESCALE_NORMAL_EXT */);
                     Lighting.enableInventoryLight();
-                    ItemModelDispatcher.getInstance().getDispatch(heldItemStack).renderItemIntoGui(TessellatorStandard.instance, fontrenderer, mc.renderEngine, heldItemStack, x, y, 1.0f);
+                    ItemModelDispatcher.getInstance().getDispatch(heldItemStack).renderItemIntoGui(Tessellator.instance, fontrenderer, mc.renderEngine, heldItemStack, x, y, 1.0f);
                     Lighting.disable();
                 }
             }
@@ -540,7 +540,7 @@ public class GuiIngame extends Gui
 
         // Adding this mostly to see if the stitcher and dynamic textures are working properly
         if (Keyboard.isKeyDown(Keyboard.KEY_F6) && mc.theWorld.getLevelData().getCheatsEnabled()){
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
 
             TextureRegistry.blockAtlas.bindTexture();
             
@@ -605,7 +605,7 @@ public class GuiIngame extends Gui
 
         glDisable(GL_TEXTURE_2D);
         glColor4d(0.2, 0.2, 0.2, 0.6);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
 
         tessellator.startDrawingQuads();
         tessellator.drawRectangle(x - 1, y - 1, width + 2, height);
@@ -832,7 +832,7 @@ public class GuiIngame extends Gui
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         GL11.glDisable(3008 /* GL_ALPHA_TEST */);
         GL11.glBindTexture(3553 /* GL_TEXTURE_2D */, mc.renderEngine.getTexture("%blur%/misc/pumpkinblur.png"));
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(0.0D, ySize, -90D, 0.0D, 1.0D);
         tessellator.addVertexWithUV(xSize, ySize, -90D, 1.0D, 1.0D);
@@ -854,7 +854,7 @@ public class GuiIngame extends Gui
         GL11.glBlendFunc(0, 769);
         GL11.glColor4f(prevVignetteBrightness, prevVignetteBrightness, prevVignetteBrightness, 1.0F);
         GL11.glBindTexture(3553 /* GL_TEXTURE_2D */, mc.renderEngine.getTexture("%blur%/misc/vignette.png"));
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(0.0D, ySize, -90D, 0.0D, 1.0D);
         tessellator.addVertexWithUV(xSize, ySize, -90D, 1.0D, 1.0D);
@@ -886,7 +886,7 @@ public class GuiIngame extends Gui
         float f2 = (float) portal.getIconVMin();
         float f3 = (float) portal.getIconUMax();
         float f4 = (float) portal.getIconVMax();
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(0.0D, ySize, -90D, f1, f4);
         tessellator.addVertexWithUV(xSize, ySize, -90D, f3, f4);
diff --git a/src/main/java/net/minecraft/client/gui/GuiInventory.java b/src/main/java/net/minecraft/client/gui/GuiInventory.java
index f4924e723..74249ed7c 100644
--- a/src/main/java/net/minecraft/client/gui/GuiInventory.java
+++ b/src/main/java/net/minecraft/client/gui/GuiInventory.java
@@ -7,7 +7,6 @@ import java.util.List;
 
 import net.minecraft.client.gui.options.GuiOptionButton;
 import net.minecraft.client.input.controller.ControllerInput;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.core.achievement.AchievementList;
 import net.minecraft.core.entity.player.EntityPlayer;
 import net.minecraft.core.lang.I18n;
@@ -16,6 +15,7 @@ import net.minecraft.core.item.ItemStack;
 import net.minecraft.client.option.GameSettings;
 import net.minecraft.core.player.gamemode.Gamemode;
 import net.minecraft.client.render.Lighting;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.EntityRenderDispatcher;
 import org.lwjgl.opengl.GL11;
 
@@ -287,7 +287,7 @@ public class GuiInventory extends GuiContainer
         mc.thePlayer.entityBrightness = 1.0F;
         GL11.glTranslatef(0.0F, mc.thePlayer.heightOffset, 0.0F);
         EntityRenderDispatcher.instance.viewLerpYaw = 180F;
-        EntityRenderDispatcher.instance.renderEntityWithPosYaw(TessellatorStandard.instance, mc.thePlayer, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
+        EntityRenderDispatcher.instance.renderEntityWithPosYaw(Tessellator.instance, mc.thePlayer, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
         mc.thePlayer.entityBrightness = 0.0F;
         mc.thePlayer.renderYawOffset = f2;
         mc.thePlayer.yRot = f3;
diff --git a/src/main/java/net/minecraft/client/gui/GuiInventoryCreative.java b/src/main/java/net/minecraft/client/gui/GuiInventoryCreative.java
index 417a77347..fd1981910 100644
--- a/src/main/java/net/minecraft/client/gui/GuiInventoryCreative.java
+++ b/src/main/java/net/minecraft/client/gui/GuiInventoryCreative.java
@@ -1,13 +1,13 @@
 package net.minecraft.client.gui;
 
 import net.minecraft.client.input.controller.ControllerInput;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.core.InventoryAction;
 import net.minecraft.core.entity.player.EntityPlayer;
 import net.minecraft.client.gui.options.GuiOptionsButton;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.player.inventory.ContainerPlayerCreative;
 import net.minecraft.client.render.Lighting;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.EntityRenderDispatcher;
 import org.lwjgl.input.Keyboard;
 import org.lwjgl.input.Mouse;
@@ -204,7 +204,7 @@ public class GuiInventoryCreative extends GuiInventory implements ITextChangeLis
         mc.thePlayer.entityBrightness = 1.0F;
         GL11.glTranslatef(0.0F, mc.thePlayer.heightOffset, 0.0F);
         EntityRenderDispatcher.instance.viewLerpYaw = 180F;
-        EntityRenderDispatcher.instance.renderEntityWithPosYaw(TessellatorStandard.instance, mc.thePlayer, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
+        EntityRenderDispatcher.instance.renderEntityWithPosYaw(Tessellator.instance, mc.thePlayer, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
         mc.thePlayer.entityBrightness = 0.0F;
         mc.thePlayer.renderYawOffset = f2;
         mc.thePlayer.yRot = f3;
diff --git a/src/main/java/net/minecraft/client/gui/GuiMainMenu.java b/src/main/java/net/minecraft/client/gui/GuiMainMenu.java
index c3e197dc1..472d5c789 100644
--- a/src/main/java/net/minecraft/client/gui/GuiMainMenu.java
+++ b/src/main/java/net/minecraft/client/gui/GuiMainMenu.java
@@ -17,7 +17,7 @@ import javax.imageio.ImageIO;
 
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import org.lwjgl.input.Keyboard;
 import org.lwjgl.opengl.GL11;
@@ -312,7 +312,7 @@ public class GuiMainMenu extends GuiScreen
     {
         I18n i18n = I18n.getInstance();
         drawDefaultBackground();
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         char c = '\u0112';
         int k = width / 2 - c / 2;
         byte byte0 = 30;
@@ -434,7 +434,7 @@ public class GuiMainMenu extends GuiScreen
 
                         GL11.glTranslatef((float)var7, (float)var6, var10);
                         GL11.glScalef(var11, var11, var11);
-                        var5.renderBlockAsItem(TessellatorStandard.instance, BlockModelDispatcher.getInstance().getDispatch(BLOCKS_TO_DRAW[indexToDraw]), BLOCKS_TO_DRAW[indexToDraw], var12);
+                        var5.renderBlockAsItem(Tessellator.instance, BlockModelDispatcher.getInstance().getDispatch(BLOCKS_TO_DRAW[indexToDraw]), BLOCKS_TO_DRAW[indexToDraw], var12);
                         GL11.glPopMatrix();
                     }
                 }
diff --git a/src/main/java/net/minecraft/client/gui/GuiMissingMinecraft.java b/src/main/java/net/minecraft/client/gui/GuiMissingMinecraft.java
index 2e8f3621e..5b2ec3577 100644
--- a/src/main/java/net/minecraft/client/gui/GuiMissingMinecraft.java
+++ b/src/main/java/net/minecraft/client/gui/GuiMissingMinecraft.java
@@ -1,6 +1,6 @@
 package net.minecraft.client.gui;
 
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.util.helper.MathHelper;
 import org.lwjgl.opengl.GL11;
@@ -77,7 +77,7 @@ public class GuiMissingMinecraft extends GuiScreen{
         GL11.glDisable(2896 /*GL_LIGHTING*/);
         GL11.glDisable(2912 /*GL_FOG*/);
 
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, mc.renderEngine.getTexture("/assets/minecraft/textures/block/netherrack_mossy.png"));
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         GL11.glEnable(GL11.GL_BLEND);
diff --git a/src/main/java/net/minecraft/client/gui/GuiPaintingPicker.java b/src/main/java/net/minecraft/client/gui/GuiPaintingPicker.java
index 6a2a46539..5e537ec2f 100644
--- a/src/main/java/net/minecraft/client/gui/GuiPaintingPicker.java
+++ b/src/main/java/net/minecraft/client/gui/GuiPaintingPicker.java
@@ -2,7 +2,7 @@ package net.minecraft.client.gui;
 
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.player.EntityPlayer;
 import net.minecraft.core.enums.ArtType;
 import org.lwjgl.input.Mouse;
@@ -163,7 +163,7 @@ public class GuiPaintingPicker
     public void drawTexturedIconPainting(int x, int y, int width, int height, IconCoordinate coordinate, float alpha)
     {
         coordinate.parentAtlas.bindTexture();
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glColor4f(1f, 1f, 1f, alpha);
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(x + 0,      y + height, zLevel, coordinate.getIconUMin(), coordinate.getIconVMax());
diff --git a/src/main/java/net/minecraft/client/gui/GuiRenderItem.java b/src/main/java/net/minecraft/client/gui/GuiRenderItem.java
index 2852c1d78..08ff625c1 100644
--- a/src/main/java/net/minecraft/client/gui/GuiRenderItem.java
+++ b/src/main/java/net/minecraft/client/gui/GuiRenderItem.java
@@ -6,9 +6,9 @@ import net.minecraft.client.render.Lighting;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.item.model.ItemModel;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.WeightedRandomBag;
 import net.minecraft.core.WeightedRandomLootObject;
 import net.minecraft.core.data.registry.recipe.entry.RecipeEntryTrommel;
@@ -58,7 +58,7 @@ public class GuiRenderItem extends Gui
             if (itemStack != null){
                 BlockModel.setRenderBlocks(EntityRenderDispatcher.instance.itemRenderer.renderBlocksInstance);
                 ItemModel itemModel = ItemModelDispatcher.getInstance().getDispatch(itemStack.getItem());
-                itemModel.renderItemIntoGui(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, discovered ? 1.0f : 0.0f, 1.0f);
+                itemModel.renderItemIntoGui(Tessellator.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, discovered ? 1.0f : 0.0f, 1.0f);
                 if(slot instanceof SlotGuidebook){
                     if(((SlotGuidebook) slot).recipe instanceof RecipeEntryTrommel && ((SlotGuidebook) slot).item != null && ((SlotGuidebook) slot).isOutput){
                         WeightedRandomBag<WeightedRandomLootObject> loot = ((RecipeEntryTrommel)((SlotGuidebook) slot).recipe).getOutput();
@@ -73,12 +73,12 @@ public class GuiRenderItem extends Gui
                         } else {
                             s = String.valueOf(lootObject.getFixedYield());
                         }
-                        itemModel.renderItemOverlayIntoGUI(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, discovered ? s : "?", 1.0f);
+                        itemModel.renderItemOverlayIntoGUI(Tessellator.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, discovered ? s : "?", 1.0f);
                     } else {
-                        itemModel.renderItemOverlayIntoGUI(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, discovered ? null : "?", 1.0f);
+                        itemModel.renderItemOverlayIntoGUI(Tessellator.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, discovered ? null : "?", 1.0f);
                     }
                 } else {
-                    itemModel.renderItemOverlayIntoGUI(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, discovered ? null : "?", 1.0f);
+                    itemModel.renderItemOverlayIntoGUI(Tessellator.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, discovered ? null : "?", 1.0f);
                 }
             }
             GL11.glDisable(GL11.GL_DEPTH_TEST);
diff --git a/src/main/java/net/minecraft/client/gui/GuiScreen.java b/src/main/java/net/minecraft/client/gui/GuiScreen.java
index 5dcbbab5f..2a8644ba0 100644
--- a/src/main/java/net/minecraft/client/gui/GuiScreen.java
+++ b/src/main/java/net/minecraft/client/gui/GuiScreen.java
@@ -6,7 +6,7 @@ import java.util.ArrayList;
 import java.util.List;
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.util.debug.DebugRender;
 import net.minecraft.client.input.InputType;
 
@@ -182,7 +182,7 @@ public class GuiScreen extends Gui
     {
         GL11.glDisable(2896 /*GL_LIGHTING*/);
         GL11.glDisable(2912 /*GL_FOG*/);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, mc.renderEngine.getTexture("/assets/minecraft/textures/gui/background.png"));
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         float f = 32F;
diff --git a/src/main/java/net/minecraft/client/gui/GuiSelectServer.java b/src/main/java/net/minecraft/client/gui/GuiSelectServer.java
index 753d91a59..d360f3b1e 100644
--- a/src/main/java/net/minecraft/client/gui/GuiSelectServer.java
+++ b/src/main/java/net/minecraft/client/gui/GuiSelectServer.java
@@ -3,7 +3,7 @@ package net.minecraft.client.gui;
 import net.minecraft.client.gui.popup.GuiPopup;
 import net.minecraft.client.gui.popup.PopupBuilder;
 import net.minecraft.client.net.thread.ThreadPingServer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.net.SavedServerList;
@@ -264,7 +264,7 @@ public class GuiSelectServer extends GuiScreen {
 		}
 
 		@Override
-		protected void renderItem(int index, int x, int y, int height, TessellatorStandard tessellator) {
+		protected void renderItem(int index, int x, int y, int height, Tessellator tessellator) {
 			ServerData server = savedServerList.servers.get(index);
 			String line1 = server.nickname;
 			String line2 = server.address;
diff --git a/src/main/java/net/minecraft/client/gui/GuiStats.java b/src/main/java/net/minecraft/client/gui/GuiStats.java
index 8008afb06..e171f1e5e 100644
--- a/src/main/java/net/minecraft/client/gui/GuiStats.java
+++ b/src/main/java/net/minecraft/client/gui/GuiStats.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.gui;
 
 import net.minecraft.client.Minecraft;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.achievement.stat.*;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.item.Item;
@@ -102,7 +102,7 @@ public class GuiStats extends GuiScreen
         GL11.glEnable(32826 /*GL_RESCALE_NORMAL_EXT*/);
         Lighting.enableInventoryLight();
         Item item = Item.itemsList[k];
-        ItemModelDispatcher.getInstance().getDispatch(item).renderItemIntoGui(TessellatorStandard.instance, fontRenderer, mc.renderEngine, item.getDefaultStack(), i + 2, j + 2, 1F);
+        ItemModelDispatcher.getInstance().getDispatch(item).renderItemIntoGui(Tessellator.instance, fontRenderer, mc.renderEngine, item.getDefaultStack(), i + 2, j + 2, 1F);
         Lighting.disable();
         GL11.glDisable(32826 /*GL_RESCALE_NORMAL_EXT*/);
     }
@@ -117,7 +117,7 @@ public class GuiStats extends GuiScreen
         int i1 = mc.renderEngine.getTexture("/assets/minecraft/textures/gui/slot.png");
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         mc.renderEngine.bindTexture(i1);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(i + 0, j + 18, zLevel, (float)(k + 0) * 0.0078125F, (float)(l + 18) * 0.0078125F);
         tessellator.addVertexWithUV(i + 18, j + 18, zLevel, (float)(k + 18) * 0.0078125F, (float)(l + 18) * 0.0078125F);
@@ -257,7 +257,7 @@ public class GuiStats extends GuiScreen
         }
 
         @Override
-        protected void renderHeader(int x, int y, TessellatorStandard tessellator)
+        protected void renderHeader(int x, int y, Tessellator tessellator)
         {
             if(!Mouse.isButtonDown(0))
             {
@@ -476,7 +476,7 @@ public class GuiStats extends GuiScreen
         }
 
         @Override
-        protected void renderItem(int index, int x, int y, int height, TessellatorStandard tessellator)
+        protected void renderItem(int index, int x, int y, int height, Tessellator tessellator)
         {
             Stat statbase = (Stat)StatList.statList2.get(index);
             drawString(fontRenderer, statbase.getStatName(), x + 2, y + 1, index % 2 != 0 ? 0x909090 : 0xffffff);
@@ -560,7 +560,7 @@ public class GuiStats extends GuiScreen
         }
 
         @Override
-        protected void renderHeader(int x, int y, TessellatorStandard tessellator)
+        protected void renderHeader(int x, int y, Tessellator tessellator)
         {
             super.renderHeader(x, y, tessellator);
             if(field_27268_b == 0)
@@ -587,7 +587,7 @@ public class GuiStats extends GuiScreen
         }
 
         @Override
-        protected void renderItem(int index, int x, int y, int height, TessellatorStandard tessellator)
+        protected void renderItem(int index, int x, int y, int height, Tessellator tessellator)
         {
             StatItem statcrafting = func_27264_b(index);
             int i1 = statcrafting.getItemID();
@@ -690,7 +690,7 @@ public class GuiStats extends GuiScreen
         }
 
         @Override
-        protected void renderHeader(int x, int y, TessellatorStandard tessellator)
+        protected void renderHeader(int x, int y, Tessellator tessellator)
         {
             super.renderHeader(x, y, tessellator);
             if(field_27268_b == 0)
@@ -717,7 +717,7 @@ public class GuiStats extends GuiScreen
         }
 
         @Override
-        protected void renderItem(int index, int x, int y, int height, TessellatorStandard tessellator)
+        protected void renderItem(int index, int x, int y, int height, Tessellator tessellator)
         {
             StatItem statcrafting = func_27264_b(index);
             int i1 = statcrafting.getItemID();
diff --git a/src/main/java/net/minecraft/client/gui/GuiTooltip.java b/src/main/java/net/minecraft/client/gui/GuiTooltip.java
index 6a93bb25e..27975a72b 100644
--- a/src/main/java/net/minecraft/client/gui/GuiTooltip.java
+++ b/src/main/java/net/minecraft/client/gui/GuiTooltip.java
@@ -1,13 +1,13 @@
 package net.minecraft.client.gui;
 
 import net.minecraft.client.Minecraft;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.core.WeightedRandomBag;
 import net.minecraft.core.data.registry.recipe.entry.RecipeEntryTrommel;
 import net.minecraft.core.data.registry.recipe.RecipeSymbol;
 import net.minecraft.core.item.ItemStack;
 import net.minecraft.client.option.enums.TooltipStyle;
 import net.minecraft.client.render.FontRenderer;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.player.inventory.slot.Slot;
 import net.minecraft.core.player.inventory.slot.SlotCrafting;
 import net.minecraft.core.lang.I18n;
@@ -90,7 +90,7 @@ public class GuiTooltip extends Gui
         int horWidth2 = (maxX - minX) - 6;
         int vertHeight2 = (maxY - minY) - 6;
 
-        TessellatorStandard tl = TessellatorStandard.instance;
+        Tessellator tl = Tessellator.instance;
 
         mc.renderEngine.bindTexture(mc.renderEngine.getTexture(mc.gameSettings.tooltipStyle.value.getFilePath()));
 
diff --git a/src/main/java/net/minecraft/client/gui/GuiWorldSlot.java b/src/main/java/net/minecraft/client/gui/GuiWorldSlot.java
index 6f4a0271b..c3ff3ae56 100644
--- a/src/main/java/net/minecraft/client/gui/GuiWorldSlot.java
+++ b/src/main/java/net/minecraft/client/gui/GuiWorldSlot.java
@@ -2,9 +2,9 @@ package net.minecraft.client.gui;
 
 import net.minecraft.core.net.command.TextFormatting;
 import net.minecraft.core.util.helper.MathHelper;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.player.gamemode.Gamemode;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.core.world.save.DimensionData;
 import net.minecraft.core.world.save.LevelData;
 import net.minecraft.core.world.save.SaveFile;
@@ -14,7 +14,7 @@ import java.util.Date;
 
 // Referenced classes of package net.minecraft.src:
 //            GuiSlot, GuiSelectWorld, GuiButton, SaveFormatComparator, 
-//            MathHelper, TessellatorStandard
+//            MathHelper, Tessellator
 
 class GuiWorldSlot extends ScrolledSelectionList
 {
@@ -65,7 +65,7 @@ class GuiWorldSlot extends ScrolledSelectionList
     }
 
     @Override
-	protected void renderItem(int index, int x, int y, int height, TessellatorStandard tessellator)
+	protected void renderItem(int index, int x, int y, int height, Tessellator tessellator)
     {
         I18n i18n = I18n.getInstance();
         SaveFile saveFile = GuiSelectWorld.getSaveList(parentWorldGui).get(index);
diff --git a/src/main/java/net/minecraft/client/gui/MainMenuBackground.java b/src/main/java/net/minecraft/client/gui/MainMenuBackground.java
index d49bb8460..0afa0d3eb 100644
--- a/src/main/java/net/minecraft/client/gui/MainMenuBackground.java
+++ b/src/main/java/net/minecraft/client/gui/MainMenuBackground.java
@@ -16,7 +16,7 @@ import com.b100.json.element.JsonObject;
 import net.minecraft.client.GLAllocation;
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.OpenGLHelper;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.texturepack.TexturePack;
 import net.minecraft.client.render.texturepack.TexturePackException;
 import net.minecraft.client.util.helper.TexturePackJsonHelper;
@@ -158,7 +158,7 @@ public class MainMenuBackground {
 		float uborder = border / (float) background.width;
 		float vborder = border / (float) background.height;
 		
-		TessellatorStandard tessellator = TessellatorStandard.instance;
+		Tessellator tessellator = Tessellator.instance;
 		tessellator.startDrawingQuads();
 		tessellator.drawRectangleWithUV(x, y, w, h, uborder, vborder, 1.0 - uborder * 2.0f, 1.0 - vborder * 2.0f);
 		tessellator.draw();
diff --git a/src/main/java/net/minecraft/client/gui/ScrolledSelectionList.java b/src/main/java/net/minecraft/client/gui/ScrolledSelectionList.java
index 21aed2804..8312f28ec 100644
--- a/src/main/java/net/minecraft/client/gui/ScrolledSelectionList.java
+++ b/src/main/java/net/minecraft/client/gui/ScrolledSelectionList.java
@@ -1,7 +1,8 @@
 package net.minecraft.client.gui;
 
 import net.minecraft.client.Minecraft;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
+
 import org.lwjgl.input.Mouse;
 import org.lwjgl.opengl.GL11;
 
@@ -61,9 +62,9 @@ public abstract class ScrolledSelectionList {
 
     protected abstract void renderHoleBackground();
 
-    protected abstract void renderItem(int index, int x, int y, int height, TessellatorStandard tessellator);
+    protected abstract void renderItem(int index, int x, int y, int height, Tessellator tessellator);
 
-    protected void renderHeader(int x, int y, TessellatorStandard tessellator) {
+    protected void renderHeader(int x, int y, Tessellator tessellator) {
     }
 
     protected void clickedHeader(int x, int y) {
@@ -154,7 +155,7 @@ public abstract class ScrolledSelectionList {
         capYPosition();
         GL11.glDisable(2896 /*GL_LIGHTING*/);
         GL11.glDisable(2912 /*GL_FOG*/);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, minecraft.renderEngine.getTexture("/assets/minecraft/textures/gui/background.png"));
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         float f1 = 32F;
@@ -266,7 +267,7 @@ public abstract class ScrolledSelectionList {
     }
 
     private void renderHoleBackground(int y0, int y1, int a0, int a1) {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, minecraft.renderEngine.getTexture("/assets/minecraft/textures/gui/background.png"));
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
         float f = 32F;
diff --git a/src/main/java/net/minecraft/client/gui/createworld/ButtonComponent.java b/src/main/java/net/minecraft/client/gui/createworld/ButtonComponent.java
index 54ea3feee..bf2fbb3a6 100644
--- a/src/main/java/net/minecraft/client/gui/createworld/ButtonComponent.java
+++ b/src/main/java/net/minecraft/client/gui/createworld/ButtonComponent.java
@@ -5,7 +5,7 @@ import net.minecraft.client.gui.GuiButton;
 import net.minecraft.client.gui.GuiTexturedButton;
 import net.minecraft.client.gui.paged.PageComponent;
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.sound.SoundCategory;
 import org.lwjgl.opengl.GL11;
@@ -105,7 +105,7 @@ public abstract class ButtonComponent
 
     protected void drawRect(int minX, int minY, int maxX, int maxY, int argb)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glEnable(GL_BLEND);
         GL11.glDisable(GL_TEXTURE_2D);
         GL11.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
diff --git a/src/main/java/net/minecraft/client/gui/createworld/TextFieldComponent.java b/src/main/java/net/minecraft/client/gui/createworld/TextFieldComponent.java
index 44e9c5f4b..8aff0bfd9 100644
--- a/src/main/java/net/minecraft/client/gui/createworld/TextFieldComponent.java
+++ b/src/main/java/net/minecraft/client/gui/createworld/TextFieldComponent.java
@@ -7,7 +7,7 @@ import net.minecraft.client.gui.GuiTexturedButton;
 import net.minecraft.client.gui.paged.CallbackComponent;
 import net.minecraft.client.gui.paged.OnValueChangedCallback;
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.sound.SoundCategory;
 import org.lwjgl.input.Keyboard;
@@ -104,7 +104,7 @@ public class TextFieldComponent
 
     protected void drawRect(int minX, int minY, int maxX, int maxY, int argb)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glEnable(GL_BLEND);
         GL11.glDisable(GL_TEXTURE_2D);
         GL11.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
diff --git a/src/main/java/net/minecraft/client/gui/guidebook/GuiGuidebook.java b/src/main/java/net/minecraft/client/gui/guidebook/GuiGuidebook.java
index 847c4ccd3..419149af0 100644
--- a/src/main/java/net/minecraft/client/gui/guidebook/GuiGuidebook.java
+++ b/src/main/java/net/minecraft/client/gui/guidebook/GuiGuidebook.java
@@ -11,7 +11,7 @@ import net.minecraft.client.render.OpenGLHelper;
 import net.minecraft.client.render.RenderEngine;
 import net.minecraft.client.render.entity.ItemEntityRenderer;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.item.ItemStack;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.util.helper.MathHelper;
@@ -467,7 +467,7 @@ public class GuiGuidebook
                 GL11.glEnable(GL12.GL_RESCALE_NORMAL);
 
                 GL11.glEnable(GL11.GL_DEPTH_TEST);
-                ItemModelDispatcher.getInstance().getDispatch(icon).renderItemIntoGui(TessellatorStandard.instance, fr, re, icon, x + iconOffset + xo, y + 4, 1.0f);
+                ItemModelDispatcher.getInstance().getDispatch(icon).renderItemIntoGui(Tessellator.instance, fr, re, icon, x + iconOffset + xo, y + 4, 1.0f);
                 GL11.glDisable(GL11.GL_DEPTH_TEST);
 
                 GL11.glDisable(GL12.GL_RESCALE_NORMAL);
diff --git a/src/main/java/net/minecraft/client/gui/guidebook/mobs/MobPage.java b/src/main/java/net/minecraft/client/gui/guidebook/mobs/MobPage.java
index cd403ce4d..4de8c09ff 100644
--- a/src/main/java/net/minecraft/client/gui/guidebook/mobs/MobPage.java
+++ b/src/main/java/net/minecraft/client/gui/guidebook/mobs/MobPage.java
@@ -6,7 +6,7 @@ import net.minecraft.client.gui.GuiTooltip;
 import net.minecraft.client.gui.guidebook.GuidebookPage;
 import net.minecraft.client.gui.guidebook.GuidebookSection;
 import net.minecraft.client.render.*;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.achievement.stat.StatList;
 import net.minecraft.core.data.registry.recipe.RecipeSymbol;
@@ -275,7 +275,7 @@ public class MobPage
         example.entityBrightness = 1.0F;
         GL11.glTranslatef(0.0F, example.heightOffset, 0.0F);
         EntityRenderDispatcher.instance.viewLerpYaw = 180F;
-        EntityRenderDispatcher.instance.renderEntityPreviewWithPosYaw(TessellatorStandard.instance, example, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
+        EntityRenderDispatcher.instance.renderEntityPreviewWithPosYaw(Tessellator.instance, example, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
         GL11.glPopMatrix();
         Lighting.disable();
         GL11.glDisable(32826 /*GL_RESCALE_NORMAL_EXT*/);
diff --git a/src/main/java/net/minecraft/client/gui/hud/HotbarComponent.java b/src/main/java/net/minecraft/client/gui/hud/HotbarComponent.java
index 1fff3afdb..439ff60d4 100644
--- a/src/main/java/net/minecraft/client/gui/hud/HotbarComponent.java
+++ b/src/main/java/net/minecraft/client/gui/hud/HotbarComponent.java
@@ -7,7 +7,7 @@ import net.minecraft.client.render.Lighting;
 import net.minecraft.client.render.Scissor;
 import net.minecraft.client.render.item.model.ItemModel;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.item.ItemStack;
 import net.minecraft.core.player.inventory.InventoryPlayer;
@@ -178,17 +178,17 @@ public class HotbarComponent
             GL11.glScalef(1.0F / f2, (f2 + 1.0F) / 2.0F, 1.0F);
             GL11.glTranslatef(-(x + 8), -(y + 12), 0.0F);
         }
-        itemModel.renderItemIntoGui(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, itemstack, x, y, 1.0f);
+        itemModel.renderItemIntoGui(Tessellator.instance, mc.fontRenderer, mc.renderEngine, itemstack, x, y, 1.0f);
         if (animProgress > 0.0F)
         {
             GL11.glPopMatrix();
         }
-        itemModel.renderItemOverlayIntoGUI(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, itemstack, x, y, 1.0f);
+        itemModel.renderItemOverlayIntoGUI(Tessellator.instance, mc.fontRenderer, mc.renderEngine, itemstack, x, y, 1.0f);
     }
 
     private void renderItem(Minecraft mc, ItemStack itemStack, int x, int y) {
         ItemModel itemModel = ItemModelDispatcher.getInstance().getDispatch(itemStack.getItem());
-        itemModel.renderItemIntoGui(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, 1.0f);
-        itemModel.renderItemOverlayIntoGUI(TessellatorStandard.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, 1.0f);
+        itemModel.renderItemIntoGui(Tessellator.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, 1.0f);
+        itemModel.renderItemOverlayIntoGUI(Tessellator.instance, mc.fontRenderer, mc.renderEngine, itemStack, x, y, 1.0f);
     }
 }
diff --git a/src/main/java/net/minecraft/client/gui/modelviewer/GuiModelViewer.java b/src/main/java/net/minecraft/client/gui/modelviewer/GuiModelViewer.java
index 1f154d214..b36113763 100644
--- a/src/main/java/net/minecraft/client/gui/modelviewer/GuiModelViewer.java
+++ b/src/main/java/net/minecraft/client/gui/modelviewer/GuiModelViewer.java
@@ -19,7 +19,7 @@ import net.minecraft.client.render.TileEntityRenderDispatcher;
 import net.minecraft.client.render.shader.PhotoModeRenderer;
 import net.minecraft.client.render.shader.Shaders;
 import net.minecraft.client.render.shader.ShadersRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.util.helper.Textures;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.entity.TileEntity;
@@ -373,7 +373,7 @@ public class GuiModelViewer extends GuiPhotoMode implements GuiListenerTextField
 
         scroll(Mouse.getDWheel());
 
-        TileEntityRenderDispatcher.instance.renderTileEntity(TessellatorStandard.instance, new TileEntity(), -0.5D, -0.75D, -0.5D, partialTick);
+        TileEntityRenderDispatcher.instance.renderTileEntity(Tessellator.instance, new TileEntity(), -0.5D, -0.75D, -0.5D, partialTick);
 
         drawStringCentered(fontRenderer, currentCategory.getCurrentDisplayInfo(I18n.getInstance()), width/2, 1, 0xffffff);
     }
diff --git a/src/main/java/net/minecraft/client/gui/options/GuiOptions.java b/src/main/java/net/minecraft/client/gui/options/GuiOptions.java
index a3795479e..787a0ef13 100644
--- a/src/main/java/net/minecraft/client/gui/options/GuiOptions.java
+++ b/src/main/java/net/minecraft/client/gui/options/GuiOptions.java
@@ -10,7 +10,7 @@ import net.minecraft.client.gui.options.data.OptionsPages;
 import net.minecraft.client.gui.options.data.OptionsPageRegistry;
 import net.minecraft.client.option.KeyBinding;
 import net.minecraft.client.render.Scissor;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.sound.SoundCategory;
 import org.lwjgl.input.Keyboard;
@@ -250,7 +250,7 @@ public class GuiOptions
         // Draw shadows
         if (mc.theWorld == null)
         {
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             GL11.glDisable(GL_DEPTH_TEST);
             int shadowSize = 4;
             GL11.glEnable(GL_BLEND);
@@ -318,7 +318,7 @@ public class GuiOptions
 
         int scrollBarY = (int) (top + (optionsScrollRegionHeight - scrollBarHeightPx) * scrollPercent);
 
-        TessellatorStandard t = TessellatorStandard.instance;
+        Tessellator t = Tessellator.instance;
 
         t.startDrawingQuads();
         t.setColorOpaque(0, 0, 0);
@@ -363,7 +363,7 @@ public class GuiOptions
 
         int scrollBarY = (int) (top + (pagesListScrollRegionHeight - scrollBarHeightPx) * scrollPercent);
 
-        TessellatorStandard t = TessellatorStandard.instance;
+        Tessellator t = Tessellator.instance;
 
         t.startDrawingQuads();
         t.setColorOpaque(0, 0, 0);
@@ -469,7 +469,7 @@ public class GuiOptions
 
         if (mc.theWorld == null)
         {
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             GL11.glBindTexture(GL_TEXTURE_2D, mc.renderEngine.getTexture("/assets/minecraft/textures/gui/background.png"));
             GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
             float scale = 32F;
@@ -500,7 +500,7 @@ public class GuiOptions
     {
         if (mc.theWorld == null)
         {
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             GL11.glBindTexture(GL_TEXTURE_2D, mc.renderEngine.getTexture("/assets/minecraft/textures/gui/background.png"));
             GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
             float scale = 32F;
diff --git a/src/main/java/net/minecraft/client/gui/options/components/AvailableTexturePackListComponent.java b/src/main/java/net/minecraft/client/gui/options/components/AvailableTexturePackListComponent.java
index f8b41d50e..86a3cc0b2 100644
--- a/src/main/java/net/minecraft/client/gui/options/components/AvailableTexturePackListComponent.java
+++ b/src/main/java/net/minecraft/client/gui/options/components/AvailableTexturePackListComponent.java
@@ -11,7 +11,7 @@ import org.lwjgl.opengl.GL11;
 
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.texturepack.TexturePack;
 import net.minecraft.client.util.helper.Colors;
 import net.minecraft.core.Global;
@@ -126,7 +126,7 @@ public class AvailableTexturePackListComponent
         }
 
         public void render(int x, int y, int width, int mouseX, int mouseY, int index, boolean hovered) {
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             FontRenderer fontRenderer = mc.fontRenderer;
 
             setupButton(x, y, width, mouseX, mouseY);
diff --git a/src/main/java/net/minecraft/client/gui/options/components/ButtonComponent.java b/src/main/java/net/minecraft/client/gui/options/components/ButtonComponent.java
index 0855d3aef..eb0a401c8 100644
--- a/src/main/java/net/minecraft/client/gui/options/components/ButtonComponent.java
+++ b/src/main/java/net/minecraft/client/gui/options/components/ButtonComponent.java
@@ -4,7 +4,7 @@ import net.minecraft.client.Minecraft;
 import net.minecraft.client.gui.GuiButton;
 import net.minecraft.client.gui.GuiTexturedButton;
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.sound.SoundCategory;
 import org.lwjgl.opengl.GL11;
@@ -105,7 +105,7 @@ public abstract class ButtonComponent
 
     protected void drawRect(int minX, int minY, int maxX, int maxY, int argb)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glEnable(GL_BLEND);
         GL11.glDisable(GL_TEXTURE_2D);
         GL11.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
diff --git a/src/main/java/net/minecraft/client/gui/options/components/LanguagePackListComponent.java b/src/main/java/net/minecraft/client/gui/options/components/LanguagePackListComponent.java
index a651ccf00..25f24d7a3 100644
--- a/src/main/java/net/minecraft/client/gui/options/components/LanguagePackListComponent.java
+++ b/src/main/java/net/minecraft/client/gui/options/components/LanguagePackListComponent.java
@@ -2,7 +2,7 @@ package net.minecraft.client.gui.options.components;
 
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.lang.Language;
 import net.minecraft.core.lang.LanguageSeeker;
@@ -95,7 +95,7 @@ public class LanguagePackListComponent
 
         public void render(int x, int y, int width, int mouseX, int mouseY) {
             FontRenderer textRenderer = mc.fontRenderer;
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
 
             if (mc.gameSettings.language.value.equals(languagePack.getId())) {
                 // Draw background
diff --git a/src/main/java/net/minecraft/client/gui/options/components/SelectedTexturePackListComponent.java b/src/main/java/net/minecraft/client/gui/options/components/SelectedTexturePackListComponent.java
index fa599a132..1a3fa786a 100644
--- a/src/main/java/net/minecraft/client/gui/options/components/SelectedTexturePackListComponent.java
+++ b/src/main/java/net/minecraft/client/gui/options/components/SelectedTexturePackListComponent.java
@@ -3,7 +3,7 @@ package net.minecraft.client.gui.options.components;
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.gui.GuiButton;
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.texturepack.TexturePack;
 import net.minecraft.client.util.helper.Colors;
 import net.minecraft.core.Global;
@@ -206,7 +206,7 @@ public class SelectedTexturePackListComponent implements OptionsComponent {
         }
 
         public void render(SelectedTexturePackListComponent component, int x, int y, int width, int mouseX, int mouseY) {
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             FontRenderer fontRenderer = mc.fontRenderer;
 
             setupButton(x, y, width, mouseX, mouseY);
diff --git a/src/main/java/net/minecraft/client/gui/options/data/OptionsPages.java b/src/main/java/net/minecraft/client/gui/options/data/OptionsPages.java
index 7580a97ab..67b2fcc20 100644
--- a/src/main/java/net/minecraft/client/gui/options/data/OptionsPages.java
+++ b/src/main/java/net/minecraft/client/gui/options/data/OptionsPages.java
@@ -99,6 +99,7 @@ public abstract class OptionsPages
             .withComponent(new BooleanOptionComponent(mc.gameSettings.vignette))
             .withComponent(new BooleanOptionComponent(mc.gameSettings.items3D))
             .withComponent(new BooleanOptionComponent(mc.gameSettings.clouds))
+            .withComponent(new FloatOptionComponent(mc.gameSettings.cloudHeight))
             .withComponent(new BooleanOptionComponent(mc.gameSettings.aurora))
             .withComponent(new BooleanOptionComponent(mc.gameSettings.slimeParticles))
             .withComponent(new FloatOptionComponent(mc.gameSettings.blockOutlineWidth))
diff --git a/src/main/java/net/minecraft/client/gui/paged/GuiPaged.java b/src/main/java/net/minecraft/client/gui/paged/GuiPaged.java
index d28f1abc4..af5df7c22 100644
--- a/src/main/java/net/minecraft/client/gui/paged/GuiPaged.java
+++ b/src/main/java/net/minecraft/client/gui/paged/GuiPaged.java
@@ -4,7 +4,7 @@ import net.minecraft.client.gui.GuiButton;
 import net.minecraft.client.gui.GuiRenderItem;
 import net.minecraft.client.gui.GuiScreen;
 import net.minecraft.client.render.Scissor;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.sound.SoundCategory;
 import org.lwjgl.input.Keyboard;
@@ -223,7 +223,7 @@ public class GuiPaged
         // Draw shadows
         if (mc.theWorld == null)
         {
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             GL11.glDisable(GL_DEPTH_TEST);
             int shadowSize = 4;
             GL11.glEnable(GL_BLEND);
@@ -285,7 +285,7 @@ public class GuiPaged
 
         int scrollBarY = (int) (top + (rightScrollRegionHeight - scrollBarHeightPx) * scrollPercent);
 
-        TessellatorStandard t = TessellatorStandard.instance;
+        Tessellator t = Tessellator.instance;
 
         t.startDrawingQuads();
         t.setColorOpaque(0, 0, 0);
@@ -330,7 +330,7 @@ public class GuiPaged
 
         int scrollBarY = (int) (top + (leftScrollRegionHeight - scrollBarHeightPx) * scrollPercent);
 
-        TessellatorStandard t = TessellatorStandard.instance;
+        Tessellator t = Tessellator.instance;
 
         t.startDrawingQuads();
         t.setColorOpaque(0, 0, 0);
@@ -426,7 +426,7 @@ public class GuiPaged
 
         if (mc.theWorld == null)
         {
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             GL11.glBindTexture(GL_TEXTURE_2D, mc.renderEngine.getTexture("/assets/minecraft/textures/gui/background.png"));
             GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
             float scale = 32F;
@@ -457,7 +457,7 @@ public class GuiPaged
     {
         if (mc.theWorld == null)
         {
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             GL11.glBindTexture(GL_TEXTURE_2D, mc.renderEngine.getTexture("/assets/minecraft/textures/gui/background.png"));
             GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
             float scale = 32F;
diff --git a/src/main/java/net/minecraft/client/gui/popup/GuiPopup.java b/src/main/java/net/minecraft/client/gui/popup/GuiPopup.java
index 18c063e48..c0ef45899 100644
--- a/src/main/java/net/minecraft/client/gui/popup/GuiPopup.java
+++ b/src/main/java/net/minecraft/client/gui/popup/GuiPopup.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.gui.popup;
 
 import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.util.collection.Pair;
 import org.lwjgl.input.Keyboard;
 import org.lwjgl.opengl.GL11;
@@ -186,7 +186,7 @@ public final class GuiPopup
 
         GL11.glDisable(GL11.GL_LIGHTING);
         GL11.glDisable(GL11.GL_FOG);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
 
         if(backgroundColor == null){
diff --git a/src/main/java/net/minecraft/client/gui/popup/ListComponent.java b/src/main/java/net/minecraft/client/gui/popup/ListComponent.java
index 35b29d246..76bed7d7a 100644
--- a/src/main/java/net/minecraft/client/gui/popup/ListComponent.java
+++ b/src/main/java/net/minecraft/client/gui/popup/ListComponent.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.gui.popup;
 
 import net.minecraft.client.render.Scissor;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.sound.SoundCategory;
 import org.lwjgl.input.Mouse;
 import org.lwjgl.opengl.GL11;
@@ -217,7 +217,7 @@ public class ListComponent
 
     private void drawBackground(int x, int y)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.setColorOpaque_I(0xA0A0A0);
         tessellator.addVertex(x, y + height, 0.0D);
@@ -256,7 +256,7 @@ public class ListComponent
         scrollbarY = y + 1 + (int) (scrollAmount * scrollbarDelta);
         scrollbarX = x + getWidth() - 1 - 6;
         
-        TessellatorStandard t = TessellatorStandard.instance;
+        Tessellator t = Tessellator.instance;
 
         t.startDrawingQuads();
         t.setColorRGBA_I(0x808080, 255);
diff --git a/src/main/java/net/minecraft/client/gui/popup/MessageBoxComponent.java b/src/main/java/net/minecraft/client/gui/popup/MessageBoxComponent.java
index db951725e..39dea97c6 100644
--- a/src/main/java/net/minecraft/client/gui/popup/MessageBoxComponent.java
+++ b/src/main/java/net/minecraft/client/gui/popup/MessageBoxComponent.java
@@ -2,7 +2,7 @@ package net.minecraft.client.gui.popup;
 
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.Scissor;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.net.command.TextFormatting;
 import net.minecraft.core.util.helper.MathHelper;
 import org.lwjgl.input.Mouse;
@@ -145,7 +145,7 @@ public class MessageBoxComponent
 
     private void drawBackground(int x, int y)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.setColorOpaque_I(0xA0A0A0);
         tessellator.addVertex(x, y + height, 0.0D);
@@ -179,7 +179,7 @@ public class MessageBoxComponent
         scrollbarY = y + 1 + (int) (scrollAmount * scrollbarDelta);
         scrollbarX = x + getWidth() - 1 - 6;
         
-        TessellatorStandard t = TessellatorStandard.instance;
+        Tessellator t = Tessellator.instance;
 
         t.startDrawingQuads();
         t.setColorRGBA_I(0x808080, 255);
diff --git a/src/main/java/net/minecraft/client/option/GameSettings.java b/src/main/java/net/minecraft/client/option/GameSettings.java
index 7e1c92c5c..982b055f1 100644
--- a/src/main/java/net/minecraft/client/option/GameSettings.java
+++ b/src/main/java/net/minecraft/client/option/GameSettings.java
@@ -9,7 +9,7 @@ import java.io.FileWriter;
 import java.io.PrintWriter;
 
 import net.minecraft.client.option.enums.*;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+
 import org.lwjgl.opengl.Display;
 
 import com.b100.utils.ReflectUtils;
@@ -18,6 +18,7 @@ import net.minecraft.client.Minecraft;
 import net.minecraft.client.discord.RichPresenceHandlerThread;
 import net.minecraft.client.gui.hud.HudComponents;
 import net.minecraft.core.enums.PlacementMode;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.window.GameWindowLWJGL2;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.sound.SoundCategory;
@@ -83,6 +84,7 @@ public class GameSettings {
 	public BooleanOption controllerSwapAB = new BooleanOption(this, "controllerSwapAB", false);
 	public BooleanOption controllerSwapXY = new BooleanOption(this, "controllerSwapXY", false);
 	public BooleanOption clouds = new BooleanOption(this, "clouds", true);
+	public FloatOption cloudHeight = new FloatOption(this, "cloudHeight", 0f);
 	public BooleanOption armorDurabilityOverlay = new BooleanOption(this, "armorDurabilityOverlay", false);
 	public BooleanOption armorProtectionOverlay = new BooleanOption(this, "armorProtectionOverlay", true);
 	public BooleanOption heldItemCountOverlay = new BooleanOption(this, "heldItemCountOverlay", false);
@@ -289,6 +291,14 @@ public class GameSettings {
 					return (timer * 5) + " seconds";
 				}
 			}
+			if (option == cloudHeight) {
+				int percent = (int)(value * 100.0f + 100.0f);
+				if (percent == 100) {
+					return trans.translateKey("options.cloudHeight.default");
+				} else {
+					return percent + "%";
+				}
+			}
 			if (value == 0.0F) {
 				return trans.translateKey("options.off");
 			} else {
@@ -412,7 +422,7 @@ public class GameSettings {
 			}
 		}
 		if(option == enableVbos){
-			TessellatorStandard.instance.setUseVBO(enableVbos.value);
+			Tessellator.instance.setUseVBO(enableVbos.value);
 			if (mc.renderGlobal != null){
 				mc.renderGlobal.loadRenderers();
 			}
diff --git a/src/main/java/net/minecraft/client/render/ChunkRenderer.java b/src/main/java/net/minecraft/client/render/ChunkRenderer.java
index a75ad9c5b..6fb1c0f7a 100644
--- a/src/main/java/net/minecraft/client/render/ChunkRenderer.java
+++ b/src/main/java/net/minecraft/client/render/ChunkRenderer.java
@@ -5,8 +5,7 @@ import net.minecraft.client.render.block.model.BlockModelDispatcher;
 import net.minecraft.client.render.camera.ICamera;
 import net.minecraft.client.render.culling.CameraFrustum;
 import net.minecraft.client.render.entity.ItemEntityRenderer;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.entity.TileEntity;
 import net.minecraft.core.entity.Entity;
@@ -313,6 +312,6 @@ public class ChunkRenderer
 
     static 
     {
-        tessellator = TessellatorStandard.instance;
+        tessellator = Tessellator.instance;
     }
 }
diff --git a/src/main/java/net/minecraft/client/render/EffectRenderer.java b/src/main/java/net/minecraft/client/render/EffectRenderer.java
index 08171fbc0..23d1ef3cb 100644
--- a/src/main/java/net/minecraft/client/render/EffectRenderer.java
+++ b/src/main/java/net/minecraft/client/render/EffectRenderer.java
@@ -5,8 +5,8 @@ import java.util.*;
 import net.minecraft.client.render.camera.ICamera;
 import net.minecraft.client.entity.fx.EntityDiggingFX;
 import net.minecraft.client.entity.fx.EntityFX;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.world.World;
@@ -15,7 +15,7 @@ import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
 //            EntityFX, Entity, MathHelper, RenderEngine, 
-//            TessellatorStandard, Block, EntityDiggingFX, World
+//            Tessellator, Block, EntityDiggingFX, World
 
 public class EffectRenderer
 {
@@ -97,7 +97,7 @@ public class EffectRenderer
                 texture = TextureRegistry.itemAtlas.getTextureId();
             }
             GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture);
-            TessellatorStandard tessellator = TessellatorStandard.instance;
+            Tessellator tessellator = Tessellator.instance;
             tessellator.startDrawingQuads();
             for(int k = 0; k < fxLayers[i].size(); k++)
             {
@@ -116,7 +116,7 @@ public class EffectRenderer
         {
             return;
         }
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         for(int i = 0; i < fxLayers[layerId].size(); i++)
         {
             EntityFX entityfx = (EntityFX)fxLayers[layerId].get(i);
diff --git a/src/main/java/net/minecraft/client/render/EntityRenderDispatcher.java b/src/main/java/net/minecraft/client/render/EntityRenderDispatcher.java
index f9acfa263..3be1a3e85 100644
--- a/src/main/java/net/minecraft/client/render/EntityRenderDispatcher.java
+++ b/src/main/java/net/minecraft/client/render/EntityRenderDispatcher.java
@@ -51,7 +51,7 @@ import net.minecraft.client.render.model.ModelSlime;
 import net.minecraft.client.render.model.ModelSquid;
 import net.minecraft.client.render.model.ModelWolf;
 import net.minecraft.client.render.model.ModelZombie;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.EntityBobber;
diff --git a/src/main/java/net/minecraft/client/render/FogManager.java b/src/main/java/net/minecraft/client/render/FogManager.java
index d262f9357..cbec689bb 100644
--- a/src/main/java/net/minecraft/client/render/FogManager.java
+++ b/src/main/java/net/minecraft/client/render/FogManager.java
@@ -39,6 +39,10 @@ public class FogManager {
         this.mc = mc;
     }
 
+    public void setFogColor(float r, float g, float b, float a) {
+        glFog(GL_FOG_COLOR, buffer(r, g, b, a));
+    }
+
     public void updateBrightness() {
         fogBrightnessOld = fogBrightness;
 
diff --git a/src/main/java/net/minecraft/client/render/FontRenderer.java b/src/main/java/net/minecraft/client/render/FontRenderer.java
index c9e042fd1..8c6b9ff58 100644
--- a/src/main/java/net/minecraft/client/render/FontRenderer.java
+++ b/src/main/java/net/minecraft/client/render/FontRenderer.java
@@ -2,7 +2,7 @@ package net.minecraft.client.render;
 
 import net.minecraft.client.lang.text.Text;
 import net.minecraft.client.option.GameSettings;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.util.helper.ChatAllowedCharacters;
 import net.minecraft.core.util.helper.Color;
 import net.minecraft.client.util.helper.Colors;
@@ -417,9 +417,9 @@ public class FontRenderer {
                     ++var9;
                 }
 
-                TessellatorStandard var7;
+                Tessellator var7;
                 if(this.strikethroughStyle) {
-                    var7 = TessellatorStandard.instance;
+                    var7 = Tessellator.instance;
                     GL11.glDisable(GL11.GL_TEXTURE_2D);
                     var7.startDrawingQuads();
                     var7.addVertex(this.posX, this.posY + (float)(this.fontHeight / 2), 0.0D);
@@ -431,7 +431,7 @@ public class FontRenderer {
                 }
 
                 if(this.underlineStyle) {
-                    var7 = TessellatorStandard.instance;
+                    var7 = Tessellator.instance;
                     GL11.glDisable(GL11.GL_TEXTURE_2D);
                     var7.startDrawingQuads();
                     int var8 = this.underlineStyle ? -1 : 0;
diff --git a/src/main/java/net/minecraft/client/render/ItemRenderer.java b/src/main/java/net/minecraft/client/render/ItemRenderer.java
index 2448bf04a..3a74f8d2c 100644
--- a/src/main/java/net/minecraft/client/render/ItemRenderer.java
+++ b/src/main/java/net/minecraft/client/render/ItemRenderer.java
@@ -16,9 +16,9 @@ import net.minecraft.client.render.block.model.BlockModelDispatcher;
 import net.minecraft.client.render.entity.EntityRenderer;
 import net.minecraft.client.render.entity.PlayerRenderer;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.material.Material;
 import net.minecraft.core.entity.Entity;
@@ -39,7 +39,7 @@ import static org.lwjgl.opengl.GL11.glPushMatrix;
 
 // Referenced classes of package net.minecraft.src:
 //            RenderBlocks, MapItemRenderer, ItemStack, Block, 
-//            RenderEngine, EntityLiving, TessellatorStandard, EntityPlayer,
+//            RenderEngine, EntityLiving, Tessellator, EntityPlayer,
 //            RenderHelper, MathHelper, World, Item, 
 //            ItemMap, EntityPlayerSP, RenderManager, RenderPlayer, 
 //            Material, BlockFire, InventoryPlayer
@@ -82,7 +82,7 @@ public class ItemRenderer
         GL11.glPushMatrix();
         if(itemstack != null)
         {
-            ItemModelDispatcher.getInstance().getDispatch(itemstack.getItem()).renderItemFirstPerson(TessellatorStandard.instance,this, player, itemstack, partialTick);
+            ItemModelDispatcher.getInstance().getDispatch(itemstack.getItem()).renderItemFirstPerson(Tessellator.instance,this, player, itemstack, partialTick);
         } else
         {
         	float brightness = 1.0f;
@@ -180,7 +180,7 @@ public class ItemRenderer
 
 	private void renderInsideOfBlock(float partialTicks, IconCoordinate texture) {
         if (texture == null) return;
-		TessellatorStandard tessellator = TessellatorStandard.instance;
+		Tessellator tessellator = Tessellator.instance;
 		
 		float brightness = 0.1f;
 		if(mc.fullbright) {
@@ -214,7 +214,7 @@ public class ItemRenderer
 
     private void renderWarpedTextureOverlay(float f)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         float f1 = mc.thePlayer.getBrightness(f);
         if (mc.fullbright) f1 = 1.0f;
         GL11.glColor4f(f1, f1, f1, 0.5F);
@@ -242,7 +242,7 @@ public class ItemRenderer
 
     private void renderFireInFirstPerson(float f)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.9F);
         GL11.glEnable(GL_BLEND);
         GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
diff --git a/src/main/java/net/minecraft/client/render/LoadingScreenRenderer.java b/src/main/java/net/minecraft/client/render/LoadingScreenRenderer.java
index d0513efb6..e3ef32389 100644
--- a/src/main/java/net/minecraft/client/render/LoadingScreenRenderer.java
+++ b/src/main/java/net/minecraft/client/render/LoadingScreenRenderer.java
@@ -5,7 +5,7 @@ import net.minecraft.client.Minecraft;
 import static org.lwjgl.opengl.GL11.*;
 
 import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.lang.I18n;
 import net.minecraft.core.net.command.TextFormatting;
 import net.minecraft.core.world.Dimension;
@@ -171,7 +171,7 @@ public class LoadingScreenRenderer
         GL11.glMatrixMode(GL_MODELVIEW);
         GL11.glLoadIdentity();
         GL11.glTranslatef(0.0F, 0.0F, -200F);
-        TessellatorStandard t = TessellatorStandard.instance;
+        Tessellator t = Tessellator.instance;
         int bgTexture = minecraft.renderEngine.getTexture(backgroundPath);
         GL11.glBindTexture(GL_TEXTURE_2D, bgTexture);
         float f = 32F;
diff --git a/src/main/java/net/minecraft/client/render/MapItemRenderer.java b/src/main/java/net/minecraft/client/render/MapItemRenderer.java
index c32c6d4c7..63cc85662 100644
--- a/src/main/java/net/minecraft/client/render/MapItemRenderer.java
+++ b/src/main/java/net/minecraft/client/render/MapItemRenderer.java
@@ -3,10 +3,10 @@ package net.minecraft.client.render;
 import java.awt.image.BufferedImage;
 import java.util.Iterator;
 
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import org.lwjgl.opengl.GL11;
 
 import net.minecraft.client.option.GameSettings;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.material.MaterialColor;
 import net.minecraft.core.util.helper.Color;
 import net.minecraft.client.util.helper.Colors;
@@ -15,7 +15,7 @@ import net.minecraft.core.world.saveddata.maps.MapWaypoint;
 
 // Referenced classes of package net.minecraft.src:
 //            RenderEngine, MapData, MapColor, GameSettings, 
-//            TessellatorStandard, MapCoord, FontRenderer, EntityPlayer
+//            Tessellator, MapCoord, FontRenderer, EntityPlayer
 
 public class MapItemRenderer
 {
@@ -71,7 +71,7 @@ public class MapItemRenderer
         renderengine.updateTextureData(mapImageData, 128, 128, mapTexture);
         int j = 0;
         int k = 0;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         float f = 0.0F;
         //renders the map
         GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, mapTexture);
diff --git a/src/main/java/net/minecraft/client/render/Polygon.java b/src/main/java/net/minecraft/client/render/Polygon.java
index 07d173114..a6ad40dce 100644
--- a/src/main/java/net/minecraft/client/render/Polygon.java
+++ b/src/main/java/net/minecraft/client/render/Polygon.java
@@ -1,6 +1,6 @@
 package net.minecraft.client.render;
 
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.util.phys.Vec3d;
 
 public class Polygon
@@ -35,7 +35,7 @@ public class Polygon
         vertexPositions = vertices;
     }
 
-    public void draw(TessellatorStandard tessellator, float scale)
+    public void draw(Tessellator tessellator, float scale)
     {
         Vec3d vec3d = vertexPositions[1].vector3D.subtract(vertexPositions[0].vector3D);
         Vec3d vec3d1 = vertexPositions[1].vector3D.subtract(vertexPositions[2].vector3D);
diff --git a/src/main/java/net/minecraft/client/render/RenderBlocks.java b/src/main/java/net/minecraft/client/render/RenderBlocks.java
index 60e0f15ca..0c9c470cd 100644
--- a/src/main/java/net/minecraft/client/render/RenderBlocks.java
+++ b/src/main/java/net/minecraft/client/render/RenderBlocks.java
@@ -6,13 +6,13 @@ import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.stitcher.IconCoordinate;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.world.WorldSource;
 
 // Referenced classes of package net.minecraft.src:
-//            Block, BlockRail, TessellatorStandard, IBlockAccess,
+//            Block, BlockRail, Tessellator, IBlockAccess,
 //            BlockBed, ModelBed, BlockRedstoneRepeater, BlockPistonBase, 
 //            BlockPistonExtension, Vec3D, BlockFire, BlockRedstoneWire, 
 //            EntityRenderer, BlockFluid, MathHelper, Material, 
diff --git a/src/main/java/net/minecraft/client/render/RenderGlobal.java b/src/main/java/net/minecraft/client/render/RenderGlobal.java
index 17ed21139..e28a7e0fa 100644
--- a/src/main/java/net/minecraft/client/render/RenderGlobal.java
+++ b/src/main/java/net/minecraft/client/render/RenderGlobal.java
@@ -15,8 +15,7 @@ import net.minecraft.client.render.camera.ICamera;
 import net.minecraft.client.render.culling.CameraFrustum;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.HitResult;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.entity.TileEntity;
@@ -47,18 +46,11 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Random;
 
-
-import static org.lwjgl.opengl.GL11.GL_FOG;
-import static org.lwjgl.opengl.GL11.GL_LINES;
-import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D;
-import static org.lwjgl.opengl.GL11.glColor4f;
-import static org.lwjgl.opengl.GL11.glDisable;
-import static org.lwjgl.opengl.GL11.glEnable;
-import static org.lwjgl.opengl.GL11.glLineWidth;
+import static org.lwjgl.opengl.GL11.*;
 
 // Referenced classes of package net.minecraft.src:
 //            IWorldAccess, GLAllocation, RenderList, OpenGlCapsChecker, 
-//            TessellatorStandard, World, RenderManager, RenderBlocks,
+//            Tessellator, World, RenderManager, RenderBlocks,
 //            Block, GameSettings, BlockLeaves, WorldRenderer, 
 //            Entity, MathHelper, EntitySorter, TileEntityRenderer, 
 //            ICamera, EntityLiving, TileEntity, RenderHelper, 
@@ -122,7 +114,7 @@ public class RenderGlobal
         GL11.glPopMatrix();
 
         // Set up call list for sky
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         glSkyList = starGLCallList + 1;
         GL11.glNewList(glSkyList, GL11.GL_COMPILE);
         byte byte1 = 64;
@@ -146,7 +138,7 @@ public class RenderGlobal
     private void setupStarsCallList()
     {
         Random random = new Random(10842L);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         for(int i = 0; i < 1500; i++)
         {
@@ -365,7 +357,7 @@ public class RenderGlobal
         float radius = 512;
         long worldTime = worldObj.getWorldTime();
 
-        TessellatorStandard.instance.startDrawingQuads();
+        Tessellator.instance.startDrawingQuads();
         for (float x = -radius; x < radius; x += 8f)
         {
             for (float z = -radius; z < radius; z += 8f)
@@ -392,7 +384,7 @@ public class RenderGlobal
                 );
             }
         }
-        TessellatorStandard.instance.draw();
+        Tessellator.instance.draw();
 
         GL11.glEnable(GL11.GL_FOG);
         GL11.glEnable(GL11.GL_ALPHA_TEST);
@@ -405,7 +397,7 @@ public class RenderGlobal
     private void renderAuroraBeam(float x, float y, float z, float xOffset, float zOffset, float redOffset, float greenOffset, float blueOffset, float scale, float transparency)
     {
         float width = 16f;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.setColorRGBA_F(0 / 255f + redOffset, 255 / 255f + greenOffset, 127 / 255f + blueOffset, transparency);
         tessellator.addVertexWithUV(x - xOffset * scale * width, y - scale * 256, z - zOffset * scale * width, 1.0, 1.0);
         tessellator.addVertexWithUV(x - xOffset * scale * width, y + scale, z - zOffset * scale * width, 1.0, 0.0);
@@ -433,7 +425,7 @@ public class RenderGlobal
         TileEntityRenderDispatcher.renderPosZ = camera.getZ(partialTick);
         List<Entity> loadedEntities = worldObj.getLoadedEntityList();
         countEntitiesTotal = loadedEntities.size();
-        Tessellator tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         // Render weather effects
         for (int i = 0; i < worldObj.weatherEffects.size(); i++)
         {
@@ -832,107 +824,91 @@ public class RenderGlobal
             return;
         }
         float celestialAngle = worldObj.getCelestialAngle(partialTick);
-        GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
-        Vec3d vec3d = worldObj.getSkyColor(mc.activeCamera, partialTick);
-        float f1 = (float)vec3d.xCoord;
-        float f2 = (float)vec3d.yCoord;
-        float f3 = (float)vec3d.zCoord;
-        GL11.glColor3f(f1, f2, f3);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        GL11.glDisable(GL_TEXTURE_2D);
+        Vec3d skyColor = worldObj.getSkyColor(mc.activeCamera, partialTick);
+        float r = (float)skyColor.xCoord;
+        float g = (float)skyColor.yCoord;
+        float b = (float)skyColor.zCoord;
+        GL11.glColor3f(r, g, b);
+        Tessellator t = Tessellator.instance;
         GL11.glDepthMask(false);
-        GL11.glEnable(2912 /*GL_FOG*/);
-        GL11.glColor3f(f1, f2, f3);
+        GL11.glEnable(GL_FOG);
+        GL11.glColor3f(r, g, b);
         GL11.glCallList(glSkyList);
-        GL11.glDisable(2912 /*GL_FOG*/);
-        GL11.glDisable(3008 /*GL_ALPHA_TEST*/);
-        GL11.glEnable(3042 /*GL_BLEND*/);
-        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+        GL11.glDisable(GL_FOG);
+        GL11.glDisable(GL_ALPHA_TEST);
+        GL11.glEnable(GL_BLEND);
+        GL11.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
         Lighting.disable();
-        float[] af = worldObj.worldType.getSunriseColor(celestialAngle, partialTick);
-        if(af != null)
+        float[] sunriseColor = worldObj.worldType.getSunriseColor(celestialAngle, partialTick);
+        if(sunriseColor != null)
         {
-            GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
-            GL11.glShadeModel(7425 /*GL_SMOOTH*/);
+            GL11.glDisable(GL_TEXTURE_2D);
+            GL11.glShadeModel(GL_SMOOTH);
             GL11.glPushMatrix();
             GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
             GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
             GL11.glRotatef(celestialAngle <= 0.5F ? 0.0F : 180F, 0.0F, 0.0F, 1.0F);
-            float f10 = af[0];
-            float f12 = af[1];
-            float f14 = af[2];
-            tessellator.startDrawing(6);
-            tessellator.setColorRGBA_F(f10, f12, f14, af[3]);
-            tessellator.addVertex(0.0D, 100D, 0.0D);
-            int i = 16;
-            tessellator.setColorRGBA_F(af[0], af[1], af[2], 0.0F);
-            for(int j = 0; j <= i; j++)
+            float sr = sunriseColor[0];
+            float sg = sunriseColor[1];
+            float sb = sunriseColor[2];
+            t.startDrawing(GL_TRIANGLE_FAN);
+            t.setColorRGBA_F(sr, sg, sb, sunriseColor[3]);
+            t.addVertex(0.0D, 100D, 0.0D);
+            int numVertices = 16;
+            t.setColorRGBA_F(sunriseColor[0], sunriseColor[1], sunriseColor[2], 0.0F);
+            for(int i = 0; i <= numVertices; i++)
             {
-                float f20 = ((float)j * 3.141593F * 2.0F) / (float)i;
-                float f21 = MathHelper.sin(f20);
-                float f22 = MathHelper.cos(f20);
-                tessellator.addVertex(f21 * 120F, f22 * 120F, -f22 * 40F * af[3]);
+                float theta = ((float)i * MathHelper.PI * 2.0F) / (float)numVertices;
+                float sunriseX = MathHelper.sin(theta);
+                float sunriseYZ = MathHelper.cos(theta);
+                t.addVertex(sunriseX * 120F, sunriseYZ * 120F, -sunriseYZ * 40F * sunriseColor[3]);
             }
 
-            tessellator.draw();
+            t.draw();
             GL11.glPopMatrix();
-            GL11.glShadeModel(7424 /*GL_FLAT*/);
+            GL11.glShadeModel(GL_FLAT);
         }
-        GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
-        GL11.glBlendFunc(770, 1);
+        GL11.glEnable(GL_TEXTURE_2D);
+        GL11.glBlendFunc(GL_SRC_ALPHA, GL_ONE);
         GL11.glPushMatrix();
-        float f6 = 1.0F - (worldObj.getCurrentWeather() != null && worldObj.getCurrentWeather() != Weather.overworldClear ? (worldObj.weatherManager.getWeatherIntensity() * worldObj.weatherManager.getWeatherPower()) * 1.5f : 0.0f);
+        float sunAlpha = 1.0F - (worldObj.getCurrentWeather() != null && worldObj.getCurrentWeather() != Weather.overworldClear ? (worldObj.weatherManager.getWeatherIntensity() * worldObj.weatherManager.getWeatherPower()) * 1.5f : 0.0f);
         if (!mc.gameSettings.fog.value && worldObj.getCurrentWeather() == Weather.overworldFog)
         {
-            f6 = 1f;
+            sunAlpha = 1f;
         }
-        float f9 = 0.0F;
-        float f11 = 0.0F;
-        float f13 = 0.0F;
-
-        // Calculate sun and moon alpha
-//        float sunAlpha = 1.0f;
-//        float moonAlpha = 1.0f;
-//        int cycleLength = worldObj.getWorldType().worldProvider.getDayNightCycleLengthTicks();
-//        float tickWithinCycle = (int)(worldObj.getWorldTime() % cycleLength) + partialTick;
-//        float fadePercentage = 0.05f;
-//        if (tickWithinCycle >= (cycleLength / 2f) - cycleLength * fadePercentage && tickWithinCycle <= (cycleLength / 2f) + cycleLength * fadePercentage)
-//        {
-//            float tickWithinSunFadeOut = tickWithinCycle - ((cycleLength / 2f) - cycleLength * fadePercentage);
-//            float tickWithinMoonFadeIn = tickWithinCycle - (cycleLength / 2f);
-//            float percentageWithinSunFadeOut = tickWithinSunFadeOut / (cycleLength * fadePercentage);
-//            float percentageWithinMoonFadeIn = tickWithinMoonFadeIn / (cycleLength * fadePercentage);
-//            sunAlpha = percentageWithinSunFadeOut;
-//            moonAlpha = percentageWithinMoonFadeIn;
-//        }
-
-        GL11.glTranslatef(f9, f11, f13);
-        GL11.glRotatef(0.0F, 0.0F, 0.0F, 1.0F);
+        float x = 0.0F;
+        float y = 0.0F;
+        float z = 0.0F;
+
+        GL11.glTranslatef(x, y, z);
+        GL11.glRotatef(0, 0.0F, 0.0F, 1.0F);
         GL11.glRotatef(celestialAngle * 360F, 0.0F, 0.0F, 1.0F);
 
         // Render sun
         float f15 = 30F;
         GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, renderEngine.getTexture("/terrain/sun.png"));
-        GL11.glColor4f(1.0F, 1.0F, 1.0F, f6);
-        tessellator.startDrawingQuads();
-        tessellator.addVertexWithUV(-f15, 100D, -f15, 0.0D, 0.0D);
-        tessellator.addVertexWithUV(f15, 100D, -f15, 1.0D, 0.0D);
-        tessellator.addVertexWithUV(f15, 100D, f15, 1.0D, 1.0D);
-        tessellator.addVertexWithUV(-f15, 100D, f15, 0.0D, 1.0D);
-        tessellator.draw();
+        GL11.glColor4f(1.0F, 1.0F, 1.0F, sunAlpha);
+        t.startDrawingQuads();
+        t.addVertexWithUV(-f15, 100D, -f15, 0.0D, 0.0D);
+        t.addVertexWithUV(f15, 100D, -f15, 1.0D, 0.0D);
+        t.addVertexWithUV(f15, 100D, f15, 1.0D, 1.0D);
+        t.addVertexWithUV(-f15, 100D, f15, 0.0D, 1.0D);
+        t.draw();
 
         // Render moon
         f15 = 20F;
         GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, renderEngine.getTexture("/terrain/moon.png"));
-        GL11.glColor4f(1.0F, 1.0F, 1.0F, f6);
-        tessellator.startDrawingQuads();
-        tessellator.addVertexWithUV(-f15, -100D, f15, 1.0D, 1.0D);
-        tessellator.addVertexWithUV(f15, -100D, f15, 0.0D, 1.0D);
-        tessellator.addVertexWithUV(f15, -100D, -f15, 0.0D, 0.0D);
-        tessellator.addVertexWithUV(-f15, -100D, -f15, 1.0D, 0.0D);
-        tessellator.draw();
+        GL11.glColor4f(1.0F, 1.0F, 1.0F, sunAlpha);
+        t.startDrawingQuads();
+        t.addVertexWithUV(-f15, -100D, f15, 1.0D, 1.0D);
+        t.addVertexWithUV(f15, -100D, f15, 0.0D, 1.0D);
+        t.addVertexWithUV(f15, -100D, -f15, 0.0D, 0.0D);
+        t.addVertexWithUV(-f15, -100D, -f15, 1.0D, 0.0D);
+        t.draw();
 
         GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
-        float f17 = worldObj.getStarBrightness(partialTick) * f6;
+        float f17 = worldObj.getStarBrightness(partialTick) * sunAlpha;
         if(f17 > 0.0F)
         {
             GL11.glColor4f(f17, f17, f17, f17);
@@ -945,15 +921,19 @@ public class RenderGlobal
         GL11.glPopMatrix();
         if(worldObj.worldType.hasGround())
         {
-            GL11.glColor3f(f1 * 0.2F + 0.04F, f2 * 0.2F + 0.04F, f3 * 0.6F + 0.1F);
+            GL11.glColor3f(r * 0.2F + 0.04F, g * 0.2F + 0.04F, b * 0.6F + 0.1F);
         } else
         {
-            GL11.glColor3f(f1, f2, f3);
+            GL11.glColor3f(r, g, b);
         }
         GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
         GL11.glDepthMask(true);
     }
 
+    private float getCloudHeightModifier() {
+        return mc.gameSettings.cloudHeight.value * 128;
+    }
+
     public void renderClouds(float partialTick)
     {
         if(mc.theWorld.dimension == Dimension.nether)
@@ -973,7 +953,7 @@ public class RenderGlobal
         float cameraY = (float) mc.activeCamera.getY(partialTick);
         byte cloudRadius = 32;
         int i = 256 / cloudRadius;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, renderEngine.getTexture("/environment/clouds.png"));
         GL11.glEnable(3042 /*GL_BLEND*/);
         GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
@@ -988,7 +968,7 @@ public class RenderGlobal
         int k = MathHelper.floor_double(posZ / 2048D);
         posX -= j * 2048;
         posZ -= k * 2048;
-        float cloudHeight = (worldObj.worldType.getCloudHeight() - cameraY) + 0.33F;
+        float cloudHeight = (worldObj.worldType.getCloudHeight() - cameraY) + 0.33F + getCloudHeightModifier();
         float f10 = (float)(posX * (double)f6);
         float f11 = (float)(posZ * (double)f6);
         tessellator.startDrawingQuads();
@@ -1013,14 +993,30 @@ public class RenderGlobal
 
     public void renderCloudsFancy(float partialTick)
     {
+        glDisable(GL_FOG);
+        float celestialAngle = worldObj.getCelestialAngle(partialTick);
+        float[] sunriseColor = worldObj.worldType.getSunriseColor(celestialAngle, partialTick);
+        float rSun = 0.0f, gSun = 0.0f, bSun = 0.0f, aSun = 0.0f;
+        if (sunriseColor != null) {
+            rSun = sunriseColor[0];
+            gSun = sunriseColor[1];
+            bSun = sunriseColor[2];
+            aSun = sunriseColor[3] / 2;
+        }
+
+        Vec3d dimensionColor = worldObj.getDimensionColor(partialTick);
+        float rDim = (float)dimensionColor.xCoord;
+        float gDim = (float)dimensionColor.yCoord;
+        float bDim = (float)dimensionColor.zCoord;
+
         GL11.glDisable(GL11.GL_CULL_FACE);
         float cameraY = (float) mc.activeCamera.getY(partialTick);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         float cloudWidth = 12F;
         float cloudThickness = 4F;
         double dx = (mc.activeCamera.getX(partialTick) + (double)((lastCloudOffsetX + (cloudOffsetX - lastCloudOffsetX) * partialTick) * 0.03F)) / (double)cloudWidth;
         double dz = (mc.activeCamera.getZ(partialTick) + (double)((lastCloudOffsetZ + (cloudOffsetZ - lastCloudOffsetZ) * partialTick) * 0.03F)) / (double)cloudWidth + 0.33D;
-        float dy = (worldObj.worldType.getCloudHeight() - cameraY) + 0.33F;
+        float dy = (worldObj.worldType.getCloudHeight() - cameraY) + 0.33F + getCloudHeightModifier();
         int i = MathHelper.floor_double(dx / 2048D);
         int j = MathHelper.floor_double(dz / 2048D);
         dx -= i * 2048;
@@ -1028,24 +1024,21 @@ public class RenderGlobal
         GL11.glBindTexture(GL11.GL_TEXTURE_2D, renderEngine.getTexture("/environment/clouds.png"));
         GL11.glEnable(GL11.GL_BLEND);
         GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
-        Vec3d color = worldObj.getDimensionColor(partialTick);
-        float red = (float)color.xCoord;
-        float green = (float)color.yCoord;
-        float blue = (float)color.zCoord;
         float f13 = 1F / 256F;
         float f9 = (float) MathHelper.floor_double(dx) * f13;
         float f11 = (float) MathHelper.floor_double(dz) * f13;
         float f14 = (float)(dx - (double) MathHelper.floor_double(dx));
         float f15 = (float)(dz - (double) MathHelper.floor_double(dz));
         int cloudWidthScale = 8;
-        byte radius = 3;
+        byte radius = 8;
         float f16 = 1F / 1024F;
         GL11.glScalef(cloudWidth, 1.0F, cloudWidth);
+        double maxDistance = Math.sqrt(Math.pow(6, 2) * 2);
         for(int l = 0; l < 2; l++)
         {
             if(l == 0)
             {
-                GL11.glColorMask(false, false, false, false);
+                GL11.glColorMask(false, false, false, true);
             } 
             else
             {
@@ -1056,13 +1049,22 @@ public class RenderGlobal
             {
                 for(int iz = -radius - 1; iz <= radius; iz++)
                 {
+                    double distance = Math.sqrt(Math.pow(ix, 2) + Math.pow(iz, 2));
+                    float distanceFactor = (1f - (float)(distance / maxDistance));
+                    if (distanceFactor > 0.75f) distanceFactor = 0.75f;
+                    distanceFactor *= 1.333333f;
+
+                    float red = rDim + (rSun - rDim) * aSun;
+                    float green = gDim + (gSun - gDim) * aSun;
+                    float blue = bDim + (bSun - bDim) * aSun;
+
                     float f17 = ix * cloudWidthScale;
                     float f18 = iz * cloudWidthScale;
                     float cloudX = f17 - f14;
                     float cloudZ = f18 - f15;
                     if(dy > -cloudThickness - 1.0F)
                     {
-                        tessellator.setColorRGBA_F(red * 0.7F, green * 0.7F, blue * 0.7F, 0.8F);
+                        tessellator.setColorRGBA_F(red * 0.7F, green * 0.7F, blue * 0.7F, 0.8F * distanceFactor);
                         tessellator.setNormal(0.0F, -1F, 0.0F);
                         tessellator.addVertexWithUV(cloudX + 0.0F, dy + 0.0F, cloudZ + (float)cloudWidthScale, (f17 + 0.0F) * f13 + f9, (f18 + (float)cloudWidthScale) * f13 + f11);
                         tessellator.addVertexWithUV(cloudX + (float)cloudWidthScale, dy + 0.0F, cloudZ + (float)cloudWidthScale, (f17 + (float)cloudWidthScale) * f13 + f9, (f18 + (float)cloudWidthScale) * f13 + f11);
@@ -1071,14 +1073,14 @@ public class RenderGlobal
                     }
                     if(dy <= cloudThickness + 1.0F)
                     {
-                        tessellator.setColorRGBA_F(red, green, blue, 0.8F);
+                        tessellator.setColorRGBA_F(red, green, blue, 0.8F * distanceFactor);
                         tessellator.setNormal(0.0F, 1.0F, 0.0F);
                         tessellator.addVertexWithUV(cloudX + 0.0F, (dy + cloudThickness) - f16, cloudZ + (float)cloudWidthScale, (f17 + 0.0F) * f13 + f9, (f18 + (float)cloudWidthScale) * f13 + f11);
                         tessellator.addVertexWithUV(cloudX + (float)cloudWidthScale, (dy + cloudThickness) - f16, cloudZ + (float)cloudWidthScale, (f17 + (float)cloudWidthScale) * f13 + f9, (f18 + (float)cloudWidthScale) * f13 + f11);
                         tessellator.addVertexWithUV(cloudX + (float)cloudWidthScale, (dy + cloudThickness) - f16, cloudZ + 0.0F, (f17 + (float)cloudWidthScale) * f13 + f9, (f18 + 0.0F) * f13 + f11);
                         tessellator.addVertexWithUV(cloudX + 0.0F, (dy + cloudThickness) - f16, cloudZ + 0.0F, (f17 + 0.0F) * f13 + f9, (f18 + 0.0F) * f13 + f11);
                     }
-                    tessellator.setColorRGBA_F(red * 0.9F, green * 0.9F, blue * 0.9F, 0.8F);
+                    tessellator.setColorRGBA_F(red * 0.9F, green * 0.9F, blue * 0.9F, 0.8F * distanceFactor);
                     if(ix > -1)
                     {
                         tessellator.setNormal(-1F, 0.0F, 0.0F);
@@ -1103,7 +1105,7 @@ public class RenderGlobal
                         }
 
                     }
-                    tessellator.setColorRGBA_F(red * 0.8F, green * 0.8F, blue * 0.8F, 0.8F);
+                    tessellator.setColorRGBA_F(red * 0.8F, green * 0.8F, blue * 0.8F, 0.8F * distanceFactor);
                     if(iz > -1)
                     {
                         tessellator.setNormal(0.0F, 0.0F, -1F);
@@ -1247,7 +1249,7 @@ public class RenderGlobal
 
     public void drawBlockBreaking(ICamera camera, HitResult hitResult, float partialTick)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glEnable(3042 /*GL_BLEND*/);
         GL11.glEnable(3008 /*GL_ALPHA_TEST*/);
         GL11.glBlendFunc(770, 1);
@@ -1384,7 +1386,7 @@ public class RenderGlobal
 		double offsetY = camera.getY(partialTicks);
 		double offsetZ = camera.getZ(partialTicks);
 		
-		TessellatorStandard tessellator = TessellatorStandard.instance;
+		Tessellator tessellator = Tessellator.instance;
 		tessellator.setTranslation(-offsetX, -offsetY, -offsetZ);
 		
 		int blockX = MathHelper.floor_double(mc.thePlayer.x);
@@ -1466,7 +1468,7 @@ public class RenderGlobal
 
     public void drawOutlinedBoundingBox(AABB axisalignedbb)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawing(GL11.GL_LINE_STRIP);
         tessellator.addVertex(axisalignedbb.minX, axisalignedbb.minY, axisalignedbb.minZ);
         tessellator.addVertex(axisalignedbb.maxX, axisalignedbb.minY, axisalignedbb.minZ);
@@ -1495,7 +1497,7 @@ public class RenderGlobal
 
     public void drawOutlinedVolume(BoundingVolume volume, double xOffset, double yOffset, double zOffset, float expand)
     {
-        TessellatorStandard t = TessellatorStandard.instance;
+        Tessellator t = Tessellator.instance;
         t.startDrawing(GL11.GL_LINES);
         Float[] points = volume.getBakedLineCoords();
         for (int i = 0; i < points.length; i += 3)
diff --git a/src/main/java/net/minecraft/client/render/TileEntityRenderDispatcher.java b/src/main/java/net/minecraft/client/render/TileEntityRenderDispatcher.java
index fd8c3b159..1a53d964b 100644
--- a/src/main/java/net/minecraft/client/render/TileEntityRenderDispatcher.java
+++ b/src/main/java/net/minecraft/client/render/TileEntityRenderDispatcher.java
@@ -3,7 +3,7 @@ package net.minecraft.client.render;
 import java.util.*;
 
 import net.minecraft.client.render.camera.ICamera;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.tileentity.*;
 import net.minecraft.core.Global;
 import net.minecraft.core.block.entity.*;
diff --git a/src/main/java/net/minecraft/client/render/WorldRenderer.java b/src/main/java/net/minecraft/client/render/WorldRenderer.java
index b067277c9..5eb8374aa 100644
--- a/src/main/java/net/minecraft/client/render/WorldRenderer.java
+++ b/src/main/java/net/minecraft/client/render/WorldRenderer.java
@@ -25,7 +25,7 @@ import net.minecraft.client.render.camera.EntityCameraThirdPersonFront;
 import net.minecraft.client.render.camera.EntityCameraThirdPersonRear;
 import net.minecraft.client.render.culling.Frustum;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.window.GameWindowLWJGL2;
 import net.minecraft.client.util.debug.Debug;
 import net.minecraft.client.world.chunk.provider.ChunkProviderStatic;
@@ -868,7 +868,7 @@ public class WorldRenderer
         int posX = MathHelper.floor_double(mc.activeCamera.getX());
         int posY = MathHelper.floor_double(mc.activeCamera.getY());
         int posZ = MathHelper.floor_double(mc.activeCamera.getZ());
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glDisable(2884 /*GL_CULL_FACE*/);
         GL11.glNormal3f(0.0F, 1.0F, 0.0F);
         GL11.glEnable(3042 /*GL_BLEND*/);
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModel.java b/src/main/java/net/minecraft/client/render/block/model/BlockModel.java
index 3ff212d93..17d3fca7e 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModel.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
 import net.minecraft.client.render.RenderBlocks;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.world.WorldSource;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelAlgae.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelAlgae.java
index c8bccb950..403526041 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelAlgae.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelAlgae.java
@@ -2,8 +2,8 @@ package net.minecraft.client.render.block.model;
 
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.world.WorldSource;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelAxisAligned.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelAxisAligned.java
index 32bc85486..7b0a967d2 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelAxisAligned.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelAxisAligned.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockRotatable;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelBasket.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelBasket.java
index 2a6a6c09c..a320ac8da 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelBasket.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelBasket.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockBasket;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelBed.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelBed.java
index 5287840ee..15dd1fbe0 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelBed.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelBed.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockBed;
 import net.minecraft.core.block.logic.BedDirections;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelBrazier.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelBrazier.java
index 9cc068533..5b78751a1 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelBrazier.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelBrazier.java
@@ -3,7 +3,7 @@ package net.minecraft.client.render.block.model;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockBrazier;
 import net.minecraft.core.block.BlockFire;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelCacaoLeaves.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelCacaoLeaves.java
index 82808cfed..59aaa2491 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelCacaoLeaves.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelCacaoLeaves.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import org.lwjgl.opengl.GL11;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelCactus.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelCactus.java
index 0369abe10..bbe0fd74f 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelCactus.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelCactus.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.render.block.model;
 
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 import org.lwjgl.opengl.GL11;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelCandle.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelCandle.java
index 963f4b0c9..e1e4eb374 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelCandle.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelCandle.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelCherryLeavesBloom.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelCherryLeavesBloom.java
index 565d32a87..672c2bac6 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelCherryLeavesBloom.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelCherryLeavesBloom.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import org.lwjgl.opengl.GL11;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelCropsPumpkin.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelCropsPumpkin.java
index 63c4ccf27..70735cd7b 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelCropsPumpkin.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelCropsPumpkin.java
@@ -1,9 +1,9 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelCropsWheat.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelCropsWheat.java
index b9d899708..b141c0b91 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelCropsWheat.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelCropsWheat.java
@@ -1,9 +1,9 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelCrossedSquares.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelCrossedSquares.java
index 9f2e13215..ac52c4e53 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelCrossedSquares.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelCrossedSquares.java
@@ -2,8 +2,8 @@ package net.minecraft.client.render.block.model;
 
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 import org.lwjgl.opengl.GL11;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
index 7f9412778..c3e09706a 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
@@ -209,6 +209,7 @@ public class BlockModelDispatcher
         addDispatch(new BlockModelCrossedSquares<>(Block.flowerPink).withTextures("minecraft:block/flower_pink"));
         addDispatch(new BlockModelCrossedSquares<>(Block.flowerPurple).withTextures("minecraft:block/flower_purple"));
         addDispatch(new BlockModelCrossedSquares<>(Block.flowerLightBlue).withTextures("minecraft:block/flower_light_blue"));
+        addDispatch(new BlockModelCrossedSquares<>(Block.flowerOrange).withTextures("minecraft:block/flower_orange"));
 
         addDispatch(new BlockModelCrossedSquares<>(Block.mushroomBrown).withTextures("minecraft:block/mushroom_brown"));
         addDispatch(new BlockModelCrossedSquares<>(Block.mushroomRed).withTextures("minecraft:block/mushroom_red"));
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelDoor.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelDoor.java
index 092f5f9d9..569b7b043 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelDoor.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelDoor.java
@@ -3,7 +3,7 @@ package net.minecraft.client.render.block.model;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.RenderBlocks;
 import net.minecraft.client.render.stitcher.IconCoordinate;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockDoor;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelEmpty.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelEmpty.java
index 80625d203..04b2aace3 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelEmpty.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelEmpty.java
@@ -1,6 +1,6 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 
 public class BlockModelEmpty extends BlockModelStandard<Block> {
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelFarmland.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelFarmland.java
index 845d93683..ec02466be 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelFarmland.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelFarmland.java
@@ -3,12 +3,16 @@ package net.minecraft.client.render.block.model;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
 import net.minecraft.core.block.Block;
+import net.minecraft.core.block.BlockFarmland;
 import net.minecraft.core.util.helper.Side;
 
 public class BlockModelFarmland<T extends Block> extends BlockModelStandard<T>{
     protected IconCoordinate topWet = TextureRegistry.getTexture("minecraft:block/farmland_wet_top");
+    protected IconCoordinate topWetFertilized = TextureRegistry.getTexture("minecraft:block/farmland_wet_fertilized_top");
     protected IconCoordinate topDry = TextureRegistry.getTexture("minecraft:block/farmland_dry_top");
+    protected IconCoordinate topDryFertilized = TextureRegistry.getTexture("minecraft:block/farmland_dry_fertilized_top");
     protected IconCoordinate mud = TextureRegistry.getTexture("minecraft:block/mud");
+
     public BlockModelFarmland(Block block) {
         super(block);
     }
@@ -16,21 +20,21 @@ public class BlockModelFarmland<T extends Block> extends BlockModelStandard<T>{
     @Override
     public IconCoordinate getBlockTextureFromSideAndMetadata(Side side, final int data)
     {
-        if (side == Side.TOP)
-        {
-            if (data > 0)
-            {
+        boolean isWet = BlockFarmland.isWet(data);
+        boolean isFertilized = BlockFarmland.isFertilized(data);
+
+        if (side == Side.TOP) {
+            if (isWet && isFertilized) {
+                return topWetFertilized;
+            } else if (isWet) {
                 return topWet;
-            }
-            else
-            {
+            } else if (isFertilized) {
+                return topDryFertilized;
+            } else {
                 return topDry;
             }
-        }
-        else
-        {
-            if (data > 0)
-            {
+        } else {
+            if (isWet) {
                 return mud;
             }
             return atlasIndices[side.getId()];
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelFence.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelFence.java
index 17d331b43..42336c355 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelFence.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelFence.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockFence;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelFenceGate.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelFenceGate.java
index e641ffcf0..f40e58a29 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelFenceGate.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelFenceGate.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockFenceGate;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelFenceThin.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelFenceThin.java
index a99bbb4f8..de13c286e 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelFenceThin.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelFenceThin.java
@@ -1,9 +1,9 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockFenceThin;
 import net.minecraft.core.util.helper.Direction;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelFire.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelFire.java
index 1f743beba..5a71c2498 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelFire.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelFire.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockFire;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelFluid.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelFluid.java
index 793688b95..623b345f9 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelFluid.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelFluid.java
@@ -2,8 +2,8 @@ package net.minecraft.client.render.block.model;
 
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockFluid;
 import net.minecraft.core.block.material.Material;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelGrass.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelGrass.java
index fbb1c6735..6f6a4cb97 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelGrass.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelGrass.java
@@ -2,9 +2,9 @@ package net.minecraft.client.render.block.model;
 
 import net.minecraft.client.render.RenderBlocks;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.material.Material;
 import net.minecraft.core.util.helper.Axis;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelJar.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelJar.java
index 7a7c99e72..8fdce1abc 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelJar.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelJar.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelLadder.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelLadder.java
index 199e36389..7bf61368c 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelLadder.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelLadder.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelLantern.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelLantern.java
index e16c08709..791781b79 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelLantern.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelLantern.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelLayer.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelLayer.java
index a39b8256c..d7b279161 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelLayer.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelLayer.java
@@ -1,6 +1,6 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.world.WorldSource;
 import org.lwjgl.opengl.GL11;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelLeavesOverlay.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelLeavesOverlay.java
index 9265257cb..f09d8063e 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelLeavesOverlay.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelLeavesOverlay.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import org.lwjgl.opengl.GL11;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelLever.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelLever.java
index 4ffaf1152..3ba77f047 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelLever.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelLever.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelMossyStone.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelMossyStone.java
index 9ec74f661..6f847043b 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelMossyStone.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelMossyStone.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
 import net.minecraft.core.block.Block;
 import org.lwjgl.opengl.GL11;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelPebbles.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelPebbles.java
index 3a237f44b..e3f2505d8 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelPebbles.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelPebbles.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelPiston.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelPiston.java
index 484b0421f..dc1e861c9 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelPiston.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelPiston.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.logic.PistonDirections;
 import net.minecraft.core.block.piston.BlockPistonBase;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelPistonHead.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelPistonHead.java
index 01b4e26fb..13afd2fc5 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelPistonHead.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelPistonHead.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.logic.PistonDirections;
 import net.minecraft.core.block.piston.BlockPistonHead;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelPumpkinPie.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelPumpkinPie.java
index 5fa45ba6d..75560dc50 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelPumpkinPie.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelPumpkinPie.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockCake;
 import net.minecraft.core.block.BlockEdible;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelRail.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelRail.java
index 5d5ff46ee..834b15979 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelRail.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelRail.java
@@ -1,9 +1,9 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockRail;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelRedstoneWire.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelRedstoneWire.java
index 93be5df8f..6f26e65b5 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelRedstoneWire.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelRedstoneWire.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.util.helper.Colors;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockRedstoneWire;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelRepeater.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelRepeater.java
index 76e0c5be0..a066dbe3f 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelRepeater.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelRepeater.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockRedstoneRepeater;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelRope.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelRope.java
index b76f7f84f..cd322e604 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelRope.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelRope.java
@@ -1,6 +1,6 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockLanternFirefly;
 import net.minecraft.core.block.BlockRope;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelSeat.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelSeat.java
index bf01b719c..cee6a8afd 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelSeat.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelSeat.java
@@ -1,6 +1,6 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelSpikes.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelSpikes.java
index 2716a2b6c..83e37bfae 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelSpikes.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelSpikes.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockSpikes;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelStairs.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelStairs.java
index 997b2ee50..cd7ed3bd2 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelStairs.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelStairs.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockStairs;
 import net.minecraft.core.util.helper.Side;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelStandard.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelStandard.java
index 0ea591b0b..eb14593e3 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelStandard.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelStandard.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
 import net.minecraft.core.block.Block;
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelTorch.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelTorch.java
index 7d046bb50..b76c4bb37 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelTorch.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelTorch.java
@@ -1,8 +1,8 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelTrapDoor.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelTrapDoor.java
index b484f9e34..882e13fda 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelTrapDoor.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelTrapDoor.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.render.block.model;
 
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.BlockTrapDoor;
 import net.minecraft.core.util.helper.Axis;
diff --git a/src/main/java/net/minecraft/client/render/entity/ArrowRenderer.java b/src/main/java/net/minecraft/client/render/entity/ArrowRenderer.java
index 6c6bd7ace..954d1491d 100644
--- a/src/main/java/net/minecraft/client/render/entity/ArrowRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/ArrowRenderer.java
@@ -1,7 +1,6 @@
 package net.minecraft.client.render.entity;
 
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.projectile.EntityArrow;
 import net.minecraft.core.util.helper.MathHelper;
 import org.lwjgl.opengl.GL11;
@@ -17,7 +16,7 @@ public class ArrowRenderer extends EntityRenderer<EntityArrow>
         GL11.glTranslatef((float)x, (float)y, (float)z);
         GL11.glRotatef((arrow.yRotO + (arrow.yRot - arrow.yRotO) * partialTick) - 90F, 0.0F, 1.0F, 0.0F);
         GL11.glRotatef(arrow.xRotO + (arrow.xRot - arrow.xRotO) * partialTick, 0.0F, 0.0F, 1.0F);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
 
         int arrowType;
         if (arrow.getArrowType() == 2)
diff --git a/src/main/java/net/minecraft/client/render/entity/BoatRenderer.java b/src/main/java/net/minecraft/client/render/entity/BoatRenderer.java
index bc5ca629c..e2ed8ae80 100644
--- a/src/main/java/net/minecraft/client/render/entity/BoatRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/BoatRenderer.java
@@ -4,8 +4,8 @@ import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.TileEntityRenderDispatcher;
 import net.minecraft.client.render.model.ModelBase;
 import net.minecraft.client.render.model.ModelBoat;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.tileentity.TileEntityRendererFlag;
 import net.minecraft.core.entity.vehicle.EntityBoat;
 import net.minecraft.core.util.helper.MathHelper;
diff --git a/src/main/java/net/minecraft/client/render/entity/BobberRenderer.java b/src/main/java/net/minecraft/client/render/entity/BobberRenderer.java
index 52b258a1b..6907c70c0 100644
--- a/src/main/java/net/minecraft/client/render/entity/BobberRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/BobberRenderer.java
@@ -1,16 +1,15 @@
 package net.minecraft.client.render.entity;
 
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.EntityBobber;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.util.phys.Vec3d;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
-//            Render, TessellatorStandard, RenderManager, EntityFish,
+//            Render, Tessellator, RenderManager, EntityFish,
 //            EntityPlayer, MathHelper, Vec3D, GameSettings, 
 //            Entity
 
@@ -30,7 +29,7 @@ public class BobberRenderer extends EntityRenderer<EntityBobber>
         GL11.glScalef(0.5F, 0.5F, 0.5F);
         TextureRegistry.particleAtlas.bindTexture();
         IconCoordinate bobber = TextureRegistry.getTexture("minecraft:particle/bobber");
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         float f2 = (float) bobber.getIconUMin();
         float f3 = (float) bobber.getIconUMax();
         float f4 = (float) bobber.getIconVMin();
diff --git a/src/main/java/net/minecraft/client/render/entity/CannonballRenderer.java b/src/main/java/net/minecraft/client/render/entity/CannonballRenderer.java
index f50f2e07b..5a0b70832 100644
--- a/src/main/java/net/minecraft/client/render/entity/CannonballRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/CannonballRenderer.java
@@ -2,12 +2,12 @@ package net.minecraft.client.render.entity;
 
 import net.minecraft.client.render.model.ModelBase;
 import net.minecraft.client.render.model.ModelCannonball;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.projectile.EntityCannonball;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
-//            Render, TessellatorStandard, MathHelper,
+//            Render, Tessellator, MathHelper,
 //            Entity
 
 public class CannonballRenderer extends EntityRenderer<EntityCannonball>
diff --git a/src/main/java/net/minecraft/client/render/entity/ChickenRenderer.java b/src/main/java/net/minecraft/client/render/entity/ChickenRenderer.java
index 97a3181e0..ec72acb65 100644
--- a/src/main/java/net/minecraft/client/render/entity/ChickenRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/ChickenRenderer.java
@@ -6,7 +6,7 @@ package net.minecraft.client.render.entity;
 //            EntityLiving, Entity
 
 import net.minecraft.client.render.model.ModelBase;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.animal.EntityChicken;
 import net.minecraft.core.util.helper.MathHelper;
 
diff --git a/src/main/java/net/minecraft/client/render/entity/CowRenderer.java b/src/main/java/net/minecraft/client/render/entity/CowRenderer.java
index 194d522ab..038036d44 100644
--- a/src/main/java/net/minecraft/client/render/entity/CowRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/CowRenderer.java
@@ -6,7 +6,7 @@ package net.minecraft.client.render.entity;
 //            Entity
 
 import net.minecraft.client.render.model.ModelBase;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.animal.EntityCow;
 
 public class CowRenderer extends LivingRenderer<EntityCow>
diff --git a/src/main/java/net/minecraft/client/render/entity/DefaultRenderer.java b/src/main/java/net/minecraft/client/render/entity/DefaultRenderer.java
index 5fbf75694..a1e3f81f6 100644
--- a/src/main/java/net/minecraft/client/render/entity/DefaultRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/DefaultRenderer.java
@@ -1,6 +1,6 @@
 package net.minecraft.client.render.entity;
 
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import org.lwjgl.opengl.GL11;
 
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 e2ffd69e5..18da082d4 100644
--- a/src/main/java/net/minecraft/client/render/entity/EntityRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/EntityRenderer.java
@@ -9,8 +9,7 @@ import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.RenderEngine;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.entity.Entity;
@@ -221,7 +220,7 @@ public abstract class EntityRenderer<T extends Entity>
 
     public static void renderAABB(AABB axisalignedbb)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertex(axisalignedbb.minX, axisalignedbb.maxY, axisalignedbb.minZ);
         tessellator.addVertex(axisalignedbb.maxX, axisalignedbb.maxY, axisalignedbb.minZ);
diff --git a/src/main/java/net/minecraft/client/render/entity/FallingSandRenderer.java b/src/main/java/net/minecraft/client/render/entity/FallingSandRenderer.java
index b7ef951e0..a52429354 100644
--- a/src/main/java/net/minecraft/client/render/entity/FallingSandRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/FallingSandRenderer.java
@@ -2,8 +2,8 @@ package net.minecraft.client.render.entity;
 
 import net.minecraft.client.render.RenderBlocks;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.EntityFallingSand;
 import net.minecraft.core.world.World;
 import net.minecraft.core.block.Block;
diff --git a/src/main/java/net/minecraft/client/render/entity/FireballRenderer.java b/src/main/java/net/minecraft/client/render/entity/FireballRenderer.java
index 6ea824b68..8f306a11f 100644
--- a/src/main/java/net/minecraft/client/render/entity/FireballRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/FireballRenderer.java
@@ -1,15 +1,14 @@
 package net.minecraft.client.render.entity;
 
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.projectile.EntityFireball;
 import net.minecraft.core.item.Item;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
-//            Render, Item, TessellatorStandard, RenderManager,
+//            Render, Item, Tessellator, RenderManager,
 //            EntityFireball, Entity
 
 public class FireballRenderer extends EntityRenderer<EntityFireball>
@@ -31,7 +30,7 @@ public class FireballRenderer extends EntityRenderer<EntityFireball>
         GL11.glScalef(scalar, scalar, scalar);
         IconCoordinate i = ItemModelDispatcher.getInstance().getDispatch(Item.ammoFireball).getIcon(null, Item.ammoFireball.getDefaultStack());
         i.parentAtlas.bindTexture();
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         float f3 = (float) i.getIconUMin();
         float f4 = (float) i.getIconUMax();
         float f5 = (float) i.getIconVMin();
diff --git a/src/main/java/net/minecraft/client/render/entity/FireflyRenderer.java b/src/main/java/net/minecraft/client/render/entity/FireflyRenderer.java
index da3c0c22a..1e8982f78 100644
--- a/src/main/java/net/minecraft/client/render/entity/FireflyRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/FireflyRenderer.java
@@ -2,9 +2,8 @@ package net.minecraft.client.render.entity;
 
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.Lighting;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.animal.EntityFireflyCluster;
 import net.minecraft.client.entity.fx.EntityFireflyFX;
 import org.lwjgl.opengl.GL11;
@@ -50,7 +49,7 @@ public class FireflyRenderer extends EntityRenderer<EntityFireflyCluster> {
 		TextureRegistry.particleAtlas.bindTexture();
 		for (int i = 0; i < fireflies.size(); i++) {
 			EntityFireflyFX firefly = fireflies.get(i);
-			TessellatorStandard t = TessellatorStandard.instance;
+			Tessellator t = Tessellator.instance;
 			t.startDrawingQuads();
 			firefly.renderParticleInGUI(t, partialTick);
 			t.draw();
diff --git a/src/main/java/net/minecraft/client/render/entity/GhastRenderer.java b/src/main/java/net/minecraft/client/render/entity/GhastRenderer.java
index d1ce91d8a..5eb2356eb 100644
--- a/src/main/java/net/minecraft/client/render/entity/GhastRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/GhastRenderer.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.render.entity;
 
 import net.minecraft.client.render.model.ModelGhast;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.monster.EntityGhast;
 import org.lwjgl.opengl.GL11;
 
diff --git a/src/main/java/net/minecraft/client/render/entity/ItemEntityRenderer.java b/src/main/java/net/minecraft/client/render/entity/ItemEntityRenderer.java
index 48e4f5b90..db48e8bd4 100644
--- a/src/main/java/net/minecraft/client/render/entity/ItemEntityRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/ItemEntityRenderer.java
@@ -12,8 +12,7 @@ import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.RenderBlocks;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.EntityItem;
 import net.minecraft.core.item.Item;
 import net.minecraft.core.item.ItemStack;
@@ -23,7 +22,7 @@ import static org.lwjgl.opengl.GL11.glPushMatrix;
 
 // Referenced classes of package net.minecraft.src:
 //            Render, RenderBlocks, EntityItem, MathHelper,
-//            ItemStack, Block, TessellatorStandard, Item,
+//            ItemStack, Block, Tessellator, Item,
 //            RenderManager, RenderEngine, FontRenderer, Entity
 
 public class ItemEntityRenderer extends EntityRenderer<EntityItem>
@@ -78,7 +77,7 @@ public class ItemEntityRenderer extends EntityRenderer<EntityItem>
 		GL11.glTranslatef((float) x, (float) y + bobbingOffset, (float) z);
 		GL11.glEnable(32826 /*GL_RESCALE_NORMAL_EXT*/);
 		BlockModel.setRenderBlocks(renderBlocks);
-		ItemModelDispatcher.getInstance().getDispatch(item).renderAsItemEntity(TessellatorStandard.instance, entity, random, itemstack, renderCount, f3, brightness, partialTick);
+		ItemModelDispatcher.getInstance().getDispatch(item).renderAsItemEntity(Tessellator.instance, entity, random, itemstack, renderCount, f3, brightness, partialTick);
 		GL11.glDisable(32826 /*GL_RESCALE_NORMAL_EXT*/);
 		GL11.glPopMatrix();
 	}
diff --git a/src/main/java/net/minecraft/client/render/entity/LightningBoltRenderer.java b/src/main/java/net/minecraft/client/render/entity/LightningBoltRenderer.java
index 306a8e7b5..bc92080ec 100644
--- a/src/main/java/net/minecraft/client/render/entity/LightningBoltRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/LightningBoltRenderer.java
@@ -2,13 +2,12 @@ package net.minecraft.client.render.entity;
 
 import java.util.Random;
 
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.EntityLightningBolt;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
-//            Render, TessellatorStandard, EntityLightningBolt, Entity
+//            Render, Tessellator, EntityLightningBolt, Entity
 
 public class LightningBoltRenderer extends EntityRenderer<EntityLightningBolt>
 {
@@ -20,7 +19,7 @@ public class LightningBoltRenderer extends EntityRenderer<EntityLightningBolt>
     public void func_27002_a(EntityLightningBolt lightningBolt, double d, double d1, double d2,
                              float f, float f1)
     {
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
         GL11.glDisable(2896 /*GL_LIGHTING*/);
         GL11.glEnable(3042 /*GL_BLEND*/);
diff --git a/src/main/java/net/minecraft/client/render/entity/LivingRenderer.java b/src/main/java/net/minecraft/client/render/entity/LivingRenderer.java
index a39bda049..516c13c48 100644
--- a/src/main/java/net/minecraft/client/render/entity/LivingRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/LivingRenderer.java
@@ -3,9 +3,8 @@ package net.minecraft.client.render.entity;
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.FontRenderer;
 import net.minecraft.client.render.LightmapHelper;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.model.ModelBase;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.entity.EntityLiving;
 import net.minecraft.core.util.helper.MathHelper;
@@ -14,7 +13,7 @@ import org.lwjgl.opengl.GL12;
 
 // Referenced classes of package net.minecraft.src:
 //            Render, ModelBase, EntityLiving, MathHelper, 
-//            RenderManager, TessellatorStandard, FontRenderer, Entity
+//            RenderManager, Tessellator, FontRenderer, Entity
 
 public class LivingRenderer<T extends EntityLiving> extends EntityRenderer<T>
 {
@@ -246,7 +245,7 @@ public class LivingRenderer<T extends EntityLiving> extends EntityRenderer<T>
         if (!depthTest) GL11.glDisable(2929 /* GL_DEPTH_TEST */);
         GL11.glEnable(3042 /* GL_BLEND */);
         GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
-        final TessellatorStandard tessellator = TessellatorStandard.instance;
+        final Tessellator tessellator = Tessellator.instance;
         byte byte0 = 0;
         GL11.glDisable(3553 /* GL_TEXTURE_2D */);
         tessellator.startDrawingQuads();
diff --git a/src/main/java/net/minecraft/client/render/entity/MinecartRenderer.java b/src/main/java/net/minecraft/client/render/entity/MinecartRenderer.java
index 37c909384..cce32babd 100644
--- a/src/main/java/net/minecraft/client/render/entity/MinecartRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/MinecartRenderer.java
@@ -4,9 +4,8 @@ import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
 import net.minecraft.client.render.model.ModelBase;
 import net.minecraft.client.render.model.ModelMinecart;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.vehicle.EntityMinecart;
 import net.minecraft.core.Global;
 import net.minecraft.core.block.Block;
@@ -33,7 +32,7 @@ public class MinecartRenderer extends EntityRenderer<EntityMinecart>
     {
         GL11.glPushMatrix();
 
-        Tessellator tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         double d3 = minecart.xo + (minecart.x - minecart.xo) * (double)f1;
         double d4 = minecart.yo + (minecart.y - minecart.yo) * (double)f1;
         double d5 = minecart.zo + (minecart.z - minecart.zo) * (double)f1;
diff --git a/src/main/java/net/minecraft/client/render/entity/MobRenderer.java b/src/main/java/net/minecraft/client/render/entity/MobRenderer.java
index 85e2964c3..e597567db 100644
--- a/src/main/java/net/minecraft/client/render/entity/MobRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/MobRenderer.java
@@ -2,7 +2,7 @@ package net.minecraft.client.render.entity;
 
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
 import net.minecraft.client.render.model.ModelBiped;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.EntityLiving;
 import net.minecraft.core.item.ItemStack;
 import org.lwjgl.opengl.GL11;
@@ -27,7 +27,7 @@ public class MobRenderer<T extends EntityLiving> extends LivingRenderer<T>
 		if(itemstack != null) {
 			GL11.glPushMatrix();
 			modelBipedMain.bipedRightArm.postRender(0.0625F);
-			ItemModelDispatcher.getInstance().getDispatch(itemstack.getItem()).renderItemThirdPerson(TessellatorStandard.instance, renderDispatcher.itemRenderer, entity, itemstack, true);
+			ItemModelDispatcher.getInstance().getDispatch(itemstack.getItem()).renderItemThirdPerson(Tessellator.instance, renderDispatcher.itemRenderer, entity, itemstack, true);
 			GL11.glPopMatrix();
 		}
 	}
diff --git a/src/main/java/net/minecraft/client/render/entity/PaintingRenderer.java b/src/main/java/net/minecraft/client/render/entity/PaintingRenderer.java
index 127aa1642..5651cce7f 100644
--- a/src/main/java/net/minecraft/client/render/entity/PaintingRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/PaintingRenderer.java
@@ -2,8 +2,7 @@ package net.minecraft.client.render.entity;
 
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.entity.EntityPainting;
 import net.minecraft.core.enums.ArtType;
@@ -193,7 +192,7 @@ public class PaintingRenderer extends EntityRenderer<EntityPainting>
                 float minV = v + 0.25f;
                 float maxV = v;
 
-                Tessellator tessellator = TessellatorStandard.instance;
+                Tessellator tessellator = Tessellator.instance;
                 tessellator.startDrawingQuads();
                 tessellator.setNormal(0.0f, 0.0f, 1.0f);
                 tessellator.addVertexWithUV(maxX, minY, minZ, maxU, minV);
diff --git a/src/main/java/net/minecraft/client/render/entity/PlayerRenderer.java b/src/main/java/net/minecraft/client/render/entity/PlayerRenderer.java
index 231e97e1e..004cf0cdd 100644
--- a/src/main/java/net/minecraft/client/render/entity/PlayerRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/PlayerRenderer.java
@@ -4,7 +4,6 @@ import net.minecraft.client.Minecraft;
 
 import net.minecraft.client.render.FontRenderer;
 import net.minecraft.client.render.PlayerSkinParser;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
 import net.minecraft.client.render.camera.EntityCamera;
@@ -13,6 +12,7 @@ import net.minecraft.client.render.model.ModelBiped;
 import net.minecraft.client.render.model.ModelPlayer;
 import net.minecraft.client.render.model.ModelPlayerSlim;
 import net.minecraft.client.render.model.ModelSign;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.player.EntityPlayer;
 import net.minecraft.client.entity.player.EntityPlayerSP;
 import net.minecraft.core.item.*;
@@ -24,7 +24,7 @@ import org.lwjgl.opengl.GL11;
 // Referenced classes of package net.minecraft.src:
 //            RenderLiving, ModelBiped, EntityPlayer, InventoryPlayer, 
 //            ItemStack, ItemArmor, ModelRenderer, EntityPlayerSP, 
-//            RenderManager, TessellatorStandard, FontRenderer, Item,
+//            RenderManager, Tessellator, FontRenderer, Item,
 //            Block, RenderBlocks, ItemRenderer, MathHelper, 
 //            EntityLiving, Entity
 
@@ -142,7 +142,7 @@ public class PlayerRenderer extends LivingRenderer<EntityPlayer>
                     GL11.glDepthMask(false);
                     GL11.glEnable(3042 /*GL_BLEND*/);
                     GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
-                    TessellatorStandard tessellator = TessellatorStandard.instance;
+                    Tessellator tessellator = Tessellator.instance;
                     GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
                     tessellator.startDrawingQuads();
                     int i = fontrenderer.getStringWidth(s) / 2;
@@ -182,7 +182,7 @@ public class PlayerRenderer extends LivingRenderer<EntityPlayer>
                 GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);
                 GL11.glScalef(f1, -f1, f1);
             }
-            ItemModelDispatcher.getInstance().getDispatch(itemstack).renderItem(TessellatorStandard.instance, renderDispatcher.itemRenderer, entity, itemstack);
+            ItemModelDispatcher.getInstance().getDispatch(itemstack).renderItem(Tessellator.instance, renderDispatcher.itemRenderer, entity, itemstack);
             GL11.glPopMatrix();
         }
 
@@ -224,7 +224,7 @@ public class PlayerRenderer extends LivingRenderer<EntityPlayer>
             GL11.glPushMatrix();
             modelBipedMain.bipedRightArm.postRender(0.0625F);
             BlockModel.setRenderBlocks(renderDispatcher.itemRenderer.renderBlocksInstance);
-            ItemModelDispatcher.getInstance().getDispatch(itemstack1).renderItemThirdPerson(TessellatorStandard.instance, renderDispatcher.itemRenderer, entity, itemstack1, true);
+            ItemModelDispatcher.getInstance().getDispatch(itemstack1).renderItemThirdPerson(Tessellator.instance, renderDispatcher.itemRenderer, entity, itemstack1, true);
             GL11.glPopMatrix();
 		}
 	}
diff --git a/src/main/java/net/minecraft/client/render/entity/SnowballRenderer.java b/src/main/java/net/minecraft/client/render/entity/SnowballRenderer.java
index 9b08e5ee5..2c5b5dd67 100644
--- a/src/main/java/net/minecraft/client/render/entity/SnowballRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/SnowballRenderer.java
@@ -1,14 +1,14 @@
 package net.minecraft.client.render.entity;
 
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.item.Item;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
-//            Render, TessellatorStandard, RenderManager, Entity
+//            Render, Tessellator, RenderManager, Entity
 
 public class SnowballRenderer extends EntityRenderer<Entity>
 {
diff --git a/src/main/java/net/minecraft/client/render/entity/SquidRenderer.java b/src/main/java/net/minecraft/client/render/entity/SquidRenderer.java
index e0867f486..f3ffe3d29 100644
--- a/src/main/java/net/minecraft/client/render/entity/SquidRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/SquidRenderer.java
@@ -1,7 +1,7 @@
 package net.minecraft.client.render.entity;
 
 import net.minecraft.client.render.model.ModelBase;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.animal.EntitySquid;
 import org.lwjgl.opengl.GL11;
 
diff --git a/src/main/java/net/minecraft/client/render/entity/TNTRenderer.java b/src/main/java/net/minecraft/client/render/entity/TNTRenderer.java
index 9f7f72d5a..2c2184232 100644
--- a/src/main/java/net/minecraft/client/render/entity/TNTRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/TNTRenderer.java
@@ -4,9 +4,8 @@ import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.RenderBlocks;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.EntityTNT;
 import net.minecraft.core.Global;
 import net.minecraft.core.block.Block;
@@ -28,7 +27,7 @@ public class TNTRenderer extends EntityRenderer<EntityTNT>
     public void renderTNT(EntityTNT tnt, double d, double d1, double d2,
                           float f, float f1)
     {
-        Tessellator tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         GL11.glPushMatrix();
         GL11.glTranslatef((float)d, (float)d1, (float)d2);
         if(((float)tnt.fuse - f1) + 1.0F < 10F)
diff --git a/src/main/java/net/minecraft/client/render/entity/WolfRenderer.java b/src/main/java/net/minecraft/client/render/entity/WolfRenderer.java
index fae8fea94..219de8364 100644
--- a/src/main/java/net/minecraft/client/render/entity/WolfRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/WolfRenderer.java
@@ -3,8 +3,7 @@ package net.minecraft.client.render.entity;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
 import net.minecraft.client.render.model.ModelWolf;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.entity.animal.EntityWolf;
 import net.minecraft.core.item.ItemStack;
@@ -93,7 +92,7 @@ public class WolfRenderer extends LivingRenderer<EntityWolf>
                 GL11.glRotatef(-90F, 1.0F, 0.0F, 0.0F);
                 GL11.glRotatef(70F, 1.0F, 0.0F, 1.0F);
             }
-            ItemModelDispatcher.getInstance().getDispatch(itemstack).renderItem(TessellatorStandard.instance, renderDispatcher.itemRenderer, entity, itemstack);
+            ItemModelDispatcher.getInstance().getDispatch(itemstack).renderItem(Tessellator.instance, renderDispatcher.itemRenderer, entity, itemstack);
             GL11.glPopMatrix();
         }
     }
diff --git a/src/main/java/net/minecraft/client/render/item/model/ItemModel.java b/src/main/java/net/minecraft/client/render/item/model/ItemModel.java
index e73add089..650fbe71f 100644
--- a/src/main/java/net/minecraft/client/render/item/model/ItemModel.java
+++ b/src/main/java/net/minecraft/client/render/item/model/ItemModel.java
@@ -5,7 +5,7 @@ import net.minecraft.client.render.FontRenderer;
 import net.minecraft.client.render.ItemRenderer;
 import net.minecraft.client.render.RenderEngine;
 import net.minecraft.client.render.stitcher.IconCoordinate;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.EntityLiving;
 import net.minecraft.core.entity.player.EntityPlayer;
diff --git a/src/main/java/net/minecraft/client/render/item/model/ItemModelBlock.java b/src/main/java/net/minecraft/client/render/item/model/ItemModelBlock.java
index 1657eab7a..861cf8a92 100644
--- a/src/main/java/net/minecraft/client/render/item/model/ItemModelBlock.java
+++ b/src/main/java/net/minecraft/client/render/item/model/ItemModelBlock.java
@@ -8,8 +8,8 @@ import net.minecraft.client.render.RenderEngine;
 import net.minecraft.client.render.block.color.BlockColorDispatcher;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.entity.Entity;
diff --git a/src/main/java/net/minecraft/client/render/item/model/ItemModelBow.java b/src/main/java/net/minecraft/client/render/item/model/ItemModelBow.java
index 0d1ea90f2..96c130303 100644
--- a/src/main/java/net/minecraft/client/render/item/model/ItemModelBow.java
+++ b/src/main/java/net/minecraft/client/render/item/model/ItemModelBow.java
@@ -6,7 +6,7 @@ import net.minecraft.client.render.FontRenderer;
 import net.minecraft.client.render.ItemRenderer;
 import net.minecraft.client.render.RenderEngine;
 import net.minecraft.client.render.stitcher.IconCoordinate;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.monster.EntitySkeleton;
 import net.minecraft.core.entity.player.EntityPlayer;
diff --git a/src/main/java/net/minecraft/client/render/item/model/ItemModelMap.java b/src/main/java/net/minecraft/client/render/item/model/ItemModelMap.java
index 83cb67696..702fa5510 100644
--- a/src/main/java/net/minecraft/client/render/item/model/ItemModelMap.java
+++ b/src/main/java/net/minecraft/client/render/item/model/ItemModelMap.java
@@ -6,9 +6,9 @@ import net.minecraft.client.render.ItemRenderer;
 import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.MapItemRenderer;
 import net.minecraft.client.render.PlayerSkinParser;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.entity.EntityRenderer;
 import net.minecraft.client.render.entity.PlayerRenderer;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.player.EntityPlayer;
 import net.minecraft.core.item.Item;
diff --git a/src/main/java/net/minecraft/client/render/item/model/ItemModelNone.java b/src/main/java/net/minecraft/client/render/item/model/ItemModelNone.java
index 89406e5a9..fcd3087d8 100644
--- a/src/main/java/net/minecraft/client/render/item/model/ItemModelNone.java
+++ b/src/main/java/net/minecraft/client/render/item/model/ItemModelNone.java
@@ -3,8 +3,8 @@ package net.minecraft.client.render.item.model;
 import net.minecraft.client.render.FontRenderer;
 import net.minecraft.client.render.ItemRenderer;
 import net.minecraft.client.render.RenderEngine;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.IconCoordinate;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.player.EntityPlayer;
 import net.minecraft.core.item.ItemStack;
diff --git a/src/main/java/net/minecraft/client/render/item/model/ItemModelStandard.java b/src/main/java/net/minecraft/client/render/item/model/ItemModelStandard.java
index 29ddb3e2d..fdd4ec3e2 100644
--- a/src/main/java/net/minecraft/client/render/item/model/ItemModelStandard.java
+++ b/src/main/java/net/minecraft/client/render/item/model/ItemModelStandard.java
@@ -8,7 +8,7 @@ import net.minecraft.client.render.LightmapHelper;
 import net.minecraft.client.render.RenderEngine;
 import net.minecraft.client.render.stitcher.IconCoordinate;
 import net.minecraft.client.render.stitcher.TextureRegistry;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.player.EntityPlayer;
 import net.minecraft.core.item.Item;
diff --git a/src/main/java/net/minecraft/client/render/model/Cube.java b/src/main/java/net/minecraft/client/render/model/Cube.java
index b7ee699be..2ec5d7c8d 100644
--- a/src/main/java/net/minecraft/client/render/model/Cube.java
+++ b/src/main/java/net/minecraft/client/render/model/Cube.java
@@ -2,12 +2,12 @@ package net.minecraft.client.render.model;
 
 import net.minecraft.client.GLAllocation;
 import net.minecraft.client.render.Vertex;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.render.Polygon;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
-//            PositionTextureVertex, TexturedQuad, GLAllocation, TessellatorStandard
+//            PositionTextureVertex, TexturedQuad, GLAllocation, Tessellator
 
 public class Cube
 {
@@ -259,7 +259,7 @@ public class Cube
     {
         displayList = GLAllocation.generateDisplayLists(1);
         GL11.glNewList(displayList, 4864 /*GL_COMPILE*/);
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         for(int i = 0; i < faces.length; i++)
         {
             faces[i].draw(tessellator, f);
diff --git a/src/main/java/net/minecraft/client/render/tessalator/Tessellator.java b/src/main/java/net/minecraft/client/render/tessellator/Tessellator.java
similarity index 87%
rename from src/main/java/net/minecraft/client/render/tessalator/Tessellator.java
rename to src/main/java/net/minecraft/client/render/tessellator/Tessellator.java
index 40c7a5fb8..980ff3f40 100644
--- a/src/main/java/net/minecraft/client/render/tessalator/Tessellator.java
+++ b/src/main/java/net/minecraft/client/render/tessellator/Tessellator.java
@@ -1,6 +1,9 @@
-package net.minecraft.client.render.tessalator;
+package net.minecraft.client.render.tessellator;
 
 public abstract class Tessellator {
+	
+    public static Tessellator instance = new TessellatorStandard(0x200000);
+    
     public abstract void draw();
     public abstract void startDrawingQuads();
     public abstract void startDrawing(int drawMode);
@@ -20,4 +23,5 @@ public abstract class Tessellator {
     public abstract void offsetTranslation(float x, float y, float z);
     public abstract void drawRectangle(int x, int y, int width, int height);
     public abstract void drawRectangleWithUV(int x, int y, int width, int height, double u, double v, double uvWidth, double uvHeight);
+    public abstract void setUseVBO(boolean b);
 }
diff --git a/src/main/java/net/minecraft/client/render/tessellator/TessellatorBase.java b/src/main/java/net/minecraft/client/render/tessellator/TessellatorBase.java
new file mode 100644
index 000000000..5a9cf2687
--- /dev/null
+++ b/src/main/java/net/minecraft/client/render/tessellator/TessellatorBase.java
@@ -0,0 +1,70 @@
+package net.minecraft.client.render.tessellator;
+
+import org.lwjgl.opengl.GL11;
+
+public abstract class TessellatorBase extends Tessellator {
+
+	@Override
+	public void addVertexWithUV(double x, double y, double z, double u, double v) {
+		setTextureUV(u, v);
+		addVertex(x, y, z);
+	}
+
+	@Override
+	public void drawRectangle(int x, int y, int width, int height) {
+		this.checkIsDrawing();
+		this.addVertex((double) x, (double) y, 0.0D);
+		this.addVertex((double) x, (double) (y + height), 0.0D);
+		this.addVertex((double) (x + width), (double) (y + height), 0.0D);
+		this.addVertex((double) (x + width), (double) y, 0.0D);
+	}
+
+	@Override
+	public void drawRectangleWithUV(int x, int y, int width, int height, double u, double v, double uvWidth, double uvHeight) {
+		this.checkIsDrawing();
+		this.addVertexWithUV((double) x, (double) y, 0.0D, u, v);
+		this.addVertexWithUV((double) x, (double) (y + height), 0.0D, u, v + uvHeight);
+		this.addVertexWithUV((double) (x + width), (double) (y + height), 0.0D, u + uvWidth, v + uvHeight);
+		this.addVertexWithUV((double) (x + width), (double) y, 0.0D, u + uvWidth, v);
+	}
+
+	@Override
+
+	public void setColorOpaque(int r, int g, int b) {
+		this.setColorRGBA(r, g, b, 255);
+	}
+
+	@Override
+	public void setColorOpaque_F(float r, float g, float b) {
+		this.setColorOpaque((int) (r * 255.0F), (int) (g * 255.0F), (int) (b * 255.0F));
+	}
+
+	@Override
+	public void setColorOpaque_I(int rgb) {
+		int r = rgb >> 16 & 255;
+		int g = rgb >> 8 & 255;
+		int b = rgb & 255;
+		this.setColorOpaque(r, g, b);
+	}
+
+	@Override
+	public void setColorRGBA_F(float r, float g, float b, float a) {
+		this.setColorRGBA((int) (r * 255.0F), (int) (g * 255.0F), (int) (b * 255.0F), (int) (a * 255.0F));
+	}
+
+	@Override
+	public void setColorRGBA_I(int rgb, int a) {
+		int r = rgb >> 16 & 255;
+		int g = rgb >> 8 & 255;
+		int b = rgb & 255;
+		this.setColorRGBA(r, g, b, a);
+	}
+
+	@Override
+	public void startDrawingQuads() {
+		startDrawing(GL11.GL_QUADS);
+	}
+
+	public abstract void checkIsDrawing();
+
+}
diff --git a/src/main/java/net/minecraft/client/render/tessalator/TessellatorStandard.java b/src/main/java/net/minecraft/client/render/tessellator/TessellatorStandard.java
similarity index 77%
rename from src/main/java/net/minecraft/client/render/tessalator/TessellatorStandard.java
rename to src/main/java/net/minecraft/client/render/tessellator/TessellatorStandard.java
index 98896a081..1782b9ae1 100644
--- a/src/main/java/net/minecraft/client/render/tessalator/TessellatorStandard.java
+++ b/src/main/java/net/minecraft/client/render/tessellator/TessellatorStandard.java
@@ -1,4 +1,4 @@
-package net.minecraft.client.render.tessalator;
+package net.minecraft.client.render.tessellator;
 
 import java.nio.*;
 
@@ -12,29 +12,51 @@ import static org.lwjgl.opengl.GL15.GL_ARRAY_BUFFER;
 // Referenced classes of package net.minecraft.src:
 //            GLAllocation
 
-public class TessellatorStandard extends Tessellator
+public class TessellatorStandard extends TessellatorBase
 {
-    TessellatorStandard(int bufferSize)
+
+    private static boolean convertQuadsToTriangles = true;
+    private ByteBuffer byteBuffer;
+    private IntBuffer intBuffer;
+    private FloatBuffer floatBuffer;
+    private ShortBuffer shortBuffer;
+    private int rawBuffer[];
+    private int vertexCount;
+    private double textureU;
+    private double textureV;
+    private int lightmapCoord;
+    private int color;
+    private boolean hasColor;
+    private boolean hasTexture;
+    private boolean hasNormals;
+    private boolean hasLightmap;
+    private int rawBufferIndex;
+    private int addedVertices;
+    private boolean isColorDisabled;
+    private int drawMode;
+    private double xOffset;
+    private double yOffset;
+    private double zOffset;
+    private int normal;
+    private boolean isDrawing;
+    private boolean useVBO;
+    private IntBuffer vertexBuffers;
+    private int vboIndex;
+    private int vboCount = 10;
+    private int bufferSize;
+    
+	TessellatorStandard(int bufferSize)
     {
-        vertexCount = 0;
-        hasColor = false;
-        hasTexture = false;
-        hasNormals = false;
-        rawBufferIndex = 0;
-        addedVertices = 0;
-        isColorDisabled = false;
-        isDrawing = false;
-        vboIndex = 0;
-        vboCount = 10;
         this.bufferSize = bufferSize;
-        byteBuffer = GLAllocation.createDirectByteBuffer(bufferSize * 4);
-        intBuffer = byteBuffer.asIntBuffer();
-        floatBuffer = byteBuffer.asFloatBuffer();
-        shortBuffer = byteBuffer.asShortBuffer();
-        rawBuffer = new int[bufferSize];
+        this.byteBuffer = GLAllocation.createDirectByteBuffer(bufferSize * 4);
+        this.intBuffer = byteBuffer.asIntBuffer();
+        this.floatBuffer = byteBuffer.asFloatBuffer();
+        this.shortBuffer = byteBuffer.asShortBuffer();
+        this.rawBuffer = new int[bufferSize];
         setUseVBO(Minecraft.getMinecraft(this).gameSettings.enableVbos.value);
     }
-    public void setUseVBO(boolean flag){
+    @Override
+	public void setUseVBO(boolean flag){
         useVBO = flag && GLContext.getCapabilities().GL_ARB_vertex_buffer_object;
         if (useVBO){
             vertexBuffers = GLAllocation.createDirectIntBuffer(vboCount);
@@ -44,7 +66,8 @@ public class TessellatorStandard extends Tessellator
         }
     }
 
-    public void draw()
+    @Override
+	public void draw()
     {
     	checkIsDrawing();
         isDrawing = false;
@@ -156,13 +179,9 @@ public class TessellatorStandard extends Tessellator
         rawBufferIndex = 0;
         addedVertices = 0;
     }
-
-    public void startDrawingQuads()
-    {
-        startDrawing(7);
-    }
-
-    public void startDrawing(int drawMode)
+    
+    @Override
+	public void startDrawing(int drawMode)
     {
         if(isDrawing)
         {
@@ -181,7 +200,8 @@ public class TessellatorStandard extends Tessellator
         }
     }
 
-    public void setTextureUV(double u, double v)
+    @Override
+	public void setTextureUV(double u, double v)
     {
         hasTexture = true;
         textureU = u;
@@ -199,23 +219,9 @@ public class TessellatorStandard extends Tessellator
     	hasLightmap = true;
     	this.lightmapCoord = lightmapCoord;
     }
-
-    public void setColorOpaque_F(float r, float g, float b)
-    {
-        setColorOpaque((int)(r * 255F), (int)(g * 255F), (int)(b * 255F));
-    }
-
-    public void setColorRGBA_F(float r, float g, float b, float a)
-    {
-        setColorRGBA((int)(r * 255F), (int)(g * 255F), (int)(b * 255F), (int)(a * 255F));
-    }
-
-    public void setColorOpaque(int r, int g, int b)
-    {
-        setColorRGBA(r, g, b, 255);
-    }
-
-    public void setColorRGBA(int r, int g, int b, int a)
+    
+    @Override
+	public void setColorRGBA(int r, int g, int b, int a)
     {
         if(isColorDisabled)
         {
@@ -262,14 +268,9 @@ public class TessellatorStandard extends Tessellator
             color = r << 24 | g << 16 | b << 8 | a;
         }
     }
-
-    public void addVertexWithUV(double x, double y, double z, double u, double v)
-    {
-        setTextureUV(u, v);
-        addVertex(x, y, z);
-    }
-
-    public void addVertex(double x, double y, double z)
+    
+    @Override
+	public void addVertex(double x, double y, double z)
     {
         addedVertices++;
         if(drawMode == 7 && convertQuadsToTriangles && addedVertices % 4 == 0)
@@ -325,29 +326,15 @@ public class TessellatorStandard extends Tessellator
             isDrawing = true;
         }
     }
-
-    public void setColorOpaque_I(int rgb)
-    {
-        int r = rgb >> 16 & 0xff;
-        int g = rgb >> 8 & 0xff;
-        int b = rgb & 0xff;
-        setColorOpaque(r, g, b);
-    }
-
-    public void setColorRGBA_I(int rgb, int a)
-    {
-        int r = rgb >> 16 & 0xff;
-        int g = rgb >> 8 & 0xff;
-        int b = rgb & 0xff;
-        setColorRGBA(r, g, b, a);
-    }
-
-    public void disableColor()
+    
+    @Override
+	public void disableColor()
     {
         isColorDisabled = true;
     }
 
-    public void setNormal(float x, float y, float z)
+    @Override
+	public void setNormal(float x, float y, float z)
     {
         if(!isDrawing)
         {
@@ -360,75 +347,28 @@ public class TessellatorStandard extends Tessellator
         normal = bx | by << 8 | bz << 16;
     }
 
-    public void setTranslation(double x, double y, double z)
+    @Override
+	public void setTranslation(double x, double y, double z)
     {
         xOffset = x;
         yOffset = y;
         zOffset = z;
     }
 
-    public void offsetTranslation(float x, float y, float z)
+    @Override
+	public void offsetTranslation(float x, float y, float z)
     {
         xOffset += x;
         yOffset += y;
         zOffset += z;
     }
     
-    public void drawRectangle(int x, int y, int width, int height)
-    {
-    	checkIsDrawing();
-    	addVertex(x, y, 0);
-    	addVertex(x, y+height, 0);
-    	addVertex(x+width, y+height, 0);
-    	addVertex(x+width, y, 0);
-    }
-
-    public void drawRectangleWithUV(int x, int y, int width, int height, double u, double v, double uvWidth, double uvHeight)
-    {
-        checkIsDrawing();
-        addVertexWithUV(x, y, 0, u, v);
-        addVertexWithUV(x, y + height, 0, u, v + uvHeight);
-        addVertexWithUV(x + width, y + height, 0, u + uvWidth, v + uvHeight);
-        addVertexWithUV(x + width, y, 0, u + uvWidth, v);
-    }
-
-
-    private void checkIsDrawing() {
+    @Override
+    public void checkIsDrawing() {
         if(!isDrawing)
         {
             throw new IllegalStateException("Not tesselating!");
         }
     }
 
-    private static boolean convertQuadsToTriangles = true;
-    private ByteBuffer byteBuffer;
-    private IntBuffer intBuffer;
-    private FloatBuffer floatBuffer;
-    private ShortBuffer shortBuffer;
-    private int rawBuffer[];
-    private int vertexCount;
-    private double textureU;
-    private double textureV;
-    private int lightmapCoord;
-    private int color;
-    private boolean hasColor;
-    private boolean hasTexture;
-    private boolean hasNormals;
-    private boolean hasLightmap;
-    private int rawBufferIndex;
-    private int addedVertices;
-    private boolean isColorDisabled;
-    private int drawMode;
-    private double xOffset;
-    private double yOffset;
-    private double zOffset;
-    private int normal;
-    public static TessellatorStandard instance = new TessellatorStandard(0x200000);
-    private boolean isDrawing;
-    private boolean useVBO;
-    private IntBuffer vertexBuffers;
-    private int vboIndex;
-    private int vboCount;
-    private int bufferSize;
-
 }
diff --git a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRenderer.java b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRenderer.java
index 454c4da82..033d5ba10 100644
--- a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRenderer.java
+++ b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRenderer.java
@@ -3,7 +3,7 @@ package net.minecraft.client.render.tileentity;
 import net.minecraft.client.render.FontRenderer;
 import net.minecraft.client.render.RenderEngine;
 import net.minecraft.client.render.TileEntityRenderDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.entity.TileEntity;
 import net.minecraft.core.world.World;
 
diff --git a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererFlag.java b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererFlag.java
index dbcd6f4d4..7af477402 100644
--- a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererFlag.java
+++ b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererFlag.java
@@ -3,7 +3,7 @@ package net.minecraft.client.render.tileentity;
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.FlagRenderer;
 import net.minecraft.client.render.model.ModelFlag;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.entity.TileEntityFlag;
 
diff --git a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererFlowerJar.java b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererFlowerJar.java
index e4fa63ce9..cc2457508 100644
--- a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererFlowerJar.java
+++ b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererFlowerJar.java
@@ -4,8 +4,8 @@ import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.RenderBlocks;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.entity.TileEntityFlowerJar;
diff --git a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererMesh.java b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererMesh.java
index 82b6332b3..c2423709b 100644
--- a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererMesh.java
+++ b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererMesh.java
@@ -5,8 +5,7 @@ import net.minecraft.client.render.EntityRenderDispatcher;
 import net.minecraft.client.render.RenderBlocks;
 import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.item.model.ItemModelDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.Global;
 import net.minecraft.core.block.entity.TileEntityMeshGold;
 import net.minecraft.core.util.helper.MathHelper;
@@ -29,7 +28,7 @@ public class TileEntityRendererMesh extends TileEntityRenderer<TileEntityMeshGol
         if (Global.accessor.isFullbrightEnabled()) lightLevel = 1.0f;
         BlockModel.setRenderBlocks(EntityRenderDispatcher.instance.itemRenderer.renderBlocksInstance);
         GL11.glEnable(32826 /*GL_RESCALE_NORMAL_EXT*/);
-        ItemModelDispatcher.getInstance().getDispatch(tileEntity.filterItem).renderAsItemEntity(TessellatorStandard.instance, null, tileEntity.worldObj.rand, tileEntity.filterItem, 1, f3, lightLevel, renderPartialTicks);
+        ItemModelDispatcher.getInstance().getDispatch(tileEntity.filterItem).renderAsItemEntity(Tessellator.instance, null, tileEntity.worldObj.rand, tileEntity.filterItem, 1, f3, lightLevel, renderPartialTicks);
         GL11.glDisable(32826 /*GL_RESCALE_NORMAL_EXT*/);
         GL11.glPopMatrix();
     }
diff --git a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererMobSpawner.java b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererMobSpawner.java
index cf32c907f..bacf15a44 100644
--- a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererMobSpawner.java
+++ b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererMobSpawner.java
@@ -4,7 +4,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import net.minecraft.client.render.EntityRenderDispatcher;
-import net.minecraft.client.render.tessalator.Tessellator;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.entity.TileEntityMobSpawner;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.EntityDispatcher;
diff --git a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererPiston.java b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererPiston.java
index a1c191c8e..4eab6bba9 100644
--- a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererPiston.java
+++ b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererPiston.java
@@ -7,8 +7,8 @@ import net.minecraft.client.render.block.model.BlockModel;
 import net.minecraft.client.render.block.model.BlockModelDispatcher;
 import net.minecraft.client.render.block.model.BlockModelPiston;
 import net.minecraft.client.render.block.model.BlockModelPistonHead;
-import net.minecraft.client.render.tessalator.Tessellator;
 import net.minecraft.client.render.stitcher.TextureRegistry;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.piston.BlockPistonBase;
 import net.minecraft.core.block.piston.BlockPistonHead;
@@ -17,7 +17,7 @@ import net.minecraft.core.world.World;
 import org.lwjgl.opengl.GL11;
 
 // Referenced classes of package net.minecraft.src:
-//            TileEntitySpecialRenderer, Block, TileEntityPiston, TessellatorStandard,
+//            TileEntitySpecialRenderer, Block, TileEntityPiston, Tessellator,
 //            RenderHelper, RenderBlocks, BlockPistonBase, BlockPistonExtension, 
 //            World, TileEntity
 
diff --git a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererSign.java b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererSign.java
index c98681103..46e6da8f6 100644
--- a/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererSign.java
+++ b/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererSign.java
@@ -2,9 +2,8 @@ package net.minecraft.client.render.tileentity;
 
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.Tessellator;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
 import net.minecraft.client.render.model.ModelSign;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.core.block.Block;
 import net.minecraft.core.block.entity.TileEntitySign;
 import net.minecraft.core.enums.EnumSignPicture;
@@ -122,7 +121,7 @@ public class TileEntityRendererSign extends TileEntityRenderer<TileEntitySign>
     {
         float uScale = 1 / 768F;
         float vScale = 1 / 384F;
-        TessellatorStandard tessellator = TessellatorStandard.instance;
+        Tessellator tessellator = Tessellator.instance;
         tessellator.startDrawingQuads();
         tessellator.addVertexWithUV(x + 0, y + height * 2, 0, (float)(u + 0) * uScale, (float)(v + height) * vScale);
         tessellator.addVertexWithUV(x + width * 2, y + height * 2, 0, (float)(u + width) * uScale, (float)(v + height) * vScale);
diff --git a/src/main/java/net/minecraft/client/util/debug/DebugRender.java b/src/main/java/net/minecraft/client/util/debug/DebugRender.java
index a36d68ef1..2151a5486 100644
--- a/src/main/java/net/minecraft/client/util/debug/DebugRender.java
+++ b/src/main/java/net/minecraft/client/util/debug/DebugRender.java
@@ -6,7 +6,7 @@ import org.lwjgl.input.Keyboard;
 import org.lwjgl.opengl.Display;
 
 import net.minecraft.client.render.FontRenderer;
-import net.minecraft.client.render.tessalator.TessellatorStandard;
+import net.minecraft.client.render.tessellator.Tessellator;
 import net.minecraft.client.util.debug.Debug.Profiler;
 import net.minecraft.core.util.helper.MathHelper;
 
@@ -87,7 +87,7 @@ public class DebugRender {
 		glEnable(GL_BLEND);
 		glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 		
-		TessellatorStandard tessellator = TessellatorStandard.instance;
+		Tessellator tessellator = Tessellator.instance;
 		
 		int x = w - frametimes.length;
 		int y = h;
@@ -149,7 +149,7 @@ public class DebugRender {
 		return avg;
 	}
 	
-	private static void drawFrameTimes(TessellatorStandard tessellator, int x, int y, long[] frametimes) {
+	private static void drawFrameTimes(Tessellator tessellator, int x, int y, long[] frametimes) {
 		int h1 = 16666666 / scale;
 		int h2 = 33333333 / scale;
 		
@@ -172,7 +172,7 @@ public class DebugRender {
 		tessellator.draw();
 	}
 	
-	private static void drawRectangle(TessellatorStandard tessellator, int x, int y, int w, int h) {
+	private static void drawRectangle(Tessellator tessellator, int x, int y, int w, int h) {
 		tessellator.addVertex(x, y, 0);
 		tessellator.addVertex(x+w, y, 0);
 		tessellator.addVertex(x+w, y+h, 0);
diff --git a/src/main/java/net/minecraft/core/block/BlockCropsPumpkin.java b/src/main/java/net/minecraft/core/block/BlockCropsPumpkin.java
index e2b126ae8..f8122bf0b 100644
--- a/src/main/java/net/minecraft/core/block/BlockCropsPumpkin.java
+++ b/src/main/java/net/minecraft/core/block/BlockCropsPumpkin.java
@@ -98,11 +98,14 @@ public class BlockCropsPumpkin
 
         }
 
-        if(diagNeighbor || xNeighbor && zNeighbor) {
-            growthRate /= 2.0F;
-        }
-        if (world.getSeasonManager().getCurrentSeason() != null) {
-            growthRate *= world.getSeasonManager().getCurrentSeason().cropGrowthFactor;
+        boolean isFertilized = BlockFarmland.isFertilized(world.getBlockMetadata(x, y - 1, z));
+        if (!isFertilized) {
+            if (world.getSeasonManager().getCurrentSeason() != null)
+            {
+                growthRate *= world.getSeasonManager().getCurrentSeason().cropGrowthFactor;
+            }
+        } else {
+            growthRate *= 1.5F;
         }
         return growthRate;
     }
diff --git a/src/main/java/net/minecraft/core/block/BlockCropsWheat.java b/src/main/java/net/minecraft/core/block/BlockCropsWheat.java
index 7d82dfdcf..1ac98285b 100644
--- a/src/main/java/net/minecraft/core/block/BlockCropsWheat.java
+++ b/src/main/java/net/minecraft/core/block/BlockCropsWheat.java
@@ -89,20 +89,36 @@ public class BlockCropsWheat extends BlockFlower implements IBonemealable
                 }
                 growthRate += growthRateMod;
             }
-
         }
 
         if(diagNeighbor || xNeighbor && zNeighbor)
         {
             growthRate /= 2.0F;
         }
-        if (world.getSeasonManager().getCurrentSeason() != null)
-        {
-            growthRate *= world.getSeasonManager().getCurrentSeason().cropGrowthFactor;
+
+        boolean isFertilized = BlockFarmland.isFertilized(world.getBlockMetadata(x, y - 1, z));
+        if (!isFertilized) {
+            if (world.getSeasonManager().getCurrentSeason() != null)
+            {
+                growthRate *= world.getSeasonManager().getCurrentSeason().cropGrowthFactor;
+            }
+        } else {
+            growthRate *= 1.5F;
         }
         return growthRate;
     }
 
+    @Override
+    public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta, EntityPlayer player, Item item) {
+        boolean isFertilized = BlockFarmland.isFertilized(world.getBlockMetadata(x, y - 1, z));
+        if (isFertilized) {
+            boolean shouldDefertilize = world.rand.nextInt(3) == 2;
+            if (shouldDefertilize) {
+                world.setBlockMetadata(x, y - 1, z, BlockFarmland.setFertilized(world.getBlockMetadata(x, y - 1, z), false));
+            }
+        }
+    }
+
     @Override
     public ItemStack[] getBreakResult(World world, EnumDropCause dropCause, int x, int y, int z, int meta, TileEntity tileEntity)
     {
diff --git a/src/main/java/net/minecraft/core/block/BlockFarmland.java b/src/main/java/net/minecraft/core/block/BlockFarmland.java
index a65545e48..ccc8ef0fd 100644
--- a/src/main/java/net/minecraft/core/block/BlockFarmland.java
+++ b/src/main/java/net/minecraft/core/block/BlockFarmland.java
@@ -6,15 +6,19 @@ import net.minecraft.core.block.tag.BlockTags;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.player.EntityPlayer;
 import net.minecraft.core.enums.EnumDropCause;
+import net.minecraft.core.item.IBonemealable;
 import net.minecraft.core.item.Item;
 import net.minecraft.core.item.ItemStack;
+import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.util.phys.AABB;
 import net.minecraft.core.world.World;
 import net.minecraft.core.world.WorldSource;
 
 import java.util.Random;
 
-public class BlockFarmland extends Block
+public class BlockFarmland
+	extends Block
+	implements IBonemealable
 {
 	public BlockFarmland(String key, int id)
 	{
@@ -24,6 +28,23 @@ public class BlockFarmland extends Block
 		withLightBlock(255);
 	}
 
+	public static boolean isWet(int data) {
+		return (data & 0x0F) > 0;
+	}
+
+	public static int setWet(int data, int amount) {
+		return (amount & 0x0F) | (data & 0xF0);
+	}
+
+	public static boolean isFertilized(int data) {
+		return (data & 0x10) > 0;
+	}
+
+	public static int setFertilized(int data, boolean fertilized) {
+		int f = fertilized ? 0x10 : 0x00;
+		return (data & 0x0F) | f;
+	}
+
 	@Override
 	public AABB getCollisionBoundingBoxFromPool(final WorldSource world, final int x, final int y, final int z)
 	{
@@ -39,7 +60,7 @@ public class BlockFarmland extends Block
 			case PICK_BLOCK:
 				return new ItemStack[] { new ItemStack(this) };
 			default:
-				if(meta > 0){
+				if(isWet(world.getBlockMetadata(x, y, z))){
 					return new ItemStack[] { new ItemStack(Block.mud) };
 				} else {
 					return new ItemStack[] { new ItemStack(Block.dirt) };
@@ -47,14 +68,14 @@ public class BlockFarmland extends Block
 		}
 
 	}
-	private boolean isCropsNearby(final World world, final int i, final int j, final int k)
+	private boolean isCropsNearby(final World world, final int x, final int y, final int z)
 	{
-		final int l = 0;
-		for (int i1 = i - l; i1 <= i + l; i1++)
+		final int radius = 0;
+		for (int ix = x - radius; ix <= x + radius; ix++)
 		{
-			for (int j1 = k - l; j1 <= k + l; j1++)
+			for (int iz = z - radius; iz <= z + radius; iz++)
 			{
-				if (world.getBlockId(i1, j + 1, j1) == Block.cropsWheat.id)
+				if (world.getBlockId(ix, y + 1, iz) == Block.cropsWheat.id)
 				{
 					return true;
 				}
@@ -71,15 +92,15 @@ public class BlockFarmland extends Block
 		return false;
 	}
 
-	private boolean isWaterNearby(final World world, final int i, final int j, final int k)
+	private boolean isWaterNearby(final World world, final int x, final int y, final int z)
 	{
-		for (int l = i - 4; l <= i + 4; l++)
+		for (int ix = x - 4; ix <= x + 4; ix++)
 		{
-			for (int i1 = j; i1 <= j + 1; i1++)
+			for (int iy = y; iy <= y + 1; iy++)
 			{
-				for (int j1 = k - 4; j1 <= k + 4; j1++)
+				for (int iz = z - 4; iz <= z + 4; iz++)
 				{
-					if (Block.hasTag(world.getBlockId(l, i1, j1), BlockTags.IS_WATER))
+					if (Block.hasTag(world.getBlockId(ix, iy, iz), BlockTags.IS_WATER))
 					{
 						return true;
 					}
@@ -103,7 +124,7 @@ public class BlockFarmland extends Block
 				{
 					return;
 				}
-				if(world.getBlockMetadata(x, y, z) > 0)
+				if(isWet(world.getBlockMetadata(x, y, z)))
 					world.setBlockWithNotify(x, y, z, Block.mud.id);
 				else
 					world.setBlockWithNotify(x, y, z, Block.dirt.id);
@@ -119,7 +140,7 @@ public class BlockFarmland extends Block
 		final Material material = world.getBlockMaterial(x, y + 1, z);
 		if (material.isSolid())
 		{
-			if(world.getBlockMetadata(x, y, z) > 0)
+			if(isWet(world.getBlockMetadata(x, y, z)))
 				world.setBlockWithNotify(x, y, z, Block.mud.id);
 			else
 				world.setBlockWithNotify(x, y, z, Block.dirt.id);
@@ -134,27 +155,30 @@ public class BlockFarmland extends Block
 	}
 
 	@Override
-	public void updateTick(final World world, final int x, final int y, final int z, final Random rand)
-	{
-		if (rand.nextInt(5) == 0)
-		{
-			if (isWaterNearby(world, x, y, z) || world.canBlockBeRainedOn(x, y + 1, z))
-			{
-				world.setBlockMetadataWithNotify(x, y, z, 7);
-			}
-			else
-			{
-				final int l = world.getBlockMetadata(x, y, z);
-				if (l > 0)
-				{
-					world.setBlockMetadataWithNotify(x, y, z, l - 1);
-				}
-				else if (!isCropsNearby(world, x, y, z))
-				{
+	public void updateTick(final World world, final int x, final int y, final int z, final Random rand) {
+		if (rand.nextInt(5) == 0) {
+			int data = world.getBlockMetadata(x, y, z);
+			if (isWaterNearby(world, x, y, z) || world.canBlockBeRainedOn(x, y + 1, z)) {
+				world.setBlockMetadataWithNotify(x, y, z, data | 7);
+			} else {
+				if (isWet(data)) {
+					int newData = ((data & 0x0F) - 1) | (data & 0xF0);
+					world.setBlockMetadataWithNotify(x, y, z, newData);
+				} else if (!isCropsNearby(world, x, y, z)) {
 					world.setBlockWithNotify(x, y, z, Block.dirt.id);
 				}
 			}
 		}
 	}
 
+	@Override
+	public boolean onBonemealUsed(ItemStack itemstack, EntityPlayer entityplayer, World world, int blockX, int blockY, int blockZ, Side side, double xPlaced, double yPlaced) {
+		int data = world.getBlockMetadata(blockX, blockY, blockZ);
+		if (!isFertilized(data)) {
+			world.setBlockMetadataWithNotify(blockX, blockY, blockZ, setFertilized(data, true));
+			return true;
+		}
+
+		return false;
+	}
 }
diff --git a/src/main/java/net/minecraft/core/block/BlockSaplingOak.java b/src/main/java/net/minecraft/core/block/BlockSaplingOak.java
index d0dc98c63..3a9c981d2 100644
--- a/src/main/java/net/minecraft/core/block/BlockSaplingOak.java
+++ b/src/main/java/net/minecraft/core/block/BlockSaplingOak.java
@@ -5,6 +5,7 @@ import net.minecraft.core.world.generate.feature.tree.WorldFeatureTree;
 import net.minecraft.core.world.generate.feature.tree.WorldFeatureTreeCaatinga;
 import net.minecraft.core.world.generate.feature.tree.WorldFeatureTreeFancy;
 import net.minecraft.core.world.generate.feature.WorldFeature;
+import net.minecraft.core.world.generate.feature.tree.spooner.WorldFeatureSpoonerTreeRound;
 
 import java.util.Random;
 
diff --git a/src/main/java/net/minecraft/core/util/phys/Vec3d.java b/src/main/java/net/minecraft/core/util/phys/Vec3d.java
index fd4feab91..89488c6c9 100644
--- a/src/main/java/net/minecraft/core/util/phys/Vec3d.java
+++ b/src/main/java/net/minecraft/core/util/phys/Vec3d.java
@@ -11,9 +11,9 @@ import java.util.List;
 public class Vec3d
 {
 
-    public static Vec3d createVectorHelper(double d, double d1, double d2)
+    public static Vec3d createVectorHelper(double x, double y, double z)
     {
-        return new Vec3d(d, d1, d2);
+        return new Vec3d(x, y, z);
     }
 
     public static void deinitializePool()
@@ -33,26 +33,26 @@ public class Vec3d
         {
             vectorList.add(createVectorHelper(0.0D, 0.0D, 0.0D));
         }
-        return ((Vec3d)vectorList.get(nextVector++)).setComponents(x, y, z);
+        return vectorList.get(nextVector++).setComponents(x, y, z);
     }
 
-    private Vec3d(double d, double d1, double d2)
+    private Vec3d(double x, double y, double z)
     {
-        if(d == -0D)
+        if(x == -0D)
         {
-            d = 0.0D;
+            x = 0.0D;
         }
-        if(d1 == -0D)
+        if(y == -0D)
         {
-            d1 = 0.0D;
+            y = 0.0D;
         }
-        if(d2 == -0D)
+        if(z == -0D)
         {
-            d2 = 0.0D;
+            z = 0.0D;
         }
-        xCoord = d;
-        yCoord = d1;
-        zCoord = d2;
+        xCoord = x;
+        yCoord = y;
+        zCoord = z;
     }
 
     private Vec3d setComponents(double d, double d1, double d2)
@@ -179,7 +179,7 @@ public class Vec3d
     @Override
 	public String toString()
     {
-        return (new StringBuilder()).append("(").append(xCoord).append(", ").append(yCoord).append(", ").append(zCoord).append(")").toString();
+        return "(" + xCoord + ", " + yCoord + ", " + zCoord + ")";
     }
 
     public void rotateAroundX(float f)
@@ -206,7 +206,7 @@ public class Vec3d
         zCoord = d2;
     }
 
-    private static List vectorList = new ArrayList();
+    private static final List<Vec3d> vectorList = new ArrayList<>();
     private static int nextVector = 0;
     public double xCoord;
     public double yCoord;
diff --git a/src/main/java/net/minecraft/core/world/biome/BiomeRainforest.java b/src/main/java/net/minecraft/core/world/biome/BiomeRainforest.java
index 36fade506..a7e1ed1f4 100644
--- a/src/main/java/net/minecraft/core/world/biome/BiomeRainforest.java
+++ b/src/main/java/net/minecraft/core/world/biome/BiomeRainforest.java
@@ -5,6 +5,7 @@ import net.minecraft.core.world.generate.feature.tree.WorldFeatureTree;
 import net.minecraft.core.world.generate.feature.tree.WorldFeatureTreeFancyRainforest;
 import net.minecraft.core.world.generate.feature.tree.WorldFeatureTreeShrub;
 import net.minecraft.core.world.generate.feature.WorldFeature;
+import net.minecraft.core.world.generate.feature.tree.spooner.WorldFeatureSpoonerTreeRound;
 
 import java.util.Random;
 
@@ -19,6 +20,10 @@ public class BiomeRainforest extends Biome
     @Override
 	public WorldFeature getRandomWorldGenForTrees(Random random)
     {
+        if (random.nextInt(1000) == 0) {
+            int treeHeight = 30 + random.nextInt(30);
+            return new WorldFeatureSpoonerTreeRound(treeHeight, Block.logOak.id, 0, Block.leavesOak.id, 0);
+        }
         if(random.nextInt(3) == 0)
         {
             if(random.nextInt(10) == 0)
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/WorldFeatureTree.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/WorldFeatureTree.java
index 1f2976c24..c4cc702be 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/WorldFeatureTree.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/WorldFeatureTree.java
@@ -23,75 +23,62 @@ public class WorldFeatureTree extends WorldFeature
     @Override
 	public boolean generate(World world, Random random, int x, int y, int z)
     {
-        int l = random.nextInt(3) + heightMod;
-        boolean flag = true;
-        if(y < 1 || y + l + 1 > world.getHeightBlocks())
-        {
+        int treeHeight = random.nextInt(3) + heightMod;
+        boolean canSpawn = true;
+        if(y < 1 || y + treeHeight + 1 > world.getHeightBlocks()) {
             return false;
         }
-        for(int i1 = y; i1 <= y + 1 + l; i1++)
-        {
-            byte byte0 = 1;
-            if(i1 == y)
-            {
-                byte0 = 0;
+        for (int iy = y; iy <= y + 1 + treeHeight; iy++) {
+            byte treeRadius = 1;
+            if (iy == y) {
+                treeRadius = 0;
             }
-            if(i1 >= (y + 1 + l) - 2)
-            {
-                byte0 = 2;
+            if (iy >= (y + 1 + treeHeight) - 2) {
+                treeRadius = 2;
             }
-            for(int i2 = x - byte0; i2 <= x + byte0 && flag; i2++)
-            {
-                for(int l2 = z - byte0; l2 <= z + byte0 && flag; l2++)
-                {
-                    if(i1 >= 0 && i1 < world.getHeightBlocks())
-                    {
-                        int j3 = world.getBlockId(i2, i1, l2);
-                        if(j3 != 0 && j3 != leavesID)
-                        {
-                            flag = false;
+            for(int ix = x - treeRadius; ix <= x + treeRadius && canSpawn; ix++) {
+                for(int iz = z - treeRadius; iz <= z + treeRadius && canSpawn; iz++) {
+                    if(iy >= 0 && iy < world.getHeightBlocks()) {
+                        int blockId = world.getBlockId(ix, iy, iz);
+                        if(blockId != 0 && blockId != leavesID) {
+                            canSpawn = false;
                         }
-                    } else
-                    {
-                        flag = false;
+                    } else {
+                        canSpawn = false;
                     }
                 }
-
             }
-
         }
 
-        if(!flag)
+        if(!canSpawn)
         {
             return false;
         }
         int idBelow = world.getBlockId(x, y - 1, z);
-        if(!Block.hasTag(idBelow, BlockTags.GROWS_TREES) || y >= world.getHeightBlocks() - l - 1)
+        if(!Block.hasTag(idBelow, BlockTags.GROWS_TREES) || y >= world.getHeightBlocks() - treeHeight - 1)
         {
             return false;
         }
         WorldFeatureTree.onTreeGrown(world, x, y, z);
-        for(int k1 = (y - 3) + l; k1 <= y + l; k1++)
+        for(int iy = (y - 3) + treeHeight; iy <= y + treeHeight; iy++)
         {
-            int j2 = k1 - (y + l);
+            int j2 = iy - (y + treeHeight);
             int i3 = 1 - j2 / 2;
-            for(int k3 = x - i3; k3 <= x + i3; k3++)
+            for(int ix = x - i3; ix <= x + i3; ix++)
             {
-                int l3 = k3 - x;
-                for(int i4 = z - i3; i4 <= z + i3; i4++)
+                int l3 = ix - x;
+                for(int iz = z - i3; iz <= z + i3; iz++)
                 {
-                    int j4 = i4 - z;
-                    if((Math.abs(l3) != i3 || Math.abs(j4) != i3 || random.nextInt(2) != 0 && j2 != 0) && !Block.solid[world.getBlockId(k3, k1, i4)])
+                    int j4 = iz - z;
+                    if((Math.abs(l3) != i3 || Math.abs(j4) != i3 || random.nextInt(2) != 0 && j2 != 0) && !Block.solid[world.getBlockId(ix, iy, iz)])
                     {
-                    	placeLeaves(world, k3, k1, i4, random);
+                    	placeLeaves(world, ix, iy, iz, random);
                     }
                 }
-
             }
-
         }
 
-        for(int l1 = 0; l1 < l; l1++)
+        for(int l1 = 0; l1 < treeHeight; l1++)
         {
             int id = world.getBlockId(x, y + l1, z);
             if(id == 0 || isLeaf(id))
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTree.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTree.java
index 9aef45d9b..b3fe1a229 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTree.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTree.java
@@ -1,5 +1,7 @@
 package net.minecraft.core.world.generate.feature.tree.spooner;
 
+import net.minecraft.core.block.Block;
+import net.minecraft.core.block.tag.BlockTags;
 import net.minecraft.core.world.World;
 import net.minecraft.core.world.generate.feature.WorldFeature;
 
@@ -39,13 +41,19 @@ public abstract class WorldFeatureSpoonerTree
         return iterations;
     }
 
-    protected static boolean assignValue(int x, int y, int z, int id, int meta, World world) {
+    protected boolean assignValue(int x, int y, int z, int id, int meta, World world) {
+        if (id == leavesId) {
+            if (!Block.solid[world.getBlockId(x, y, z)]) {
+                return world.setBlockAndMetadataWithNotify(x, y, z, id, meta);
+            }
+            return false;
+        }
         /* assign a block to the world */
         return world.setBlockAndMetadata(x, y, z, id, meta);
     }
 
-    protected final int[] pos;
-    protected final int height;
+    protected int[] pos = null;
+    protected int height;
     protected final int trunkId;
     protected final int trunkData;
     protected final int leavesId;
@@ -53,8 +61,7 @@ public abstract class WorldFeatureSpoonerTree
 
     protected Random random = null;
 
-    public WorldFeatureSpoonerTree(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        this.pos = new int[] { x, y, z };
+    public WorldFeatureSpoonerTree(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
         this.height = height;
         this.trunkId = trunkId;
         this.trunkData = trunkData;
@@ -68,14 +75,53 @@ public abstract class WorldFeatureSpoonerTree
 
     protected void makeFoliage(World world) { }
 
+    private boolean canGenerateTree(World world)
+    {
+        int blockIdUnderneath = world.getBlockId(pos[0], pos[1] - 1, pos[2]);
+        if(!Block.hasTag(blockIdUnderneath, BlockTags.GROWS_TREES))
+        {
+            return false;
+        }
+        int interruptedTrunkHeight = -1;
+        int y = pos[1];
+        while (y < world.getHeightBlocks()) {
+            if (Block.solid[world.getBlockId(pos[0], y, pos[2])]) {
+                interruptedTrunkHeight = y - pos[1];
+                break;
+            }
+            y++;
+        }
+        if(interruptedTrunkHeight == -1)
+        {
+            return true;
+        }
+        if(interruptedTrunkHeight < 6)
+        {
+            return false;
+        }
+        else
+        {
+            height = interruptedTrunkHeight;
+            return true;
+        }
+    }
+
     @Override
     public boolean generate(World world, Random random, int x, int y, int z) {
         this.random = random;
+        this.pos = new int[] { x, y, z };
+
+        if (y < 1 || y > height + world.getHeightBlocks()) {
+            return false;
+        }
+        if (!canGenerateTree(world)) {
+            return false;
+        }
 
         prepare(world);
         makeFoliage(world);
         makeTrunk(world);
 
-        return false;
+        return true;
     }
 }
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeBamboo.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeBamboo.java
index 143a4c596..2a5eaead6 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeBamboo.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeBamboo.java
@@ -4,8 +4,8 @@ import net.minecraft.core.world.World;
 
 public class WorldFeatureSpoonerTreeBamboo
     extends WorldFeatureSpoonerTreeStick {
-    public WorldFeatureSpoonerTreeBamboo(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreeBamboo(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeCone.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeCone.java
index 1aaa6de03..a58b13990 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeCone.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeCone.java
@@ -4,8 +4,8 @@ import net.minecraft.core.world.World;
 
 public class WorldFeatureSpoonerTreeCone
     extends WorldFeatureSpoonerTreeProcedural {
-    public WorldFeatureSpoonerTreeCone(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreeCone(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeMangrove.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeMangrove.java
index 493792162..6893ad3bd 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeMangrove.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeMangrove.java
@@ -4,8 +4,8 @@ import net.minecraft.core.world.World;
 
 public class WorldFeatureSpoonerTreeMangrove
     extends WorldFeatureSpoonerTreeRound {
-    public WorldFeatureSpoonerTreeMangrove(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreeMangrove(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeNormal.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeNormal.java
index 958bc8c93..f97b0d722 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeNormal.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeNormal.java
@@ -5,8 +5,8 @@ import net.minecraft.core.world.World;
 public class WorldFeatureSpoonerTreeNormal
     extends WorldFeatureSpoonerTreeStick {
 
-    public WorldFeatureSpoonerTreeNormal(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreeNormal(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreePalm.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreePalm.java
index 5c7525d17..66ce45ee3 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreePalm.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreePalm.java
@@ -5,8 +5,8 @@ import net.minecraft.core.world.World;
 public class WorldFeatureSpoonerTreePalm
     extends WorldFeatureSpoonerTree {
 
-    public WorldFeatureSpoonerTreePalm(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreePalm(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeProcedural.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeProcedural.java
index 266bdd7fd..1b493378d 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeProcedural.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeProcedural.java
@@ -21,8 +21,8 @@ public abstract class WorldFeatureSpoonerTreeProcedural
     protected double[] foliageShape = null;
     protected List<int[]> foliageCoords = null;
 
-    public WorldFeatureSpoonerTreeProcedural(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreeProcedural(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     protected void crossSection(int[] center, double radius, int dirAxis, int id, int data, World world) {
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeRainforest.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeRainforest.java
index 9710b49ba..428f907a2 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeRainforest.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeRainforest.java
@@ -4,8 +4,8 @@ import net.minecraft.core.world.World;
 
 public class WorldFeatureSpoonerTreeRainforest
     extends WorldFeatureSpoonerTreeProcedural {
-    public WorldFeatureSpoonerTreeRainforest(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreeRainforest(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeRound.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeRound.java
index 4b30d4ece..66033596d 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeRound.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeRound.java
@@ -5,8 +5,8 @@ import net.minecraft.core.world.World;
 public class WorldFeatureSpoonerTreeRound
     extends WorldFeatureSpoonerTreeProcedural {
 
-    public WorldFeatureSpoonerTreeRound(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreeRound(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeStick.java b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeStick.java
index afe7b203e..5334b562c 100644
--- a/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeStick.java
+++ b/src/main/java/net/minecraft/core/world/generate/feature/tree/spooner/WorldFeatureSpoonerTreeStick.java
@@ -4,8 +4,8 @@ import net.minecraft.core.world.World;
 
 public abstract class WorldFeatureSpoonerTreeStick
     extends WorldFeatureSpoonerTree {
-    public WorldFeatureSpoonerTreeStick(int x, int y, int z, int height, int trunkId, int trunkData, int leavesId, int leavesData) {
-        super(x, y, z, height, trunkId, trunkData, leavesId, leavesData);
+    public WorldFeatureSpoonerTreeStick(int height, int trunkId, int trunkData, int leavesId, int leavesData) {
+        super(height, trunkId, trunkData, leavesId, leavesData);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/world/type/WorldTypeOverworld.java b/src/main/java/net/minecraft/core/world/type/WorldTypeOverworld.java
index 23efa1d04..5d6b75c56 100644
--- a/src/main/java/net/minecraft/core/world/type/WorldTypeOverworld.java
+++ b/src/main/java/net/minecraft/core/world/type/WorldTypeOverworld.java
@@ -89,13 +89,15 @@ public abstract class WorldTypeOverworld
     public float[] getSunriseColor(float timeOfDay, float partialTick)
     {
         float[] sunriseCol = new float[4];
-        float f2 = 0.4F;
-        float f3 = MathHelper.cos(timeOfDay * 3.141593F * 2.0F) - 0.0F;
-        float f4 = -0F;
-        if(f3 >= f4 - f2 && f3 <= f4 + f2)
+        float sunriseMinimum = 0.4F;
+
+        // Gives a value that goes from 1 to -1 to 1 over the course of a day
+        float sunrisePresence = MathHelper.cos(timeOfDay * MathHelper.PI * 2.0F);
+        float middle = 0F;
+        if(sunrisePresence >= middle - sunriseMinimum && sunrisePresence <= middle + sunriseMinimum)
         {
-            float c = ((f3 - f4) / f2) * 0.5F + 0.5F;
-            float a = 1.0F - (1.0F - MathHelper.sin(c * 3.141593F)) * 0.99F;
+            float c = ((sunrisePresence - middle) / sunriseMinimum) * 0.5F + 0.5F;
+            float a = 1.0F - (1.0F - MathHelper.sin(c * MathHelper.PI)) * 0.99F;
             a *= a;
             sunriseCol[0] = c * 0.3F + 0.7F;
             sunriseCol[1] = c * c * 0.7F + 0.2F;
diff --git a/src/main/resources/assets/minecraft/textures/block/farmland_dry_fertilized_top.png b/src/main/resources/assets/minecraft/textures/block/farmland_dry_fertilized_top.png
new file mode 100644
index 000000000..e955459c9
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/farmland_dry_fertilized_top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/farmland_wet_fertilized_top.png b/src/main/resources/assets/minecraft/textures/block/farmland_wet_fertilized_top.png
new file mode 100644
index 000000000..539c1a464
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/farmland_wet_fertilized_top.png differ
