diff --git a/build.gradle b/build.gradle index e3bb56d..b3d0517 100644 --- a/build.gradle +++ b/build.gradle @@ -87,6 +87,8 @@ dependencies { modImplementation "ModMenu:ModMenu:${project.mod_menu_version}" + + implementation "org.slf4j:slf4j-api:1.8.0-beta4" implementation "org.apache.logging.log4j:log4j-slf4j18-impl:2.16.0" @@ -98,6 +100,7 @@ dependencies { implementation("org.apache.logging.log4j:log4j-1.2-api:${log4jVersion}") include(implementation("org.apache.commons:commons-lang3:3.12.0")) + include(implementation("org.nanohttpd:nanohttpd:2.3.1")) } java { diff --git a/gradle.properties b/gradle.properties index 7645903..7c78ddf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,6 +11,6 @@ mod_menu_version=2.0.5 halplibe_version=3.5.4 # Mod -mod_version=1.0.0 +mod_version=1.0.1 mod_group=alterdekim mod_name=offlineskin diff --git a/src/main/java/alterwain/offlineskin/OfflineSkinMod.java b/src/main/java/alterwain/offlineskin/OfflineSkinMod.java index aa50c45..68c0b11 100644 --- a/src/main/java/alterwain/offlineskin/OfflineSkinMod.java +++ b/src/main/java/alterwain/offlineskin/OfflineSkinMod.java @@ -1,5 +1,6 @@ package alterwain.offlineskin; +import alterwain.offlineskin.http.WebServer; import net.fabricmc.api.ModInitializer; import net.minecraft.core.Global; import org.slf4j.Logger; @@ -39,6 +40,13 @@ public class OfflineSkinMod implements ModInitializer, GameStartEntrypoint, Reci @Override public void onInitialize() { LOGGER.info("OfflineSkins initialized."); + new Thread(() -> { + try { + new WebServer(); + } catch (IOException e) { + LOGGER.error(e.getMessage()); + } + }).start(); } @Override diff --git a/src/main/java/alterwain/offlineskin/http/WebServer.java b/src/main/java/alterwain/offlineskin/http/WebServer.java new file mode 100644 index 0000000..549a373 --- /dev/null +++ b/src/main/java/alterwain/offlineskin/http/WebServer.java @@ -0,0 +1,26 @@ +package alterwain.offlineskin.http; + +import fi.iki.elonen.NanoHTTPD; + +import java.io.IOException; +import java.util.Map; + +public class WebServer extends NanoHTTPD { + public WebServer() throws IOException { + super(8080); + start(NanoHTTPD.SOCKET_READ_TIMEOUT, false); + System.out.println("\nRunning! Point your browsers to http://localhost:8080/ \n"); + } + + @Override + public Response serve(IHTTPSession session) { + String msg = "
Hello, " + parms.get("username") + "!
"; + } + return newFixedLengthResponse(msg + "\n"); + } +}