package com.tterrag.blur.config;

import javax.annotation.Nonnull;

import com.tterrag.blur.Blur;

import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.Tessellator;
import net.minecraftforge.common.config.ConfigElement;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.client.config.GuiConfig;
import net.minecraftforge.fml.client.config.GuiConfigEntries;

public class BlurConfigGui extends GuiConfig {

    public BlurConfigGui(GuiScreen parentScreen) {
        super(parentScreen, new ConfigElement(Blur.instance.config.getCategory(Configuration.CATEGORY_GENERAL)).getChildElements(), Blur.MODID, false, false, Blur.MODID + ".config.title");
    }
    
    @Override
    public void initGui() {
        super.initGui();
        this.entryList = new GuiConfigEntries(this, mc) {
            @SuppressWarnings({ "unused", "null" })
            @Override
            protected void drawContainerBackground(@Nonnull Tessellator tessellator) {
                if (mc.world == null) {
                    super.drawContainerBackground(tessellator);
                }
            }
        };
    }
    
    @Override
    public void drawDefaultBackground() {
        drawWorldBackground(0);
    }
}

@@ -766,25 +766,71 @@
     
-super.initGui();%0A
+if (this.entryList == null %7C%7C this.needsRefresh)%0A        %7B%0A    
     
@@ -895,16 +895,20 @@
         
+ 
+   
 @Suppres
@@ -947,24 +947,28 @@
             
+    
 @Override%0A  
@@ -961,24 +961,28 @@
   @Override%0A
+    
             
@@ -1068,24 +1068,28 @@
             
+    
 if (mc.world
@@ -1096,24 +1096,28 @@
  == null) %7B%0A
+    
             
@@ -1176,34 +1176,42 @@
                 
+  
-%7D%0A
+  %7D%0A    
             %7D%0A  
@@ -1216,17 +1216,95 @@
         
-%7D
+    %7D;%0A            this.needsRefresh = false;%0A        %7D%0A        super.initGui()
 ;%0A    %7D%0A

Fix array configs not saving in config GUI