diff --git a/build.gradle b/build.gradle index 1fbadd1..f898824 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { apply plugin: 'forge' -version = "2.1.14" +version = "1.7.10-2.1.15" group= "magicbees" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "magicbees" diff --git a/src/main/java/magicbees/client/gui/GuiFactory.java b/src/main/java/magicbees/client/gui/GuiFactory.java new file mode 100644 index 0000000..58679eb --- /dev/null +++ b/src/main/java/magicbees/client/gui/GuiFactory.java @@ -0,0 +1,30 @@ +package magicbees.client.gui; + +import cpw.mods.fml.client.IModGuiFactory; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; + +import java.util.Set; + +public class GuiFactory implements IModGuiFactory { + + @Override + public void initialize(Minecraft minecraftInstance) { + + } + + @Override + public Class mainConfigGuiClass() { + return ModGuiConfig.class; + } + + @Override + public Set runtimeGuiCategories() { + return null; + } + + @Override + public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) { + return null; + } +} diff --git a/src/main/java/magicbees/client/gui/ModGuiConfig.java b/src/main/java/magicbees/client/gui/ModGuiConfig.java new file mode 100644 index 0000000..deff90f --- /dev/null +++ b/src/main/java/magicbees/client/gui/ModGuiConfig.java @@ -0,0 +1,23 @@ +package magicbees.client.gui; + +import cpw.mods.fml.client.config.GuiConfig; +import cpw.mods.fml.client.config.IConfigElement; +import magicbees.main.Config; +import magicbees.main.utils.VersionInfo; +import net.minecraft.client.gui.GuiScreen; +import net.minecraftforge.common.config.ConfigElement; +import net.minecraftforge.common.config.Configuration; + +import java.util.List; + +public class ModGuiConfig extends GuiConfig { + public ModGuiConfig(GuiScreen guiScreen) + { + super(guiScreen, + new ConfigElement(Config.configuration.getCategory(Configuration.CATEGORY_GENERAL)).getChildElements(), + VersionInfo.ModName, + false, + false, + GuiConfig.getAbridgedConfigPath(Config.configuration.toString())); + } +} diff --git a/src/main/java/magicbees/main/Config.java b/src/main/java/magicbees/main/Config.java index af4b4e6..3903c70 100644 --- a/src/main/java/magicbees/main/Config.java +++ b/src/main/java/magicbees/main/Config.java @@ -1,7 +1,9 @@ package magicbees.main; +import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.event.FMLInterModComms; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.registry.GameRegistry; import forestry.api.apiculture.BeeManager; import forestry.api.storage.BackpackManager; @@ -16,6 +18,7 @@ import magicbees.block.types.PlankType; import magicbees.item.*; import magicbees.item.types.*; import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.VersionInfo; import magicbees.main.utils.compat.ThaumcraftHelper; import magicbees.storage.BackpackDefinition; import magicbees.tileentity.TileEntityEffectJar; @@ -172,7 +175,7 @@ public class Config //----- Config State info ---------------------------------- - private Configuration configuration; + public static Configuration configuration; public Config(File configFile) { @@ -182,7 +185,19 @@ public class Config this.ForestryDebugEnabled = (new File("./config/forestry/DEBUG.ON")).exists(); } - + + @SubscribeEvent + public void onConfigurationChangedEvent(ConfigChangedEvent.OnConfigChangedEvent event) + { + if (event.modID.equalsIgnoreCase(VersionInfo.ModName)) + { + if (configuration.hasChanged()) + { + this.configuration.save(); + } + } + } + public void saveConfigs() { this.configuration.save(); diff --git a/src/main/java/magicbees/main/MagicBees.java b/src/main/java/magicbees/main/MagicBees.java index 47142b9..ce10b58 100644 --- a/src/main/java/magicbees/main/MagicBees.java +++ b/src/main/java/magicbees/main/MagicBees.java @@ -1,5 +1,6 @@ package magicbees.main; +import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; @@ -17,7 +18,8 @@ import magicbees.world.WorldGeneratorHandler; @Mod( modid=VersionInfo.ModName, - dependencies=VersionInfo.Depends + dependencies=VersionInfo.Depends, + guiFactory=VersionInfo.GUI_FACTORY_CLASS ) public class MagicBees { @@ -38,6 +40,7 @@ public class MagicBees { this.configsPath = event.getModConfigurationDirectory().getAbsolutePath(); this.modConfig = new Config(event.getSuggestedConfigurationFile()); + FMLCommonHandler.instance().bus().register(modConfig); // Compatibility Helpers setup time. ForestryHelper.preInit(); diff --git a/src/main/java/magicbees/main/utils/VersionInfo.java b/src/main/java/magicbees/main/utils/VersionInfo.java index 112fbcb..5909fc5 100644 --- a/src/main/java/magicbees/main/utils/VersionInfo.java +++ b/src/main/java/magicbees/main/utils/VersionInfo.java @@ -21,6 +21,7 @@ public class VersionInfo public static final String Build = "@BUILD_NUMBER@"; public static final String MCVersion = "@MCVERSION@"; public static final String VersionURL = "http://bit.ly/magicbeesVersionInfo"; + public static final String GUI_FACTORY_CLASS = "magicbees.client.gui.GuiFactory"; public static final String Logo = "/gfx/magicbees/logo.png"; diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 64026e2..da31c20 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -5,7 +5,7 @@ "mcversion": "${mcversion}", "name": "Magic Bees", "url": "http://bit.ly/XFDvLY", - "description": "Magic themed bee expansion for Forestry. TC3, EE3, AM compatible!", + "description": "Magic themed bee expansion for Forestry. TC4, EE3, AM 2, TE 3", "authors": [ "MysteriousAges" ], "credits": "SirSengir, Azanor, Binnie & the Forestry Dev peeps", "logoFile": "/mods/magicbees/textures/logo.png"