Adds some suggested files to remove

This commit is contained in:
huangyuhui 2016-02-28 14:47:31 +08:00
parent a5504a4b74
commit dfc6e91321
6 changed files with 83 additions and 64 deletions

View File

@ -202,8 +202,8 @@ public final class ModpackManager {
} }
public static final List<String> MODPACK_BLACK_LIST = Arrays.asList(new String[] { "usernamecache.json", "asm", "logs", "backups", "versions", "assets", "usercache.json", "libraries", "crash-reports", "launcher_profiles.json", "NVIDIA", "AMD", "TCNodeTracker", "screenshots", "natives", "native", "$native", "pack.json", "launcher.jar", "launcher.pack.lzma", "hmclmc.log" }); public static final List<String> MODPACK_BLACK_LIST = Arrays.asList(new String[] { "usernamecache.json", "asm", "logs", "backups", "versions", "assets", "usercache.json", "libraries", "crash-reports", "launcher_profiles.json", "NVIDIA", "AMD", "TCNodeTracker", "screenshots", "natives", "native", "$native", "pack.json", "launcher.jar", "minetweaker.log", "launcher.pack.lzma", "hmclmc.log" });
public static final List<String> MODPACK_SUGGESTED_BLACK_LIST = Arrays.asList(new String[] { "saves", "servers.dat", "options.txt", "optionsshaders.txt", "mods/VoxelMods" }); public static final List<String> MODPACK_SUGGESTED_BLACK_LIST = Arrays.asList(new String[] { "fonts", "saves", "servers.dat", "options.txt", "optionsof.txt", "journeymap", "optionsshaders.txt", "mods/VoxelMods" });
/** /**
* &lt; String, Boolean, Boolean &gt;: Folder/File name, Is Directory, * &lt; String, Boolean, Boolean &gt;: Folder/File name, Is Directory,

View File

@ -178,8 +178,7 @@ public class ModpackWizard extends WizardBranchController {
throw new IllegalArgumentException(id); throw new IllegalArgumentException(id);
} }
} }
} });
);
} }
@Override @Override

View File

@ -100,6 +100,8 @@ public class ZipEngine {
zos.putNextEntry(new ZipEntry(pathName)); zos.putNextEntry(new ZipEntry(pathName));
putDirectoryImpl(file, basePath, pathNameCallback); putDirectoryImpl(file, basePath, pathNameCallback);
} else { } else {
if (".DS_Store".equals(file.getName())) // For mac computers.
continue;
pathName = file.getPath().substring(basePath.length() + 1); pathName = file.getPath().substring(basePath.length() + 1);
if (pathNameCallback != null) if (pathNameCallback != null)
pathName = pathNameCallback.apply(pathName, false); pathName = pathNameCallback.apply(pathName, false);

View File

@ -64,16 +64,18 @@ public class NavProgress implements ResultProgressHandle {
public void setProgress(final int currentStep, final int totalSteps) { public void setProgress(final int currentStep, final int totalSteps) {
invoke(() -> { invoke(() -> {
if (totalSteps == -1) if (totalSteps == -1) {
progressBar.setIndeterminate(true); if (!progressBar.isIndeterminate())
else { progressBar.setIndeterminate(true);
} else {
if (currentStep > totalSteps || currentStep < 0) { if (currentStep > totalSteps || currentStep < 0) {
if (currentStep == -1 && totalSteps == -1) if (currentStep == -1 && totalSteps == -1)
return; return;
throw new IllegalArgumentException("Bad step values: " throw new IllegalArgumentException("Bad step values: "
+ currentStep + " out of " + totalSteps); + currentStep + " out of " + totalSteps);
} }
progressBar.setIndeterminate(false); if (progressBar.isIndeterminate())
progressBar.setIndeterminate(false);
progressBar.setMaximum(totalSteps); progressBar.setMaximum(totalSteps);
progressBar.setValue(currentStep); progressBar.setValue(currentStep);
} }
@ -83,8 +85,8 @@ public class NavProgress implements ResultProgressHandle {
public void setBusy(final String description) { public void setBusy(final String description) {
invoke(() -> { invoke(() -> {
lbl.setText(description == null ? " " : description); lbl.setText(description == null ? " " : description);
if (!progressBar.isIndeterminate())
progressBar.setIndeterminate(true); progressBar.setIndeterminate(true);
}); });
} }

View File

@ -36,7 +36,7 @@ import javax.swing.JTextArea;
* SimpleWizard created for it, acting as the WizardController for * SimpleWizard created for it, acting as the WizardController for
* calls to WizardPanelProvider.createPanel(). * calls to WizardPanelProvider.createPanel().
*/ */
final class SimpleWizardInfo implements WizardControllerImplementation { public final class SimpleWizardInfo implements WizardControllerImplementation {
private WeakReference wizard = null; private WeakReference wizard = null;
private final String[] descriptions; private final String[] descriptions;
@ -318,4 +318,8 @@ final class SimpleWizardInfo implements WizardControllerImplementation {
boolean cancel(Map settings) { boolean cancel(Map settings) {
return provider.cancel(settings); return provider.cancel(settings);
} }
public WizardPanelProvider getProvider() {
return provider;
}
} }

View File

@ -8,38 +8,41 @@ and include the License file at http://www.netbeans.org/cddl.txt.
If applicable, add the following below the CDDL Header, with the fields If applicable, add the following below the CDDL Header, with the fields
enclosed by brackets [] replaced by your own identifying information: enclosed by brackets [] replaced by your own identifying information:
"Portions Copyrighted [year] [name of copyright owner]" */ "Portions Copyrighted [year] [name of copyright owner]" */
/* /*
* WizardBranchController.java * WizardBranchController.java
* *
* Created on March 5, 2005, 6:33 PM * Created on March 5, 2005, 6:33 PM
*/ */
package org.jackhuang.hellominecraft.util.ui.wizard.spi; package org.jackhuang.hellominecraft.util.ui.wizard.spi;
import java.util.Map; import java.util.Map;
/** /**
* Extend this class to create wizards which have branch points in them - * Extend this class to create wizards which have branch points in them -
* either override <code>getWizardForStep</code> to return one or another a wizard which * either override <code>getWizardForStep</code> to return one or another a
* wizard which
* represents the subsequent steps after a decision point, or override * represents the subsequent steps after a decision point, or override
* <code>getPanelProviderForStep</code> to provide instances of <code>WizardPanelProvider</code> * <code>getPanelProviderForStep</code> to provide instances of
* <code>WizardPanelProvider</code>
* if there are no subsequent branch points and the continuation is a * if there are no subsequent branch points and the continuation is a
* simple wizard. * simple wizard.
* <p> * <p>
* The basic idea is to supply a base wizard for the initial steps, stopping * The basic idea is to supply a base wizard for the initial steps, stopping
* at the branch point. The panel for the branch point should put enough * at the branch point. The panel for the branch point should put enough
* information into the settings map that the WizardBranchController can * information into the settings map that the WizardBranchController can
* decide what to return as the remaining steps of the wizard. * decide what to return as the remaining steps of the wizard.
* <p> * <p>
* The result is a <code>Wizard</code> which embeds sub-wizards; when the * The result is a <code>Wizard</code> which embeds sub-wizards; when the
* <code>PanelProvider</code> passed to the constructor runs out of steps, * <code>PanelProvider</code> passed to the constructor runs out of steps,
* the master <code>Wizard</code> will try to find a sub-<code>Wizard</code> * the master <code>Wizard</code> will try to find a sub-<code>Wizard</code>
* by calling <code>getWizardForStep</code>. If non-null, the user seamlessly * by calling <code>getWizardForStep</code>. If non-null, the user seamlessly
* continues in the returned wizard. To create <code>Wizard</code>s with * continues in the returned wizard. To create <code>Wizard</code>s with
* multiple branches, simply override <code>getWizardForStep</code> to create * multiple branches, simply override <code>getWizardForStep</code> to create
* another <code>WizardBranchController</code> and return the result of its * another <code>WizardBranchController</code> and return the result of its
* <code>createWizard</code> method. * <code>createWizard</code> method.
* <p> * <p>
* Note that it is important to cache the instances of <code>WizardPanelProvider</code> * Note that it is important to cache the instances of
* <code>WizardPanelProvider</code>
* or <code>Wizard</code> which are returned here - this class's methods may * or <code>Wizard</code> which are returned here - this class's methods may
* be called frequently to determine if the sequence of steps (the next wizard) * be called frequently to determine if the sequence of steps (the next wizard)
* have changed. * have changed.
@ -47,61 +50,68 @@ import java.util.Map;
* @author Tim Boudreau * @author Tim Boudreau
*/ */
public abstract class WizardBranchController { public abstract class WizardBranchController {
private final SimpleWizardInfo base; private final SimpleWizardInfo base;
/** /**
* Create a new WizardBranchController. The <code>base</code> argument * Create a new WizardBranchController. The <code>base</code> argument
* provides the initial step(s) of the wizard up; when the user comes to * provides the initial step(s) of the wizard up; when the user comes to
* the last step of the base wizard, this WizardBranchController will be * the last step of the base wizard, this WizardBranchController will be
* asked for a wizard to provide subsequent panes. So the base wizard * asked for a wizard to provide subsequent panes. So the base wizard
* should put some token into the settings map based on what the user * should put some token into the settings map based on what the user
* selects on its final pane, which the WizardBranchController can use * selects on its final pane, which the WizardBranchController can use
* to decide what the next steps should be. * to decide what the next steps should be.
*/ */
protected WizardBranchController (WizardPanelProvider base) { protected WizardBranchController(WizardPanelProvider base) {
this (new SimpleWizardInfo (base)); this(new SimpleWizardInfo(base));
} }
/** /**
* Create a new WizardBranchController using the passed WizardPage * Create a new WizardBranchController using the passed WizardPage
* instances as the initial pages of the wizard. * instances as the initial pages of the wizard.
*
* @param pages An array of WizardPage instances * @param pages An array of WizardPage instances
*/ */
protected WizardBranchController (WizardPage[] pages) { protected WizardBranchController(WizardPage[] pages) {
this (WizardPage.createWizardPanelProvider(pages)); this(WizardPage.createWizardPanelProvider(pages));
} }
/** /**
* Create a new WizardBranchController using the passed WizardPage * Create a new WizardBranchController using the passed WizardPage
* as the initial page of the wizard. The initial page should * as the initial page of the wizard. The initial page should
* determine the subsequent steps of the wizard. * determine the subsequent steps of the wizard.
*
* @param onlyPage An instance of WizardPage * @param onlyPage An instance of WizardPage
*/ */
protected WizardBranchController (WizardPage onlyPage) { protected WizardBranchController(WizardPage onlyPage) {
this (WizardPage.createWizardPanelProvider(onlyPage)); this(WizardPage.createWizardPanelProvider(onlyPage));
} }
/** /**
* Create a new WizardBranchController, using the passed <code>SimpleWizardInfo</code> * Create a new WizardBranchController, using the passed
* <code>SimpleWizardInfo</code>
* for the initial panes of the wizard. * for the initial panes of the wizard.
*/ */
WizardBranchController (SimpleWizardInfo base) { WizardBranchController(SimpleWizardInfo base) {
if (base == null) throw new NullPointerException ("No base"); if (base == null)
throw new NullPointerException("No base");
this.base = base; this.base = base;
} }
/** /**
* Get the wizard which represents the subsequent panes after this step. * Get the wizard which represents the subsequent panes after this step.
* The UI for the current step should have put sufficient data into the * The UI for the current step should have put sufficient data into the
* settings map to decide what to return; return null if not. * settings map to decide what to return; return null if not.
* <p> * <p>
* The default implementation delegates to <code>getPanelProviderForStep()</code> * The default implementation delegates to
* <code>getPanelProviderForStep()</code>
* and returns a <code>Wizard</code> representing the result of that * and returns a <code>Wizard</code> representing the result of that
* call. * call.
* <p> * <p>
* <b>Note:</b> This method can be called very frequently, to determine * <b>Note:</b> This method can be called very frequently, to determine
* if the sequence of steps has changed - so it needs to run fast. * if the sequence of steps has changed - so it needs to run fast.
* Returning the same instance every time the same arguments are passed * Returning the same instance every time the same arguments are passed
* is highly recommended. It will typically be called whenever a change * is highly recommended. It will typically be called whenever a change
* is fired by the base wizard (i.e. every call <code>setProblem()</code> * is fired by the base wizard (i.e. every call <code>setProblem()</code>
* should generate a check to see if the navigation has changed). * should generate a check to see if the navigation has changed).
* <p> * <p>
@ -112,9 +122,9 @@ public abstract class WizardBranchController {
* Wizard object itself, which will create panels on demand if they * Wizard object itself, which will create panels on demand if they
* have not already been created). * have not already been created).
* *
* @param step The current step the user is on in the wizard * @param step The current step the user is on in the wizard
* @param settings The settings map, which previous panes of the wizard * @param settings The settings map, which previous panes of the wizard
* have been writing information into * have been writing information into
*/ */
protected Wizard getWizardForStep(String step, Map settings) { protected Wizard getWizardForStep(String step, Map settings) {
WizardPanelProvider provider = getPanelProviderForStep(step, settings); WizardPanelProvider provider = getPanelProviderForStep(step, settings);
@ -122,25 +132,26 @@ public abstract class WizardBranchController {
} }
/** /**
* Override this method to return a <code>WizardPanelProvider</code> representing the * Override this method to return a <code>WizardPanelProvider</code>
* representing the
* steps from here to the final step of the wizard, varying the returned * steps from here to the final step of the wizard, varying the returned
* object based on the contents of the map and the step in question. * object based on the contents of the map and the step in question.
* The default implementation of this method throws an <code>Error</code> - * The default implementation of this method throws an <code>Error</code> -
* either override this method, or override <code>getWizardForStep()</code> * either override this method, or override <code>getWizardForStep()</code>
* (in which case this method will not be called). * (in which case this method will not be called).
* <p> * <p>
* <b>Note:</b> This method can be called very frequently, to determine * <b>Note:</b> This method can be called very frequently, to determine
* if the sequence of steps has changed - so it needs to run fast. * if the sequence of steps has changed - so it needs to run fast.
* Returning the same instance every time called with equivalent arguments * Returning the same instance every time called with equivalent arguments
* is highly recommended. * is highly recommended.
* *
* @param step The string ID of the current step * @param step The string ID of the current step
* @param settings The settings map, which previous panes of the wizard * @param settings The settings map, which previous panes of the wizard
* will have written content into * will have written content into
*/ */
protected WizardPanelProvider getPanelProviderForStep(String step, Map settings) { protected WizardPanelProvider getPanelProviderForStep(String step, Map settings) {
throw new Error ("Override either createInfoForStep or " + throw new Error("Override either createInfoForStep or "
"createWizardForStep"); + "createWizardForStep");
} }
SimpleWizardInfo getBase() { SimpleWizardInfo getBase() {
@ -149,15 +160,16 @@ public abstract class WizardBranchController {
private WizardImplementation wizard = null; private WizardImplementation wizard = null;
private Wizard real = null; private Wizard real = null;
/** /**
* Create a Wizard to represent this branch controller. The resulting * Create a Wizard to represent this branch controller. The resulting
* Wizard instance is cached; subsequent calls to this method will return * Wizard instance is cached; subsequent calls to this method will return
* the same instance. * the same instance.
*/ */
public final Wizard createWizard() { public final Wizard createWizard() {
if (wizard == null) { if (wizard == null) {
wizard = new BranchingWizard (this); wizard = new BranchingWizard(this);
real = new Wizard (wizard); real = new Wizard(wizard);
} }
return real; return real;
} }