mirror of
https://github.com/GravitLauncher/Launcher
synced 2024-12-24 01:21:03 +03:00
Merge branch 'release/5.0.0b6'
This commit is contained in:
commit
4004d2f53c
24 changed files with 231 additions and 135 deletions
|
@ -29,7 +29,7 @@ public void setClient(Client client)
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void channelActive(ChannelHandlerContext ctx) {
|
public void channelActive(ChannelHandlerContext ctx) {
|
||||||
LogHelper.debug("New client %s", IOHelper.getIP(ctx.channel().remoteAddress()));
|
LogHelper.dev("New client %s", IOHelper.getIP(ctx.channel().remoteAddress()));
|
||||||
client = new Client(0);
|
client = new Client(0);
|
||||||
service.registerClient(ctx.channel());
|
service.registerClient(ctx.channel());
|
||||||
ctx.executor().schedule(() -> {
|
ctx.executor().schedule(() -> {
|
||||||
|
|
|
@ -38,9 +38,9 @@
|
||||||
dependencies {
|
dependencies {
|
||||||
pack project(':LauncherAuthlib')
|
pack project(':LauncherAuthlib')
|
||||||
bundle 'com.github.oshi:oshi-core:3.13.0'
|
bundle 'com.github.oshi:oshi-core:3.13.0'
|
||||||
bundle 'com.jfoenix:jfoenix:8.0.8'
|
bundle 'com.jfoenix:jfoenix:8.0.8'
|
||||||
bundle 'de.jensd:fontawesomefx:8.9'
|
bundle 'de.jensd:fontawesomefx:8.9'
|
||||||
bundle 'org.apache.httpcomponents:httpclient:4.5.7'
|
bundle 'org.apache.httpcomponents:httpclient:4.5.7'
|
||||||
pack 'io.netty:netty-all:4.1.36.Final'
|
pack 'io.netty:netty-all:4.1.36.Final'
|
||||||
pack 'org.ow2.asm:asm-tree:7.1'
|
pack 'org.ow2.asm:asm-tree:7.1'
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,16 +80,13 @@ function initMenuScene() {
|
||||||
stage.setY(event.getScreenY() - movePoint.getY());
|
stage.setY(event.getScreenY() - movePoint.getY());
|
||||||
});
|
});
|
||||||
|
|
||||||
var pane = loginPane.lookup("#bar");
|
var pane = menuPane.lookup("#bar");
|
||||||
bar = pane;
|
bar = pane;
|
||||||
menuPane.lookup("#close").setOnAction(function(event){ javafx.application.Platform.exit()});
|
pane.lookup("#close").setOnAction(function(event){ javafx.application.Platform.exit()});
|
||||||
menuPane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)});
|
pane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)});
|
||||||
menuPane.lookup("#discord").setOnAction(function(){ openURL(config.discord); });
|
pane.lookup("#discord").setOnAction(function(){ openURL(config.discord); });
|
||||||
menuPane.lookup("#settings").setOnAction(goSettings);
|
pane.lookup("#settings").setOnAction(goSettings);
|
||||||
menuPane.lookup("#goConsole").setOnAction(goConsole);
|
pane.lookup("#goConsole").setOnAction(goConsole);
|
||||||
menuPane.lookup("#logout").setOnAction(function(){
|
|
||||||
setCurrentScene(loginScene);
|
|
||||||
});
|
|
||||||
|
|
||||||
var pane = menuPane.lookup("#serverPane");
|
var pane = menuPane.lookup("#serverPane");
|
||||||
serverPane = pane;
|
serverPane = pane;
|
||||||
|
@ -104,6 +101,9 @@ function initMenuScene() {
|
||||||
serverEntrance.lookup("#clientLaunch").setOnAction(function(){
|
serverEntrance.lookup("#clientLaunch").setOnAction(function(){
|
||||||
doUpdate(profilesList[serverHolder.old], loginData.pp, loginData.accessToken);
|
doUpdate(profilesList[serverHolder.old], loginData.pp, loginData.accessToken);
|
||||||
});
|
});
|
||||||
|
pane.lookup("#logout").setOnAction(function(){
|
||||||
|
setCurrentScene(loginScene);
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,21 +236,17 @@ function verifyLauncher(e) {
|
||||||
initOffline();
|
initOffline();
|
||||||
}
|
}
|
||||||
overlay.swap(0, processing.overlay, function(event) makeAuthAvailabilityRequest(function(result) {
|
overlay.swap(0, processing.overlay, function(event) makeAuthAvailabilityRequest(function(result) {
|
||||||
//@DrLeonardo нужно напистаь добавление в список
|
//result.list;
|
||||||
//result.list весь список
|
//result.list[0].name;
|
||||||
//result.list[0].name имя авторизации(не видно)
|
//result.list[0].displayName;
|
||||||
//result.list[0].displayName имя авторизации(видно)
|
|
||||||
result.list.forEach(function(auth_type, i, arr) {
|
result.list.forEach(function(auth_type, i, arr) {
|
||||||
|
|
||||||
|
var serverAuth = new com.jfoenix.controls.JFXComboBox();
|
||||||
|
serverAuth.getStyleClass().add("authOptions");
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
//profilesList[serverBtn] = profile;
|
authOptions.getItems().add(auth_type.displayName);
|
||||||
//var hold = serverBtn;
|
})();
|
||||||
//var hIndex = index;
|
|
||||||
//serverBtn.setOnAction(function(event) {
|
|
||||||
// serverHolder.set(hold);
|
|
||||||
// settings.profile = hIndex;
|
|
||||||
//});
|
|
||||||
authOptions.getItems().add(auth_type.displayName);
|
|
||||||
})();
|
|
||||||
});
|
});
|
||||||
overlay.swap(0, processing.overlay, function(event) makeProfilesRequest(function(result) {
|
overlay.swap(0, processing.overlay, function(event) makeProfilesRequest(function(result) {
|
||||||
settings.lastProfiles = result.profiles;
|
settings.lastProfiles = result.profiles;
|
||||||
|
@ -332,7 +328,7 @@ function updateProfilesList(profiles) {
|
||||||
serverList.getChildren().clear();
|
serverList.getChildren().clear();
|
||||||
var index = 0;
|
var index = 0;
|
||||||
profiles.forEach(function(profile, i, arr) {
|
profiles.forEach(function(profile, i, arr) {
|
||||||
pingers[profile] = new ServerPinger(profile.getServerSocketAddress(), profile.getVersion());
|
pingers[profile] = new ServerPinger(profile);
|
||||||
|
|
||||||
var serverBtn = new javafx.scene.control.ToggleButton(profile);
|
var serverBtn = new javafx.scene.control.ToggleButton(profile);
|
||||||
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 433 B After Width: | Height: | Size: 1.8 KiB |
|
@ -7,11 +7,11 @@
|
||||||
|
|
||||||
<!-- DrLeonardo Design | Fixes by Yaroslavik -->
|
<!-- DrLeonardo Design | Fixes by Yaroslavik -->
|
||||||
|
|
||||||
<Pane fx:id="overlay" prefHeight="425.0" prefWidth="692.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
<Pane fx:id="overlay" prefHeight="450.0" prefWidth="692.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
||||||
<children>
|
<children>
|
||||||
<!-- Description -->
|
<!-- Description -->
|
||||||
<Label fx:id="description" alignment="CENTER" contentDisplay="CENTER" layoutX="205.0" layoutY="272.0" prefHeight="120.0" prefWidth="283.0" text="..." textAlignment="CENTER" />
|
<Label fx:id="description" alignment="CENTER" contentDisplay="CENTER" layoutX="205.0" layoutY="328.0" prefHeight="87.0" prefWidth="283.0" text="..." textAlignment="CENTER" />
|
||||||
<JFXSpinner fx:id="spinner" layoutX="313.0" layoutY="178.0" prefHeight="70.0" prefWidth="67.0" />
|
<JFXSpinner fx:id="spinner" layoutX="291.0" layoutY="165.0" prefHeight="120.0" prefWidth="110.0" />
|
||||||
</children>
|
</children>
|
||||||
<stylesheets>
|
<stylesheets>
|
||||||
<URL value="@processing.css" />
|
<URL value="@processing.css" />
|
||||||
|
|
|
@ -21,25 +21,24 @@ #holder #dirChange {
|
||||||
|
|
||||||
/* RAM slider */
|
/* RAM slider */
|
||||||
#holder > #ramSlider > .track {
|
#holder > #ramSlider > .track {
|
||||||
-fx-background-color: #D8E0E3;
|
-fx-background-color: #909090;
|
||||||
-fx-background-insets: none;
|
|
||||||
-fx-background-radius: 2px;
|
|
||||||
-fx-padding: 2px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#holder > #ramSlider > .thumb {
|
#holder > #ramSlider > .thumb {
|
||||||
-fx-background-color: #3498DB;
|
-fx-background-color: #5fd97a;
|
||||||
-fx-background-insets: none;
|
|
||||||
-fx-background-radius: 5px;
|
|
||||||
-fx-padding: 5px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#holder > #ramSlider:hover > .thumb {
|
#holder > #ramSlider > .colored-track {
|
||||||
-fx-background-color: #2F8BC8;
|
-fx-background-color: #5fd97a;
|
||||||
}
|
}
|
||||||
|
|
||||||
#holder > #ramSlider:pressed > .thumb {
|
#holder > #ramSlider > .animated-thumb {
|
||||||
-fx-background-color: #2876AA;
|
-fx-background-color: #5fd97a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#holder > #ramSlider > .slider-value {
|
||||||
|
-fx-fill: white;
|
||||||
|
-fx-stroke: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dir options */
|
/* Dir options */
|
||||||
|
@ -70,7 +69,7 @@ #holder > #changeDir:pressed {
|
||||||
}
|
}
|
||||||
|
|
||||||
#holder > #apply,#applyTransfer{
|
#holder > #apply,#applyTransfer{
|
||||||
-fx-background-color: #61B373;
|
-fx-background-color: #5fd97a;
|
||||||
-fx-background-radius: 0;
|
-fx-background-radius: 0;
|
||||||
-fx-text-fill: white;
|
-fx-text-fill: white;
|
||||||
-fx-background-position: center;
|
-fx-background-position: center;
|
||||||
|
@ -80,6 +79,6 @@ #holder > #apply,#applyTransfer{
|
||||||
}
|
}
|
||||||
#holder > #apply:hover,#applyTransfer:hover,
|
#holder > #apply:hover,#applyTransfer:hover,
|
||||||
#holder > #apply:focused,#applyTransfer:focused{
|
#holder > #apply:focused,#applyTransfer:focused{
|
||||||
-fx-background-color: #74C085;
|
-fx-background-color: #75e18c;
|
||||||
}
|
}
|
||||||
/*-- DrLeonardo Design --*/
|
/*-- DrLeonardo Design --*/
|
|
@ -13,23 +13,23 @@
|
||||||
|
|
||||||
<!-- DrLeonardo Design -->
|
<!-- DrLeonardo Design -->
|
||||||
|
|
||||||
<Pane fx:id="overlay" prefHeight="425.0" prefWidth="693.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
<Pane fx:id="overlay" prefHeight="450.0" prefWidth="693.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
||||||
<children>
|
<children>
|
||||||
<Pane id="holder" prefHeight="425.0" prefWidth="694.0">
|
<Pane id="holder" prefHeight="450.0" prefWidth="694.0">
|
||||||
<children>
|
<children>
|
||||||
<JFXCheckBox fx:id="autoEnter" checkedColor="#61b373" layoutX="14.0" layoutY="117.0" text="Автовход на сервер" unCheckedColor="#909090" />
|
<JFXCheckBox fx:id="autoEnter" checkedColor="#5fd97a" layoutX="14.0" layoutY="117.0" text="Автовход на сервер" unCheckedColor="#909090" />
|
||||||
<Text fill="#8c8c8c" layoutX="38.0" layoutY="133.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение авто-входа означает что вы сразу после загрузки клиента попадете на сервер" wrappingWidth="636.9999872148037" y="15.0" />
|
<Text fill="#8c8c8c" layoutX="40.0" layoutY="133.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение авто-входа означает что вы сразу после загрузки клиента попадете на сервер" wrappingWidth="636.9999872148037" y="15.0" />
|
||||||
<JFXCheckBox fx:id="fullScreen" checkedColor="#61b373" layoutX="13.0" layoutY="240.0" text="Клиент в полный экран" unCheckedColor="#909090" />
|
<JFXCheckBox fx:id="fullScreen" checkedColor="#5fd97a" layoutX="13.0" layoutY="240.0" text="Клиент в полный экран" unCheckedColor="#909090" />
|
||||||
<Text fill="#8c8c8c" layoutX="38.0" layoutY="257.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение данной функции позволяет запустить игру сразу в полноэкранном режиме" wrappingWidth="636.9999872148037" y="15.0" />
|
<Text fill="#8c8c8c" layoutX="40.0" layoutY="257.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение данной функции позволяет запустить игру сразу в полноэкранном режиме" wrappingWidth="636.9999872148037" y="15.0" />
|
||||||
<JFXCheckBox id="debug" checkedColor="#61b373" layoutX="13.0" layoutY="173.0" text="Режим Отладки" unCheckedColor="#909090" />
|
<JFXCheckBox id="debug" checkedColor="#5fd97a" layoutX="13.0" layoutY="173.0" text="Режим Отладки" unCheckedColor="#909090" />
|
||||||
<Text fill="#8c8c8c" layoutX="38.0" layoutY="188.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Режим отладки позволяет просмотреть лог запуска и работы программы в реальном времени прямо из лаунчера, что упрощает поиск нужной информации" wrappingWidth="637.0000016447157" y="15.0" />
|
<Text fill="#8c8c8c" layoutX="40.0" layoutY="188.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Режим отладки позволяет просмотреть лог запуска и работы программы в реальном времени прямо из лаунчера, что упрощает поиск нужной информации" wrappingWidth="637.0000016447157" y="15.0" />
|
||||||
<TextFlow layoutX="126.0" layoutY="15.0" prefHeight="16.0" prefWidth="112.0">
|
<TextFlow layoutX="126.0" layoutY="15.0" prefHeight="16.0" prefWidth="112.0">
|
||||||
<Text fx:id="ramLabel" />
|
<Text fx:id="ramLabel" />
|
||||||
</TextFlow>
|
</TextFlow>
|
||||||
<JFXButton fx:id="deleteDir" layoutX="374.0" layoutY="356.0" prefHeight="25.0" prefWidth="245.0" text="Удалить клиенты" textAlignment="CENTER" wrapText="true" />
|
<JFXButton fx:id="deleteDir" layoutX="370.0" layoutY="380.0" prefHeight="25.0" prefWidth="245.0" text="Удалить клиенты" textAlignment="CENTER" wrapText="true" />
|
||||||
<JFXButton fx:id="changeDir" layoutY="400.0" prefHeight="25.0" prefWidth="200.0" text="Сменить директорию загрузки" textAlignment="CENTER" wrapText="true" />
|
<JFXButton fx:id="changeDir" layoutY="419.0" prefHeight="30.0" prefWidth="200.0" text="Сменить директорию загрузки" textAlignment="CENTER" wrapText="true" />
|
||||||
<Hyperlink id="dirLabel" alignment="TOP_LEFT" layoutX="200.0" layoutY="401.0" prefHeight="23.0" prefWidth="493.0" text="C:/Users" />
|
<Hyperlink id="dirLabel" alignment="BASELINE_LEFT" layoutX="201.0" layoutY="420.0" prefHeight="30.0" prefWidth="493.0" text="C:/Users" />
|
||||||
<JFXButton fx:id="apply" defaultButton="true" layoutX="534.0" layoutY="356.0" prefHeight="23.0" prefWidth="100.0" text="Применить" />
|
<JFXButton fx:id="apply" defaultButton="true" layoutX="530.0" layoutY="380.0" prefHeight="23.0" prefWidth="100.0" text="Применить" />
|
||||||
<Text layoutX="16.0" layoutY="28.0">Выделение памяти: </Text>
|
<Text layoutX="16.0" layoutY="28.0">Выделение памяти: </Text>
|
||||||
<JFXSlider fx:id="ramSlider" layoutX="14.0" layoutY="76.0" prefHeight="14.0" prefWidth="663.0" />
|
<JFXSlider fx:id="ramSlider" layoutX="14.0" layoutY="76.0" prefHeight="14.0" prefWidth="663.0" />
|
||||||
<Pane fx:id="transferDialog" prefHeight="425.0" prefWidth="694.0" visible="false">
|
<Pane fx:id="transferDialog" prefHeight="425.0" prefWidth="694.0" visible="false">
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
<JFXButton fx:id="cancelTransfer" layoutX="379.0" layoutY="226.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="124.0" text="Нет, не нужно." />
|
<JFXButton fx:id="cancelTransfer" layoutX="379.0" layoutY="226.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="124.0" text="Нет, не нужно." />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
<Line endX="585.0" layoutX="104.0" layoutY="396.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
|
<Line endX="594.0" layoutX="100.0" layoutY="420.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
|
|
|
@ -4,7 +4,7 @@ #overlay {
|
||||||
-fx-background-color: transparent;
|
-fx-background-color: transparent;
|
||||||
-fx-background-size: cover;
|
-fx-background-size: cover;
|
||||||
-fx-pref-width: 693px;
|
-fx-pref-width: 693px;
|
||||||
-fx-pref-height: 425px;
|
-fx-pref-height: 450px;
|
||||||
-fx-background-image: url('../../images/background.jpg');
|
-fx-background-image: url('../../images/background.jpg');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ #overlay > #description.error {
|
||||||
.downloadPane {
|
.downloadPane {
|
||||||
-fx-background-color: rgba(0, 0, 0, 0.3);
|
-fx-background-color: rgba(0, 0, 0, 0.3);
|
||||||
-fx-pref-width: 693px;
|
-fx-pref-width: 693px;
|
||||||
-fx-pref-height: 425px;
|
-fx-pref-height: 450px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Progress bar */
|
/* Progress bar */
|
||||||
|
|
|
@ -13,14 +13,14 @@
|
||||||
<children>
|
<children>
|
||||||
<Pane prefHeight="425.0" prefWidth="693.0" styleClass="downloadPane">
|
<Pane prefHeight="425.0" prefWidth="693.0" styleClass="downloadPane">
|
||||||
<children>
|
<children>
|
||||||
<Label fx:id="description" layoutX="14.0" layoutY="302.0" prefHeight="98.0" prefWidth="660.0" text="..." textFill="WHITE" />
|
<Label fx:id="description" layoutX="17.0" layoutY="320.0" prefHeight="105.0" prefWidth="660.0" text="..." textFill="WHITE" />
|
||||||
<Label fx:id="utitle" alignment="TOP_LEFT" layoutX="59.0" layoutY="269.0" prefHeight="18.0" prefWidth="470.0" text="Обновление..." textFill="WHITE">
|
<Label fx:id="utitle" alignment="TOP_LEFT" layoutX="59.0" layoutY="279.0" prefHeight="18.0" prefWidth="470.0" text="Обновление..." textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font size="13.0" />
|
<Font name="System Bold" size="13.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<JFXProgressBar fx:id="progress" layoutY="407.0" prefHeight="18.0" prefWidth="693.0" />
|
<JFXProgressBar fx:id="progress" layoutY="438.0" prefHeight="12.0" prefWidth="693.0" />
|
||||||
<JFXSpinner layoutX="14.0" layoutY="261.0" prefHeight="35.0" prefWidth="32.0" />
|
<JFXSpinner layoutX="14.0" layoutY="271.0" prefHeight="35.0" prefWidth="32.0" />
|
||||||
</children></Pane>
|
</children></Pane>
|
||||||
</children>
|
</children>
|
||||||
<stylesheets>
|
<stylesheets>
|
||||||
|
|
|
@ -27,12 +27,12 @@
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
<JFXTextArea fx:id="output" prefHeight="385.0" prefWidth="692.0" unFocusColor="#ffffff00">
|
<JFXTextArea fx:id="output" focusColor="#d8d8d8" prefHeight="419.0" prefWidth="692.0" unFocusColor="#ffffff00">
|
||||||
<padding>
|
<padding>
|
||||||
<Insets left="10.0" top="10.0" />
|
<Insets left="10.0" top="10.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</JFXTextArea>
|
</JFXTextArea>
|
||||||
<JFXTextField fx:id="textField" focusColor="#909090" layoutY="395.0" prefHeight="30.0" prefWidth="543.0" promptText="Введите команду..." unFocusColor="#ffffff00">
|
<JFXTextField fx:id="textField" focusColor="#909090" layoutY="420.0" prefHeight="30.0" prefWidth="543.0" promptText="Введите команду..." unFocusColor="#ffffff00">
|
||||||
<opaqueInsets>
|
<opaqueInsets>
|
||||||
<Insets />
|
<Insets />
|
||||||
</opaqueInsets>
|
</opaqueInsets>
|
||||||
|
@ -40,8 +40,8 @@
|
||||||
<Insets left="10.0" />
|
<Insets left="10.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</JFXTextField>
|
</JFXTextField>
|
||||||
<JFXButton fx:id="send" defaultButton="true" layoutX="542.0" layoutY="395.0" prefHeight="30.0" prefWidth="147.0" ripplerFill="WHITE" text="Выполнить" />
|
<JFXButton fx:id="send" defaultButton="true" layoutX="542.0" layoutY="420.0" prefHeight="30.0" prefWidth="147.0" ripplerFill="WHITE" text="Выполнить" />
|
||||||
<Line endX="589.0" layoutX="98.0" layoutY="390.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
|
<Line endX="594.0" layoutX="98.0" layoutY="420.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
|
||||||
</children>
|
</children>
|
||||||
<stylesheets>
|
<stylesheets>
|
||||||
<URL value="@../../styles.css" />
|
<URL value="@../../styles.css" />
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
<?import com.jfoenix.controls.JFXPasswordField?>
|
<?import com.jfoenix.controls.JFXPasswordField?>
|
||||||
<?import com.jfoenix.controls.JFXTextField?>
|
<?import com.jfoenix.controls.JFXTextField?>
|
||||||
<?import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIconView?>
|
<?import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIconView?>
|
||||||
|
<?import java.lang.String?>
|
||||||
<?import java.net.URL?>
|
<?import java.net.URL?>
|
||||||
<?import javafx.scene.control.Hyperlink?>
|
<?import javafx.scene.control.Hyperlink?>
|
||||||
<?import javafx.scene.layout.Pane?>
|
<?import javafx.scene.layout.Pane?>
|
||||||
|
@ -15,19 +16,23 @@
|
||||||
|
|
||||||
<Pane fx:id="layout" prefWidth="740.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
<Pane fx:id="layout" prefWidth="740.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
||||||
<children>
|
<children>
|
||||||
<Pane fx:id="authPane" layoutX="423.0" prefHeight="411.0" prefWidth="286.0" styleClass="loginPane">
|
<Pane fx:id="authPane" layoutX="422.0" prefHeight="411.0" prefWidth="286.0" styleClass="loginPane">
|
||||||
<children>
|
<children>
|
||||||
<Pane fx:id="logo" layoutX="72.0" layoutY="62.0" prefWidth="124.0" styleClass="logo">
|
<Pane fx:id="logo" layoutX="72.0" layoutY="62.0" prefWidth="124.0" styleClass="logo">
|
||||||
</Pane>
|
</Pane>
|
||||||
<JFXTextField id="login" alignment="CENTER" focusColor="#909090" layoutX="34.0" layoutY="144.0" promptText="Логин" unFocusColor="#dadada" />
|
<JFXTextField id="login" alignment="CENTER" focusColor="#5fd97a" layoutX="34.0" layoutY="196.0" promptText="Логин" unFocusColor="#dadada" />
|
||||||
<JFXPasswordField id="password" alignment="CENTER" focusColor="#909090" layoutX="34.0" layoutY="197.0" promptText="Пароль" unFocusColor="#dadada" />
|
<JFXPasswordField id="password" alignment="CENTER" focusColor="#5fd97a" layoutX="34.0" layoutY="249.0" promptText="Пароль" unFocusColor="#dadada" />
|
||||||
<JFXButton id="goAuth" layoutX="15.0" layoutY="365.0" styleClass="auth" text="ВОЙТИ" />
|
<JFXButton id="goAuth" layoutX="34.0" layoutY="370.0" styleClass="auth" text="ВОЙТИ" />
|
||||||
<JFXCheckBox id="rememberchb" fx:id="savePassword" checkedColor="#61b373" contentDisplay="CENTER" layoutX="63.0" layoutY="329.0" prefWidth="144.0" text="Сохранить пароль" textFill="#dadada" unCheckedColor="#909090" />
|
<JFXCheckBox id="rememberchb" fx:id="savePassword" checkedColor="#5fd97a" contentDisplay="CENTER" layoutX="63.0" layoutY="297.0" prefWidth="144.0" text="Сохранить пароль" textFill="#dadada" unCheckedColor="#909090" />
|
||||||
<JFXComboBox id="authOptions" fx:id="authOptions" focusColor="#909090" layoutX="35.0" layoutY="251.0" promptText="Метод авторизации" styleClass="combologin" unFocusColor="#dadada" />
|
<JFXComboBox id="authOptions" fx:id="authOptions" focusColor="#5fd97a" layoutX="34.0" layoutY="341.0" prefHeight="25.0" prefWidth="200.0" promptText="Авторизация 1" unFocusColor="#70666600">
|
||||||
<Hyperlink id="link" fx:id="link" layoutX="98.0" layoutY="408.0" prefHeight="19.0" prefWidth="81.0" textAlignment="CENTER" />
|
<styleClass>
|
||||||
|
<String fx:value="combologin" />
|
||||||
|
<String fx:value="combologin-popup" />
|
||||||
|
</styleClass></JFXComboBox>
|
||||||
|
<Hyperlink id="link" fx:id="link" layoutX="94.0" layoutY="422.0" prefHeight="19.0" prefWidth="81.0" textAlignment="CENTER" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
<JFXMasonryPane fx:id="news" prefHeight="425.0" prefWidth="423.0" styleClass="news" />
|
<JFXMasonryPane fx:id="news" prefHeight="432.0" prefWidth="423.0" styleClass="news" />
|
||||||
<Pane fx:id="bar" layoutX="692.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar">
|
<Pane fx:id="bar" layoutX="692.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar">
|
||||||
<children>
|
<children>
|
||||||
<JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
<JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
||||||
|
@ -40,9 +45,9 @@
|
||||||
<MaterialDesignIconView fill="WHITE" glyphName="CLOSE" size="30" textAlignment="CENTER" />
|
<MaterialDesignIconView fill="WHITE" glyphName="CLOSE" size="30" textAlignment="CENTER" />
|
||||||
</graphic>
|
</graphic>
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="370.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
||||||
<graphic>
|
<graphic>
|
||||||
<MaterialDesignIconView fill="WHITE" glyphName="MESSAGE_TEXT" size="30" textAlignment="CENTER" />
|
<MaterialDesignIconView fill="#5fd97a" glyphName="MESSAGE_TEXT" size="20" textAlignment="CENTER" />
|
||||||
</graphic>
|
</graphic>
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
</children>
|
</children>
|
||||||
|
|
|
@ -15,11 +15,11 @@
|
||||||
|
|
||||||
<Pane fx:id="layout" maxHeight="-1.0" maxWidth="-1.0" prefHeight="400.0" prefWidth="600.0" visible="true" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
<Pane fx:id="layout" maxHeight="-1.0" maxWidth="-1.0" prefHeight="400.0" prefWidth="600.0" visible="true" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
||||||
<children>
|
<children>
|
||||||
<Pane id="serverPane" prefHeight="425.0" prefWidth="693.0">
|
<Pane id="serverPane" prefHeight="450.0" prefWidth="693.0">
|
||||||
<children>
|
<children>
|
||||||
<ScrollPane id="serverlist" hbarPolicy="NEVER" layoutX="1.0" prefHeight="425.0" prefWidth="307.0" visible="true">
|
<ScrollPane id="serverlist" hbarPolicy="NEVER" layoutX="1.0" prefHeight="450.0" prefWidth="307.0" visible="true">
|
||||||
<content>
|
<content>
|
||||||
<FlowPane focusTraversable="false" prefHeight="421.0" prefWidth="306.0" prefWrapLength="0.0" rowValignment="TOP" vgap="10.0" visible="true">
|
<FlowPane focusTraversable="false" prefHeight="446.0" prefWidth="306.0" prefWrapLength="0.0" rowValignment="TOP" vgap="10.0" visible="true">
|
||||||
<JFXButton id="servercontainer" ripplerFill="#ffffff80" text="">
|
<JFXButton id="servercontainer" ripplerFill="#ffffff80" text="">
|
||||||
<FlowPane.margin>
|
<FlowPane.margin>
|
||||||
<Insets bottom="10.0" />
|
<Insets bottom="10.0" />
|
||||||
|
@ -30,11 +30,11 @@
|
||||||
</FlowPane>
|
</FlowPane>
|
||||||
</content>
|
</content>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Pane id="serverentrance" layoutX="307.0" prefHeight="425.0" prefWidth="388.0" styleClass="serverentrance">
|
<Pane id="serverentrance" layoutX="306.0" prefHeight="425.0" prefWidth="388.0" styleClass="serverentrance">
|
||||||
<children>
|
<children>
|
||||||
<ScrollPane id="serverinfo" hbarPolicy="NEVER" layoutX="4.0" layoutY="53.0" pannable="true" prefHeight="372.0" prefWidth="382.0" visible="true">
|
<ScrollPane id="serverinfo" hbarPolicy="NEVER" layoutX="4.0" layoutY="53.0" pannable="true" prefHeight="322.0" prefWidth="381.0" visible="true">
|
||||||
<content>
|
<content>
|
||||||
<FlowPane id="" focusTraversable="false" orientation="HORIZONTAL" prefHeight="221.0" prefWidth="362.0" rowValignment="TOP" visible="true">
|
<FlowPane id="" focusTraversable="false" orientation="HORIZONTAL" prefHeight="310.0" prefWidth="369.0" rowValignment="TOP" visible="true">
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="15.0" top="7.0" />
|
<Insets bottom="10.0" left="15.0" top="7.0" />
|
||||||
</padding>
|
</padding>
|
||||||
|
@ -44,21 +44,21 @@
|
||||||
</FlowPane>
|
</FlowPane>
|
||||||
</content>
|
</content>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<JFXButton id="clientLaunch" layoutX="20.0" layoutY="355.0" styleClass="clientLaunch" text="ИГРАТЬ">
|
<JFXButton id="clientLaunch" layoutX="121.0" layoutY="380.0" prefHeight="51.0" prefWidth="183.0" styleClass="clientLaunch" text="ИГРАТЬ">
|
||||||
<font>
|
<font>
|
||||||
<Font size="22.0" />
|
<Font size="22.0" />
|
||||||
</font>
|
</font>
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
<JFXButton id="clientSettings" alignment="CENTER" centerShape="false" contentDisplay="CENTER" layoutX="281.0" layoutY="355.0" ripplerFill="#84da96" styleClass="clientSettings" text="" textAlignment="CENTER">
|
<JFXButton id="clientSettings" alignment="CENTER" centerShape="false" contentDisplay="CENTER" layoutX="305.0" layoutY="380.0" prefHeight="51.0" prefWidth="60.0" ripplerFill="#84da96" styleClass="clientSettings" text="" textAlignment="CENTER">
|
||||||
<graphic>
|
<graphic>
|
||||||
<FontAwesomeIconView fill="WHITE" glyphName="SLIDERS" size="30.0" />
|
<FontAwesomeIconView fill="WHITE" glyphName="SLIDERS" size="30.0" />
|
||||||
</graphic></JFXButton>
|
</graphic></JFXButton>
|
||||||
<Label id="serverStatus" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="246.0" layoutY="12.0" prefHeight="25.0" prefWidth="104.0" text="12/100" textAlignment="RIGHT" textFill="WHITE">
|
<Label id="serverStatus" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="252.0" layoutY="12.0" prefHeight="25.0" prefWidth="97.0" text="12/100" textAlignment="RIGHT" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="16.0" />
|
<Font name="System Bold" size="16.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Label id="serverLabel" layoutX="4.0" layoutY="11.0" prefHeight="31.0" prefWidth="265.0" text="СЕРВЕР">
|
<Label id="serverLabel" layoutX="4.0" layoutY="11.0" prefHeight="27.0" prefWidth="266.0" text="СЕРВЕР">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="18.0" />
|
<Font name="System Bold" size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
|
@ -66,6 +66,11 @@
|
||||||
<Insets left="14.0" />
|
<Insets left="14.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</Label>
|
</Label>
|
||||||
|
<JFXButton id="logout" alignment="CENTER" contentDisplay="CENTER" layoutX="19.0" layoutY="383.0" ripplerFill="#61616100" text="" textAlignment="CENTER">
|
||||||
|
<graphic>
|
||||||
|
<MaterialDesignIconView fill="#323232" glyphName="LOGOUT" size="30" textAlignment="CENTER" />
|
||||||
|
</graphic>
|
||||||
|
</JFXButton>
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
|
@ -84,22 +89,17 @@
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
||||||
<graphic>
|
<graphic>
|
||||||
<MaterialDesignIconView fill="WHITE" glyphName="MESSAGE_TEXT" size="30" smooth="false" textAlignment="CENTER" />
|
<MaterialDesignIconView fill="#5fd97a" glyphName="MESSAGE_TEXT" size="20" smooth="false" textAlignment="CENTER" />
|
||||||
</graphic>
|
</graphic>
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
<JFXButton id="settings" alignment="CENTER" contentDisplay="CENTER" layoutY="90.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
<JFXButton id="settings" alignment="CENTER" contentDisplay="CENTER" layoutY="90.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
||||||
<graphic>
|
<graphic>
|
||||||
<MaterialDesignIconView fill="WHITE" glyphName="SETTINGS" size="30" textAlignment="CENTER" />
|
<MaterialDesignIconView fill="WHITE" glyphName="SETTINGS" size="20" textAlignment="CENTER" />
|
||||||
</graphic>
|
</graphic>
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
<JFXButton id="goConsole" alignment="CENTER" contentDisplay="CENTER" layoutY="138.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
<JFXButton id="goConsole" alignment="CENTER" contentDisplay="CENTER" layoutY="138.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
||||||
<graphic>
|
<graphic>
|
||||||
<MaterialDesignIconView fill="WHITE" glyphName="CONSOLE" size="30" textAlignment="CENTER" />
|
<MaterialDesignIconView fill="WHITE" glyphName="CONSOLE" size="20" textAlignment="CENTER" />
|
||||||
</graphic>
|
|
||||||
</JFXButton>
|
|
||||||
<JFXButton id="logout" alignment="CENTER" contentDisplay="CENTER" layoutY="332.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
|
||||||
<graphic>
|
|
||||||
<MaterialDesignIconView fill="WHITE" glyphName="LOGOUT" size="30" textAlignment="CENTER" />
|
|
||||||
</graphic>
|
</graphic>
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
</children>
|
</children>
|
||||||
|
|
|
@ -12,17 +12,17 @@
|
||||||
|
|
||||||
<!-- DrLeonardo Design -->
|
<!-- DrLeonardo Design -->
|
||||||
|
|
||||||
<Pane fx:id="background" prefHeight="425.0" prefWidth="738.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
<Pane fx:id="background" prefHeight="450.0" prefWidth="738.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
||||||
<children>
|
<children>
|
||||||
<Pane id="optionsPane" prefHeight="425.0" prefWidth="693.0" styleClass="optionsPane">
|
<Pane id="optionsPane" prefHeight="450.0" prefWidth="692.0" styleClass="optionsPane">
|
||||||
<children>
|
<children>
|
||||||
<JFXToggleButton fx:id="presset" layoutX="10.0" layoutY="10.0" styleClass="pressetLight" text="Presset 1" />
|
<JFXToggleButton fx:id="presset" layoutX="30.0" layoutY="10.0" opacity="0.21" styleClass="pressetLight" text="Presset 1" />
|
||||||
<JFXToggleButton fx:id="presset" layoutX="267.0" layoutY="10.0" styleClass="pressetMedium" text="Presset 2" />
|
<JFXToggleButton fx:id="presset" layoutX="287.0" layoutY="10.0" opacity="0.21" styleClass="pressetMedium" text="Presset 2" />
|
||||||
<JFXToggleButton fx:id="isPresset" layoutX="549.0" layoutY="10.0" prefHeight="58.0" prefWidth="134.0" styleClass="pressetHigh" text="Presset 3" wrapText="true" />
|
<JFXToggleButton fx:id="isPresset" layoutX="528.0" layoutY="10.0" opacity="0.21" prefHeight="58.0" prefWidth="134.0" styleClass="pressetHigh" text="Presset 3" wrapText="true" />
|
||||||
<Line endX="595.0" layoutX="100.0" layoutY="80.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
|
<Line endX="595.0" layoutX="100.0" layoutY="80.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
|
||||||
<ScrollPane id="modlist" layoutY="84.0" prefHeight="341.0" prefWidth="693.0">
|
<ScrollPane id="modlist" layoutY="84.0" prefHeight="364.0" prefWidth="693.0">
|
||||||
<content>
|
<content>
|
||||||
<VBox prefHeight="339.0" prefWidth="678.0">
|
<VBox prefHeight="360.0" prefWidth="678.0">
|
||||||
<children>
|
<children>
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
<MaterialDesignIconView fill="WHITE" glyphName="CLOSE" size="30" textAlignment="CENTER" />
|
<MaterialDesignIconView fill="WHITE" glyphName="CLOSE" size="30" textAlignment="CENTER" />
|
||||||
</graphic>
|
</graphic>
|
||||||
</JFXButton>
|
</JFXButton>
|
||||||
<JFXButton id="back" alignment="CENTER" contentDisplay="CENTER" layoutY="379.0" ripplerFill="#61b373" text="" textAlignment="CENTER">
|
<JFXButton id="back" alignment="CENTER" contentDisplay="CENTER" layoutY="405.0" ripplerFill="#646464" text="" textAlignment="CENTER">
|
||||||
<graphic>
|
<graphic>
|
||||||
<MaterialDesignIconView fill="WHITE" glyphName="CHEVRON_LEFT" size="30" textAlignment="CENTER" />
|
<MaterialDesignIconView fill="WHITE" glyphName="CHEVRON_LEFT" size="30" textAlignment="CENTER" />
|
||||||
</graphic>
|
</graphic>
|
||||||
|
|
|
@ -110,6 +110,7 @@ var options = {
|
||||||
if(modFile.subTreeLevel != null && modFile.subTreeLevel > 1)
|
if(modFile.subTreeLevel != null && modFile.subTreeLevel > 1)
|
||||||
subLevel = modFile.subTreeLevel;
|
subLevel = modFile.subTreeLevel;
|
||||||
var testMod = new com.jfoenix.controls.JFXCheckBox(modName);
|
var testMod = new com.jfoenix.controls.JFXCheckBox(modName);
|
||||||
|
testMod.getStyleClass().add("checkboxOpt");
|
||||||
|
|
||||||
if(subLevel > 1)
|
if(subLevel > 1)
|
||||||
for(var i = 1; i < subLevel; i++)
|
for(var i = 1; i < subLevel; i++)
|
||||||
|
@ -131,6 +132,7 @@ var options = {
|
||||||
options.update();
|
options.update();
|
||||||
});
|
});
|
||||||
checkBoxList.add(testMod);
|
checkBoxList.add(testMod);
|
||||||
|
testMod.getStyleClass().add("modname");
|
||||||
if(modDescription != "") {
|
if(modDescription != "") {
|
||||||
textDescr = new javafx.scene.text.Text(modDescription);
|
textDescr = new javafx.scene.text.Text(modDescription);
|
||||||
if(subLevel > 1) {
|
if(subLevel > 1) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ #layout {
|
||||||
-fx-background-color: transparent;
|
-fx-background-color: transparent;
|
||||||
-fx-background-size: cover;
|
-fx-background-size: cover;
|
||||||
-fx-pref-width: 738px;
|
-fx-pref-width: 738px;
|
||||||
-fx-pref-height: 425px;
|
-fx-pref-height: 450px;
|
||||||
-fx-background-image: url('images/background.jpg');
|
-fx-background-image: url('images/background.jpg');
|
||||||
}
|
}
|
||||||
#background {
|
#background {
|
||||||
|
@ -37,7 +37,7 @@ #serverStatus{
|
||||||
#mask {
|
#mask {
|
||||||
-fx-background-color: rgba(0, 0, 0, 0.5);
|
-fx-background-color: rgba(0, 0, 0, 0.5);
|
||||||
-fx-pref-width: 692px;
|
-fx-pref-width: 692px;
|
||||||
-fx-pref-height: 425px;
|
-fx-pref-height: 450px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Errors **/
|
/** Errors **/
|
||||||
|
@ -55,7 +55,7 @@ .error{
|
||||||
#bar {
|
#bar {
|
||||||
-fx-background-color: #323232;
|
-fx-background-color: #323232;
|
||||||
-fx-pref-width: 46px;
|
-fx-pref-width: 46px;
|
||||||
-fx-pref-height: 425px;
|
-fx-pref-height: 450px;
|
||||||
}
|
}
|
||||||
/** buttons in bar **/
|
/** buttons in bar **/
|
||||||
#close {
|
#close {
|
||||||
|
@ -90,7 +90,7 @@ #send:pressed { -fx-background-color: #d8d8d8; }
|
||||||
#authPane {
|
#authPane {
|
||||||
-fx-background-color: rgba(255, 255, 255, 0.71);
|
-fx-background-color: rgba(255, 255, 255, 0.71);
|
||||||
-fx-pref-width: 270px;
|
-fx-pref-width: 270px;
|
||||||
-fx-pref-height: 425px;
|
-fx-pref-height: 450px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#logo {
|
#logo {
|
||||||
|
@ -106,13 +106,14 @@ .auth {
|
||||||
-fx-font-weight: bold;
|
-fx-font-weight: bold;
|
||||||
-fx-font-size: 13pt;
|
-fx-font-size: 13pt;
|
||||||
-fx-background-radius: 0;
|
-fx-background-radius: 0;
|
||||||
-fx-background-color: #61B373;
|
-fx-background-color: #5fd97a;
|
||||||
-fx-text-fill: #ffffff;
|
-fx-text-fill: #ffffff;
|
||||||
-fx-pref-width: 240px;
|
-fx-pref-width: 200px;
|
||||||
-fx-pref-height: 45px;
|
-fx-pref-height: 45px;
|
||||||
|
-fx-effect: dropshadow(gaussian, rgba(23, 25, 29, 0.3), 15,0,0,3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.auth:hover, .auth:pressed { -fx-background-color: #74C085; }
|
.auth:hover, .auth:pressed { -fx-background-color: #75e18c; }
|
||||||
|
|
||||||
#password, #login {
|
#password, #login {
|
||||||
-fx-background-radius: 0;
|
-fx-background-radius: 0;
|
||||||
|
@ -152,49 +153,93 @@ #rememberchb{
|
||||||
}
|
}
|
||||||
#combologin {
|
#combologin {
|
||||||
-fx-text-fill: #909090;
|
-fx-text-fill: #909090;
|
||||||
|
-fx-prompt-text-fill: #909090;
|
||||||
-fx-pref-width: 200px;
|
-fx-pref-width: 200px;
|
||||||
-fx-pref-height: 30px;
|
-fx-pref-height: 30px;
|
||||||
}
|
}
|
||||||
|
.combologin,
|
||||||
|
.combologin {
|
||||||
|
-fx-font-size: 13px;
|
||||||
|
-fx-prompt-text-fill: #909090;
|
||||||
|
-fx-text-fill: #909090;
|
||||||
|
-fx-background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.combologin .list-cell {
|
||||||
|
-fx-background: white;
|
||||||
|
-fx-background-color: transparent;
|
||||||
|
-fx-text-fill: -fx-text-base-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.combologin-popup .list-view {
|
||||||
|
-fx-background-color: white, white;
|
||||||
|
-fx-background-insets: 0, 1;
|
||||||
|
-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.6) , 8, 0.0 , 0 , 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
.combologin .list-cell:filled:selected .text,
|
||||||
|
.combologin .list-cell:filled:selected .text {
|
||||||
|
-fx-fill: #909090;
|
||||||
|
}
|
||||||
|
|
||||||
|
.combologin .arrow,
|
||||||
|
.combologin .arrow {
|
||||||
|
-fx-background-color: #5fd97a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.combologin-popup .list-view .list-cell
|
||||||
|
{
|
||||||
|
-fx-background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.combologin-popup .list-view .list-cell:filled:selected, .combologin-popup .list-view .list-cell:filled:selected:hover
|
||||||
|
{
|
||||||
|
-fx-background: -fx-accent;
|
||||||
|
-fx-background-color: -fx-selection-bar;
|
||||||
|
-fx-text-fill: -fx-selection-bar-text;
|
||||||
|
}
|
||||||
|
|
||||||
|
.combologin-popup .list-view .list-cell:filled:hover
|
||||||
|
{
|
||||||
|
-fx-background-color: white;
|
||||||
|
-fx-text-fill: -fx-text-inner-color;
|
||||||
|
}
|
||||||
|
|
||||||
/** web**/
|
/** web**/
|
||||||
#news {
|
#news {
|
||||||
-fx-background-color: transparent;
|
-fx-background-color: transparent;
|
||||||
-fx-pref-width: 423px;
|
-fx-pref-width: 423px;
|
||||||
-fx-pref-height: 425px;
|
-fx-pref-height: 450px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* MenuPane */
|
/* MenuPane */
|
||||||
.serverentrance {
|
.serverentrance {
|
||||||
-fx-background-color: rgba(255, 255, 255, 0.71);
|
-fx-background-color: rgba(255, 255, 255, 0.71);
|
||||||
-fx-pref-width: 386px;
|
-fx-pref-width: 386px;
|
||||||
-fx-pref-height: 425px;
|
-fx-pref-height: 450px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** buttons **/
|
/** buttons **/
|
||||||
.clientLaunch{
|
.clientLaunch{
|
||||||
-jfx-button-type: FLAT;
|
-jfx-button-type: FLAT;
|
||||||
-fx-font-weight: bold;
|
-fx-font-weight: bold;
|
||||||
-fx-font-size: 18pt;
|
-fx-font-size: 16pt;
|
||||||
-fx-background-radius: 0;
|
-fx-background-radius: 0;
|
||||||
-fx-background-color: #61B373;
|
-fx-background-color: #5fd97a;
|
||||||
-fx-text-fill: #ffffff;
|
-fx-text-fill: #ffffff;
|
||||||
-fx-pref-width: 260px;
|
|
||||||
-fx-pref-height: 45px;
|
|
||||||
}
|
}
|
||||||
.clientSettings{
|
.clientSettings{
|
||||||
-fx-background-position: center;
|
-fx-background-position: center;
|
||||||
-jfx-button-type: FLAT;
|
-jfx-button-type: FLAT;
|
||||||
-fx-background-color: #61B373;
|
-fx-background-color: #5fd97a;
|
||||||
-fx-background-radius: 0;
|
-fx-background-radius: 0;
|
||||||
-fx-pref-width: 85px;
|
|
||||||
-fx-pref-height: 51px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.clientLaunch:hover, .clientLaunch:pressed { -fx-background-color: #74C085; }
|
.clientLaunch:hover, .clientLaunch:pressed { -fx-background-color: #75e18c; }
|
||||||
|
|
||||||
/* Pressets options */
|
/* Pressets options */
|
||||||
.pressetLight, .pressetMedium, .pressetHigh {
|
.pressetLight, .pressetMedium, .pressetHigh {
|
||||||
-jfx-toggle-color: #61B373;
|
-jfx-toggle-color: #5fd97a;
|
||||||
-jfx-untoggle-color: #FAFAFA;
|
-jfx-untoggle-color: #FAFAFA;
|
||||||
-jfx-toggle-line-color: rgba(116, 192, 133, 0.79);
|
-jfx-toggle-line-color: rgba(116, 192, 133, 0.79);
|
||||||
-jfx-untoggle-line-color: #999999;
|
-jfx-untoggle-line-color: #999999;
|
||||||
|
@ -243,7 +288,6 @@ .scroll-pane>.corner {
|
||||||
/* OptionsPane */
|
/* OptionsPane */
|
||||||
#optionsPane > #modlist {
|
#optionsPane > #modlist {
|
||||||
-fx-background-color: transparent;
|
-fx-background-color: transparent;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#optionsPane > #modlist > .viewport {
|
#optionsPane > #modlist > .viewport {
|
||||||
|
@ -256,9 +300,18 @@ .description-text {
|
||||||
-fx-font-size: 12px;
|
-fx-font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.checkboxOpt {
|
||||||
|
-jfx-checked-color: #5fd97a;
|
||||||
|
-jfx-unchecked-color: #909090;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modname {
|
||||||
|
-fx-text-fill: #323232;
|
||||||
|
}
|
||||||
|
|
||||||
.lineHead {
|
.lineHead {
|
||||||
-fx-stroke: #d8d8d8;
|
-fx-stroke: #d8d8d8;
|
||||||
-fx-stroke-width: 10;
|
-fx-stroke-width: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.separator *.line {
|
.separator *.line {
|
||||||
|
|
|
@ -76,9 +76,9 @@ private static void writeUTF16String(HOutput output, String s) throws IOExceptio
|
||||||
private Instant cacheTime = null;
|
private Instant cacheTime = null;
|
||||||
|
|
||||||
@LauncherAPI
|
@LauncherAPI
|
||||||
public ServerPinger(InetSocketAddress address, ClientProfile.Version version) {
|
public ServerPinger(ClientProfile profile) {
|
||||||
this.address = Objects.requireNonNull(address, "address");
|
this.address = Objects.requireNonNull(profile.getServerSocketAddress(), "address");
|
||||||
this.version = Objects.requireNonNull(version, "version");
|
this.version = Objects.requireNonNull(profile.getVersion(), "version");
|
||||||
}
|
}
|
||||||
|
|
||||||
private Result doPing() throws IOException {
|
private Result doPing() throws IOException {
|
||||||
|
|
|
@ -15,10 +15,12 @@ public static void initGuard(boolean clientInstance) {
|
||||||
case "wrapper":
|
case "wrapper":
|
||||||
{
|
{
|
||||||
guard = new LauncherWrapperGuard();
|
guard = new LauncherWrapperGuard();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case "java":
|
case "java":
|
||||||
{
|
{
|
||||||
guard = new LauncherJavaGuard();
|
guard = new LauncherJavaGuard();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,6 +27,8 @@ public abstract class ClientJSONPoint {
|
||||||
private static final EventLoopGroup group = new NioEventLoopGroup();
|
private static final EventLoopGroup group = new NioEventLoopGroup();
|
||||||
protected WebSocketClientHandler webSocketClientHandler;
|
protected WebSocketClientHandler webSocketClientHandler;
|
||||||
protected Bootstrap bootstrap = new Bootstrap();
|
protected Bootstrap bootstrap = new Bootstrap();
|
||||||
|
protected boolean ssl = false;
|
||||||
|
protected int port = -1;
|
||||||
public boolean isClosed;
|
public boolean isClosed;
|
||||||
|
|
||||||
public ClientJSONPoint(final String uri) throws SSLException {
|
public ClientJSONPoint(final String uri) throws SSLException {
|
||||||
|
@ -39,11 +41,16 @@ public ClientJSONPoint(URI uri) throws SSLException {
|
||||||
if (!"ws".equals(protocol) && !"wss".equals(protocol)) {
|
if (!"ws".equals(protocol) && !"wss".equals(protocol)) {
|
||||||
throw new IllegalArgumentException("Unsupported protocol: " + protocol);
|
throw new IllegalArgumentException("Unsupported protocol: " + protocol);
|
||||||
}
|
}
|
||||||
boolean ssl = false;
|
|
||||||
if("wss".equals(protocol))
|
if("wss".equals(protocol))
|
||||||
{
|
{
|
||||||
ssl = true;
|
ssl = true;
|
||||||
}
|
}
|
||||||
|
if(uri.getPort() == -1)
|
||||||
|
{
|
||||||
|
if("ws".equals(protocol)) port = 80;
|
||||||
|
else port = 443;
|
||||||
|
}
|
||||||
|
else port = uri.getPort();
|
||||||
final SslContext sslCtx;
|
final SslContext sslCtx;
|
||||||
if (ssl) {
|
if (ssl) {
|
||||||
sslCtx = SslContextBuilder.forClient().build();
|
sslCtx = SslContextBuilder.forClient().build();
|
||||||
|
@ -55,7 +62,7 @@ public ClientJSONPoint(URI uri) throws SSLException {
|
||||||
public void initChannel(SocketChannel ch) throws Exception {
|
public void initChannel(SocketChannel ch) throws Exception {
|
||||||
ChannelPipeline pipeline = ch.pipeline();
|
ChannelPipeline pipeline = ch.pipeline();
|
||||||
if (sslCtx != null) {
|
if (sslCtx != null) {
|
||||||
pipeline.addLast(sslCtx.newHandler(ch.alloc()));
|
pipeline.addLast(sslCtx.newHandler(ch.alloc(), uri.getHost(), port));
|
||||||
}
|
}
|
||||||
pipeline.addLast("http-codec", new HttpClientCodec());
|
pipeline.addLast("http-codec", new HttpClientCodec());
|
||||||
pipeline.addLast("aggregator", new HttpObjectAggregator(65536));
|
pipeline.addLast("aggregator", new HttpObjectAggregator(65536));
|
||||||
|
@ -70,7 +77,7 @@ public void open() throws Exception {
|
||||||
new WebSocketClientHandler(
|
new WebSocketClientHandler(
|
||||||
WebSocketClientHandshakerFactory.newHandshaker(
|
WebSocketClientHandshakerFactory.newHandshaker(
|
||||||
uri, WebSocketVersion.V13, null, false, EmptyHttpHeaders.INSTANCE, 1280000), this);
|
uri, WebSocketVersion.V13, null, false, EmptyHttpHeaders.INSTANCE, 1280000), this);
|
||||||
ch = bootstrap.connect(uri.getHost(), uri.getPort()).sync().channel();
|
ch = bootstrap.connect(uri.getHost(), port).sync().channel();
|
||||||
webSocketClientHandler.handshakeFuture().sync();
|
webSocketClientHandler.handshakeFuture().sync();
|
||||||
}
|
}
|
||||||
public ChannelFuture send(String text)
|
public ChannelFuture send(String text)
|
||||||
|
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,5 +1,5 @@
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|
18
gradlew
vendored
18
gradlew
vendored
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright 2015 the original author or authors.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
##
|
##
|
||||||
## Gradle start up script for UN*X
|
## Gradle start up script for UN*X
|
||||||
|
@ -28,7 +44,7 @@ APP_NAME="Gradle"
|
||||||
APP_BASE_NAME=`basename "$0"`
|
APP_BASE_NAME=`basename "$0"`
|
||||||
|
|
||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m"'
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
MAX_FD="maximum"
|
MAX_FD="maximum"
|
||||||
|
|
18
gradlew.bat
vendored
18
gradlew.bat
vendored
|
@ -1,3 +1,19 @@
|
||||||
|
@rem
|
||||||
|
@rem Copyright 2015 the original author or authors.
|
||||||
|
@rem
|
||||||
|
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
@rem you may not use this file except in compliance with the License.
|
||||||
|
@rem You may obtain a copy of the License at
|
||||||
|
@rem
|
||||||
|
@rem http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
@rem
|
||||||
|
@rem Unless required by applicable law or agreed to in writing, software
|
||||||
|
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@rem See the License for the specific language governing permissions and
|
||||||
|
@rem limitations under the License.
|
||||||
|
@rem
|
||||||
|
|
||||||
@if "%DEBUG%" == "" @echo off
|
@if "%DEBUG%" == "" @echo off
|
||||||
@rem ##########################################################################
|
@rem ##########################################################################
|
||||||
@rem
|
@rem
|
||||||
|
@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0
|
||||||
set APP_HOME=%DIRNAME%
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
set DEFAULT_JVM_OPTS="-Xmx64m"
|
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||||
|
|
||||||
@rem Find java.exe
|
@rem Find java.exe
|
||||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||||
|
|
|
@ -18,7 +18,7 @@ public final class Version {
|
||||||
public static final int MAJOR = 5;
|
public static final int MAJOR = 5;
|
||||||
public static final int MINOR = 0;
|
public static final int MINOR = 0;
|
||||||
public static final int PATCH = 0;
|
public static final int PATCH = 0;
|
||||||
public static final int BUILD = 5;
|
public static final int BUILD = 6;
|
||||||
public static final Version.Type RELEASE = Version.Type.BETA;
|
public static final Version.Type RELEASE = Version.Type.BETA;
|
||||||
|
|
||||||
@LauncherAPI
|
@LauncherAPI
|
||||||
|
|
|
@ -9,12 +9,12 @@
|
||||||
|
|
||||||
public class JarHelper {
|
public class JarHelper {
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
interface ZipWalkCallback
|
public interface ZipWalkCallback
|
||||||
{
|
{
|
||||||
void process(ZipInputStream input, ZipEntry e);
|
void process(ZipInputStream input, ZipEntry e);
|
||||||
}
|
}
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
interface JarWalkCallback
|
public interface JarWalkCallback
|
||||||
{
|
{
|
||||||
void process(ZipInputStream input, ZipEntry e, String fullClassName, String clazz);
|
void process(ZipInputStream input, ZipEntry e, String fullClassName, String clazz);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue