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 | ... | ... |