Commit 7940c007da84d88e4f3cc68632ca8b2fe7049e8d
1 parent
e48e6f82
Fix display bug with errored mods, add copy error to clipboard button
Showing
4 changed files
with
23 additions
and
3 deletions
src/client/java/com/mumfrey/liteloader/client/gui/GuiPanelError.java
... | ... | @@ -12,10 +12,12 @@ import java.util.List; |
12 | 12 | |
13 | 13 | import org.lwjgl.input.Keyboard; |
14 | 14 | |
15 | +import com.google.common.base.Joiner; | |
15 | 16 | import com.mumfrey.liteloader.core.ModInfo; |
16 | 17 | |
17 | 18 | import net.minecraft.client.Minecraft; |
18 | 19 | import net.minecraft.client.gui.GuiButton; |
20 | +import net.minecraft.client.gui.GuiScreen; | |
19 | 21 | import net.minecraft.client.resources.I18n; |
20 | 22 | |
21 | 23 | public class GuiPanelError extends GuiPanel implements ScrollPanelContent |
... | ... | @@ -98,6 +100,7 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent |
98 | 100 | |
99 | 101 | this.scrollPane.setSizeAndPosition(MARGIN, TOP, this.width - (MARGIN * 2), this.height - TOP - BOTTOM); |
100 | 102 | this.controls.add(new GuiButton(0, this.width - 59 - MARGIN, this.height - BOTTOM + 9, 60, 20, I18n.format("gui.done"))); |
103 | + this.controls.add(new GuiButton(1, this.width - 204 - MARGIN, this.height - BOTTOM + 9, 140, 20, I18n.format("gui.error.copytoclipboard"))); | |
101 | 104 | } |
102 | 105 | |
103 | 106 | @Override |
... | ... | @@ -131,7 +134,10 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent |
131 | 134 | @Override |
132 | 135 | void keyPressed(char keyChar, int keyCode) |
133 | 136 | { |
134 | - if (keyCode == Keyboard.KEY_ESCAPE) this.close(); | |
137 | + if (keyCode == Keyboard.KEY_ESCAPE) | |
138 | + { | |
139 | + this.close(); | |
140 | + } | |
135 | 141 | } |
136 | 142 | |
137 | 143 | @Override |
... | ... | @@ -161,6 +167,14 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent |
161 | 167 | @Override |
162 | 168 | void actionPerformed(GuiButton control) |
163 | 169 | { |
164 | - if (control.id == 0) this.close(); | |
170 | + if (control.id == 0) | |
171 | + { | |
172 | + this.close(); | |
173 | + } | |
174 | + | |
175 | + if (control.id == 1) | |
176 | + { | |
177 | + GuiScreen.setClipboardString(Joiner.on('\n').join(this.scrollPaneContent)); | |
178 | + } | |
165 | 179 | } |
166 | 180 | } | ... | ... |
src/client/java/com/mumfrey/liteloader/client/gui/modlist/ModList.java
... | ... | @@ -76,7 +76,7 @@ public class ModList |
76 | 76 | // Disabled mods |
77 | 77 | for (ModInfo<?> disabledMod : mods.getDisabledMods()) |
78 | 78 | { |
79 | - if (environment.getEnabledModsList().getEnabled(environment.getProfile(), disabledMod.getIdentifier()) == Enabled.DISABLED) | |
79 | + if (environment.getEnabledModsList().getEnabled(environment.getProfile(), disabledMod.getIdentifier()) != Enabled.FILTERED) | |
80 | 80 | { |
81 | 81 | ModListEntry modListEntry = new ModListEntry(this, mods, environment, minecraft.fontRenderer, brandColour, decorators, disabledMod); |
82 | 82 | sortedMods.put(modListEntry.getKey(), modListEntry); | ... | ... |
src/main/java/com/mumfrey/liteloader/modconfig/ConfigManager.java
... | ... | @@ -17,6 +17,7 @@ import com.google.common.collect.Maps; |
17 | 17 | import com.google.common.io.Files; |
18 | 18 | import com.mumfrey.liteloader.Configurable; |
19 | 19 | import com.mumfrey.liteloader.LiteMod; |
20 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | |
20 | 21 | |
21 | 22 | /** |
22 | 23 | * Registry where we keep the mod config panel classes and config file writers |
... | ... | @@ -165,6 +166,10 @@ public class ConfigManager |
165 | 166 | } |
166 | 167 | catch (InstantiationException ex) {} |
167 | 168 | catch (IllegalAccessException ex) {} |
169 | + catch (Exception ex) | |
170 | + { | |
171 | + LiteLoaderLogger.severe("Error creating mod configuration panel <%s> for mod %s", this.configPanels.get(modClass), modClass); | |
172 | + } | |
168 | 173 | |
169 | 174 | // If instantiation fails, remove the panel |
170 | 175 | this.configPanels.remove(modClass); | ... | ... |
src/main/resources/assets/liteloader/lang/en_us.lang
... | ... | @@ -86,6 +86,7 @@ gui.log.uploadsuccess=Upload succeeded, log available at |
86 | 86 | gui.log.closedialog=Close |
87 | 87 | |
88 | 88 | gui.error.title=Startup errors for %s |
89 | +gui.error.copytoclipboard=Copy error to clipboard | |
89 | 90 | |
90 | 91 | gui.error.tooltip=%d mod startup error(s) detected (%d critical) |
91 | 92 | ... | ... |