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,10 +12,12 @@ import java.util.List; | ||
| 12 | 12 | ||
| 13 | import org.lwjgl.input.Keyboard; | 13 | import org.lwjgl.input.Keyboard; |
| 14 | 14 | ||
| 15 | +import com.google.common.base.Joiner; | ||
| 15 | import com.mumfrey.liteloader.core.ModInfo; | 16 | import com.mumfrey.liteloader.core.ModInfo; |
| 16 | 17 | ||
| 17 | import net.minecraft.client.Minecraft; | 18 | import net.minecraft.client.Minecraft; |
| 18 | import net.minecraft.client.gui.GuiButton; | 19 | import net.minecraft.client.gui.GuiButton; |
| 20 | +import net.minecraft.client.gui.GuiScreen; | ||
| 19 | import net.minecraft.client.resources.I18n; | 21 | import net.minecraft.client.resources.I18n; |
| 20 | 22 | ||
| 21 | public class GuiPanelError extends GuiPanel implements ScrollPanelContent | 23 | public class GuiPanelError extends GuiPanel implements ScrollPanelContent |
| @@ -98,6 +100,7 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent | @@ -98,6 +100,7 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent | ||
| 98 | 100 | ||
| 99 | this.scrollPane.setSizeAndPosition(MARGIN, TOP, this.width - (MARGIN * 2), this.height - TOP - BOTTOM); | 101 | this.scrollPane.setSizeAndPosition(MARGIN, TOP, this.width - (MARGIN * 2), this.height - TOP - BOTTOM); |
| 100 | this.controls.add(new GuiButton(0, this.width - 59 - MARGIN, this.height - BOTTOM + 9, 60, 20, I18n.format("gui.done"))); | 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 | @Override | 106 | @Override |
| @@ -131,7 +134,10 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent | @@ -131,7 +134,10 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent | ||
| 131 | @Override | 134 | @Override |
| 132 | void keyPressed(char keyChar, int keyCode) | 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 | @Override | 143 | @Override |
| @@ -161,6 +167,14 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent | @@ -161,6 +167,14 @@ public class GuiPanelError extends GuiPanel implements ScrollPanelContent | ||
| 161 | @Override | 167 | @Override |
| 162 | void actionPerformed(GuiButton control) | 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,7 +76,7 @@ public class ModList | ||
| 76 | // Disabled mods | 76 | // Disabled mods |
| 77 | for (ModInfo<?> disabledMod : mods.getDisabledMods()) | 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 | ModListEntry modListEntry = new ModListEntry(this, mods, environment, minecraft.fontRenderer, brandColour, decorators, disabledMod); | 81 | ModListEntry modListEntry = new ModListEntry(this, mods, environment, minecraft.fontRenderer, brandColour, decorators, disabledMod); |
| 82 | sortedMods.put(modListEntry.getKey(), modListEntry); | 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,6 +17,7 @@ import com.google.common.collect.Maps; | ||
| 17 | import com.google.common.io.Files; | 17 | import com.google.common.io.Files; |
| 18 | import com.mumfrey.liteloader.Configurable; | 18 | import com.mumfrey.liteloader.Configurable; |
| 19 | import com.mumfrey.liteloader.LiteMod; | 19 | import com.mumfrey.liteloader.LiteMod; |
| 20 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | ||
| 20 | 21 | ||
| 21 | /** | 22 | /** |
| 22 | * Registry where we keep the mod config panel classes and config file writers | 23 | * Registry where we keep the mod config panel classes and config file writers |
| @@ -165,6 +166,10 @@ public class ConfigManager | @@ -165,6 +166,10 @@ public class ConfigManager | ||
| 165 | } | 166 | } |
| 166 | catch (InstantiationException ex) {} | 167 | catch (InstantiationException ex) {} |
| 167 | catch (IllegalAccessException ex) {} | 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 | // If instantiation fails, remove the panel | 174 | // If instantiation fails, remove the panel |
| 170 | this.configPanels.remove(modClass); | 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,6 +86,7 @@ gui.log.uploadsuccess=Upload succeeded, log available at | ||
| 86 | gui.log.closedialog=Close | 86 | gui.log.closedialog=Close |
| 87 | 87 | ||
| 88 | gui.error.title=Startup errors for %s | 88 | gui.error.title=Startup errors for %s |
| 89 | +gui.error.copytoclipboard=Copy error to clipboard | ||
| 89 | 90 | ||
| 90 | gui.error.tooltip=%d mod startup error(s) detected (%d critical) | 91 | gui.error.tooltip=%d mod startup error(s) detected (%d critical) |
| 91 | 92 |