Each version has its own settings
This commit is contained in:
@@ -46,11 +46,13 @@ public abstract class OverridableSwingWorker<T> extends SwingWorker<Void, T> {
|
||||
}
|
||||
|
||||
public OverridableSwingWorker reg(Consumer<T> c) {
|
||||
Utils.requireNonNull(c);
|
||||
processListeners.add(c);
|
||||
return this;
|
||||
}
|
||||
|
||||
public OverridableSwingWorker regDone(Runnable c) {
|
||||
Utils.requireNonNull(c);
|
||||
doneListeners.add(c);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public final class UpdateChecker implements IUpdateChecker {
|
||||
VersionNumber value;
|
||||
|
||||
@Override
|
||||
public OverridableSwingWorker<VersionNumber> process(boolean showMessage) {
|
||||
public OverridableSwingWorker<VersionNumber> process(final boolean showMessage) {
|
||||
return new OverridableSwingWorker() {
|
||||
@Override
|
||||
protected void work() throws Exception {
|
||||
|
||||
@@ -87,11 +87,11 @@ public abstract class Task {
|
||||
|
||||
public abstract String getInfo();
|
||||
|
||||
public Collection<Task> getDependTasks() {
|
||||
public Collection<? extends Task> getDependTasks() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Collection<Task> getAfterTasks() {
|
||||
public Collection<? extends Task> getAfterTasks() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -79,15 +79,15 @@ public class TaskList extends Thread {
|
||||
public void run() {
|
||||
executeTask(task);
|
||||
s.remove(this);
|
||||
threadPool.remove(this);
|
||||
THREAD_POOL.remove(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final Set<InvokeThread> threadPool = Collections.synchronizedSet(new HashSet<InvokeThread>());
|
||||
static final Set<Task> taskPool = Collections.synchronizedSet(new HashSet<Task>());
|
||||
static final Set<InvokeThread> THREAD_POOL = Collections.synchronizedSet(new HashSet<InvokeThread>());
|
||||
static final Set<Task> TASK_POOL = Collections.synchronizedSet(new HashSet<Task>());
|
||||
|
||||
private void processTasks(Collection<Task> c) {
|
||||
private void processTasks(Collection<? extends Task> c) {
|
||||
if (c == null)
|
||||
return;
|
||||
this.totTask += c.size();
|
||||
@@ -95,7 +95,7 @@ public class TaskList extends Thread {
|
||||
for (Task t2 : c) {
|
||||
t2.setParallelExecuting(true);
|
||||
InvokeThread thread = new InvokeThread(t2, runningThread);
|
||||
threadPool.add(thread);
|
||||
THREAD_POOL.add(thread);
|
||||
runningThread.add(thread);
|
||||
thread.start();
|
||||
}
|
||||
@@ -147,7 +147,7 @@ public class TaskList extends Thread {
|
||||
public void run() {
|
||||
Thread.currentThread().setName("TaskList");
|
||||
|
||||
threadPool.clear();
|
||||
THREAD_POOL.clear();
|
||||
totTask = taskQueue.size();
|
||||
while (!taskQueue.isEmpty())
|
||||
executeTask(taskQueue.remove(0));
|
||||
@@ -162,12 +162,12 @@ public class TaskList extends Thread {
|
||||
|
||||
public void abort() {
|
||||
shouldContinue = false;
|
||||
while (!threadPool.isEmpty())
|
||||
synchronized (threadPool) {
|
||||
InvokeThread it = threadPool.iterator().next();
|
||||
while (!THREAD_POOL.isEmpty())
|
||||
synchronized (THREAD_POOL) {
|
||||
InvokeThread it = THREAD_POOL.iterator().next();
|
||||
if (!it.task.abort())
|
||||
it.interrupt();
|
||||
threadPool.remove(it);
|
||||
THREAD_POOL.remove(it);
|
||||
}
|
||||
this.interrupt();
|
||||
}
|
||||
|
||||
@@ -199,20 +199,23 @@ public class NavButtonManager implements ActionListener {
|
||||
final boolean enableNext = nextStep != null && canContinue && problem == null && !isDeferredResult;
|
||||
final boolean enablePrevious = wizard.getPreviousStep() != null && !isDeferredResult;
|
||||
|
||||
final Runnable runnable = () -> {
|
||||
next.setEnabled(enableNext);
|
||||
prev.setEnabled(enablePrevious);
|
||||
finish.setEnabled(enableFinish);
|
||||
JRootPane root = next.getRootPane();
|
||||
if (root != null)
|
||||
if (next.isEnabled())
|
||||
root.setDefaultButton(next);
|
||||
else if (finish.isEnabled())
|
||||
root.setDefaultButton(finish);
|
||||
else if (prev.isEnabled())
|
||||
root.setDefaultButton(prev);
|
||||
else
|
||||
root.setDefaultButton(null);
|
||||
final Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
next.setEnabled(enableNext);
|
||||
prev.setEnabled(enablePrevious);
|
||||
finish.setEnabled(enableFinish);
|
||||
JRootPane root = next.getRootPane();
|
||||
if (root != null)
|
||||
if (next.isEnabled())
|
||||
root.setDefaultButton(next);
|
||||
else if (finish.isEnabled())
|
||||
root.setDefaultButton(finish);
|
||||
else if (prev.isEnabled())
|
||||
root.setDefaultButton(prev);
|
||||
else
|
||||
root.setDefaultButton(null);
|
||||
}
|
||||
};
|
||||
|
||||
if (EventQueue.isDispatchThread())
|
||||
@@ -263,18 +266,21 @@ public class NavButtonManager implements ActionListener {
|
||||
}
|
||||
|
||||
void deferredResultFailed(final boolean canGoBack) {
|
||||
final Runnable runnable = () -> {
|
||||
if (!canGoBack)
|
||||
getCancel().setText(getCloseString());
|
||||
getPrev().setEnabled(true);
|
||||
getNext().setEnabled(false);
|
||||
getCancel().setEnabled(true);
|
||||
getFinish().setEnabled(false);
|
||||
final Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!canGoBack)
|
||||
getCancel().setText(getCloseString());
|
||||
getPrev().setEnabled(true);
|
||||
getNext().setEnabled(false);
|
||||
getCancel().setEnabled(true);
|
||||
getFinish().setEnabled(false);
|
||||
|
||||
if (NAME_CLOSE.equals(deferredStatus)) {
|
||||
// no action
|
||||
} else
|
||||
deferredStatus = DEFERRED_FAILED + deferredStatus;
|
||||
if (NAME_CLOSE.equals(deferredStatus)) {
|
||||
// no action
|
||||
} else
|
||||
deferredStatus = DEFERRED_FAILED + deferredStatus;
|
||||
}
|
||||
};
|
||||
if (EventQueue.isDispatchThread())
|
||||
runnable.run();
|
||||
@@ -596,22 +602,25 @@ public class NavButtonManager implements ActionListener {
|
||||
}
|
||||
|
||||
public void navigabilityChanged(final Wizard wizard) {
|
||||
final Runnable runnable = () -> {
|
||||
if (wizard.isBusy()) {
|
||||
next.setEnabled(false);
|
||||
prev.setEnabled(false);
|
||||
finish.setEnabled(false);
|
||||
cancel.setEnabled(false);
|
||||
parent.getOuterPanel().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
wasBusy = true;
|
||||
return;
|
||||
} else if (wasBusy) {
|
||||
cancel.setEnabled(true);
|
||||
parent.getOuterPanel().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
}
|
||||
configureNavigationButtons(wizard, prev, next, finish);
|
||||
final Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (wizard.isBusy()) {
|
||||
next.setEnabled(false);
|
||||
prev.setEnabled(false);
|
||||
finish.setEnabled(false);
|
||||
cancel.setEnabled(false);
|
||||
parent.getOuterPanel().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
wasBusy = true;
|
||||
return;
|
||||
} else if (wasBusy) {
|
||||
cancel.setEnabled(true);
|
||||
parent.getOuterPanel().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
}
|
||||
configureNavigationButtons(wizard, prev, next, finish);
|
||||
|
||||
parent.updateProblem();
|
||||
parent.updateProblem();
|
||||
}
|
||||
};
|
||||
if (EventQueue.isDispatchThread())
|
||||
runnable.run();
|
||||
|
||||
@@ -29,7 +29,6 @@ import java.awt.IllegalComponentStateException;
|
||||
import java.awt.Insets;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.Locale;
|
||||
import java.util.Arrays;
|
||||
import javax.accessibility.Accessible;
|
||||
@@ -119,34 +118,6 @@ public class InstructionsPanelImpl extends JComponent implements WizardObserver,
|
||||
}
|
||||
|
||||
public InstructionsPanelImpl(BufferedImage img, Wizard wizard) {
|
||||
if (img == null)
|
||||
//In the event of classloader issues, also have a way to get
|
||||
//the image from UIManager - slightly more portable for large
|
||||
//apps
|
||||
img = (BufferedImage) UIManager.get("wizard.sidebar.image");
|
||||
|
||||
String imgStr = System.getProperty("wizard.sidebar.image");
|
||||
//image has not been loaded and user wishes to supply their own image
|
||||
if (img == null && imgStr != null) {
|
||||
//get an URL, works for jars
|
||||
ClassLoader cl = this.getClass().getClassLoader();
|
||||
URL url = cl.getResource(imgStr);
|
||||
//successfully parsed the URL
|
||||
if (url != null)
|
||||
try {
|
||||
img = ImageIO.read(url);
|
||||
} catch (IOException ioe) {
|
||||
System.err.println("Could not load wizard image "
|
||||
+ ioe.getMessage());
|
||||
System.setProperty("wizard.sidebar.image", null);
|
||||
img = null; //error loading img, set to null to use default
|
||||
}
|
||||
else { //URL was not successfully parsed, set img to null to use default
|
||||
System.err.println("Bad URL for wizard image " + imgStr);
|
||||
System.setProperty("wizard.sidebar.image", null);
|
||||
img = null;
|
||||
}
|
||||
}
|
||||
if (img == null)
|
||||
try {
|
||||
img = ImageIO.read(InstructionsPanelImpl.class.getResourceAsStream(
|
||||
|
||||
0
HMCLAPI/src/main/java/org/tukaani/xz/CountingInputStream.java
Executable file → Normal file
0
HMCLAPI/src/main/java/org/tukaani/xz/CountingInputStream.java
Executable file → Normal file
0
HMCLAPI/src/main/java/org/tukaani/xz/CountingOutputStream.java
Executable file → Normal file
0
HMCLAPI/src/main/java/org/tukaani/xz/CountingOutputStream.java
Executable file → Normal file
@@ -198,9 +198,10 @@ settings.cannot_remove_default_config=\u4e0d\u80fd\u5220\u9664\u9ed8\u8ba4\u914d
|
||||
settings.max_memory=\u6700\u5927\u5185\u5b58/MB
|
||||
settings.java_dir=Java\u8def\u5f84
|
||||
settings.game_directory=\u6e38\u620f\u8def\u5f84
|
||||
settings.dimension=\u5206\u8fa8\u7387
|
||||
settings.dimension=\u6e38\u620f\u7a97\u53e3\u5206\u8fa8\u7387
|
||||
settings.fullscreen=\u5168\u5c4f
|
||||
settings.update_version=\u66f4\u65b0\u7248\u672c\u6587\u4ef6
|
||||
settings.run_directory=\u8fd0\u884c\u8def\u5f84(\u7248\u672c\u9694\u79bb)
|
||||
settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f
|
||||
settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84
|
||||
settings.default=\u9ed8\u8ba4
|
||||
@@ -237,8 +238,7 @@ mods.default_information=<html><font color=#c0392b>\u5b89\u88c5Mod\u524d\u4f60\u
|
||||
|
||||
advancedsettings=\u9ad8\u7ea7\u8bbe\u7f6e
|
||||
advancedsettings.launcher_visible=\u542f\u52a8\u5668\u53ef\u89c1\u6027
|
||||
advancedsettings.run_directory=\u8fd0\u884c\u8def\u5f84
|
||||
advencedsettings.debug_mode=\u8c03\u8bd5\u6a21\u5f0f
|
||||
advancedsettings.debug_mode=\u8c03\u8bd5\u6a21\u5f0f
|
||||
advancedsettings.java_permanent_generation_space=\u5185\u5b58\u6c38\u4e45\u4fdd\u5b58\u533a\u57df(\u4e0d\u5fc5\u586b\u5199,MB)
|
||||
advancedsettings.jvm_args=Java\u865a\u62df\u673a\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
|
||||
advancedsettings.Minecraft_arguments=Minecraft\u989d\u5916\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
|
||||
@@ -368,4 +368,5 @@ wizard.close=\u5173\u95ed
|
||||
wizard.close_mnemonic=\u5173
|
||||
wizard.summary=\u6982\u8981
|
||||
wizard.failed=\u5931\u8d25
|
||||
wizard.steps=\u6b65\u9aa4
|
||||
wizard.steps=\u6b65\u9aa4
|
||||
advancedsettings.debug_mode=\u8c03\u8bd5\u6a21\u5f0f
|
||||
|
||||
@@ -197,10 +197,11 @@ settings.manage=Manage
|
||||
settings.cannot_remove_default_config=Cannot remove the default configution.
|
||||
settings.max_memory=Max Memory/MB
|
||||
settings.java_dir=Java Dir
|
||||
settings.game_directory=Game Dir
|
||||
settings.dimension=Dimension
|
||||
settings.game_directory=Game Directory
|
||||
settings.dimension=Game Window Dimension
|
||||
settings.fullscreen=Fullscreen
|
||||
settings.update_version=Update version json.
|
||||
settings.run_directory=Run Directory(Version Isolation)
|
||||
settings.physical_memory=Physical Memory Size
|
||||
settings.choose_javapath=Choose Java Directory.
|
||||
settings.default=Default
|
||||
@@ -237,8 +238,7 @@ mods.default_information=<html><font color=#c0392b>Please ensure that you have i
|
||||
|
||||
advancedsettings=Advanced
|
||||
advancedsettings.launcher_visible=Launcher Visibility
|
||||
advancedsettings.run_directory=Run Directory
|
||||
advencedsettings.debug_mode=Debug Mode
|
||||
advancedsettings.debug_mode=Debug Mode
|
||||
advancedsettings.java_permanent_generation_space=Permanent Generation Space/MB
|
||||
advancedsettings.jvm_args=Java VM Arguments
|
||||
advancedsettings.Minecraft_arguments=Minecraft Arguments
|
||||
|
||||
@@ -198,9 +198,10 @@ settings.cannot_remove_default_config=\u4e0d\u80fd\u522a\u9664\u9ed8\u8a8d\u914d
|
||||
settings.max_memory=\u6700\u5927\u5167\u5b58\uff08MB\uff09
|
||||
settings.java_dir=Java\u8def\u5f91
|
||||
settings.game_directory=\u904a\u6232\u8def\u5f91
|
||||
settings.dimension=\u5206\u8fa8\u7387
|
||||
settings.dimension=\u6e38\u620f\u7a97\u53e3\u5206\u8fa8\u7387
|
||||
settings.fullscreen=\u5168\u5c4f
|
||||
settings.update_version=\u66f4\u65b0\u7248\u672c\u8cc7\u6599
|
||||
settings.run_directory=\u904b\u884c\u8def\u5f91(\u7248\u672c\u9694\u96e2)
|
||||
settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f
|
||||
settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84
|
||||
settings.default=\u9ed8\u8a8d
|
||||
@@ -237,8 +238,7 @@ mods.default_information=<html>\u60a8\u53ef\u4ee5\u62d6\u52a8mod\u5230\u5217\u88
|
||||
|
||||
advancedsettings=\u9ad8\u7d1a\u8a2d\u5b9a
|
||||
advancedsettings.launcher_visible=\u555f\u52d5\u5668\u53ef\u898b\u6027
|
||||
advancedsettings.run_directory=\u904b\u884c\u8def\u5f91
|
||||
advencedsettings.debug_mode=\u8abf\u8a66\u6a21\u5f0f
|
||||
advancedsettings.debug_mode=\u8abf\u8a66\u6a21\u5f0f
|
||||
advancedsettings.java_permanent_generation_space=\u5167\u5b58\u6c38\u4e45\u4fdd\u5b58\u5340\u57df/MB
|
||||
advancedsettings.jvm_args=Java\u865b\u64ec\u6a5f\u53c3\u6578(\u4e0d\u5fc5\u586b\u5beb)
|
||||
advancedsettings.Minecraft_arguments=Minecraft\u984d\u5916\u53c3\u6578(\u4e0d\u5fc5\u586b\u5beb)
|
||||
|
||||
@@ -198,10 +198,11 @@ settings.cannot_remove_default_config=\u4e0d\u80fd\u5220\u9664\u9ed8\u8ba4\u914d
|
||||
settings.max_memory=\u6700\u5927\u5185\u5b58/MB
|
||||
settings.java_dir=Java\u8def\u5f84
|
||||
settings.game_directory=\u6e38\u620f\u8def\u5f84
|
||||
settings.dimension=\u5206\u8fa8\u7387
|
||||
settings.dimension=\u6e38\u620f\u7a97\u53e3\u5206\u8fa8\u7387
|
||||
settings.fullscreen=\u5168\u5c4f
|
||||
settings.update_version=\u66f4\u65b0\u7248\u672c\u6587\u4ef6
|
||||
settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f
|
||||
settings.run_directory=\u8fd0\u884c\u8def\u5f84(\u7248\u672c\u9694\u79bb)
|
||||
settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84
|
||||
settings.default=\u9ed8\u8ba4
|
||||
settings.custom=\u81ea\u5b9a\u4e49
|
||||
@@ -237,8 +238,7 @@ mods.default_information=<html><font color=#c0392b>\u5b89\u88c5Mod\u524d\u4f60\u
|
||||
|
||||
advancedsettings=\u9ad8\u7ea7\u8bbe\u7f6e
|
||||
advancedsettings.launcher_visible=\u542f\u52a8\u5668\u53ef\u89c1\u6027
|
||||
advancedsettings.run_directory=\u8fd0\u884c\u8def\u5f84
|
||||
advencedsettings.debug_mode=\u8c03\u8bd5\u6a21\u5f0f
|
||||
advancedsettings.debug_mode=\u8c03\u8bd5\u6a21\u5f0f
|
||||
advancedsettings.java_permanent_generation_space=\u5185\u5b58\u6c38\u4e45\u4fdd\u5b58\u533a\u57df(\u4e0d\u5fc5\u586b\u5199,MB)
|
||||
advancedsettings.jvm_args=Java\u865a\u62df\u673a\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
|
||||
advancedsettings.Minecraft_arguments=Minecraft\u989d\u5916\u53c2\u6570(\u4e0d\u5fc5\u586b\u5199)
|
||||
|
||||
Reference in New Issue
Block a user