Compare commits

..

No commits in common. "master" and "PreDev-0.1.0" have entirely different histories.

36 changed files with 139 additions and 1167 deletions

View File

@ -1,11 +0,0 @@
<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
View File

@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="ProjectKey"> <component name="ProjectKey">
<option name="state" value="project://e79810c8-c5c8-43b1-b19c-90c1f4095425" /> <option name="state" value="project://e79810c8-c5c8-43b1-b19c-90c1f4095425" />
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
<component name="WebServicesPlugin" addRequiredLibraries="true" /> <component name="WebServicesPlugin" addRequiredLibraries="true" />

View File

@ -1,6 +1,4 @@
# 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 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)? ### What is Team Avion Launcher (TAL)?
@ -19,11 +17,10 @@ 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. 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 ### More Info
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! 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!
<br> <br>
<br> <br>
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) 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)
### - Libraries ### - Libraries
- [RefTools](https://github.com/GabrielTofvesson/libRefTools) (Provided by [Blynd3 Dev](https://github.com/GabrielTofvesson)) - [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))

View File

@ -17,6 +17,5 @@
</library> </library>
</orderEntry> </orderEntry>
<orderEntry type="library" name="libRefTools" level="project" /> <orderEntry type="library" name="libRefTools" level="project" />
<orderEntry type="library" name="JOE" level="project" />
</component> </component>
</module> </module>

View File

@ -1 +0,0 @@
theme: jekyll-theme-cayman

Binary file not shown.

Binary file not shown.

View File

@ -6,106 +6,52 @@ 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 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 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. 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; package Launcher;
// import Launcher.net.Updater;
import Launcher.net.Updater;
import com.tofvesson.async.Async;
import com.tofvesson.reflection.SafeReflection; import com.tofvesson.reflection.SafeReflection;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application; import javafx.application.Application;
import javafx.collections.ObservableList; import javafx.fxml.FXMLLoader;
import javafx.scene.Node; import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.control.*; import javafx.scene.control.*;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane; import javafx.scene.layout.Pane;
import javafx.scene.shape.Rectangle; import javafx.scene.shape.Rectangle;
import javafx.stage.Modality;
import javafx.stage.Stage; import javafx.stage.Stage;
import javafx.stage.StageStyle; 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.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 { public class Main extends Application {
// Semantic versioning system data public static final URL mainLauncher = Main.class.getResource("/assets/layout/main.fxml"); // Launcher body
public static final String semVerDevState = "Alpha-Dev"; // Development stage
public static final int semVerMajor = 0; // Major 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
double xOffset = 0, yOffset = 0; // Offsets for dragging private Button exit, min, Home_btn, Modpack_btn, Settings_btn, Instance_btn; // Define buttons
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 ImageView icon;
private TextField Search_modpacks, Username_minecraft; private TextField Search_modpacks;
private Image appIcon; private Image appIcon;
private Rectangle dragBar; // Draggable top bar private Rectangle dragBar; // Draggable top bar
Pane root, tab, dragbar_1; private Pane root, tab;
private PasswordField Password_minecraft; private Node activeTab, settings_activeTab;
Node activeTab, settings_activeTab;
private Label dialog_changer;
private CheckBox RAM_Default;
private Slider RAM_slider;
Async stringUpdater; Async stringUpdater;
@Override @Override
public void start(Stage primaryStage) throws Exception{ public void start(Stage primaryStage) throws Exception{
primaryStage.initStyle(StageStyle.UNDECORATED); primaryStage.initStyle(StageStyle.UNDECORATED); // Remove ugly trash
//TODO: Remove the comments under when updater class is fixed root = FXMLLoader.load(mainLauncher);
if(args.length<2 || !args[1].equals("false")){ primaryStage.setTitle("Team-Avion Launcher [WIP]");
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.setScene(new Scene(root, 900, 500));
primaryStage.show();
primaryStage.getIcons().clear(); primaryStage.getIcons().clear();
primaryStage.getIcons().add(appIcon = new Image(getClass().getResourceAsStream("/assets/icons/app.png"))); primaryStage.getIcons().add(appIcon = new Image(getClass().getResourceAsStream("/assets/icons/app.png")));
primaryStage.show(); // TODO: remove when the Upodater class is fixed
// Field initialization // Field initialization
exit = (Button) root.lookup("#exit"); exit = (Button) root.lookup("#exit");
@ -117,20 +63,12 @@ public class Main extends Application {
Modpack_btn = (Button) root.lookup("#Modpacks-btn"); Modpack_btn = (Button) root.lookup("#Modpacks-btn");
Settings_btn = (Button) root.lookup("#Settings-btn"); Settings_btn = (Button) root.lookup("#Settings-btn");
Instance_btn = (Button) root.lookup("#Instance-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"); tab = (Pane) root.lookup("#tab");
icon = (ImageView) root.lookup("#icon"); icon = (ImageView) root.lookup("#icon");
Search_modpacks = (TextField) root.lookup("#search-modpacks"); Search_modpacks = (TextField) root.lookup("#search-modpacks");
Username_minecraft = (TextField) root.lookup("#minecraftuser");
Password_minecraft = (PasswordField) root.lookup("#minecraftpass");
// Infrastructural navigation // Infrastructural navigation
exit.setOnMouseClicked(event -> primaryStage.close()); // Closes the program if exit button is clicked exit.setOnMouseClicked(event -> primaryStage.close()); // Closes the program if exit button is clicked
@ -142,24 +80,13 @@ public class Main extends Application {
Tabs.switchTab("home", tab); Tabs.switchTab("home", tab);
} }
}); // Sets the active tab to the home tab unless it's already active }); // Sets the active tab to the home tab unless it's already active
Modpack_btn.setOnMouseClicked(event ->{ Modpack_btn.setOnMouseClicked(event ->{
if(!activeTab.equals(Modpack_btn)){ if(!activeTab.equals(Modpack_btn)){
updateTabSelection(Modpack_btn, TabType.MAIN); updateTabSelection(Modpack_btn, TabType.MAIN);
Tabs.switchTab("modpacks", tab); Tabs.switchTab("modpacks", tab);
if(stringUpdater!=null && stringUpdater.isAlive()) stringUpdater.cancel(); if(stringUpdater!=null && stringUpdater.isAlive()) stringUpdater.cancel();
stringUpdater = new Async(SafeReflection.getFirstMethod(Main.class, "detectStringUpdate"), Tabs.load("modpacks").lookup("#search-modpacks")); 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");
});
} }
}); });
@ -168,16 +95,19 @@ public class Main extends Application {
updateTabSelection(Instance_btn, TabType.MAIN); updateTabSelection(Instance_btn, TabType.MAIN);
Tabs.switchTab("instance", tab); Tabs.switchTab("instance", tab);
Tabs.load("instance").lookup("#Launch-VM").setOnMouseClicked(event1 -> { Tabs.load("instance").lookup("#Launch-VM").setOnMouseClicked(event1 -> {
System.out.println("Launching Minecraft");
}); });
} }
}); });
Settings_btn.setOnMouseClicked((MouseEvent event) ->{
Settings_btn.setOnMouseClicked(event ->{
if(!activeTab.equals(Settings_btn)){ if(!activeTab.equals(Settings_btn)){
updateTabSelection(Settings_btn, TabType.MAIN); updateTabSelection(Settings_btn, TabType.MAIN);
Node n = Tabs.switchTab("settings", tab), tmp; // Sets the active tab to the settings tab unless it's already active Node n = Tabs.switchTab("settings", tab); // 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 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 // Generic Settings Sub-tab
if(!settings_activeTab.getId().equals(n.lookup("#Settings-Gen-btn").getId())){ // Use id to identify layouts if(!settings_activeTab.getId().equals(n.lookup("#Settings-Gen-btn").getId())){ // Use id to identify layouts
updateTabSelection(n.lookup("#Settings-Gen-btn"), TabType.SETTINGS); updateTabSelection(n.lookup("#Settings-Gen-btn"), TabType.SETTINGS);
@ -186,87 +116,18 @@ public class Main extends Application {
} }
}); });
n.lookup("#Settings-Mine-btn").setOnMouseClicked(event1 -> { n.lookup("#Settings-Mine-btn").setOnMouseClicked(event1 -> {
// Minecraft Settings Sub-tab // Minecraft Settings Sub-tab
if(!settings_activeTab.getId().equals(n.lookup("#Settings-Mine-btn").getId())){ // Use id to identify layouts if(!settings_activeTab.getId().equals(n.lookup("#Settings-Mine-btn").getId())){ // Use id to identify layouts
updateTabSelection(n.lookup("#Settings-Mine-btn"), TabType.SETTINGS); updateTabSelection(n.lookup("#Settings-Mine-btn"), TabType.SETTINGS);
Node minecraftLayout = Tabs.switchTab("settings_minecraft", (Pane) n.lookup("#Settings-Pane")); 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")); 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");
});
}
} }
}); });
@ -286,52 +147,7 @@ public class Main extends Application {
icon.setImage(appIcon); icon.setImage(appIcon);
} }
public static void main(String[] args) throws Exception{ public static void main(String[] args) { launch(args); }
// 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. * Search for packs with an 80% match compared to detected string.
@ -353,36 +169,7 @@ public class Main extends Application {
newTab.getStyleClass().add("selected"); 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{ enum TabType{
SETTINGS, MAIN 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);
}
}
} }

