Commit cf4e662ff064db44d1acd9f50cf1d1b3b63f63cb
1 parent
62a9bc25
LiteLoader 1.6.4_02 - experimental - make enable/disable mods public, minor refactoring
Showing
3 changed files
with
188 additions
and
94 deletions
java/com/mumfrey/liteloader/core/LiteLoader.java
| @@ -133,7 +133,7 @@ public final class LiteLoader | @@ -133,7 +133,7 @@ public final class LiteLoader | ||
| 133 | private String loadedModsList = "none"; | 133 | private String loadedModsList = "none"; |
| 134 | 134 | ||
| 135 | /** | 135 | /** |
| 136 | - * Global list of mods which we can loaded | 136 | + * Global list of mods which we can load |
| 137 | */ | 137 | */ |
| 138 | private final LinkedList<LiteMod> mods = new LinkedList<LiteMod>(); | 138 | private final LinkedList<LiteMod> mods = new LinkedList<LiteMod>(); |
| 139 | 139 | ||
| @@ -354,7 +354,7 @@ public final class LiteLoader | @@ -354,7 +354,7 @@ public final class LiteLoader | ||
| 354 | this.events.initHooks(); | 354 | this.events.initHooks(); |
| 355 | this.startupComplete = true; | 355 | this.startupComplete = true; |
| 356 | 356 | ||
| 357 | - this.enabledModsList.save(); | 357 | + this.enabledModsList.saveTo(this.enabledModsFile); |
| 358 | this.bootstrap.writeProperties(); | 358 | this.bootstrap.writeProperties(); |
| 359 | } | 359 | } |
| 360 | 360 | ||
| @@ -572,23 +572,6 @@ public final class LiteLoader | @@ -572,23 +572,6 @@ public final class LiteLoader | ||
| 572 | } | 572 | } |
| 573 | 573 | ||
| 574 | /** | 574 | /** |
| 575 | - * Used by the version upgrade code, gets a version of the mod name suitable | ||
| 576 | - * for inclusion in the properties file | ||
| 577 | - * | ||
| 578 | - * @param modName | ||
| 579 | - * @return | ||
| 580 | - */ | ||
| 581 | - private String getModNameForConfig(Class<? extends LiteMod> modClass, String modName) | ||
| 582 | - { | ||
| 583 | - if (modName == null || modName.isEmpty()) | ||
| 584 | - { | ||
| 585 | - modName = modClass.getSimpleName().toLowerCase(); | ||
| 586 | - } | ||
| 587 | - | ||
| 588 | - return String.format("version.%s", modName.toLowerCase().replaceAll("[^a-z0-9_\\-\\.]", "")); | ||
| 589 | - } | ||
| 590 | - | ||
| 591 | - /** | ||
| 592 | * Get a reference to a loaded mod, if the mod exists | 575 | * Get a reference to a loaded mod, if the mod exists |
| 593 | * | 576 | * |
| 594 | * @param modName Mod's name, meta name or class name | 577 | * @param modName Mod's name, meta name or class name |
| @@ -713,8 +696,83 @@ public final class LiteLoader | @@ -713,8 +696,83 @@ public final class LiteLoader | ||
| 713 | { | 696 | { |
| 714 | return this.enumerator.getModMetaName(modClass); | 697 | return this.enumerator.getModMetaName(modClass); |
| 715 | } | 698 | } |
| 699 | + | ||
| 700 | + /** | ||
| 701 | + * Get the mod "name" metadata key, this is used for versioning, exclusivity, and enablement checks | ||
| 702 | + * | ||
| 703 | + * @param modClass | ||
| 704 | + * @return | ||
| 705 | + */ | ||
| 706 | + public Class<? extends LiteMod> getModFromMetaName(String modName) | ||
| 707 | + { | ||
| 708 | + if (modName == null) return null; | ||
| 709 | + | ||
| 710 | + for (LiteMod mod : this.mods) | ||
| 711 | + { | ||
| 712 | + if (modName.equalsIgnoreCase(this.enumerator.getModMetaName(mod.getClass()))) | ||
| 713 | + { | ||
| 714 | + return mod.getClass(); | ||
| 715 | + } | ||
| 716 | + } | ||
| 717 | + | ||
| 718 | + return null; | ||
| 719 | + } | ||
| 720 | + | ||
| 721 | + /** | ||
| 722 | + * @param modMetaName Mod meta name to enable | ||
| 723 | + */ | ||
| 724 | + public void enableMod(String modMetaName) | ||
| 725 | + { | ||
| 726 | + this.setModEnabled(modMetaName, true); | ||
| 727 | + } | ||
| 728 | + | ||
| 729 | + /** | ||
| 730 | + * @param modMetaName Mod meta name to disable | ||
| 731 | + */ | ||
| 732 | + public void disableMod(String modMetaName) | ||
| 733 | + { | ||
| 734 | + this.setModEnabled(modMetaName, false); | ||
| 735 | + } | ||
| 736 | + | ||
| 737 | + /** | ||
| 738 | + * @param modMetaName Mod meta name to enable/disable | ||
| 739 | + * @param enabled | ||
| 740 | + */ | ||
| 741 | + public void setModEnabled(String modMetaName, boolean enabled) | ||
| 742 | + { | ||
| 743 | + this.enabledModsList.setEnabled(this.bootstrap.getProfile(), modMetaName, enabled); | ||
| 744 | + this.enabledModsList.saveTo(this.enabledModsFile); | ||
| 745 | + } | ||
| 716 | 746 | ||
| 717 | /** | 747 | /** |
| 748 | + * @param modName | ||
| 749 | + * @return | ||
| 750 | + */ | ||
| 751 | + public boolean isModEnabled(String modName) | ||
| 752 | + { | ||
| 753 | + return this.enabledModsList.isEnabled(LiteLoader.getProfile(), modName); | ||
| 754 | + } | ||
| 755 | + | ||
| 756 | + /** | ||
| 757 | + * @param modName | ||
| 758 | + * @return | ||
| 759 | + */ | ||
| 760 | + public boolean isModActive(String modName) | ||
| 761 | + { | ||
| 762 | + if (modName == null) return false; | ||
| 763 | + | ||
| 764 | + for (LiteMod mod : this.loadedMods) | ||
| 765 | + { | ||
| 766 | + if (modName.equalsIgnoreCase(this.enumerator.getModMetaName(mod.getClass()))) | ||
| 767 | + { | ||
| 768 | + return true; | ||
| 769 | + } | ||
| 770 | + } | ||
| 771 | + | ||
| 772 | + return false; | ||
| 773 | + } | ||
| 774 | + | ||
| 775 | + /** | ||
| 718 | * Create mod instances from the enumerated classes | 776 | * Create mod instances from the enumerated classes |
| 719 | * | 777 | * |
| 720 | * @param modsToLoad List of mods to load | 778 | * @param modsToLoad List of mods to load |
| @@ -740,32 +798,7 @@ public final class LiteLoader | @@ -740,32 +798,7 @@ public final class LiteLoader | ||
| 740 | String metaName = this.getModMetaName(mod); | 798 | String metaName = this.getModMetaName(mod); |
| 741 | if (metaName == null || this.enabledModsList.isEnabled(this.bootstrap.getProfile(), metaName)) | 799 | if (metaName == null || this.enabledModsList.isEnabled(this.bootstrap.getProfile(), metaName)) |
| 742 | { | 800 | { |
| 743 | - LiteLoader.logInfo("Loading mod from %s", mod.getName()); | ||
| 744 | - | ||
| 745 | - LiteMod newMod = mod.newInstance(); | ||
| 746 | - | ||
| 747 | - this.mods.add(newMod); | ||
| 748 | - String modName = newMod.getName(); | ||
| 749 | - if (modName == null && metaName != null) modName = metaName; | ||
| 750 | - LiteLoader.logInfo("Successfully added mod %s version %s", modName, newMod.getVersion()); | ||
| 751 | - | ||
| 752 | - // Get the mod file and register it as a resource pack if it exists | ||
| 753 | - ModFile modFile = this.enumerator.getModFile(mod); | ||
| 754 | - if (modFile != null) | ||
| 755 | - { | ||
| 756 | - this.disabledMods.remove(modFile); | ||
| 757 | - | ||
| 758 | - LiteLoader.logInfo("Adding \"%s\" to active resource pack set", modFile.getAbsolutePath()); | ||
| 759 | - if (modName != null) | ||
| 760 | - { | ||
| 761 | - modFile.initResourcePack(modName); | ||
| 762 | - | ||
| 763 | - if (modFile.hasResourcePack() && this.registerModResourcePack((ResourcePack)modFile.getResourcePack())) | ||
| 764 | - { | ||
| 765 | - LiteLoader.logInfo("Successfully added \"%s\" to active resource pack set", modFile.getAbsolutePath()); | ||
| 766 | - } | ||
| 767 | - } | ||
| 768 | - } | 801 | + this.loadMod(metaName, mod); |
| 769 | } | 802 | } |
| 770 | else | 803 | else |
| 771 | { | 804 | { |
| @@ -782,6 +815,42 @@ public final class LiteLoader | @@ -782,6 +815,42 @@ public final class LiteLoader | ||
| 782 | } | 815 | } |
| 783 | 816 | ||
| 784 | /** | 817 | /** |
| 818 | + * @param metaName | ||
| 819 | + * @param mod | ||
| 820 | + * @throws InstantiationException | ||
| 821 | + * @throws IllegalAccessException | ||
| 822 | + */ | ||
| 823 | + protected void loadMod(String metaName, Class<? extends LiteMod> mod) throws InstantiationException, IllegalAccessException | ||
| 824 | + { | ||
| 825 | + LiteLoader.logInfo("Loading mod from %s", mod.getName()); | ||
| 826 | + | ||
| 827 | + LiteMod newMod = mod.newInstance(); | ||
| 828 | + | ||
| 829 | + this.mods.add(newMod); | ||
| 830 | + String modName = newMod.getName(); | ||
| 831 | + if (modName == null && metaName != null) modName = metaName; | ||
| 832 | + LiteLoader.logInfo("Successfully added mod %s version %s", modName, newMod.getVersion()); | ||
| 833 | + | ||
| 834 | + // Get the mod file and register it as a resource pack if it exists | ||
| 835 | + ModFile modFile = this.enumerator.getModFile(mod); | ||
| 836 | + if (modFile != null) | ||
| 837 | + { | ||
| 838 | + this.disabledMods.remove(modFile); | ||
| 839 | + | ||
| 840 | + LiteLoader.logInfo("Adding \"%s\" to active resource pack set", modFile.getAbsolutePath()); | ||
| 841 | + if (modName != null) | ||
| 842 | + { | ||
| 843 | + modFile.initResourcePack(modName); | ||
| 844 | + | ||
| 845 | + if (modFile.hasResourcePack() && this.registerModResourcePack((ResourcePack)modFile.getResourcePack())) | ||
| 846 | + { | ||
| 847 | + LiteLoader.logInfo("Successfully added \"%s\" to active resource pack set", modFile.getAbsolutePath()); | ||
| 848 | + } | ||
| 849 | + } | ||
| 850 | + } | ||
| 851 | + } | ||
| 852 | + | ||
| 853 | + /** | ||
| 785 | * Initialise the mods which were loaded | 854 | * Initialise the mods which were loaded |
| 786 | */ | 855 | */ |
| 787 | private void initMods() | 856 | private void initMods() |
| @@ -792,54 +861,87 @@ public final class LiteLoader | @@ -792,54 +861,87 @@ public final class LiteLoader | ||
| 792 | for (Iterator<LiteMod> iter = this.mods.iterator(); iter.hasNext();) | 861 | for (Iterator<LiteMod> iter = this.mods.iterator(); iter.hasNext();) |
| 793 | { | 862 | { |
| 794 | LiteMod mod = iter.next(); | 863 | LiteMod mod = iter.next(); |
| 795 | - String modName = mod.getName(); | ||
| 796 | 864 | ||
| 797 | try | 865 | try |
| 798 | { | 866 | { |
| 799 | - LiteLoader.logInfo("Initialising mod %s version %s", modName, mod.getVersion()); | ||
| 800 | - | ||
| 801 | - try | ||
| 802 | - { | ||
| 803 | - String modKey = this.getModNameForConfig(mod.getClass(), modName); | ||
| 804 | - LiteLoaderVersion lastModVersion = LiteLoaderVersion.getVersionFromRevision(this.bootstrap.getLastKnownModRevision(modKey)); | ||
| 805 | - | ||
| 806 | - if (LiteLoaderBootstrap.VERSION.getLoaderRevision() > lastModVersion.getLoaderRevision()) | ||
| 807 | - { | ||
| 808 | - LiteLoader.logInfo("Performing config upgrade for mod %s. Upgrading %s to %s...", modName, lastModVersion, LiteLoaderBootstrap.VERSION); | ||
| 809 | - mod.upgradeSettings(LiteLoaderBootstrap.VERSION.getMinecraftVersion(), this.versionConfigFolder, this.inflectVersionedConfigPath(lastModVersion)); | ||
| 810 | - | ||
| 811 | - this.bootstrap.storeLastKnownModRevision(modKey); | ||
| 812 | - LiteLoader.logInfo("Config upgrade succeeded for mod %s", modName); | ||
| 813 | - } | ||
| 814 | - } | ||
| 815 | - catch (Throwable th) | ||
| 816 | - { | ||
| 817 | - LiteLoader.logWarning("Error performing settings upgrade for %s. Settings may not be properly migrated", modName); | ||
| 818 | - } | ||
| 819 | - | ||
| 820 | - // pre-1.6.4_01 this was being called with the wrong path, I hope this doesn't break anything | ||
| 821 | - mod.init(this.commonConfigFolder); | ||
| 822 | - | ||
| 823 | - this.events.addListener(mod); | ||
| 824 | - | ||
| 825 | - if (mod instanceof Permissible) | ||
| 826 | - { | ||
| 827 | - this.permissionsManager.registerPermissible((Permissible)mod); | ||
| 828 | - } | ||
| 829 | - | ||
| 830 | - this.loadedMods.add(mod); | ||
| 831 | - this.loadedModsList += String.format("\n - %s version %s", modName, mod.getVersion()); | 867 | + this.initMod(mod); |
| 832 | loadedModsCount++; | 868 | loadedModsCount++; |
| 833 | } | 869 | } |
| 834 | catch (Throwable th) | 870 | catch (Throwable th) |
| 835 | { | 871 | { |
| 836 | - LiteLoader.getLogger().log(Level.WARNING, "Error initialising mod '" + modName, th); | 872 | + LiteLoader.getLogger().log(Level.WARNING, "Error initialising mod '" + mod.getName() + "'", th); |
| 837 | iter.remove(); | 873 | iter.remove(); |
| 838 | } | 874 | } |
| 839 | } | 875 | } |
| 840 | 876 | ||
| 841 | this.loadedModsList = String.format("%s loaded mod(s)%s", loadedModsCount, this.loadedModsList); | 877 | this.loadedModsList = String.format("%s loaded mod(s)%s", loadedModsCount, this.loadedModsList); |
| 842 | } | 878 | } |
| 879 | + | ||
| 880 | + /** | ||
| 881 | + * @param mod | ||
| 882 | + */ | ||
| 883 | + protected void initMod(LiteMod mod) | ||
| 884 | + { | ||
| 885 | + LiteLoader.logInfo("Initialising mod %s version %s", mod.getName(), mod.getVersion()); | ||
| 886 | + | ||
| 887 | + try | ||
| 888 | + { | ||
| 889 | + this.handleModVersionUpgrade(mod); | ||
| 890 | + } | ||
| 891 | + catch (Throwable th) | ||
| 892 | + { | ||
| 893 | + LiteLoader.logWarning("Error performing settings upgrade for %s. Settings may not be properly migrated", mod.getName()); | ||
| 894 | + } | ||
| 895 | + | ||
| 896 | + // initialise the mod | ||
| 897 | + mod.init(this.commonConfigFolder); | ||
| 898 | + | ||
| 899 | + // add the mod to all relevant listener queues | ||
| 900 | + this.events.addListener(mod); | ||
| 901 | + | ||
| 902 | + if (mod instanceof Permissible) | ||
| 903 | + { | ||
| 904 | + this.permissionsManager.registerPermissible((Permissible)mod); | ||
| 905 | + } | ||
| 906 | + | ||
| 907 | + this.loadedMods.add(mod); | ||
| 908 | + this.loadedModsList += String.format("\n - %s version %s", mod.getName(), mod.getVersion()); | ||
| 909 | + } | ||
| 910 | + | ||
| 911 | + /** | ||
| 912 | + * @param mod | ||
| 913 | + */ | ||
| 914 | + protected void handleModVersionUpgrade(LiteMod mod) | ||
| 915 | + { | ||
| 916 | + String modKey = this.getModNameForConfig(mod.getClass(), mod.getName()); | ||
| 917 | + LiteLoaderVersion lastModVersion = LiteLoaderVersion.getVersionFromRevision(this.bootstrap.getLastKnownModRevision(modKey)); | ||
| 918 | + | ||
| 919 | + if (LiteLoaderBootstrap.VERSION.getLoaderRevision() > lastModVersion.getLoaderRevision()) | ||
| 920 | + { | ||
| 921 | + LiteLoader.logInfo("Performing config upgrade for mod %s. Upgrading %s to %s...", mod.getName(), lastModVersion, LiteLoaderBootstrap.VERSION); | ||
| 922 | + mod.upgradeSettings(LiteLoaderBootstrap.VERSION.getMinecraftVersion(), this.versionConfigFolder, this.inflectVersionedConfigPath(lastModVersion)); | ||
| 923 | + | ||
| 924 | + this.bootstrap.storeLastKnownModRevision(modKey); | ||
| 925 | + LiteLoader.logInfo("Config upgrade succeeded for mod %s", mod.getName()); | ||
| 926 | + } | ||
| 927 | + } | ||
| 928 | + | ||
| 929 | + /** | ||
| 930 | + * Used by the version upgrade code, gets a version of the mod name suitable | ||
| 931 | + * for inclusion in the properties file | ||
| 932 | + * | ||
| 933 | + * @param modName | ||
| 934 | + * @return | ||
| 935 | + */ | ||
| 936 | + private String getModNameForConfig(Class<? extends LiteMod> modClass, String modName) | ||
| 937 | + { | ||
| 938 | + if (modName == null || modName.isEmpty()) | ||
| 939 | + { | ||
| 940 | + modName = modClass.getSimpleName().toLowerCase(); | ||
| 941 | + } | ||
| 942 | + | ||
| 943 | + return String.format("version.%s", modName.toLowerCase().replaceAll("[^a-z0-9_\\-\\.]", "")); | ||
| 944 | + } | ||
| 843 | 945 | ||
| 844 | /** | 946 | /** |
| 845 | * Called before mod late initialisation, refresh the resources that have been added so that mods can use them | 947 | * Called before mod late initialisation, refresh the resources that have been added so that mods can use them |
java/com/mumfrey/liteloader/core/LiteLoaderEnumerator.java
| @@ -186,7 +186,7 @@ class LiteLoaderEnumerator implements FilenameFilter | @@ -186,7 +186,7 @@ class LiteLoaderEnumerator implements FilenameFilter | ||
| 186 | if (!this.modFiles.containsKey(modClassName)) return null; | 186 | if (!this.modFiles.containsKey(modClassName)) return null; |
| 187 | return this.modFiles.get(modClassName).getModName().toLowerCase(); | 187 | return this.modFiles.get(modClassName).getModName().toLowerCase(); |
| 188 | } | 188 | } |
| 189 | - | 189 | + |
| 190 | /** | 190 | /** |
| 191 | * Get the discovery settings from the properties file | 191 | * Get the discovery settings from the properties file |
| 192 | */ | 192 | */ |
| @@ -238,15 +238,15 @@ class LiteLoaderEnumerator implements FilenameFilter | @@ -238,15 +238,15 @@ class LiteLoaderEnumerator implements FilenameFilter | ||
| 238 | { | 238 | { |
| 239 | LiteLoaderEnumerator.logInfo("Mods folder found, searching %s", modsFolder.getPath()); | 239 | LiteLoaderEnumerator.logInfo("Mods folder found, searching %s", modsFolder.getPath()); |
| 240 | this.findModFiles(modsFolder, false); | 240 | this.findModFiles(modsFolder, false); |
| 241 | - LiteLoaderEnumerator.logInfo("Found %d mod file(s)", this.allModFiles.size()); | ||
| 242 | 241 | ||
| 243 | File versionedModsFolder = new File(modsFolder, LiteLoaderBootstrap.VERSION.getMinecraftVersion()); | 242 | File versionedModsFolder = new File(modsFolder, LiteLoaderBootstrap.VERSION.getMinecraftVersion()); |
| 244 | if (versionedModsFolder.exists() && versionedModsFolder.isDirectory()) | 243 | if (versionedModsFolder.exists() && versionedModsFolder.isDirectory()) |
| 245 | { | 244 | { |
| 246 | LiteLoaderEnumerator.logInfo("Versioned mods folder found, searching %s", versionedModsFolder.getPath()); | 245 | LiteLoaderEnumerator.logInfo("Versioned mods folder found, searching %s", versionedModsFolder.getPath()); |
| 247 | this.findModFiles(versionedModsFolder, true); | 246 | this.findModFiles(versionedModsFolder, true); |
| 248 | - LiteLoaderEnumerator.logInfo("Found %d mod file(s)", this.allModFiles.size()); | ||
| 249 | } | 247 | } |
| 248 | + | ||
| 249 | + LiteLoaderEnumerator.logInfo("Found %d mod file(s)", this.allModFiles.size()); | ||
| 250 | } | 250 | } |
| 251 | } | 251 | } |
| 252 | } | 252 | } |
java/com/mumfrey/liteloader/gui/GuiModListEntry.java
| @@ -21,11 +21,6 @@ public class GuiModListEntry extends Gui | @@ -21,11 +21,6 @@ public class GuiModListEntry extends Gui | ||
| 21 | private static final int PANEL_SPACING = 4; | 21 | private static final int PANEL_SPACING = 4; |
| 22 | 22 | ||
| 23 | /** | 23 | /** |
| 24 | - * Enabled mods list, keep a reference so that we can toggle mod enablement when required | ||
| 25 | - */ | ||
| 26 | - private EnabledModsList enabledModsList; | ||
| 27 | - | ||
| 28 | - /** | ||
| 29 | * For text display | 24 | * For text display |
| 30 | */ | 25 | */ |
| 31 | private FontRenderer fontRenderer; | 26 | private FontRenderer fontRenderer; |
| @@ -91,7 +86,6 @@ public class GuiModListEntry extends Gui | @@ -91,7 +86,6 @@ public class GuiModListEntry extends Gui | ||
| 91 | */ | 86 | */ |
| 92 | GuiModListEntry(LiteLoader loader, EnabledModsList enabledMods, FontRenderer fontRenderer, LiteMod mod) | 87 | GuiModListEntry(LiteLoader loader, EnabledModsList enabledMods, FontRenderer fontRenderer, LiteMod mod) |
| 93 | { | 88 | { |
| 94 | - this.enabledModsList = enabledMods; | ||
| 95 | this.fontRenderer = fontRenderer; | 89 | this.fontRenderer = fontRenderer; |
| 96 | this.metaName = loader.getModMetaName(mod.getClass()); | 90 | this.metaName = loader.getModMetaName(mod.getClass()); |
| 97 | this.name = mod.getName(); | 91 | this.name = mod.getName(); |
| @@ -100,7 +94,7 @@ public class GuiModListEntry extends Gui | @@ -100,7 +94,7 @@ public class GuiModListEntry extends Gui | ||
| 100 | this.url = loader.getModMetaData(mod.getClass(), "url", null); | 94 | this.url = loader.getModMetaData(mod.getClass(), "url", null); |
| 101 | this.description = loader.getModMetaData(mod.getClass(), "description", ""); | 95 | this.description = loader.getModMetaData(mod.getClass(), "description", ""); |
| 102 | this.enabled = true; | 96 | this.enabled = true; |
| 103 | - this.canBeToggled = this.metaName != null && this.enabledModsList.saveAllowed(); | 97 | + this.canBeToggled = this.metaName != null && enabledMods.saveAllowed(); |
| 104 | this.willBeEnabled = true; | 98 | this.willBeEnabled = true; |
| 105 | } | 99 | } |
| 106 | 100 | ||
| @@ -114,7 +108,6 @@ public class GuiModListEntry extends Gui | @@ -114,7 +108,6 @@ public class GuiModListEntry extends Gui | ||
| 114 | */ | 108 | */ |
| 115 | GuiModListEntry(LiteLoader loader, EnabledModsList enabledMods, FontRenderer fontRenderer, ModFile file) | 109 | GuiModListEntry(LiteLoader loader, EnabledModsList enabledMods, FontRenderer fontRenderer, ModFile file) |
| 116 | { | 110 | { |
| 117 | - this.enabledModsList = enabledMods; | ||
| 118 | this.fontRenderer = fontRenderer; | 111 | this.fontRenderer = fontRenderer; |
| 119 | this.metaName = file.getModName().toLowerCase(); | 112 | this.metaName = file.getModName().toLowerCase(); |
| 120 | this.name = file instanceof ClassPathMod ? file.getModName() : file.getName(); | 113 | this.name = file instanceof ClassPathMod ? file.getModName() : file.getName(); |
| @@ -123,7 +116,7 @@ public class GuiModListEntry extends Gui | @@ -123,7 +116,7 @@ public class GuiModListEntry extends Gui | ||
| 123 | this.url = file.getMetaValue("url", null); | 116 | this.url = file.getMetaValue("url", null); |
| 124 | this.description = file.getMetaValue("description", ""); | 117 | this.description = file.getMetaValue("description", ""); |
| 125 | this.enabled = false; | 118 | this.enabled = false; |
| 126 | - this.canBeToggled = this.enabledModsList.saveAllowed(); | 119 | + this.canBeToggled = enabledMods.saveAllowed(); |
| 127 | this.willBeEnabled = enabledMods.isEnabled(loader.getProfile(), this.metaName); | 120 | this.willBeEnabled = enabledMods.isEnabled(loader.getProfile(), this.metaName); |
| 128 | } | 121 | } |
| 129 | 122 | ||
| @@ -202,8 +195,7 @@ public class GuiModListEntry extends Gui | @@ -202,8 +195,7 @@ public class GuiModListEntry extends Gui | ||
| 202 | if (this.canBeToggled) | 195 | if (this.canBeToggled) |
| 203 | { | 196 | { |
| 204 | this.willBeEnabled = !this.willBeEnabled; | 197 | this.willBeEnabled = !this.willBeEnabled; |
| 205 | - this.enabledModsList.setEnabled(LiteLoader.getProfile(), this.metaName, this.willBeEnabled); | ||
| 206 | - this.enabledModsList.save(); | 198 | + LiteLoader.getInstance().setModEnabled(this.metaName, this.willBeEnabled); |
| 207 | } | 199 | } |
| 208 | } | 200 | } |
| 209 | 201 |