Merge branch 'release/5.0.0b6'

This commit is contained in:
Gravit 2019-05-08 14:36:50 +07:00
commit 4004d2f53c
No known key found for this signature in database
GPG key ID: 061981E1E85D3216
24 changed files with 231 additions and 135 deletions

View file

@ -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(() -> {

View file

@ -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'
} }

View file

@ -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

View file

@ -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" />

View file

@ -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 --*/

View file

@ -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>

View file

@ -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 */

View file

@ -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>

View file

@ -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" />

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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) {

View file

@ -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 {

View file

@ -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 {

View file

@ -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:
{ {

View file

@ -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)

Binary file not shown.

View file

@ -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
View file

@ -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
View file

@ -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

View file

@ -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

View file

@ -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);
} }