diff --git a/pom.xml b/pom.xml
index 9822425..1e5e435 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,6 +59,11 @@
lombok
1.16.16
+
+ commons-io
+ commons-io
+ 2.6
+
diff --git a/src/main/java/mc/core/Config.java b/src/main/java/mc/core/Config.java
new file mode 100644
index 0000000..a772dd1
--- /dev/null
+++ b/src/main/java/mc/core/Config.java
@@ -0,0 +1,11 @@
+/*
+ * DmitriyMX
+ * 2018-04-08
+ */
+package mc.core;
+
+public interface Config {
+ int getMaxPlayers();
+ String getDescriptionServer();
+ String getFaviconBase64();
+}
diff --git a/src/main/java/mc/core/Main.java b/src/main/java/mc/core/Main.java
index 19d18dc..6d4275f 100644
--- a/src/main/java/mc/core/Main.java
+++ b/src/main/java/mc/core/Main.java
@@ -4,11 +4,18 @@
*/
package mc.core;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
+@Slf4j
public class Main {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
+ Config config = context.getBean("config", Config.class);
+
+ log.info("Description: {}", config.getDescriptionServer());
+ log.info("Max online: {}", config.getMaxPlayers());
+ log.info("Favicon (base64): {}", config.getFaviconBase64());
}
}
diff --git a/src/main/java/mc/core/embedded/ConfigFromSpring.java b/src/main/java/mc/core/embedded/ConfigFromSpring.java
new file mode 100644
index 0000000..5c4841e
--- /dev/null
+++ b/src/main/java/mc/core/embedded/ConfigFromSpring.java
@@ -0,0 +1,37 @@
+/*
+ * DmitriyMX
+ * 2018-04-08
+ */
+package mc.core.embedded;
+
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+import mc.core.Config;
+import org.apache.commons.io.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Base64;
+
+@Slf4j
+@Getter
+public class ConfigFromSpring implements Config {
+ private String descriptionServer;
+ private String faviconBase64;
+ private int maxPlayers;
+
+ public ConfigFromSpring(String descriptionServer, int maxPlayers, File faviconImageFile) {
+ this.descriptionServer = descriptionServer;
+ this.maxPlayers = maxPlayers;
+ try {
+ faviconBase64 = new String(
+ Base64.getEncoder().encode(
+ FileUtils.readFileToByteArray(faviconImageFile)
+ )
+ );
+ } catch (IOException e) {
+ log.warn("Con't load favicon", e);
+ faviconBase64 = null;
+ }
+ }
+}
diff --git a/src/main/resources/icon.png b/src/main/resources/icon.png
new file mode 100644
index 0000000..d512fc5
Binary files /dev/null and b/src/main/resources/icon.png differ
diff --git a/src/main/resources/spring.xml b/src/main/resources/spring.xml
index 60dc04d..d71d9fa 100644
--- a/src/main/resources/spring.xml
+++ b/src/main/resources/spring.xml
@@ -2,4 +2,9 @@
+
+
+
+
+
\ No newline at end of file