View File

@ -5,23 +5,14 @@ import javafx.fxml.FXMLLoader;
import javafx.scene.Node; import javafx.scene.Node;
import javafx.scene.layout.Pane; import javafx.scene.layout.Pane;
import javafx.util.Pair; import javafx.util.Pair;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL; 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"}) @SuppressWarnings("unused")
public class Tabs { public class Tabs {
private static final ShiftingList<Pair<URL, Node>> loaded = new ShiftingList<>(35); // Memory-efficient list of loaded files 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, * 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. * Tabs won't bother with reloading and will instead return the cached version.
@ -33,10 +24,10 @@ public class Tabs {
URL file = Main.class.getResource("/assets/layout/"+fileName); URL file = Main.class.getResource("/assets/layout/"+fileName);
try { try {
final boolean[] b = {false}; final boolean[] b = {false};
loaded.stream().filter(p ->p!=null && p.getKey().equals(file)).forEach(p->b[0]=true); loaded.stream().filter(p -> 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 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()}; final Node[] p1 = new Node[]{new Pane()};
loaded.stream().filter(p->p!=null && p.getKey().equals(file)).forEach(p->p1[0]=p.getValue()); loaded.stream().filter(p->p.getKey().equals(file)).forEach(p->p1[0]=p.getValue());
return p1[0]; return p1[0];
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
@ -67,7 +58,7 @@ public class Tabs {
public static void unloadTab(String fileName){ public static void unloadTab(String fileName){
if(!fileName.endsWith(".fxml")) fileName+=".fxml"; if(!fileName.endsWith(".fxml")) fileName+=".fxml";
URL file = Main.class.getResource("/assets/layout/"+fileName); URL file = Main.class.getResource("/assets/layout/"+fileName);
loaded.stream().filter(p->p!=null && p.getKey().equals(file)).forEach(loaded::remove); loaded.stream().filter(p->p.getKey().equals(file)).forEach(loaded::remove);
} }
/** /**
@ -79,29 +70,4 @@ public class Tabs {
unloadTab(fileName); unloadTab(fileName);
return load(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;
}
} }

View File

@ -1,7 +1,5 @@
package Launcher.minecraft; package Launcher.minecraft;
public class Launcher { public class Launcher {
} }

View File

@ -1,114 +1,35 @@
package Launcher.net; package Launcher.net;
import Launcher.Main; import java.io.IOException;
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;
import java.net.URL; import java.net.URL;
import java.util.regex.Matcher; import java.net.URLConnection;
import java.util.regex.Pattern;
import static Launcher.Main.semVerMajor;
import static Launcher.Main.semVerMinor;
import static Launcher.Main.semVerPatch;
/** /**
* Simple thing for updating launcher * Simple thing for updating launcher
*/ */
public class Updater { public class Updater {
private static volatile Updater instance; private static Updater instance;
private static Async<Updater> setup; private URLConnection conn;
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;
static { private Updater(String URL) throws IOException {
URL u = null; conn = new URL(URL).openConnection();
try { u = new URL("https://github.com/GabrielTofvesson/TeamAvionLauncher/releases"); } catch (MalformedURLException e) { e.printStackTrace(); }
updateURL = u;
} }
private Updater(Timeline t){ public void downloadStuff(){
try { //TODO:
conn = (HttpsURLConnection) updateURL.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("User-Agent", "Mozilla/5.0");
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);
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 < 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("")){
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
dl.setDoOutput(true);
dl.setDoInput(true);
dl.setRequestMethod("GET");
dl.setRequestProperty("User-Agent", "Mozilla/5.0");
if(dl.getResponseCode()!=200){
t.play();
return;
}
dl.connect();
InputStream reader = dl.getInputStream();
int i;
byte[] buffer = new byte[256];
while((i=reader.read(buffer))!=-1) o.write(buffer, 0, i);
reader.close();
o.close();
System.out.println("Starting!");
Runtime.getRuntime().exec("java -jar "+f.getName()+" "+f1.getAbsolutePath()+" "+false);
System.exit(0);
} catch (IOException e) {
//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(Timeline t) { public void downloadMoreStuff(){
if(setup==null) checkUpdate(t);
return instance==null?instance=setup.await():instance; // Await async creation }
public void downloadEvenMoreStuff(){
}
public static Updater getInstance(String url) throws IOException {
if(instance==null) instance = new Updater(url);
return instance;
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 794 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -1,4 +0,0 @@
Language: Default
du_label:Launching...
du_updater:Updating...

View File

@ -1,4 +0,0 @@
Language: Swedish
du_label:Startar...
du_updater:Uppdaterar...

View File

@ -1,33 +0,0 @@
<?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>

View File

@ -1,67 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?> <?import javafx.scene.control.Label?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.shape.Rectangle?> <?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<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">
<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">
<children> <children>
<Rectangle id="home-back" height="40.0" strokeType="INSIDE" width="812.0" /> <Rectangle id="Modpack-back" arcHeight="5.0" arcWidth="5.0" height="47.0" strokeType="INSIDE" width="750.0" />
<Label id="lable" layoutX="339.0" layoutY="1.0" text="Home"> <Label layoutX="34.0" layoutY="5.0" text="Home" textFill="WHITE">
<font> <font>
<Font name="Centaur" size="31.0" /> <Font name="Centaur" size="31.0" />
</font> </font>
</Label> </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> </children>
</Pane> </Pane>

View File

@ -2,48 +2,23 @@
<?import javafx.scene.control.Button?> <?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?> <?import javafx.scene.control.Label?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.shape.Rectangle?> <?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<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"> <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">
<children> <children>
<Rectangle id="instance-back" height="40.0" width="812.0" /> <Rectangle id="Modpack-back" arcHeight="5.0" arcWidth="5.0" height="47.0" strokeType="INSIDE" width="750.0" />
<Label id="lable" layoutX="324.0" layoutY="1.0" text="Instances"> <Label layoutX="34.0" layoutY="5.0" text="Instances" textFill="WHITE">
<font> <font>
<Font name="Centaur" size="31.0" /> <Font name="Centaur" size="31.0" />
</font> </font>
</Label> </Label>
<Rectangle id="rectangle-3" height="140.0" layoutX="41.0" layoutY="50.0" width="346.0" /> <Button id="Launch-VM" layoutX="34.0" layoutY="105.0" mnemonicParsing="false" text="Launch" />
<ImageView fitHeight="87.0" fitWidth="165.0" layoutX="62.0" layoutY="65.0" pickOnBounds="true" preserveRatio="true"> <Label layoutX="34.0" layoutY="79.0" text="Vanilla Minecraft" textFill="WHITE">
<image> <font>
<Image url="@../icons/modpack-default-img.png" /> <Font name="Centaur" size="21.0" />
</image> </font>
</ImageView> </Label>
<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> </children>
</Pane> </Pane>

View File

@ -1,26 +0,0 @@
<?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>

View File

@ -1,42 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?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.layout.Pane?>
<?import javafx.scene.text.Font?>
<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"> <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" />
<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>

View File

@ -7,41 +7,41 @@
<?import javafx.scene.shape.Rectangle?> <?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<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"> <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">
<children> <children>
<Rectangle id="rectangle" fill="white" height="50.0" strokeType="INSIDE" width="900.0" /> <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" text="X" /> <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" text="-" /> <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="50.0" fitWidth="50.0" layoutX="14.0" /> <ImageView id="icon" fitHeight="30" fitWidth="30" layoutX="26.0" layoutY="11.0" />
<Label id="lable" layoutX="75.0" layoutY="11.0" text="Team-Avion Launcher"> <Label layoutX="75.0" layoutY="11.0" text="Team-Avion Launcher" textFill="WHITE">
<font> <font>
<Font name="Centaur" size="24.0" /> <Font name="Centaur" size="24.0" />
</font> </font>
</Label> </Label>
<Rectangle id="rectangle-1" height="450.0" layoutY="50.0" styleClass="nav-bar" width="88.0" /> <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="88.0" styleClass="selected" text="Home" textOverrun="CLIP"> <Button id="Home-btn" layoutY="50.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="150.0" styleClass="selected" text="Home" textFill="WHITE" textOverrun="CLIP">
<font> <font>
<Font name="Centaur" size="16.0" /> <Font name="Centaur" size="16.0" />
</font> </font>
</Button> </Button>
<Button id="Modpacks-btn" layoutY="90.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="88.0" styleClass="tab" text="Modpack" textAlignment="CENTER" textOverrun="CLIP"> <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">
<font> <font>
<Font name="Centaur" size="16.0" /> <Font name="Centaur" size="16.0" />
</font> </font>
</Button> </Button>
<Button id="Instance-btn" layoutY="130.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="88.0" styleClass="tab" text="Instances" textOverrun="CLIP"> <Button id="Instance-btn" layoutY="130.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="150.0" styleClass="tab" text="Instances" textFill="WHITE" textOverrun="CLIP">
<font> <font>
<Font name="Centaur" size="16.0" /> <Font name="Centaur" size="16.0" />
</font> </font>
</Button> </Button>
<Button id="Settings-btn" layoutY="170.0" mnemonicParsing="false" prefHeight="42.0" prefWidth="88.0" styleClass="tab" text="Settings" textOverrun="CLIP"> <Button id="Settings-btn" layoutY="170.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="150.0" styleClass="tab" text="Settings" textFill="WHITE" textOverrun="CLIP">
<font> <font>
<Font name="Centaur" size="16.0" /> <Font name="Centaur" size="16.0" />
</font> </font>
</Button> </Button>
<Pane id="tab" layoutX="88.0" layoutY="50.0" prefHeight="450.0" prefWidth="812.0" /> <Pane id="tab" layoutX="150.0" layoutY="50.0" prefHeight="450.0" prefWidth="750.0" />
<Label id="version" layoutX="299.0" layoutY="14.0" prefHeight="24.0" prefWidth="198.0" text="Version : $v" wrapText="true" /> <Label layoutX="17.0" layoutY="455.0" text="Version : PreDev-0.1.0" textFill="white" />
<Label id="lable" layoutX="6.0" layoutY="450.0" prefHeight="50.0" prefWidth="60.0" text="2016 TeamAvion" wrapText="true"> <Label layoutX="9.0" layoutY="472.0" text="Copyright 2016 TeamAvion" textFill="WHITE">
<font> <font>
<Font size="11.0" /> <Font size="11.0" />
</font> </font>

View File

@ -1,51 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?> <?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?> <?import javafx.scene.control.TextField?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.shape.Rectangle?> <?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<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"> <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">
<children> <children>
<Rectangle id="Modpack-back" height="40.0" strokeType="INSIDE" width="812.0" /> <Rectangle id="Modpack-back" arcHeight="5.0" arcWidth="5.0" height="47.0" strokeType="INSIDE" width="750.0" />
<Label id="lable" layoutX="40.0" layoutY="1.0" text="Modpacks"> <Label layoutX="34.0" layoutY="5.0" text="Modpacks" textFill="WHITE">
<font> <font>
<Font name="Centaur" size="31.0" /> <Font name="Centaur" size="31.0" />
</font> </font>
</Label> </Label>
<TextField id="search-modpacks" layoutX="520.0" layoutY="2.0" prefHeight="37.0" prefWidth="290.0" promptText="Search Modpacks" /> <TextField id="search-modpacks" layoutX="516.0" layoutY="5.0" prefHeight="25.0" prefWidth="212.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> </children>
</Pane> </Pane>

View File

@ -6,21 +6,21 @@
<?import javafx.scene.shape.Rectangle?> <?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<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"> <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">
<children> <children>
<Rectangle id="Settings-back" height="40.0" strokeType="INSIDE" width="812.0" /> <Rectangle id="Modpack-back" arcHeight="5.0" arcWidth="5.0" height="50.0" strokeType="INSIDE" width="750.0" />
<Label id="lable" layoutX="331.0" layoutY="1.0" text="Settings"> <Label layoutX="34.0" layoutY="5.0" text="Settings" textFill="WHITE">
<font> <font>
<Font name="Centaur" size="31.0" /> <Font name="Centaur" size="31.0" />
</font> </font>
</Label> </Label>
<Rectangle id="rectangle-2" height="40.0" layoutY="40.0" width="812.0" /> <Rectangle arcHeight="5.0" arcWidth="5.0" fill="#0d0d39" height="40.0" layoutY="50.0" width="750.0" />
<Button id="Settings-Gen-btn" layoutY="40.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="100.0" styleClass="selected" text="General" /> <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 id="Settings-Mine-btn" layoutX="100.0" layoutY="40.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="100.0" styleClass="tab" text="Minecraft"> <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">
<font> <font>
<Font name="Candara" size="12.0" /> <Font name="Candara" size="12.0" />
</font> </font>
</Button> </Button>
<Pane id="Settings-Pane" layoutY="80.0" prefHeight="370.0" prefWidth="750.0" /> <Pane id="Settings-Pane" layoutY="90.0" prefHeight="360.0" prefWidth="750.0" />
</children> </children>
</Pane> </Pane>

View File

@ -1,45 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?> <?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.Label?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<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">
<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">
<children> <children>
<Label id="lable" layoutX="22.0" layoutY="14.0" text="General Settings"> <Label layoutX="22.0" layoutY="14.0" text="General Settings">
<font> <font>
<Font name="Centaur" size="25.0" /> <Font name="Centaur" size="25.0" />
</font> </font>
</Label> </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> </children>
</Pane> </Pane>

View File

@ -1,35 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?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.Label?>
<?import javafx.scene.control.Slider?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<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"> <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">
<children> <children>
<Label id="lable" layoutX="22.0" layoutY="14.0" text="Minecraft Settings"> <Label layoutX="22.0" layoutY="14.0" text="Minecraft Settings">
<font> <font>
<Font name="Centaur" size="25.0" /> <Font name="Centaur" size="25.0" />
</font> </font>
</Label> </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> </children>
</Pane> </Pane>

View File

@ -1,148 +0,0 @@
#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;
}

View File

@ -1,171 +0,0 @@
#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;
}

View File

@ -1,149 +0,0 @@
#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;
}

39
src/assets/style/nav.css Normal file
View File

@ -0,0 +1,39 @@
#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;
}