diff --git a/.gitignore b/.gitignore
index 4b82ef1..a43309c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,3 @@ out/
*.ipr
*.iws
*.ids
-
-## MAVEN ##
-target/
diff --git a/README.MD b/README.MD
new file mode 100644
index 0000000..2ff786a
--- /dev/null
+++ b/README.MD
@@ -0,0 +1,3 @@
+# MC-CORE
+
+Minecraft server
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 3864046..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
- 4.0.0
- MC Core
-
- mc
- core
- 1.0-SNAPSHOT
-
-
- UTF-8
- 1.8
- 1.7.21
- 2.5
- 4.2.5.RELEASE
- 4.1.22.Final
-
-
-
-
-
- org.slf4j
- slf4j-api
- ${slf4j.version}
-
-
- org.slf4j
- jcl-over-slf4j
- ${slf4j.version}
-
-
- org.apache.logging.log4j
- log4j-core
- ${log4j.version}
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
- ${log4j.version}
-
-
-
-
- org.springframework
- spring-context
- ${spring.version}
-
-
- commons-logging
- commons-logging
-
-
-
-
-
-
- io.netty
- netty-all
- ${netty.version}
-
-
-
-
- org.projectlombok
- lombok
- 1.16.16
-
-
- commons-io
- commons-io
- 2.6
-
-
- com.google.guava
- guava
- 24.1-jre
-
-
- com.google.code.gson
- gson
- 2.8.2
-
-
-
-
- ${project.artifactId}-${project.version}
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.5.1
-
- ${java.version}
- ${java.version}
- ${project.build.sourceEncoding}
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 2.15
-
- -Dfile.encoding=${project.build.sourceEncoding}
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 2.4
-
-
-
- true
- dependency/
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
- 2.8
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/java/mc/core/ByteArrayOutputNetStream.java b/src/main/java/mc/core/ByteArrayOutputNetStream.java
deleted file mode 100644
index 03e2902..0000000
--- a/src/main/java/mc/core/ByteArrayOutputNetStream.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * DmitriyMX
- * 2018-04-08
- */
-package mc.core;
-
-import java.io.ByteArrayOutputStream;
-
-public class ByteArrayOutputNetStream extends NetStream {
- private ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- @Override
- public byte readByte() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void readBytes(byte[] buffer) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public int readUnsignedShort() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void writeByte(int value) {
- baos.write(value);
- }
-
- @Override
- public void writeBytes(byte[] buffer) {
- baos.write(buffer, 0, buffer.length);
- }
-
- public byte[] toByteArray() {
- return baos.toByteArray();
- }
-}
diff --git a/src/main/java/mc/core/CSPacket.java b/src/main/java/mc/core/CSPacket.java
deleted file mode 100644
index 319ba81..0000000
--- a/src/main/java/mc/core/CSPacket.java
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * DmitriyMX
- * 2018-04-08
- */
-package mc.core;
-
-public interface CSPacket {
- default void readSelf(NetStream netStream) {
- }
-}
diff --git a/src/main/java/mc/core/Config.java b/src/main/java/mc/core/Config.java
deleted file mode 100644
index 247c2e0..0000000
--- a/src/main/java/mc/core/Config.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * DmitriyMX
- * 2018-04-08
- */
-package mc.core;
-
-public interface Config {
- int getMaxPlayers();
- String getDescriptionServer();
- byte[] getFaviconBase64();
- String getHost();
- int getPort();
-}
diff --git a/src/main/java/mc/core/Main.java b/src/main/java/mc/core/Main.java
deleted file mode 100644
index 440cf83..0000000
--- a/src/main/java/mc/core/Main.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * DmitriyMX
- * 2018-03-25
- */
-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 ApplicationContext appContext; //FIXME
-
- public static void main(String[] args) {
- appContext = new ClassPathXmlApplicationContext("spring.xml");
- Config config = appContext.getBean("config", Config.class);
-
- Server server = appContext.getBean("server", Server.class);
- try {
- server.start(config.getHost(), config.getPort());
- } catch (StartServerException e) {
- log.error("Can't start server", e);
- }
- }
-}
diff --git a/src/main/java/mc/core/NetStream.java b/src/main/java/mc/core/NetStream.java
deleted file mode 100644
index 5305236..0000000
--- a/src/main/java/mc/core/NetStream.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * DmitriyMX
- * 2018-03-28
- */
-package mc.core;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.extern.slf4j.Slf4j;
-
-import java.nio.charset.StandardCharsets;
-
-@Slf4j
-public abstract class NetStream {
- @Getter
- @Setter
- private int expectedSize;
-
- public static int sizeVarInt(final int value) {
- byte size = 0;
- int v = value;
-
- do {
- v >>>= 7;
- size++;
- } while (v != 0);
-
- return size;
- }
-
- public int readVarInt() {
- int result = 0;
- byte read;
- byte numRead = 0;
-
- do {
- read = readByte();
- int value = (read & 0b01111111);
- result |= (value << (7 * numRead));
-
- numRead++;
- if (numRead > 5) {
- log.debug("VarInt is too big!");
- break;
- }
- } while ((read & 0b10000000) != 0);
-
- return result;
- }
-
- public void writeVarInt(int value) {
- do {
- byte temp = (byte)(value & 0b01111111);
- value >>>= 7;
- if (value != 0) {
- temp |= 0b10000000;
- }
-
- writeByte(temp);
- } while (value != 0);
- }
-
- public String readString() {
- int length = readVarInt();
-
- byte[] buffer = new byte[length];
- readBytes(buffer);
-
- return new String(buffer, StandardCharsets.UTF_8);
- }
-
- public void writeString(String value) {
- writeVarInt(value.length());
- writeBytes(value.getBytes());
- }
-
- public abstract byte readByte();
- public abstract void readBytes(byte[] buffer);
- public abstract int readUnsignedShort();
-
- public abstract void writeByte(int value);
- public abstract void writeBytes(byte[] buffer);
-
-
-}
diff --git a/src/main/java/mc/core/SCPacket.java b/src/main/java/mc/core/SCPacket.java
deleted file mode 100644
index 161b47e..0000000
--- a/src/main/java/mc/core/SCPacket.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * DmitriyMX
- * 2018-04-08
- */
-package mc.core;
-
-public interface SCPacket {
- byte[] toByteArray();
-}
diff --git a/src/main/java/mc/core/Server.java b/src/main/java/mc/core/Server.java
deleted file mode 100644
index 19ee13b..0000000
--- a/src/main/java/mc/core/Server.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * DmitriyMX
- * 2018-03-25
- */
-package mc.core;
-
-public interface Server {
- void start(String host, int port) throws StartServerException;
-}
diff --git a/src/main/java/mc/core/StartServerException.java b/src/main/java/mc/core/StartServerException.java
deleted file mode 100644
index 9005c3e..0000000
--- a/src/main/java/mc/core/StartServerException.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * DmitriyMX
- * 2018-03-25
- */
-package mc.core;
-
-public class StartServerException extends Exception {
- public StartServerException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/src/main/java/mc/core/embedded/ConfigFromSpring.java b/src/main/java/mc/core/embedded/ConfigFromSpring.java
deleted file mode 100644
index 215f77a..0000000
--- a/src/main/java/mc/core/embedded/ConfigFromSpring.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * DmitriyMX
- * 2018-04-08
- */
-package mc.core.embedded;
-
-import lombok.Getter;
-import lombok.Setter;
-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 {
- @Setter
- private String descriptionServer;
- private byte[] faviconBase64;
- @Setter
- private int maxPlayers;
- @Setter
- private String host;
- @Setter
- private int port;
-
- public void setFaviconBase64(File faviconImageFile) {
- log.debug("faviconImageFile: {}", faviconImageFile.getAbsolutePath());
- try {
- faviconBase64 = Base64.getEncoder().encode(
- FileUtils.readFileToByteArray(faviconImageFile)
- );
- } catch (IOException e) {
- log.warn("Can't load favicon", e);
- faviconBase64 = null;
- }
- }
-}
diff --git a/src/main/java/mc/core/netty/NettyServer.java b/src/main/java/mc/core/netty/NettyServer.java
deleted file mode 100644
index 74478d9..0000000
--- a/src/main/java/mc/core/netty/NettyServer.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * DmitriyMX
- * 2018-03-25
- */
-package mc.core.netty;
-
-import io.netty.bootstrap.ServerBootstrap;
-import io.netty.channel.ChannelInitializer;
-import io.netty.channel.EventLoopGroup;
-import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.channel.socket.SocketChannel;
-import io.netty.channel.socket.nio.NioServerSocketChannel;
-import io.netty.handler.logging.LoggingHandler;
-import mc.core.Server;
-import mc.core.StartServerException;
-
-public class NettyServer implements Server {
- private EventLoopGroup bossGroup, workerGroup;
-
- private ChannelInitializer buildChannelInitializer() {
- return new ChannelInitializer() {
- @Override
- protected void initChannel(SocketChannel socketChannel) {
- socketChannel.pipeline().addLast(
- new LoggingHandler(),
- new PacketEncoder(),
- new PacketDecoder(),
- new PacketHandler()
- );
- }
- };
- }
-
- private ServerBootstrap buildServerBootstrap() {
- ServerBootstrap bootstrap = new ServerBootstrap();
-
- bootstrap.group(bossGroup, workerGroup)
- .channel(NioServerSocketChannel.class)
- .childHandler(buildChannelInitializer());
-
- return bootstrap;
- }
-
- @Override
- public void start(String host, int port) throws StartServerException {
- bossGroup = new NioEventLoopGroup(1);
- workerGroup = new NioEventLoopGroup();
-
- ServerBootstrap serverBootstrap = buildServerBootstrap();
-
- try {
- serverBootstrap.bind(host, port).sync().channel().closeFuture().sync();
- } catch (InterruptedException e) {
- throw new StartServerException(e);
- }
- }
-}
diff --git a/src/main/java/mc/core/netty/PacketDecoder.java b/src/main/java/mc/core/netty/PacketDecoder.java
deleted file mode 100644
index 7269146..0000000
--- a/src/main/java/mc/core/netty/PacketDecoder.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * DmitriyMX
- * 2018-03-25
- */
-package mc.core.netty;
-
-import io.netty.buffer.ByteBuf;
-import io.netty.channel.ChannelHandlerContext;
-import io.netty.handler.codec.ByteToMessageDecoder;
-import lombok.extern.slf4j.Slf4j;
-import mc.core.CSPacket;
-import mc.core.NetStream;
-import mc.core.netty.packets.RawPacket;
-
-import java.util.List;
-
-@Slf4j
-public class PacketDecoder extends ByteToMessageDecoder {
- @Override
- public void channelActive(ChannelHandlerContext ctx) throws Exception {
- ctx.channel().attr(State.ATTR_STATE).set(State.STATUS);
- ctx.fireChannelActive();
- }
-
- @Override
- public void channelInactive(ChannelHandlerContext ctx) throws Exception {
- ctx.channel().attr(State.ATTR_STATE).set(null);
- ctx.fireChannelInactive();
- }
-
- @Override
- protected void decode(ChannelHandlerContext ctx, ByteBuf in, List