Language.INSTANCE.localize("instance.cantupdate"),
Language.INSTANCE.localize("instance.noaccountselected"),
JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE, null, optionss,
optionss[0]);
} else {
new InstanceInstallerDialog(instance, true, false);
}
} else if (ret == 1 || ret == JOptionPane.CLOSED_OPTION) {
if (!App.settings.isMinecraftLaunched()) {
if (instance.launch()) {
App.settings.setMinecraftLaunched(true);
}
}
} else if (ret == 2) {
instance.ignoreUpdate();
if (!App.settings.isMinecraftLaunched()) {
if (instance.launch()) {
App.settings.setMinecraftLaunched(true);
}
}
}
} else {
if (!App.settings.isMinecraftLaunched()) {
if (instance.launch()) {
App.settings.setMinecraftLaunched(true);
}
}
}
} else if (e.getButton() == MouseEvent.BUTTON3) {
JPopupMenu rightClickMenu = new JPopupMenu();
JMenuItem changeImageItem = new JMenuItem(Language.INSTANCE.localize("instance.changeimage"));
JMenuItem updateItem = new JMenuItem("Update Instance");
rightClickMenu.add(changeImageItem);
rightClickMenu.add(updateItem);
rightClickMenu.show(image, e.getX(), e.getY());
changeImageItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
chooser.setFileFilter(new FileNameExtensionFilter("PNG Files", "png"));
int ret = chooser.showOpenDialog(App.settings.getParent());
if (ret == JFileChooser.APPROVE_OPTION) {
File img = chooser.getSelectedFile();
if (img.getAbsolutePath().endsWith(".png")) {
try {
Utils.safeCopy(img, new File(instance.getRootDirectory(), "instance.png"));
image.setImage(instance.getImage().getImage());
instance.save();
} catch (IOException e1) {
e1.printStackTrace(System.err);
}
}
}
}
});
updateItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (instance.hasUpdate() && !instance.hasUpdateBeenIgnored(instance.getLatestVersion()) &&
!instance.isDev()) {
String[] options = {Language.INSTANCE.localize("common.yes"),
Language.INSTANCE.localize("common.no"),
Language.INSTANCE.localize("instance" + "" +
".dontremindmeagain")};
int ret = JOptionPane.showOptionDialog(App.settings.getParent(),
"<html><p align=\"center\">" + Language.INSTANCE.localize("instance" + "" +
".updatenow", "<br/><br/>") + "</p></html>",
Language.INSTANCE.localize("instance" + "" +
".updateavailable"), JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE, null, options, options[0]);
if (ret == 0) {
if (App.settings.getAccount() == null) {
String[] optionss = {Language.INSTANCE.localize("common.ok")};
JOptionPane.showOptionDialog(App.settings.getParent(),
Language.INSTANCE.localize("instance.cantupdate"),
Language.INSTANCE.localize("instance.noaccountselected"),
JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE, null,
optionss, optionss[0]);
} else {
new InstanceInstallerDialog(instance, true, false);
}
} else if (ret == 1 || ret == JOptionPane.CLOSED_OPTION) {
if (!App.settings.isMinecraftLaunched()) {
if (instance.launch()) {
App.settings.setMinecraftLaunched(true);