Compare commits
147 Commits
PreDev-0.2
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
586616c4bc | ||
![]() |
323a500ea4 | ||
![]() |
640c12a59f | ||
![]() |
041838c933 | ||
![]() |
30a785f5c4 | ||
![]() |
133dfbc8ac | ||
![]() |
319460ea91 | ||
![]() |
46402231de | ||
![]() |
b693858394 | ||
![]() |
1e2b3e09c4 | ||
![]() |
bc77fbe2d3 | ||
![]() |
eb6aa7a625 | ||
![]() |
44fd61bc08 | ||
![]() |
4729ae49d5 | ||
![]() |
2e8d4c6144 | ||
![]() |
25edfacc9a | ||
![]() |
a5e502ecea | ||
![]() |
ca71bff367 | ||
![]() |
641c496bd1 | ||
![]() |
208ea68c32 | ||
![]() |
7cac6dfc1c | ||
![]() |
57882a1a7e | ||
![]() |
ff2e8c3e75 | ||
![]() |
555168cc27 | ||
![]() |
eb38ff749b | ||
![]() |
4ea6447ab6 | ||
![]() |
b61842bb61 | ||
![]() |
5f36fecbf2 | ||
![]() |
86bfbd4cd8 | ||
![]() |
937df563f8 | ||
![]() |
3d4bd6c8b4 | ||
![]() |
2ee18e62a0 | ||
![]() |
0e269a5b64 | ||
![]() |
f4272851c2 | ||
![]() |
a2d7a72c92 | ||
![]() |
35de96f275 | ||
![]() |
480b268b3c | ||
![]() |
58b890642f | ||
![]() |
79e0e8632d | ||
![]() |
7d84627b41 | ||
![]() |
b712c1671a | ||
![]() |
94c9cf2aa6 | ||
![]() |
bc59d0ccfd | ||
![]() |
d7f188fa43 | ||
![]() |
fe08893d25 | ||
![]() |
08b1e8248d | ||
![]() |
1cd68ab2f0 | ||
![]() |
41868c23aa | ||
![]() |
2b4b89ec24 | ||
![]() |
7e184afa59 | ||
![]() |
150b692faa | ||
![]() |
111228b9a6 | ||
![]() |
d79c122687 | ||
![]() |
acb484704e | ||
![]() |
0f3482fee5 | ||
![]() |
c755a726d5 | ||
![]() |
3d88f16506 | ||
![]() |
1c1ad5141c | ||
![]() |
d070ef377e | ||
![]() |
4c3b1616bb | ||
![]() |
f9450c3505 | ||
![]() |
10937ee7f7 | ||
![]() |
a4aac5c5bb | ||
![]() |
a001f3eee7 | ||
![]() |
5caec11407 | ||
![]() |
c792da2876 | ||
![]() |
b94d72d507 | ||
![]() |
75715b1fef | ||
![]() |
f73c40102f | ||
![]() |
cafab965fb | ||
![]() |
4808514cac | ||
![]() |
08738183dc | ||
![]() |
a5deaf20a0 | ||
![]() |
79ccbc854c | ||
![]() |
4760b5e358 | ||
![]() |
e5199f1db5 | ||
![]() |
a3658beb84 | ||
![]() |
3381e851ce | ||
![]() |
3199b7c775 | ||
![]() |
e04ce8a6c1 | ||
![]() |
644b6eef49 | ||
![]() |
32f26f6023 | ||
![]() |
c875f6ed64 | ||
![]() |
f022d0a625 | ||
![]() |
6b078e3041 | ||
![]() |
d80e68a0a5 | ||
![]() |
1ca75ba769 | ||
![]() |
852f773515 | ||
![]() |
46b11c3ba1 | ||
![]() |
21ada67b10 | ||
![]() |
585b6d569f | ||
![]() |
2b21aa0296 | ||
![]() |
57d1acab00 | ||
![]() |
a99aee933c | ||
![]() |
5bc1267239 | ||
![]() |
823de6e681 | ||
![]() |
3256e43c6c | ||
![]() |
0b386b6957 | ||
![]() |
04b3e890b8 | ||
![]() |
7754202e9b | ||
![]() |
023dbcb4ff | ||
![]() |
25e20a9dbd | ||
![]() |
11f4b70151 | ||
![]() |
b793fbcad0 | ||
![]() |
aa8e545a1a | ||
![]() |
1a011e8001 | ||
aadb1b8b38 | |||
d0d8ade4b6 | |||
![]() |
2371df5ba9 | ||
![]() |
8aa27c8cae | ||
![]() |
d10e862b99 | ||
![]() |
b6ec4c0447 | ||
![]() |
333123fba9 | ||
![]() |
60b27ff299 | ||
![]() |
c86c4c4089 | ||
![]() |
b0880c3e35 | ||
![]() |
4404f599db | ||
![]() |
f3551e1d9b | ||
![]() |
84873a23f1 | ||
![]() |
b050a1f949 | ||
![]() |
b8dd2ce05e | ||
![]() |
a7fd34a3f2 | ||
![]() |
dce2f8c9b6 | ||
![]() |
f1e5676f0d | ||
![]() |
73cf39f11c | ||
![]() |
beada8c939 | ||
![]() |
1ea6988984 | ||
![]() |
e5dc2e2702 | ||
![]() |
25732395fb | ||
![]() |
99de9b2046 | ||
![]() |
88f07fb6c6 | ||
![]() |
689c1b1dd6 | ||
![]() |
946c105ee3 | ||
![]() |
9b31b6c178 | ||
![]() |
269a6526d8 | ||
![]() |
f7f46ab813 | ||
![]() |
47477604ee | ||
![]() |
893fd1c672 | ||
![]() |
f9c35eb9eb | ||
![]() |
9dda863552 | ||
![]() |
c6d3a74a03 | ||
22dd01a9da | |||
![]() |
9e4df9f927 | ||
![]() |
d82325a3ab | ||
![]() |
46d2604845 | ||
![]() |
d233a97bf4 | ||
![]() |
4f48b3ce8a |
11
.idea/libraries/JOE.xml
generated
Normal file
@ -0,0 +1,11 @@
|
||||
<component name="libraryTable">
|
||||
<library name="JOE">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/libs/JOE.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES>
|
||||
<root url="jar://$PROJECT_DIR$/libs/JOE.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
5
.idea/misc.xml
generated
@ -1,12 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="EntryPointsManager">
|
||||
<entry_points version="2.0" />
|
||||
</component>
|
||||
<component name="ProjectKey">
|
||||
<option name="state" value="project://e79810c8-c5c8-43b1-b19c-90c1f4095425" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
<component name="WebServicesPlugin" addRequiredLibraries="true" />
|
||||
|
@ -1,4 +1,6 @@
|
||||
# Team Avion Launcher (TAL)
|
||||
# Team Avion Launcher (TAL)
|
||||
###### Current Version : Alpha Dev 0.0.2 [Download Current Version](https://github.com/GabrielTofvesson/TeamAvionLauncher/releases/download/AlphaDev-0.0.2/Team-Avion-Launcher-AlphaDev-0.0.2.jar) | [Version Notes](https://github.com/GabrielTofvesson/TeamAvionLauncher/releases/tag/AlphaDev-0.0.2) | [Other Versions](https://github.com/GabrielTofvesson/TeamAvionLauncher/releases)
|
||||
|
||||
Created by [Taco Dev](https://github.com/Michael-Jouanneau), [Blynd3 Dev](https://github.com/GabrielTofvesson) and, [Deathly Dev](https://github.com/ADeathyTouch) for Team Avion
|
||||
|
||||
### What is Team Avion Launcher (TAL)?
|
||||
@ -17,10 +19,11 @@ Team Avion Launcher (TAL) Is an open source java launcher for all of Team Avion'
|
||||
We wish to form a Community that is fueled by passion and unwitting determination. In order to establish such a community we are going to develop a custom Minecraft launcher for Windows and MAC. We are also developing a fast, fun, and easy way to explore modded Minecraft through Android, IOS, Xbox, and Playstation.
|
||||
|
||||
### More Info
|
||||
Please visit our [Project Page](https://github.com/Michael-Jouanneau/TeamAvion-Lancher/projects/1) to see our progress as we delve into the future of a stronger community!
|
||||
Please visit our [Project Page](https://github.com/GabrielTofvesson/TeamAvionLauncher/projects/1) to see our progress as we delve into the future of a stronger community!
|
||||
<br>
|
||||
<br>
|
||||
Please Read [Terms of Services](https://github.com/Michael-Jouanneau/Team-Avion-Launcher/blob/master/agreements/Terms%20of%20Service.md) and [Privacy Policy](https://github.com/Michael-Jouanneau/Team-Avion-Launcher/blob/master/agreements/Privacy%20Policy.md)
|
||||
Please Read [Terms of Services](https://github.com/GabrielTofvesson/TeamAvionLauncher/blob/master/agreements/Terms%20of%20Service.md) and [Privacy Policy](https://github.com/GabrielTofvesson/TeamAvionLauncher/blob/master/agreements/Privacy%20Policy.md)
|
||||
|
||||
### - Libraries
|
||||
- [RefTools](https://github.com/GabrielTofvesson/libRefTools) (Provided by [Blynd3 Dev](https://github.com/GabrielTofvesson))
|
||||
- [JOE](https://github.com/GabrielTofvesson/JOE) (Provided by [Blynd3 Dev](https://github.com/GabrielTofvesson))
|
||||
|
1
TAL.iml
@ -17,5 +17,6 @@
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="library" name="libRefTools" level="project" />
|
||||
<orderEntry type="library" name="JOE" level="project" />
|
||||
</component>
|
||||
</module>
|
1
_config.yml
Normal file
@ -0,0 +1 @@
|
||||
theme: jekyll-theme-cayman
|
BIN
libs/JOE.jar
Normal file
@ -6,60 +6,106 @@ not-so-messy code is extremely messy just because of how I work. I mean, I try t
|
||||
always tell me that it's virtually unreadable and it doesn't help that it's difficult to explain to them what the code
|
||||
does without them losing interest. Also, in case you are actually, seriously going to read this crap, do yourself a
|
||||
favour and pour yourself some nice Jack Daniels. You deserve it if you're going to read through this.
|
||||
*/
|
||||
|
||||
Do not Read Past this point... This is a human health advisory. Anyone reading past this point will risk his or her life.
|
||||
If you get sick reading, we will not claim responsibility on your health. Please Stay Clear of the Code.
|
||||
*/
|
||||
|
||||
package Launcher;
|
||||
|
||||
// import Launcher.net.Updater;
|
||||
import Launcher.net.Updater;
|
||||
import com.tofvesson.async.Async;
|
||||
import com.tofvesson.reflection.SafeReflection;
|
||||
import javafx.animation.KeyFrame;
|
||||
import javafx.animation.Timeline;
|
||||
import javafx.application.Application;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.Pane;
|
||||
import javafx.scene.shape.Rectangle;
|
||||
import javafx.stage.Modality;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.StageStyle;
|
||||
import javafx.util.Duration;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.tofvesson.async.*;
|
||||
/*
|
||||
Do not go further. you risk your life. Read guideline above. Anyone reading past this point is no longer under our responsibility.
|
||||
Beware the crocodiles on line 100!
|
||||
*/
|
||||
|
||||
public class Main extends Application {
|
||||
|
||||
// Semantic versioning system data
|
||||
public static final String semVerDevState = "PreDev"; // Development stage
|
||||
public static final String semVerDevState = "Alpha-Dev"; // Development stage
|
||||
public static final int semVerMajor = 0; // Major version
|
||||
public static final int semVerMinor = 2; // Minor version
|
||||
public static final int semVerMinor = 3; // Minor version
|
||||
public static final int semVerPatch = 0; // Patch version
|
||||
|
||||
|
||||
private double xOffset = 0, yOffset = 0; // Offsets for dragging
|
||||
private Button exit, min, Home_btn, Modpack_btn, Settings_btn, Instance_btn; // Define buttons
|
||||
double xOffset = 0, yOffset = 0; // Offsets for dragging
|
||||
private static String[] args;
|
||||
Button exit, min, Home_btn, Modpack_btn, Settings_btn, Instance_btn, Default_theme, Dark_theme, Light_theme, Login_minecraft; // Define buttons
|
||||
private ImageView icon;
|
||||
private TextField Search_modpacks;
|
||||
private TextField Search_modpacks, Username_minecraft;
|
||||
private Image appIcon;
|
||||
private Rectangle dragBar; // Draggable top bar
|
||||
private Pane root, tab;
|
||||
private Node activeTab, settings_activeTab;
|
||||
Pane root, tab, dragbar_1;
|
||||
private PasswordField Password_minecraft;
|
||||
Node activeTab, settings_activeTab;
|
||||
private Label dialog_changer;
|
||||
private CheckBox RAM_Default;
|
||||
private Slider RAM_slider;
|
||||
|
||||
Async stringUpdater;
|
||||
|
||||
@Override
|
||||
public void start(Stage primaryStage) throws Exception{
|
||||
|
||||
primaryStage.initStyle(StageStyle.UNDECORATED); // Remove ugly trash
|
||||
primaryStage.initStyle(StageStyle.UNDECORATED);
|
||||
|
||||
root = (Pane) Tabs.load("main"); // Load via layout loader
|
||||
((Label)root.lookup("#version")).setText(((Label) root.lookup("#version")) // Dynamically set version label
|
||||
.getText().replace("$v", semVerDevState+"-"+semVerMajor+"."+semVerMinor+"."+semVerPatch)); // Use variables to define version
|
||||
primaryStage.setTitle("Team-Avion Launcher [WIP]");
|
||||
//TODO: Remove the comments under when updater class is fixed
|
||||
if(args.length<2 || !args[1].equals("false")){
|
||||
Stage d = new Stage();
|
||||
Timeline t = new Timeline();
|
||||
t.getKeyFrames().add(new KeyFrame(Duration.millis(1), event ->{ d.close(); primaryStage.show(); }));
|
||||
d.initStyle(StageStyle.UNDECORATED);
|
||||
Pane n = (Pane) Tabs.load("dialog_update");
|
||||
d.setScene(new Scene(n));
|
||||
d.getIcons().add(appIcon = new Image(getClass().getResourceAsStream("/assets/icons/app.png")));
|
||||
d.show();
|
||||
Thread t1 = new Thread(()->{
|
||||
try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); }
|
||||
Updater.getInstance(t);
|
||||
});
|
||||
t1.setDaemon(true);
|
||||
t1.start();
|
||||
} else primaryStage.show(); // Remove ugly trash
|
||||
|
||||
root = (Pane) Tabs.load("main"); // Load via layout loader
|
||||
((Label)root.lookup("#version")).setText(((Label) root.lookup("#version")) // Dynamically set version label
|
||||
.getText().replace("$v", semVerDevState+" "+semVerMajor+"."+semVerMinor+"."+semVerPatch)); // Use variables to define version
|
||||
primaryStage.setTitle("Team-Avion Launcher");
|
||||
primaryStage.setScene(new Scene(root, 900, 500));
|
||||
primaryStage.show();
|
||||
primaryStage.getIcons().clear();
|
||||
primaryStage.getIcons().add(appIcon = new Image(getClass().getResourceAsStream("/assets/icons/app.png")));
|
||||
primaryStage.show(); // TODO: remove when the Upodater class is fixed
|
||||
|
||||
// Field initialization
|
||||
exit = (Button) root.lookup("#exit");
|
||||
@ -71,12 +117,20 @@ public class Main extends Application {
|
||||
Modpack_btn = (Button) root.lookup("#Modpacks-btn");
|
||||
Settings_btn = (Button) root.lookup("#Settings-btn");
|
||||
Instance_btn = (Button) root.lookup("#Instance-btn");
|
||||
Default_theme = (Button) root.lookup("#default-theme");
|
||||
Light_theme = (Button) root.lookup("#light-theme");
|
||||
Dark_theme = (Button) root.lookup("#dark-theme");
|
||||
Login_minecraft = (Button) root.lookup("#minecraft-login-btn");
|
||||
|
||||
dialog_changer = (Label) root.lookup("#dialog-changer");
|
||||
|
||||
tab = (Pane) root.lookup("#tab");
|
||||
|
||||
icon = (ImageView) root.lookup("#icon");
|
||||
|
||||
Search_modpacks = (TextField) root.lookup("#search-modpacks");
|
||||
Username_minecraft = (TextField) root.lookup("#minecraftuser");
|
||||
Password_minecraft = (PasswordField) root.lookup("#minecraftpass");
|
||||
|
||||
// Infrastructural navigation
|
||||
exit.setOnMouseClicked(event -> primaryStage.close()); // Closes the program if exit button is clicked
|
||||
@ -88,13 +142,24 @@ public class Main extends Application {
|
||||
Tabs.switchTab("home", tab);
|
||||
}
|
||||
}); // Sets the active tab to the home tab unless it's already active
|
||||
|
||||
Modpack_btn.setOnMouseClicked(event ->{
|
||||
if(!activeTab.equals(Modpack_btn)){
|
||||
updateTabSelection(Modpack_btn, TabType.MAIN);
|
||||
Tabs.switchTab("modpacks", tab);
|
||||
if(stringUpdater!=null && stringUpdater.isAlive()) stringUpdater.cancel();
|
||||
stringUpdater = new Async(SafeReflection.getFirstMethod(Main.class, "detectStringUpdate"), Tabs.load("modpacks").lookup("#search-modpacks"));
|
||||
Tabs.load("modpacks").lookup("#download-modpack").setOnMouseClicked(event1 -> {
|
||||
System.out.println("Downloading Modpack");
|
||||
});
|
||||
Tabs.load("modpacks").lookup("#view-modpack").setOnMouseClicked(event1 -> {
|
||||
System.out.println("Viewing Modpack");
|
||||
});
|
||||
Tabs.load("modpacks").lookup("#download-modpack-a").setOnMouseClicked(event1 -> {
|
||||
System.out.println("Downloading Modpack-a");
|
||||
});
|
||||
Tabs.load("modpacks").lookup("#view-modpack-a").setOnMouseClicked(event1 -> {
|
||||
System.out.println("Viewing Modpack-a");
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@ -103,19 +168,16 @@ public class Main extends Application {
|
||||
updateTabSelection(Instance_btn, TabType.MAIN);
|
||||
Tabs.switchTab("instance", tab);
|
||||
Tabs.load("instance").lookup("#Launch-VM").setOnMouseClicked(event1 -> {
|
||||
|
||||
System.out.println("Launching Minecraft");
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Settings_btn.setOnMouseClicked(event ->{
|
||||
Settings_btn.setOnMouseClicked((MouseEvent event) ->{
|
||||
if(!activeTab.equals(Settings_btn)){
|
||||
updateTabSelection(Settings_btn, TabType.MAIN);
|
||||
Node n = Tabs.switchTab("settings", tab); // Sets the active tab to the settings tab unless it's already active
|
||||
|
||||
Node n = Tabs.switchTab("settings", tab), tmp; // Sets the active tab to the settings tab unless it's already active
|
||||
if(settings_activeTab==null) settings_activeTab = n.lookup("#Settings-Gen-btn"); // First time stuff
|
||||
|
||||
n.lookup("#Settings-Gen-btn").setOnMouseClicked(event1 -> {
|
||||
n.lookup("#Settings-Gen-btn").setOnMouseClicked(event1 -> {
|
||||
// Generic Settings Sub-tab
|
||||
if(!settings_activeTab.getId().equals(n.lookup("#Settings-Gen-btn").getId())){ // Use id to identify layouts
|
||||
updateTabSelection(n.lookup("#Settings-Gen-btn"), TabType.SETTINGS);
|
||||
@ -124,18 +186,87 @@ public class Main extends Application {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
n.lookup("#Settings-Mine-btn").setOnMouseClicked(event1 -> {
|
||||
// Minecraft Settings Sub-tab
|
||||
if(!settings_activeTab.getId().equals(n.lookup("#Settings-Mine-btn").getId())){ // Use id to identify layouts
|
||||
updateTabSelection(n.lookup("#Settings-Mine-btn"), TabType.SETTINGS);
|
||||
Node minecraftLayout = Tabs.switchTab("settings_minecraft", (Pane) n.lookup("#Settings-Pane"));
|
||||
Tabs.load("settings_minecraft").lookup("#minecraft-login-btn").setOnMouseClicked(event3 ->{
|
||||
System.out.println("Logging into minecraft");
|
||||
|
||||
Stage login = new Stage();
|
||||
login.initModality(Modality.APPLICATION_MODAL);
|
||||
login.initStyle(StageStyle.UNDECORATED);
|
||||
Pane minecraftlogin = (Pane) Tabs.reloadTab("instance_userinfo");
|
||||
login.setScene(new Scene(minecraftlogin, 300, 308));
|
||||
login.show();
|
||||
login.setResizable(false);
|
||||
login.setTitle("Minecraft Login");
|
||||
|
||||
dragbar_1 = (Pane) minecraftlogin.lookup("#dragbar-1");
|
||||
|
||||
dragbar_1.setOnMousePressed(event4 -> {
|
||||
xOffset = event4.getSceneX();
|
||||
yOffset = event4.getSceneY();
|
||||
});
|
||||
dragbar_1.setOnMouseDragged(event4 -> {
|
||||
login.setX(event4.getScreenX() - xOffset);
|
||||
login.setY(event4.getScreenY() - yOffset);
|
||||
});
|
||||
|
||||
minecraftlogin.lookup("#close-minecraft-login-window").setOnMouseClicked(event4 ->{
|
||||
System.out.println("Closing window");
|
||||
login.close();
|
||||
});
|
||||
|
||||
minecraftlogin.lookup("#minecraft-login").setOnMouseClicked(event4 ->{
|
||||
System.out.println("Logging in ....");
|
||||
Pane lw;
|
||||
Scene s = login.getScene();
|
||||
login.setScene(new Scene(lw=(Pane)Tabs.reloadTab("instance_loginwait"), 300, 308));
|
||||
login.getScene().getRoot().setOnMousePressed(event5 -> {
|
||||
xOffset = event5.getSceneX();
|
||||
yOffset = event5.getSceneY();
|
||||
});
|
||||
login.getScene().getRoot().setOnMouseDragged(event5 -> {
|
||||
login.setX(event5.getScreenX() - xOffset);
|
||||
login.setY(event5.getScreenY() - yOffset);
|
||||
});
|
||||
lw.lookup("#login_cancel").setOnMouseClicked(event2 -> {
|
||||
System.out.println("Canceled");
|
||||
login.setScene(s);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Node Minecraft_settings = Tabs.load("settings_minecraft");
|
||||
|
||||
RAM_Default = (CheckBox) Minecraft_settings.lookup("#RAM-Default");
|
||||
RAM_slider = (Slider) Minecraft_settings.lookup("#RAM-slider");
|
||||
|
||||
|
||||
// Default States for the General Settings
|
||||
RAM_slider.setDisable(true);
|
||||
RAM_Default.setSelected(true);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
Tabs.switchTab(settings_activeTab.getId().equals("Settings-Gen-btn") ? "settings_generic" : "settings_minecraft", (Pane) n.lookup("#Settings-Pane"));
|
||||
if((tmp=Tabs.load("settings_generic").lookup("#default-theme")).getOnMouseClicked()==null) {
|
||||
tmp.setOnMouseClicked(event2 -> {
|
||||
Theme.Default.switchTo(root);
|
||||
System.out.println("Changing Theme to Default");
|
||||
});
|
||||
Tabs.load("settings_generic").lookup("#light-theme").setOnMouseClicked(event2 -> {
|
||||
Theme.Light.switchTo(root);
|
||||
System.out.println("Changing Theme to Light");
|
||||
});
|
||||
Tabs.load("settings_generic").lookup("#dark-theme").setOnMouseClicked(event1 -> {
|
||||
Theme.Dark.switchTo(root);
|
||||
System.out.println("Changing Theme to Dark");
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@ -155,11 +286,53 @@ public class Main extends Application {
|
||||
icon.setImage(appIcon);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Updater u = Updater.getInstance();
|
||||
public static void main(String[] args) throws Exception{
|
||||
// TODO: Needs Fixing.
|
||||
/* Localization l = new Localization(new File(Main.class.getResource("../assets/lang/").getFile())); // Create a localization with aggressive loading
|
||||
System.out.println(Arrays.toString(l.getLanguageNames()));
|
||||
System.out.println("Success: "+l.get("du_label")); */
|
||||
Main.args = args;
|
||||
if (args.length > 0) {
|
||||
File f = new File(args[0]);
|
||||
if (f.isFile()) while(!f.delete()) Thread.sleep(50); // Delete previous jar
|
||||
}
|
||||
launch(args);
|
||||
}
|
||||
|
||||
private static String MakeJSONRequest(String username, String password){ return "{\"agent\": { \"name\": \"Minecraft\", \"version\": 1 }, \"username\": \""+username+"\", \"password\": \""+password+"\"}"; }
|
||||
|
||||
private static String httpRequest(URL url, String content) throws Exception {
|
||||
byte[] contentBytes = content.getBytes("UTF-8");
|
||||
|
||||
URLConnection connection = url.openConnection();
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
connection.setRequestProperty("Accept-Charset", "UTF-8");
|
||||
connection.setRequestProperty("Content-Type", "application/json");
|
||||
connection.setRequestProperty("Content-Length", Integer.toString(contentBytes.length));
|
||||
|
||||
OutputStream requestStream = connection.getOutputStream();
|
||||
requestStream.write(contentBytes, 0, contentBytes.length);
|
||||
requestStream.close();
|
||||
|
||||
String response = "";
|
||||
BufferedReader responseStream;
|
||||
if (((HttpURLConnection) connection).getResponseCode() == 200) {
|
||||
responseStream = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
|
||||
} else {
|
||||
responseStream = new BufferedReader(new InputStreamReader(((HttpURLConnection) connection).getErrorStream(), "UTF-8"));
|
||||
}
|
||||
|
||||
response = responseStream.readLine();
|
||||
responseStream.close();
|
||||
|
||||
if (((HttpURLConnection) connection).getResponseCode() != 200) {
|
||||
//Failed to login (Invalid Credentials or whatever)
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Search for packs with an 80% match compared to detected string.
|
||||
* @param toRead TextField to read from.
|
||||
@ -180,7 +353,36 @@ public class Main extends Application {
|
||||
newTab.getStyleClass().add("selected");
|
||||
}
|
||||
|
||||
public static List<Node> getFlatRepresentation(Parent root){
|
||||
List<Node> l = new ArrayList<>();
|
||||
l.add(root);
|
||||
for(Node n : root.getChildrenUnmodifiable()){
|
||||
if(n instanceof Parent)
|
||||
l.addAll(getFlatRepresentation((Parent)n));
|
||||
else l.add(n);
|
||||
}
|
||||
return l;
|
||||
}
|
||||
|
||||
public void processStyleData(Node n){
|
||||
|
||||
}
|
||||
|
||||
enum TabType{
|
||||
SETTINGS, MAIN
|
||||
}
|
||||
|
||||
enum Theme{
|
||||
Default(""), Dark(Main.class.getResource("/assets/style/dark-theme.css").toExternalForm()), Light(Main.class.getResource("/assets/style/light-theme.css").toExternalForm());
|
||||
|
||||
public final String style;
|
||||
Theme(String style){ this.style = style; }
|
||||
|
||||
public void switchTo(Pane root){
|
||||
ObservableList<String> l = root.getStylesheets();
|
||||
if(l.contains(Light.style)) l.remove(Light.style);
|
||||
if(l.contains(Dark.style)) l.remove(Dark.style);
|
||||
if(this!=Default) l.add(style);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,14 +5,23 @@ import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.layout.Pane;
|
||||
import javafx.util.Pair;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.jar.JarEntry;
|
||||
import java.util.jar.JarFile;
|
||||
|
||||
@SuppressWarnings({"unused", "WeakerAccess"})
|
||||
public class Tabs {
|
||||
|
||||
private static final ShiftingList<Pair<URL, Node>> loaded = new ShiftingList<>(35); // Memory-efficient list of loaded files
|
||||
|
||||
|
||||
/**
|
||||
* Loads layout from file in layout assets folder. If layout is already loaded,
|
||||
* Tabs won't bother with reloading and will instead return the cached version.
|
||||
@ -24,10 +33,10 @@ public class Tabs {
|
||||
URL file = Main.class.getResource("/assets/layout/"+fileName);
|
||||
try {
|
||||
final boolean[] b = {false};
|
||||
loaded.stream().filter(p -> p.getKey().equals(file)).forEach(p->b[0]=true);
|
||||
loaded.stream().filter(p ->p!=null && p.getKey().equals(file)).forEach(p->b[0]=true);
|
||||
if(!b[0]) loaded.add(new Pair<>(file, FXMLLoader.load(file))); // Load file if it isn't already loaded
|
||||
final Node[] p1 = new Node[]{new Pane()};
|
||||
loaded.stream().filter(p->p.getKey().equals(file)).forEach(p->p1[0]=p.getValue());
|
||||
loaded.stream().filter(p->p!=null && p.getKey().equals(file)).forEach(p->p1[0]=p.getValue());
|
||||
return p1[0];
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
@ -58,7 +67,7 @@ public class Tabs {
|
||||
public static void unloadTab(String fileName){
|
||||
if(!fileName.endsWith(".fxml")) fileName+=".fxml";
|
||||
URL file = Main.class.getResource("/assets/layout/"+fileName);
|
||||
loaded.stream().filter(p->p.getKey().equals(file)).forEach(loaded::remove);
|
||||
loaded.stream().filter(p->p!=null && p.getKey().equals(file)).forEach(loaded::remove);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -70,4 +79,29 @@ public class Tabs {
|
||||
unloadTab(fileName);
|
||||
return load(fileName);
|
||||
}
|
||||
public static List<String> listShit(Class from, String path) throws IOException{
|
||||
final File jarFile = new File(from.getProtectionDomain().getCodeSource().getLocation().getPath());
|
||||
List<String> l = new ArrayList<>();
|
||||
if(jarFile.isFile()) { // Run with JAR file
|
||||
final JarFile jar = new JarFile(jarFile);
|
||||
final Enumeration<JarEntry> entries = jar.entries(); //gives ALL entries in jar
|
||||
while(entries.hasMoreElements()) {
|
||||
final String name = entries.nextElement().getName();
|
||||
if (name.startsWith(path + "/")) //filter according to the path
|
||||
l.add(name);
|
||||
}
|
||||
jar.close();
|
||||
} else { // Run with IDE
|
||||
final URL url = from.getResource("/" + path);
|
||||
if (url != null)
|
||||
try {
|
||||
final File apps = new File(url.toURI());
|
||||
for (File app : apps.listFiles())
|
||||
l.add(app.getName());
|
||||
} catch (URISyntaxException ex) {
|
||||
// never happens
|
||||
}
|
||||
}
|
||||
return l;
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package Launcher.minecraft;
|
||||
|
||||
public class Launcher {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,13 @@
|
||||
package Launcher.net;
|
||||
|
||||
import Launcher.Main;
|
||||
import Launcher.Tabs;
|
||||
import com.tofvesson.async.Async;
|
||||
import com.tofvesson.reflection.SafeReflection;
|
||||
import javafx.animation.Timeline;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.Pane;
|
||||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import java.io.*;
|
||||
import java.net.MalformedURLException;
|
||||
@ -18,8 +24,8 @@ import static Launcher.Main.semVerPatch;
|
||||
public class Updater {
|
||||
|
||||
private static volatile Updater instance;
|
||||
private static final Async<Updater> setup = new Async<>(SafeReflection.getFirstConstructor(Updater.class));
|
||||
public static final Pattern version = Pattern.compile("(?s)<span class=\"css-truncate-target\">.*(\\d).(\\d).(\\d)</span>.*<a href=\"/GabrielTofvesson/TeamAvionLauncher/releases/download/(.*)\\.jar\" rel=\"nofollow\">"); // Pattern to match when finding refs
|
||||
private static Async<Updater> setup;
|
||||
public static final Pattern version = Pattern.compile("(?s)<span class=\"css-truncate-target\">.*?(\\d)\\.(\\d)\\.(\\d)</span>.*?<a href=\"/GabrielTofvesson/TeamAvionLauncher/releases/download/(.*?)\\.jar\" rel=\"nofollow\">"); // Pattern to match when finding refs
|
||||
private HttpsURLConnection conn;
|
||||
public static final URL updateURL;
|
||||
|
||||
@ -29,39 +35,49 @@ public class Updater {
|
||||
updateURL = u;
|
||||
}
|
||||
|
||||
private Updater(){
|
||||
private Updater(Timeline t){
|
||||
try {
|
||||
conn = (HttpsURLConnection) updateURL.openConnection();
|
||||
conn.setDoOutput(true);
|
||||
conn.setDoInput(true);
|
||||
conn.setRequestMethod("GET");
|
||||
conn.setRequestProperty("User-Agent", "Mozilla/5.0");
|
||||
if(conn.getResponseCode()!=200) return; // Can't get update site
|
||||
if(conn.getResponseCode()!=200){
|
||||
t.play();
|
||||
return; // Can't get update site
|
||||
}
|
||||
conn.connect();
|
||||
|
||||
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(
|
||||
conn.getInputStream()));
|
||||
String inputLine;
|
||||
StringBuilder response = new StringBuilder();
|
||||
|
||||
while ((inputLine = in.readLine()) != null) {
|
||||
response.append(inputLine);
|
||||
}
|
||||
while ((inputLine = in.readLine()) != null) response.append(inputLine);
|
||||
in.close();
|
||||
|
||||
Matcher m = version.matcher(response.toString());
|
||||
String downloadLink = "";
|
||||
int semMajor = semVerMajor, semMinor = semVerMinor, semPatch = semVerPatch;
|
||||
while(m.find()){
|
||||
int semMaj = Integer.parseInt(m.group(1)),
|
||||
semMin = Integer.parseInt(m.group(2)),
|
||||
semPat = Integer.parseInt(m.group(3));
|
||||
if(semMaj < semVerMajor || (semMaj==semVerMajor && semMin<semVerMinor) ||
|
||||
(semMaj==semVerMajor && semMin==semVerMinor && semPat<=semVerPatch)) continue; // Version found isn't new
|
||||
if(semMaj < semMajor || (semMaj==semMajor && semMin<semMinor) ||
|
||||
(semMaj==semMajor && semMin==semMinor && semPat<=semPatch)) continue; // Version found isn't new
|
||||
downloadLink = "https://github.com/GabrielTofvesson/TeamAvionLauncher/releases/download/"+m.group(4)+".jar";
|
||||
semMajor = semMaj;
|
||||
semMinor = semMin;
|
||||
semPatch = semPat;
|
||||
}
|
||||
if(downloadLink.equals("")) return;
|
||||
File f = new File("Tal1.jar");
|
||||
if(downloadLink.equals("")){
|
||||
t.play();
|
||||
return;
|
||||
}
|
||||
File f = new File("TAL-"+semMajor+"_"+semMinor+"_"+semPatch+".jar"), f1;
|
||||
if((f1=new File(Main.class.getResource("/assets/").getFile())).getParent().contains("!") &&
|
||||
f1.getParent().contains("file:")) // Find .jar representation of this program
|
||||
f1=new File(f1.getParent().substring(f1.getParent().indexOf("file:")+5, f1.getParent().length()-1)); // Prepare for deletion
|
||||
if(f.isFile()) f.renameTo(new File("-"+f.getName()));
|
||||
f.createNewFile();
|
||||
OutputStream o = new FileOutputStream(f);
|
||||
HttpsURLConnection dl = (HttpsURLConnection) new URL(downloadLink).openConnection(); // Downloader
|
||||
@ -69,7 +85,10 @@ public class Updater {
|
||||
dl.setDoInput(true);
|
||||
dl.setRequestMethod("GET");
|
||||
dl.setRequestProperty("User-Agent", "Mozilla/5.0");
|
||||
if(dl.getResponseCode()!=200) return;
|
||||
if(dl.getResponseCode()!=200){
|
||||
t.play();
|
||||
return;
|
||||
}
|
||||
dl.connect();
|
||||
InputStream reader = dl.getInputStream();
|
||||
int i;
|
||||
@ -77,15 +96,19 @@ public class Updater {
|
||||
while((i=reader.read(buffer))!=-1) o.write(buffer, 0, i);
|
||||
reader.close();
|
||||
o.close();
|
||||
Runtime.getRuntime().exec("java -jar Tal1.jar");
|
||||
System.out.println("Starting!");
|
||||
Runtime.getRuntime().exec("java -jar "+f.getName()+" "+f1.getAbsolutePath()+" "+false);
|
||||
System.exit(0);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
//e.printStackTrace();
|
||||
System.out.println("No internet connection available!");
|
||||
t.play();
|
||||
}
|
||||
}
|
||||
public static void checkUpdate(Timeline t){ setup = new Async<>(SafeReflection.getFirstConstructor(Updater.class), t); }
|
||||
|
||||
public static Updater getInstance() {
|
||||
public static Updater getInstance(Timeline t) {
|
||||
if(setup==null) checkUpdate(t);
|
||||
return instance==null?instance=setup.await():instance; // Await async creation
|
||||
}
|
||||
}
|
||||
|
BIN
src/assets/icons/Creeper.png
Normal file
After Width: | Height: | Size: 794 KiB |
BIN
src/assets/icons/Minecraft-Wallpaper.png
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
src/assets/icons/Modpack-modded.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
src/assets/icons/dark-theme.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/icons/home.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
src/assets/icons/light-theme.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/icons/minecraft.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
src/assets/icons/modpack-default-img.png
Normal file
After Width: | Height: | Size: 348 KiB |
BIN
src/assets/icons/settings.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
4
src/assets/lang/default.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Language: Default
|
||||
|
||||
du_label:Launching...
|
||||
du_updater:Updating...
|
4
src/assets/lang/svenska.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Language: Swedish
|
||||
|
||||
du_label:Startar...
|
||||
du_updater:Uppdaterar...
|
33
src/assets/layout/dialog_update.fxml
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.Cursor?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ProgressIndicator?>
|
||||
<?import javafx.scene.effect.ColorAdjust?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<Pane id="dialog" prefHeight="109.0" prefWidth="432.0" xmlns="http://javafx.com/javafx/8.0.112-ea" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<Label prefHeight="56.0" prefWidth="432.0" text="Launching TAL..." textAlignment="CENTER">
|
||||
<font>
|
||||
<Font name="Centaur" size="45.0" />
|
||||
</font>
|
||||
<padding>
|
||||
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
|
||||
</padding>
|
||||
</Label>
|
||||
<Label layoutX="23.0" layoutY="70.0" text="Looking for updates...">
|
||||
<font>
|
||||
<Font name="Centaur" size="17.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label id="i" layoutX="202.0" layoutY="75.0" />
|
||||
<ProgressIndicator layoutX="331.0" layoutY="28.0" mouseTransparent="true" nodeOrientation="LEFT_TO_RIGHT">
|
||||
<cursor>
|
||||
<Cursor fx:constant="WAIT" />
|
||||
</cursor>
|
||||
<effect>
|
||||
<ColorAdjust brightness="-1.0" contrast="-0.00" hue="-0.5" saturation="-0.98" />
|
||||
</effect></ProgressIndicator>
|
||||
</Pane>
|
@ -1,19 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.shape.Rectangle?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="750.0" stylesheets="@../style/nav.css" xmlns="http://javafx.com/javafx/8.0.112-ea" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="812.0" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Rectangle id="Modpack-back" arcHeight="5.0" arcWidth="5.0" height="47.0" strokeType="INSIDE" width="750.0" />
|
||||
<Label layoutX="34.0" layoutY="5.0" text="Home" textFill="WHITE">
|
||||
<Rectangle id="home-back" height="40.0" strokeType="INSIDE" width="812.0" />
|
||||
<Label id="lable" layoutX="339.0" layoutY="1.0" text="Home">
|
||||
<font>
|
||||
<Font name="Centaur" size="31.0" />
|
||||
</font>
|
||||
</Label>
|
||||
|
||||
<Rectangle id="rectangle-3" height="140.0" layoutX="10.0" layoutY="50.0" width="540.0" />
|
||||
<Label id="lable" layoutX="43.0" layoutY="63.0" text="NEW LAUNCHER">
|
||||
<font>
|
||||
<Font name="Centaur" size="20.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label id="lable" layoutX="211.0" layoutY="68.0" text="Alpha-Dev-0.0.1" />
|
||||
<Label id="lable" layoutX="39.0" layoutY="120.0" prefHeight="22.0" prefWidth="500.0" text="Changed all the layouts and colors of the launcher.">
|
||||
<font>
|
||||
<Font name="Centaur" size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
|
||||
<Rectangle id="rectangle-3" height="140.0" layoutX="14.0" layoutY="212.0" width="540.0" />
|
||||
<Label id="lable" layoutX="43.0" layoutY="225.0" text="NEW LAYOUTS">
|
||||
<font>
|
||||
<Font name="Centaur" size="20.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label id="lable" layoutX="198.0" layoutY="230.0" text="PreDev-0.2.4" />
|
||||
<Label id="lable" layoutX="43.0" layoutY="260.0" text="Two new themes to check out :">
|
||||
<font>
|
||||
<Font name="Centaur" size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label id="lable" layoutX="53.0" layoutY="304.0" text="Light :">
|
||||
<font>
|
||||
<Font name="Centaur" size="16.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<ImageView fitHeight="56.0" fitWidth="89.0" layoutX="113.0" layoutY="290.0" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="@../icons/light-theme.png" />
|
||||
</image></ImageView>
|
||||
<Label id="lable" layoutX="229.0" layoutY="304.0" text="Dark:">
|
||||
<font>
|
||||
<Font name="Centaur" size="16.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<ImageView fitHeight="56.0" fitWidth="89.0" layoutX="275.0" layoutY="290.0" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="@../icons/dark-theme.png" />
|
||||
</image></ImageView>
|
||||
<ImageView fitHeight="345.0" fitWidth="226.0" layoutX="565.0" layoutY="56.0" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="@../icons/Creeper.png" />
|
||||
</image></ImageView>
|
||||
</children>
|
||||
</Pane>
|
||||
|
||||
|
@ -2,23 +2,48 @@
|
||||
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.shape.Rectangle?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="750.0" stylesheets="@../style/nav.css" xmlns="http://javafx.com/javafx/8.0.112-ea" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="812.0" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Rectangle id="Modpack-back" arcHeight="5.0" arcWidth="5.0" height="47.0" strokeType="INSIDE" width="750.0" />
|
||||
<Label layoutX="34.0" layoutY="5.0" text="Instances" textFill="WHITE">
|
||||
<Rectangle id="instance-back" height="40.0" width="812.0" />
|
||||
<Label id="lable" layoutX="324.0" layoutY="1.0" text="Instances">
|
||||
<font>
|
||||
<Font name="Centaur" size="31.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button id="Launch-VM" layoutX="34.0" layoutY="105.0" mnemonicParsing="false" text="Launch" />
|
||||
<Label layoutX="34.0" layoutY="79.0" text="Vanilla Minecraft" textFill="WHITE">
|
||||
<font>
|
||||
<Font name="Centaur" size="21.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Rectangle id="rectangle-3" height="140.0" layoutX="41.0" layoutY="50.0" width="346.0" />
|
||||
<ImageView fitHeight="87.0" fitWidth="165.0" layoutX="62.0" layoutY="65.0" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="@../icons/modpack-default-img.png" />
|
||||
</image>
|
||||
</ImageView>
|
||||
<Label id="lable" layoutX="200.0" layoutY="61.0" text="Vanilla Minecraft">
|
||||
<font>
|
||||
<Font name="Centaur" size="20.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button id="Launch-VM" layoutX="277.0" layoutY="142.0" mnemonicParsing="false" prefHeight="38.0" prefWidth="94.0" text="Launch" />
|
||||
<Label id="lable" layoutX="179.0" layoutY="88.0" prefHeight="40.0" prefWidth="196.0" text="Pure Vanilla, No mods, No addons. Have fun!" wrapText="true" />
|
||||
<Label id="lable" layoutX="62.0" layoutY="161.0" prefHeight="16.0" prefWidth="177.0" text="Latest Version : Minecraft v1.11.2" />
|
||||
<Rectangle id="rectangle-3" height="140.0" layoutX="426.0" layoutY="50.0" width="346.0" />
|
||||
<ImageView fitHeight="87.0" fitWidth="165.0" layoutX="438.0" layoutY="61.0" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="@../icons/modpack-default-img.png" />
|
||||
</image>
|
||||
</ImageView>
|
||||
<Label id="lable" layoutX="599.0" layoutY="61.0" text="Avion Test">
|
||||
<font>
|
||||
<Font name="Centaur" size="20.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button id="Launch-VM" layoutX="669.0" layoutY="142.0" mnemonicParsing="false" prefHeight="38.0" prefWidth="94.0" text="Launch" />
|
||||
<Button id="Update-VM" layoutX="563.0" layoutY="142.0" mnemonicParsing="false" prefHeight="38.0" prefWidth="94.0" text="Update" />
|
||||
<Label id="lable" layoutX="563.0" layoutY="88.0" prefHeight="40.0" prefWidth="196.0" text="Unique, and fun" wrapText="true" />
|
||||
<Label id="lable" layoutX="438.0" layoutY="161.0" text="Version : TEST" />
|
||||
</children>
|
||||
</Pane>
|
||||
|
26
src/assets/layout/instance_loginwait.fxml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.Cursor?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ProgressIndicator?>
|
||||
<?import javafx.scene.effect.ColorAdjust?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="308.0" prefWidth="300.0" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Label alignment="BOTTOM_CENTER" layoutX="104.0" layoutY="229.0" text="Logging in...">
|
||||
<font>
|
||||
<Font size="17.0" />
|
||||
</font></Label>
|
||||
<ProgressIndicator layoutX="124.0" layoutY="127.0" mouseTransparent="true" nodeOrientation="LEFT_TO_RIGHT" scaleX="2.0" scaleY="2.0">
|
||||
<cursor>
|
||||
<Cursor fx:constant="WAIT" />
|
||||
</cursor>
|
||||
<effect>
|
||||
<ColorAdjust brightness="-1.0" contrast="-0.00" hue="-0.5" saturation="-0.98" />
|
||||
</effect></ProgressIndicator>
|
||||
<Button id="login_cancel" layoutX="124.0" layoutY="267.0" mnemonicParsing="false" text="Cancel" />
|
||||
</children>
|
||||
</Pane>
|
@ -1,5 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.CheckBox?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.PasswordField?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" stylesheets="@../style/nav.css" xmlns="http://javafx.com/javafx/8.0.92" xmlns:fx="http://javafx.com/fxml/1" />
|
||||
<Pane id="dragbar-1" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="308.0" prefWidth="300.0" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Button id="minecraft-login" layoutX="120.0" layoutY="253.0" mnemonicParsing="false" text="Login">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font></Button>
|
||||
<CheckBox layoutX="88.0" layoutY="217.0" mnemonicParsing="false" text="Remember Me">
|
||||
<font>
|
||||
<Font name="Century" size="14.0" />
|
||||
</font></CheckBox>
|
||||
<PasswordField id="minecraftpass" layoutX="108.0" layoutY="174.0" prefHeight="27.0" prefWidth="165.0" promptText="Password" />
|
||||
<TextField id="minecraftuser" layoutX="108.0" layoutY="130.0" prefHeight="27.0" prefWidth="165.0" promptText="Username / Email" />
|
||||
<ImageView fitHeight="94.0" fitWidth="274.0" layoutX="14.0" layoutY="56.0" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="@../icons/minecraft.png" />
|
||||
</image>
|
||||
</ImageView>
|
||||
<Button id="close-minecraft-login-window" layoutX="259.0" layoutY="14.0" mnemonicParsing="false" prefHeight="19.0" prefWidth="28.0" text="X" />
|
||||
<Label layoutX="14.0" layoutY="134.0" text="Username :">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label layoutX="14.0" layoutY="178.0" prefHeight="19.0" prefWidth="80.0" text="Password :">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font>
|
||||
</Label>
|
||||
</children>
|
||||
</Pane>
|
||||
|
@ -7,41 +7,41 @@
|
||||
<?import javafx.scene.shape.Rectangle?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500" prefWidth="900" stylesheets="@../style/nav.css" xmlns="http://javafx.com/javafx/8.0.92" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500" prefWidth="900" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Rectangle id="rectangle" arcHeight="5.0" arcWidth="5.0" fill="white" height="50.0" strokeType="INSIDE" width="900.0" />
|
||||
<Button id="exit" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="862.0" layoutY="13.0" mnemonicParsing="false" stylesheets="@../style/nav.css" text="X" textFill="WHITE" />
|
||||
<Button id="min" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="841.0" layoutY="13.0" mnemonicParsing="false" stylesheets="@../style/nav.css" text="-" textFill="WHITE" />
|
||||
<ImageView id="icon" fitHeight="30" fitWidth="30" layoutX="26.0" layoutY="11.0" />
|
||||
<Label layoutX="75.0" layoutY="11.0" text="Team-Avion Launcher" textFill="WHITE">
|
||||
<Rectangle id="rectangle" fill="white" height="50.0" strokeType="INSIDE" width="900.0" />
|
||||
<Button id="exit" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="862.0" layoutY="13.0" mnemonicParsing="false" text="X" />
|
||||
<Button id="min" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="841.0" layoutY="13.0" mnemonicParsing="false" text="-" />
|
||||
<ImageView id="icon" fitHeight="50.0" fitWidth="50.0" layoutX="14.0" />
|
||||
<Label id="lable" layoutX="75.0" layoutY="11.0" text="Team-Avion Launcher">
|
||||
<font>
|
||||
<Font name="Centaur" size="24.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Rectangle id="nav" arcHeight="5.0" arcWidth="5.0" fill="#101e38" height="450.0" layoutY="50.0" stroke="TRANSPARENT" strokeType="INSIDE" width="150.0" />
|
||||
<Button id="Home-btn" layoutY="50.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="150.0" styleClass="selected" text="Home" textFill="WHITE" textOverrun="CLIP">
|
||||
<Rectangle id="rectangle-1" height="450.0" layoutY="50.0" styleClass="nav-bar" width="88.0" />
|
||||
<Button id="Home-btn" layoutY="50.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="88.0" styleClass="selected" text="Home" textOverrun="CLIP">
|
||||
<font>
|
||||
<Font name="Centaur" size="16.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Button id="Modpacks-btn" layoutY="90.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="150.0" styleClass="tab" text="Modpack" textAlignment="CENTER" textFill="WHITE" textOverrun="CLIP">
|
||||
<Button id="Modpacks-btn" layoutY="90.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="88.0" styleClass="tab" text="Modpack" textAlignment="CENTER" textOverrun="CLIP">
|
||||
<font>
|
||||
<Font name="Centaur" size="16.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Button id="Instance-btn" layoutY="130.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="150.0" styleClass="tab" text="Instances" textFill="WHITE" textOverrun="CLIP">
|
||||
<Button id="Instance-btn" layoutY="130.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="88.0" styleClass="tab" text="Instances" textOverrun="CLIP">
|
||||
<font>
|
||||
<Font name="Centaur" size="16.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Button id="Settings-btn" layoutY="170.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="150.0" styleClass="tab" text="Settings" textFill="WHITE" textOverrun="CLIP">
|
||||
<Button id="Settings-btn" layoutY="170.0" mnemonicParsing="false" prefHeight="42.0" prefWidth="88.0" styleClass="tab" text="Settings" textOverrun="CLIP">
|
||||
<font>
|
||||
<Font name="Centaur" size="16.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Pane id="tab" layoutX="150.0" layoutY="50.0" prefHeight="450.0" prefWidth="750.0" />
|
||||
<Label id="version" layoutX="17.0" layoutY="455.0" text="Version : $v" textFill="white" />
|
||||
<Label layoutX="9.0" layoutY="472.0" text="Copyright 2016 TeamAvion" textFill="WHITE">
|
||||
<Pane id="tab" layoutX="88.0" layoutY="50.0" prefHeight="450.0" prefWidth="812.0" />
|
||||
<Label id="version" layoutX="299.0" layoutY="14.0" prefHeight="24.0" prefWidth="198.0" text="Version : $v" wrapText="true" />
|
||||
<Label id="lable" layoutX="6.0" layoutY="450.0" prefHeight="50.0" prefWidth="60.0" text="2016 TeamAvion" wrapText="true">
|
||||
<font>
|
||||
<Font size="11.0" />
|
||||
</font>
|
||||
|
@ -1,19 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.shape.Rectangle?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="750.0" stylesheets="@../style/nav.css" xmlns="http://javafx.com/javafx/8.0.112-ea" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="812.0" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Rectangle id="Modpack-back" arcHeight="5.0" arcWidth="5.0" height="47.0" strokeType="INSIDE" width="750.0" />
|
||||
<Label layoutX="34.0" layoutY="5.0" text="Modpacks" textFill="WHITE">
|
||||
<Rectangle id="Modpack-back" height="40.0" strokeType="INSIDE" width="812.0" />
|
||||
<Label id="lable" layoutX="40.0" layoutY="1.0" text="Modpacks">
|
||||
<font>
|
||||
<Font name="Centaur" size="31.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<TextField id="search-modpacks" layoutX="516.0" layoutY="5.0" prefHeight="25.0" prefWidth="212.0" promptText="Search Modpacks" />
|
||||
<TextField id="search-modpacks" layoutX="520.0" layoutY="2.0" prefHeight="37.0" prefWidth="290.0" promptText="Search Modpacks" />
|
||||
<Rectangle id="rectangle-3" height="140.0" layoutX="10.0" layoutY="50.0" width="789.0" />
|
||||
<ImageView fitHeight="119.0" fitWidth="138.0" layoutX="30.0" layoutY="61.0" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="@../icons/modpack-default-img.png" />
|
||||
</image>
|
||||
</ImageView>
|
||||
<Label id="lable" layoutX="205.0" layoutY="61.0" text="Example Modpack Layout">
|
||||
<font>
|
||||
<Font name="Centaur" size="20.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button id="view-modpack" layoutX="714.0" layoutY="145.0" mnemonicParsing="false" prefHeight="37.0" prefWidth="77.0" text="View" />
|
||||
<Button id="download-modpack" layoutX="627.0" layoutY="145.0" mnemonicParsing="false" prefHeight="37.0" prefWidth="77.0" text="Download" />
|
||||
<Label id="lable" layoutX="205.0" layoutY="86.0" prefHeight="25.0" prefWidth="480.0" text="Some random text. " wrapText="true" />
|
||||
|
||||
<Rectangle id="rectangle-3" height="140.0" layoutX="10.0" layoutY="200.0" width="789.0" />
|
||||
<ImageView fitHeight="119.0" fitWidth="138.0" layoutX="30.0" layoutY="211.0" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="@../icons/Modpack-modded.png" />
|
||||
</image>
|
||||
</ImageView>
|
||||
<Label id="lable" layoutX="205.0" layoutY="225.0" text="Example Modpack Layout">
|
||||
<font>
|
||||
<Font name="Centaur" size="20.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button id="view-modpack-a" layoutX="714.0" layoutY="295.0" mnemonicParsing="false" prefHeight="37.0" prefWidth="77.0" text="View" />
|
||||
<Button id="download-modpack-a" layoutX="627.0" layoutY="295.0" mnemonicParsing="false" prefHeight="37.0" prefWidth="77.0" text="Download" />
|
||||
<Label id="lable" layoutX="205.0" layoutY="246.0" prefHeight="25.0" prefWidth="480.0" text="Some random text. " wrapText="true" />
|
||||
</children>
|
||||
</Pane>
|
||||
|
@ -6,21 +6,21 @@
|
||||
<?import javafx.scene.shape.Rectangle?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="750.0" stylesheets="@../style/nav.css" xmlns="http://javafx.com/javafx/8.0.112-ea" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="812.0" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Rectangle id="Modpack-back" arcHeight="5.0" arcWidth="5.0" height="50.0" strokeType="INSIDE" width="750.0" />
|
||||
<Label layoutX="34.0" layoutY="5.0" text="Settings" textFill="WHITE">
|
||||
<Rectangle id="Settings-back" height="40.0" strokeType="INSIDE" width="812.0" />
|
||||
<Label id="lable" layoutX="331.0" layoutY="1.0" text="Settings">
|
||||
<font>
|
||||
<Font name="Centaur" size="31.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="#0d0d39" height="40.0" layoutY="50.0" width="750.0" />
|
||||
<Button styleClass="selected" id="Settings-Gen-btn" layoutX="0.0" layoutY="50.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="100.0" text="General" textFill="WHITE" />
|
||||
<Button styleClass="tab" id="Settings-Mine-btn" layoutX="100.0" layoutY="50.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="100.0" text="Minecraft" textFill="WHITE">
|
||||
<Rectangle id="rectangle-2" height="40.0" layoutY="40.0" width="812.0" />
|
||||
<Button id="Settings-Gen-btn" layoutY="40.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="100.0" styleClass="selected" text="General" />
|
||||
<Button id="Settings-Mine-btn" layoutX="100.0" layoutY="40.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="100.0" styleClass="tab" text="Minecraft">
|
||||
<font>
|
||||
<Font name="Candara" size="12.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Pane id="Settings-Pane" layoutY="90.0" prefHeight="360.0" prefWidth="750.0" />
|
||||
<Pane id="Settings-Pane" layoutY="80.0" prefHeight="370.0" prefWidth="750.0" />
|
||||
</children>
|
||||
</Pane>
|
||||
|
@ -1,16 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.CheckBox?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
|
||||
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="360.0" prefWidth="750.0" stylesheets="@../style/nav.css" xmlns="http://javafx.com/javafx/8.0.112-ea" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="370.0" prefWidth="812.0" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Label layoutX="22.0" layoutY="14.0" text="General Settings">
|
||||
<Label id="lable" layoutX="22.0" layoutY="14.0" text="General Settings">
|
||||
<font>
|
||||
<Font name="Centaur" size="25.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button id="light-theme" layoutX="242.0" layoutY="71.0" prefHeight="30.0" prefWidth="62.0" styleClass="selected" text="light" />
|
||||
<Button id="dark-theme" layoutX="172.0" layoutY="71.0" prefHeight="30.0" prefWidth="62.0" styleClass="tab" text="dark" />
|
||||
<Button id="default-theme" layoutX="100.0" layoutY="71.0" prefHeight="30.0" prefWidth="62.0" styleClass="tab" text="default" />
|
||||
<Label id="lable" layoutX="35.0" layoutY="75.0" text="Theme:">
|
||||
<font>
|
||||
<Font name="Centaur" size="17.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<CheckBox id="lable" layoutX="35.0" layoutY="117.0" mnemonicParsing="false" text="Autoupdate">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font>
|
||||
</CheckBox>
|
||||
<CheckBox id="lable" layoutX="35.0" layoutY="154.0" mnemonicParsing="false" text="Start on windosw Startup">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font>
|
||||
</CheckBox>
|
||||
<CheckBox id="Close_window_minecraft_launch" disable="true" layoutX="35.0" layoutY="185.0" mnemonicParsing="false" text="Close Window when Mincraft Launches">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font>
|
||||
</CheckBox>
|
||||
<CheckBox id="Minimized_window_minecraft_launch" layoutX="344.0" layoutY="185.0" mnemonicParsing="false" selected="true" text="Minimize Window when Minecraft Launches">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font>
|
||||
</CheckBox>
|
||||
</children>
|
||||
</Pane>
|
||||
|
@ -1,15 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.CheckBox?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.Slider?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="360.0" prefWidth="750.0" stylesheets="@../style/nav.css" xmlns="http://javafx.com/javafx/8.0.92" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<Pane id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="370.0" prefWidth="812.0" stylesheets="@../style/default-theme.css" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Label layoutX="22.0" layoutY="14.0" text="Minecraft Settings">
|
||||
<Label id="lable" layoutX="22.0" layoutY="14.0" text="Minecraft Settings">
|
||||
<font>
|
||||
<Font name="Centaur" size="25.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label id="lable" layoutX="14.0" layoutY="77.0" text="Account :">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font></Label>
|
||||
<Button id="minecraft-login-btn" layoutX="90.0" layoutY="71.0" mnemonicParsing="false" prefHeight="30.0" prefWidth="59.0" text="Login" />
|
||||
<Label id="login" layoutX="160.0" layoutY="78.0" text="Not logged in" />
|
||||
<Slider id="RAM-slider" blockIncrement="1.0" layoutX="15.0" layoutY="147.0" majorTickUnit="1.0" max="16.0" minorTickCount="0" prefHeight="37.0" prefWidth="286.0" showTickLabels="true" showTickMarks="true" value="8.0" />
|
||||
<Label id="lable" layoutX="14.0" layoutY="123.0" text="Alocated RAM :">
|
||||
<font>
|
||||
<Font name="Century" size="15.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<CheckBox id="RAM-Default" layoutX="149.0" layoutY="124.0" mnemonicParsing="false" text="Use Systems Default">
|
||||
<font>
|
||||
<Font name="Century" size="13.0" />
|
||||
</font>
|
||||
</CheckBox>
|
||||
</children>
|
||||
</Pane>
|
||||
</Pane>
|
||||
|
148
src/assets/style/dark-theme.css
Normal file
@ -0,0 +1,148 @@
|
||||
#pane {
|
||||
-fx-background-color: #060606;
|
||||
}
|
||||
#rectangle {
|
||||
-fx-fill: #0f0f0f;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#rectangle-1 {
|
||||
-fx-fill: #171717;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#rectangle-2 {
|
||||
-fx-fill: #0f0f0f;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#rectangle-3 {
|
||||
-fx-fill: #272727;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#download-modpack, #download-modpack-a, #view-modpack-a, #view-modpack, #Launch-VM, #Update-VM {
|
||||
-fx-background-color: #393939;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#download-modpack:hover, #download-modpack-a:hover, #view-modpack-a:hover, #view-modpack:hover, #Launch-VM:hover, #Update-VM:hover {
|
||||
-fx-background-color: #ffffff;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: #000000;
|
||||
}
|
||||
|
||||
#default-theme,#dark-theme, #light-theme {
|
||||
-fx-background-color: #252525;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#default-theme:hover {
|
||||
-fx-background-color: #0d0c39;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#dark-theme:hover {
|
||||
-fx-background-color: #1c1c1c;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#light-theme:hover {
|
||||
-fx-background-color: #bcbcbc;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#lable, #RAM-Default, #RAM-slider, #Minimized_window_minecraft_launch, #Close_window_minecraft_launch {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#login {
|
||||
-fx-text-fill: #950c14;
|
||||
}
|
||||
|
||||
#login:hover {
|
||||
-fx-text-fill: #ffffff;
|
||||
}
|
||||
|
||||
#minecraft-login-btn {
|
||||
-fx-background-color: #393939;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#minecraft-login-btn:hover {
|
||||
-fx-background-color: #ffffff;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#Modpack-back, #home-back, #Settings-back, #instance-back {
|
||||
-fx-fill: #1d1d1d;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#exit, #min{
|
||||
-fx-background-color: rgba(30, 25, 25, 0);
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#min:hover, #exit:hover{
|
||||
-fx-background-color: #8d0000;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#search-modpacks {
|
||||
-fx-prompt-text-fill: white;
|
||||
-fx-text-fill: white;
|
||||
-fx-background-color: #1d1d1d;
|
||||
-fx-padding: 5px;
|
||||
}
|
||||
|
||||
#search-modpacks:hover, #search-modpacks:focused {
|
||||
-fx-border-style: solid;
|
||||
-fx-border-color: white;
|
||||
-fx-border-width: 0px 0px 2px 0px;
|
||||
}
|
||||
|
||||
#Home-btn, #Modpacks-btn, #Instance-btn, #Settings-btn {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#version {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#Settings-Gen-btn, #Settings-Mine-btn {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
.tab {
|
||||
-fx-background-color: rgba(0, 0, 0, 0);
|
||||
-fx-background-radius: 0em;
|
||||
}
|
||||
|
||||
.tab:hover{
|
||||
-fx-background-color: #0d0d0d;
|
||||
|
||||
}
|
||||
|
||||
.selected {
|
||||
-fx-background-color: #060606;
|
||||
-fx-background-radius: 0em;
|
||||
}
|
||||
|
||||
.selected:hover {
|
||||
-fx-background-color: #060606;
|
||||
}
|
||||
#minecraftuser, #minecraftpass{
|
||||
-fx-prompt-text-fill: white;
|
||||
-fx-text-fill: white;
|
||||
-fx-background-color: transparent;
|
||||
-fx-padding: 5px;
|
||||
}
|
||||
#minecraftuser:hover, #minecraftpass:hover, #minecraftuser:focused, #minecraftpass:focused{
|
||||
-fx-border-style: solid;
|
||||
-fx-border-color: white;
|
||||
-fx-border-width: 0px 0px 2px 0px;
|
||||
}
|
171
src/assets/style/default-theme.css
Normal file
@ -0,0 +1,171 @@
|
||||
#pane {
|
||||
-fx-background-color: #6770e3;
|
||||
}
|
||||
#rectangle {
|
||||
-fx-fill: #373ab0;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#rectangle-1 {
|
||||
-fx-fill: #4e4ecf;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#rectangle-2 {
|
||||
-fx-fill: #4c46d5;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#rectangle-3 {
|
||||
-fx-fill: #3736ac;
|
||||
-fx-text-fill: white;
|
||||
-webkit-box-shadow: 10px 10px 15px rgba(191, 191, 191, 0.72);
|
||||
box-shadow: 10px 10px 15px rgba(191, 191, 191, 0.72);
|
||||
}
|
||||
|
||||
#download-modpack, #download-modpack-a, #view-modpack-a, #view-modpack, #Launch-VM, #Update-VM {
|
||||
-fx-background-color: #5d7ba6;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#download-modpack:hover, #view-modpack:hover, #view-modpack-a:hover, #download-modpack-a:hover, #Launch-VM:hover, #Update-VM:hover {
|
||||
-fx-background-color: #2442da;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#default-theme,#dark-theme, #light-theme {
|
||||
-fx-background-color: #4051c2;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#default-theme:hover {
|
||||
-fx-background-color: #19168c;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#dark-theme:hover {
|
||||
-fx-background-color: #1c1c1c;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#light-theme:hover {
|
||||
-fx-background-color: #bcbcbc;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#lable, #RAM-Default, #RAM-slider, #Minimized_window_minecraft_launch, #Close_window_minecraft_launch {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#login {
|
||||
-fx-text-fill: #950c14;
|
||||
}
|
||||
|
||||
#login:hover {
|
||||
-fx-text-fill: #ffffff;
|
||||
}
|
||||
|
||||
#minecraft-login-btn {
|
||||
-fx-background-color: #3e58cb;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#minecraft-login-btn:hover {
|
||||
-fx-background-color: #2c3f7b;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#Modpack-back, #home-back, #Settings-back, #instance-back {
|
||||
-fx-fill: #2a36c9;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#exit, #min{
|
||||
-fx-background-color: rgba(30, 25, 25, 0);
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#min:hover, #exit:hover{
|
||||
-fx-background-color: #8d0000;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#search-modpacks {
|
||||
-fx-prompt-text-fill: white;
|
||||
-fx-text-fill: white;
|
||||
-fx-background-color: rgba(230, 42, 152, 0);
|
||||
-fx-padding: 5px;
|
||||
}
|
||||
|
||||
#search-modpacks:hover, #search-modpacks:focused {
|
||||
-fx-border-style: solid;
|
||||
-fx-border-color: white;
|
||||
-fx-border-width: 0px 0px 2px 0px;
|
||||
}
|
||||
|
||||
#Home-btn, #Modpacks-btn, #Instance-btn, #Settings-btn {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#version {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#Settings-Gen-btn, #Settings-Mine-btn {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
.tab {
|
||||
-fx-background-color: rgba(0, 0, 0, 0);
|
||||
-fx-background-radius: 0em;
|
||||
}
|
||||
|
||||
.tab:hover{
|
||||
-fx-background-color: #372bf1;
|
||||
|
||||
}
|
||||
|
||||
.selected {
|
||||
-fx-background-color: #496ce2;
|
||||
-fx-background-radius: 0em;
|
||||
}
|
||||
|
||||
.selected:hover {
|
||||
-fx-background-color: #2421e0;
|
||||
}
|
||||
|
||||
#minecraftuser, #minecraftpass{
|
||||
-fx-prompt-text-fill: #000000;
|
||||
-fx-text-fill: #000000;
|
||||
-fx-background-color: transparent;
|
||||
-fx-padding: 5px;
|
||||
}
|
||||
#minecraftuser:hover, #minecraftpass:hover, #minecraftuser:focused, #minecraftpass:focused{
|
||||
-fx-border-style: solid;
|
||||
-fx-border-color: #444444;
|
||||
-fx-border-width: 0px 0px 2px 0px;
|
||||
}
|
||||
#minecraft-login {
|
||||
-fx-background-color: #292929;
|
||||
-fx-background-radius: 2px;
|
||||
-fx-text-fill: #ffffff;
|
||||
}
|
||||
#minecraft-login:hover, #close-minecraft-login-window:hover{
|
||||
-fx-background-color: #575757;
|
||||
-fx-background-radius: 2px;
|
||||
-fx-text-fill: #e4e4e4;
|
||||
}
|
||||
#close-minecraft-login-window {
|
||||
-fx-background-color: #2c0004;
|
||||
-fx-background-radius: 2px;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#close-minecraft-login-window:hover{
|
||||
-fx-background-color: #6e0003;
|
||||
-fx-background-radius: 2px;
|
||||
-fx-text-fill: white;
|
||||
}
|
149
src/assets/style/light-theme.css
Normal file
@ -0,0 +1,149 @@
|
||||
#pane {
|
||||
-fx-background-color: #ffffff;
|
||||
}
|
||||
#rectangle {
|
||||
-fx-fill: #cccccc;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#rectangle-1 {
|
||||
-fx-fill: #8c8c8c;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#rectangle-2 {
|
||||
-fx-fill: #e5e5e5;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#rectangle-3 {
|
||||
-fx-fill: #cdcdcd;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#download-modpack, #download-modpack-a, #view-modpack-a, #view-modpack, #Launch-VM, #Update-VM {
|
||||
-fx-background-color: #b8b8b8;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#download-modpack:hover, #download-modpack-a:hover, #view-modpack-a:hover, #view-modpack:hover, #Launch-VM:hover, #Update-VM:hover {
|
||||
-fx-background-color: #000000;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#default-theme,#dark-theme, #light-theme {
|
||||
-fx-background-color: #979797;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#default-theme:hover {
|
||||
-fx-background-color: #0d0c39;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#dark-theme:hover {
|
||||
-fx-background-color: #1c1c1c;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#light-theme:hover {
|
||||
-fx-background-color: #bcbcbc;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#lable, #RAM-Default, #RAM-slider, #Minimized_window_minecraft_launch, #Close_window_minecraft_launch {
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#login {
|
||||
-fx-text-fill: #950c14;
|
||||
}
|
||||
|
||||
#login:hover {
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#minecraft-login-btn {
|
||||
-fx-background-color: #b8b8b8;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#minecraft-login-btn:hover {
|
||||
-fx-background-color: #000000;
|
||||
-fx-background-radius: 0em;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
#Modpack-back, #home-back, #Settings-back, #instance-back {
|
||||
-fx-fill: #c3c3c3;
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
#exit, #min{
|
||||
-fx-background-color: rgba(30, 25, 25, 0);
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
#min:hover, #exit:hover{
|
||||
-fx-background-color: #8d0000;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
#search-modpacks {
|
||||
-fx-prompt-text-fill: black;
|
||||
-fx-text-fill: black;
|
||||
-fx-background-color: #c3c3c3;
|
||||
-fx-padding: 5px;
|
||||
}
|
||||
|
||||
#search-modpacks:hover, #search-modpacks:focused {
|
||||
-fx-border-style: solid;
|
||||
-fx-border-color: #000000;
|
||||
-fx-border-width: 0px 0px 2px 0px;
|
||||
}
|
||||
|
||||
#Home-btn, #Modpacks-btn, #Instance-btn, #Settings-btn {
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
#version {
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
#Settings-Gen-btn, #Settings-Mine-btn {
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
.tab {
|
||||
-fx-background-color: rgba(0, 0, 0, 0);
|
||||
-fx-background-radius: 0em;
|
||||
}
|
||||
|
||||
.tab:hover{
|
||||
-fx-background-color: #c4c4c4;
|
||||
|
||||
}
|
||||
|
||||
.selected {
|
||||
-fx-background-color: #ffffff;
|
||||
-fx-background-radius: 0em;
|
||||
}
|
||||
|
||||
.selected:hover {
|
||||
-fx-background-color: #fff;
|
||||
}
|
||||
|
||||
#minecraftuser, #minecraftpass{
|
||||
-fx-prompt-text-fill: white;
|
||||
-fx-text-fill: white;
|
||||
-fx-background-color: transparent;
|
||||
-fx-padding: 5px;
|
||||
}
|
||||
#minecraftuser:hover, #minecraftpass:hover, #minecraftuser:focused, #minecraftpass:focused{
|
||||
-fx-border-style: solid;
|
||||
-fx-border-color: white;
|
||||
-fx-border-width: 0px 0px 2px 0px;
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
#pane {
|
||||
-fx-background-color: #050f19;
|
||||
}
|
||||
#rectangle {
|
||||
-fx-fill: #031128;
|
||||
}
|
||||
#Modpack-back {
|
||||
-fx-fill: #042344;
|
||||
}
|
||||
#exit, #min{
|
||||
-fx-background-color: rgba(30, 25, 25, 0);
|
||||
}
|
||||
#min:hover, #exit:hover{
|
||||
-fx-background-color: #bf0000;
|
||||
}
|
||||
#search-modpacks {
|
||||
-fx-text-inner-color: white;
|
||||
-fx-background-color: rgba(0, 0, 0, 0.5);
|
||||
-fx-padding: 10px;
|
||||
}
|
||||
|
||||
.tab {
|
||||
-fx-background-color: rgba(0, 0, 0, 0);
|
||||
-fx-background-radius: 0em;
|
||||
}
|
||||
|
||||
.tab:hover{
|
||||
-fx-background-color: #0c182d;
|
||||
|
||||
}
|
||||
|
||||
.selected {
|
||||
-fx-background-color: #0c182d;
|
||||
-fx-background-radius: 0em;
|
||||
}
|
||||
|
||||
.selected:hover {
|
||||
-fx-background-color: #050b14;
|
||||
}
|