 +                NovaDraw.incrementZ();
 +
 +                NovaDraw.Vertex[] scrollbarShade = new NovaDraw.Vertex[]{
-+                        new NovaDraw.Vertex(i, (l1 + k1),  0, 1, new Color(128, 128, 128, 255)),
-+                        new NovaDraw.Vertex(j, (l1 + k1),  1, 1, new Color(128, 128, 128, 255)),
-+                        new NovaDraw.Vertex(j, l1,  1, 0, new Color(128, 128, 128, 255)),
-+                        new NovaDraw.Vertex(i, l1, 0, 0, new Color(128, 128, 128, 255))
++                        new NovaDraw.Vertex(scrollBarX, (l1 + k1),  0, 1, new Color(128, 128, 128, 255)),
++                        new NovaDraw.Vertex(scrollBarOutside, (l1 + k1),  1, 1, new Color(128, 128, 128, 255)),
++                        new NovaDraw.Vertex(scrollBarOutside, l1,  1, 0, new Color(128, 128, 128, 255)),
++                        new NovaDraw.Vertex(scrollBarX, l1, 0, 0, new Color(128, 128, 128, 255))
 +                };
 +
 +                indices = new Integer[]{

+
+
+            NovaDraw.Vertex[] shade = new NovaDraw.Vertex[] {
+                    new NovaDraw.Vertex(this.left, this.top +4,   0,1,     new Color(0, 0, 0, 0)),
+                    new NovaDraw.Vertex(this.right, this.top+4,   1,1,    new Color(0, 0, 0, 0)),
+                    new NovaDraw.Vertex(this.right, this.top,      1,0,       new Color(0, 0, 0, 255)),
+                    new NovaDraw.Vertex(this.left, this.top,      0,   0,    new Color(0, 0, 0, 255))
+            };
+
+            indices = new Integer[] {
+                    0, 1, 2, 2, 3, 0
+            };
+
+            NovaDraw.draw(WHITE_TEXTURE_GUI_LOCATION, indices, shade);
+
+
+            shade = new NovaDraw.Vertex[] {
+                    new NovaDraw.Vertex(this.left, this.bottom,   0,1,     new Color(0, 0, 0, 255)),
+                    new NovaDraw.Vertex(this.right, this.bottom,   1,1,    new Color(0, 0, 0, 255)),
+                    new NovaDraw.Vertex(this.right, this.bottom-4,     1,0,       new Color(0, 0, 0, 0)),
+                    new NovaDraw.Vertex(this.left, this.bottom-4,      0,0,        new Color(0, 0, 0, 0))
+            };
+
+            indices = new Integer[] {
+                    0, 1, 2, 2, 3, 0
+            };
+
+            NovaDraw.draw(WHITE_TEXTURE_GUI_LOCATION, indices, shade);

-            if (k > this.bottom || k + l < this.top)
-            {
+            if (k > this.bottom || k + l < this.top) {
@@ -466,17 +470,35 @@ public abstract class GuiSlot
-            if (this.showSelectionBox && this.isSelected(j))
-            {
-                int i1 = this.left + (this.width / 2 - this.getListWidth() / 2);
-                int j1 = this.left + this.width / 2 + this.getListWidth() / 2;
-                GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
-                GlStateManager.disableTexture2D();
-                vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
