 -                ;
 -            }
 -
-@@ -1038 +1021 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1038 +1020 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -            ((GuiScreen)guiScreenIn).setWorldAndResolution(this, i, j);
 +            guiScreenIn.setWorldAndResolution(this, i, j);
-@@ -1040,3 +1023 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1040,3 +1022 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -        }
 -        else
 -        {
 +        } else {
-@@ -1150 +1130,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1150 +1129,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -        this.framebufferMc.bindFramebuffer(true);
-@@ -1158 +1138,2 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1158 +1137 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -            this.entityRenderer.updateCameraAndRender(this.timer.renderPartialTicks, i);
-+            entityRenderer.updateCamera(timer.renderPartialTicks, i);
 +            nova.updateCameraAndRender(timer.renderPartialTicks, i, this);
-@@ -1181 +1161,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1181 +1159,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -        this.framebufferMc.unbindFramebuffer();
-@@ -1184 +1163,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1184 +1161,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -        this.framebufferMc.framebufferRender(this.displayWidth, this.displayHeight);
-@@ -1187 +1165,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1187 +1163,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -        this.entityRenderer.renderStreamIndicator(this.timer.renderPartialTicks);
-@@ -1227 +1205 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1227 +1203 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -        Display.update();
 +        //Display.update();
-@@ -1234 +1212 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1234 +1210 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -        if (!this.fullscreen && Display.wasResized())
 +        if (nova.wasResized())
-@@ -1236,4 +1214,2 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1236,4 +1212,2 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -            int i = this.displayWidth;
 -            int j = this.displayHeight;
 -            this.displayWidth = Display.getWidth();
 -            this.displayHeight = Display.getHeight();
 +            this.displayWidth = nova.getWidth();
 +            this.displayHeight = nova.getHeight();
-@@ -1241,11 +1216,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
+@@ -1241,11 +1214,0 @@ public class Minecraft implements IThreadListener, ISnooperInfo
 -            if (this.displayWidth != i || this.displayHeight != j)
 -            {
 -                if (this.displayWidth <= 0)

-    {
+    public GuiWorldSelection getGuiWorldSelection() {
diff --git a/minecraft/client/gui/GuiListWorldSelectionEntry.java b/minecraft/client/gui/GuiListWorldSelectionEntry.java
index ff4ba69..4eb7518 100644
--- a/minecraft/client/gui/GuiListWorldSelectionEntry.java
+++ b/minecraft/client/gui/GuiListWorldSelectionEntry.java
@@ -2,0 +3 @@ package net.minecraft.client.gui;
+import java.awt.geom.Rectangle2D;
@@ -4,0 +6 @@ import java.io.File;
+import java.io.IOException;
@@ -8,0 +11,3 @@ import javax.imageio.ImageIO;
+
+import com.continuum.nova.NovaNative;
+import com.continuum.nova.gui.NovaDraw;
@@ -27,2 +32 @@ import org.apache.logging.log4j.Logger;
-public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry
-{
+public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry {
@@ -42,2 +46 @@ public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry
-    public GuiListWorldSelectionEntry(GuiListWorldSelection listWorldSelIn, WorldSummary p_i46591_2_, ISaveFormat p_i46591_3_)
-    {
+    public GuiListWorldSelectionEntry(GuiListWorldSelection listWorldSelIn, WorldSummary worldSummary, ISaveFormat saveFormat) {
@@ -46 +49 @@ public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry
-        this.worldSummary = p_i46591_2_;
+        this.worldSummary = worldSummary;
@@ -48,2 +51,2 @@ public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry
-        this.iconLocation = new ResourceLocation("worlds/" + p_i46591_2_.getFileName() + "/icon");
-        this.iconFile = p_i46591_3_.getFile(p_i46591_2_.getFileName(), "icon.png");
+        this.iconLocation = new ResourceLocation("worlds/" + worldSummary.getFileName() + "/icon");
+        this.iconFile = saveFormat.getFile(worldSummary.getFileName(), "icon.png");
@@ -51,2 +54 @@ public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry
-        if (!this.iconFile.isFile())
-        {
+        if (!this.iconFile.isFile()) {
@@ -59,2 +61,2 @@ public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry
-    public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected)
-    {
+    @Override
+    public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) {
@@ -65,3 +67,2 @@ public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry
-        if (StringUtils.isEmpty(s))
-        {
-            s = I18n.format("selectWorld.world", new Object[0]) + " " + (slotIndex + 1);
+        if (StringUtils.isEmpty(s)) {
+            s = I18n.format("selectWorld.world") + " " + (slotIndex + 1);
@@ -70,7 +71,4 @@ public class GuiListWorldSelectionEntry implements GuiListExtended.IGuiListEntry
-        if (this.worldSummary.requiresConversion())
-        {
-            s2 = I18n.format("selectWorld.conversion", new Object[0]) + " " + s2;

-            LOGGER.warn("{}: dropping miplevel from {} to {}, because of minimum power of two: {}", new Object[] {this.basePath, Integer.valueOf(this.mipmapLevels), Integer.valueOf(i1), Integer.valueOf(l)});
+        if (i1 < this.mipmapLevels) {
+            LOGGER.warn("{}: dropping miplevel from {} to {}, because of minimum power of two: {}", this.basePath, this.mipmapLevels, i1, l);
@@ -141,8 +134,3 @@ public class TextureMap extends AbstractTexture implements ITickableTextureObjec
-        try
-        {
-            stitcher.doStitch();
