Add config GUI

This commit is contained in:
tterrag1098
2017-05-24 21:25:11 -04:00
parent eab39b7e9d
commit 2bf5f6c838
4 changed files with 83 additions and 2 deletions

View File

@@ -8,6 +8,8 @@ import org.apache.commons.lang3.ArrayUtils;
import com.google.common.base.Throwables;
import static com.tterrag.blurbg.BlurBG.*;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiChat;
import net.minecraft.client.renderer.EntityRenderer;
@@ -18,6 +20,7 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.client.event.ConfigChangedEvent.OnConfigChangedEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
@@ -27,12 +30,18 @@ import net.minecraftforge.fml.common.gameevent.TickEvent.Phase;
import net.minecraftforge.fml.common.gameevent.TickEvent.RenderTickEvent;
import net.minecraftforge.fml.relauncher.ReflectionHelper;
@Mod(modid = "blurbg", name = "BlurBG", version = "@VERSION@", acceptedMinecraftVersions = "[1.9, 1.12)", clientSideOnly = true)
@Mod(modid = MODID, name = MOD_NAME, version = VERSION, acceptedMinecraftVersions = "[1.9, 1.12)", clientSideOnly = true, guiFactory = "com.tterrag.blurbg.config.BlurGuiFactory")
public class BlurBG {
public static final String MODID = "blurbg";
public static final String MOD_NAME = "BlurBG";
public static final String VERSION = "@VERSION@";
@Instance
public static BlurBG instance;
public Configuration config;
private String[] blurExclusions;
private Field _listShaders;
@@ -45,7 +54,11 @@ public class BlurBG {
public void preInit(FMLPreInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(this);
Configuration config = new Configuration(new File(event.getModConfigurationDirectory(), "blurbg.cfg"));
config = new Configuration(new File(event.getModConfigurationDirectory(), "blurbg.cfg"));
saveConfig();
}
private void saveConfig() {
blurExclusions = config.getStringList("guiExclusions", Configuration.CATEGORY_GENERAL, new String[] {
GuiChat.class.getName(),
@@ -66,6 +79,13 @@ public class BlurBG {
config.save();
}
@SubscribeEvent
public void onConfigChanged(OnConfigChangedEvent event) {
if (event.getModID().equals(MODID)) {
saveConfig();
}
}
@SuppressWarnings("null")
@SubscribeEvent
public void onGuiChange(GuiOpenEvent event) {

View File

@@ -0,0 +1,15 @@
package com.tterrag.blurbg.config;
import com.tterrag.blurbg.BlurBG;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.common.config.ConfigElement;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.client.config.GuiConfig;
public class BlurConfigGui extends GuiConfig {
public BlurConfigGui(GuiScreen parentScreen) {
super(parentScreen, new ConfigElement(BlurBG.instance.config.getCategory(Configuration.CATEGORY_GENERAL)).getChildElements(), "blurbg", false, false, "blurbg.config.title");
}
}

View File

@@ -0,0 +1,30 @@
package com.tterrag.blurbg.config;
import java.util.Set;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.fml.client.IModGuiFactory;
public class BlurGuiFactory implements IModGuiFactory {
@Override
public void initialize(Minecraft minecraftInstance) {}
@Override
public Class<? extends GuiScreen> mainConfigGuiClass() {
return BlurConfigGui.class;
}
@Override
public Set<RuntimeOptionCategoryElement> runtimeGuiCategories() {
return null;
}
@Override
@Deprecated
public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) {
return null;
}
}

View File

@@ -0,0 +1,16 @@
[
{
"modid": "blurbg",
"name": "BlurBG",
"description": "Adds a blurry background when viewing GUIs",
"version": "${version}",
"mcversion": "${mcversion}",
"url": "http://tterrag.com",
"updateUrl": "http://ci.tterrag.com/job/BlurBG",
"authorList": ["tterrag"],
"credits": "",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]