From a3df50b79c189f8034c21cb86c1064342d185f76 Mon Sep 17 00:00:00 2001 From: Flooflez Date: Sat, 2 Apr 2022 12:22:55 +0800 Subject: [PATCH] Clean up + Resize Button Deleted a bunch of unused files and cleaned up OpenToLanScreenMixin --- .../lan/mixin/CustomOpenToLANTextMixin.java | 5 - .../ngrok/lan/mixin/ExampleMixin.java | 19 --- .../alujjdnd/ngrok/lan/mixin/NgrokLaunch.java | 144 ------------------ .../ngrok/lan/mixin/OpenToLanScreenMixin.java | 38 ++--- src/main/resources/ngroklan.mixins.json | 1 - 5 files changed, 11 insertions(+), 196 deletions(-) delete mode 100644 src/main/java/alujjdnd/ngrok/lan/mixin/CustomOpenToLANTextMixin.java delete mode 100644 src/main/java/alujjdnd/ngrok/lan/mixin/ExampleMixin.java delete mode 100644 src/main/java/alujjdnd/ngrok/lan/mixin/NgrokLaunch.java diff --git a/src/main/java/alujjdnd/ngrok/lan/mixin/CustomOpenToLANTextMixin.java b/src/main/java/alujjdnd/ngrok/lan/mixin/CustomOpenToLANTextMixin.java deleted file mode 100644 index 07e3b30..0000000 --- a/src/main/java/alujjdnd/ngrok/lan/mixin/CustomOpenToLANTextMixin.java +++ /dev/null @@ -1,5 +0,0 @@ -package alujjdnd.ngrok.lan.mixin; - -public class CustomOpenToLANTextMixin { - -} diff --git a/src/main/java/alujjdnd/ngrok/lan/mixin/ExampleMixin.java b/src/main/java/alujjdnd/ngrok/lan/mixin/ExampleMixin.java deleted file mode 100644 index ef7ae22..0000000 --- a/src/main/java/alujjdnd/ngrok/lan/mixin/ExampleMixin.java +++ /dev/null @@ -1,19 +0,0 @@ -package alujjdnd.ngrok.lan.mixin; - -import alujjdnd.ngrok.lan.NgrokLan; -import net.minecraft.client.gui.screen.TitleScreen; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(TitleScreen.class) -public class ExampleMixin { - @Inject(at = @At("HEAD"), method = "init()V") - private void init(CallbackInfo info) { - NgrokLan.LOGGER.info("This line is printed by an example mod mixin!"); - } - - -} - diff --git a/src/main/java/alujjdnd/ngrok/lan/mixin/NgrokLaunch.java b/src/main/java/alujjdnd/ngrok/lan/mixin/NgrokLaunch.java deleted file mode 100644 index 6e10738..0000000 --- a/src/main/java/alujjdnd/ngrok/lan/mixin/NgrokLaunch.java +++ /dev/null @@ -1,144 +0,0 @@ -package alujjdnd.ngrok.lan.mixin; - -import alujjdnd.ngrok.lan.NgrokLan; - -// import net.minecraft.client.gui.hud.ChatHud; -// import net.minecraft.network.MessageType; - -import alujjdnd.ngrok.lan.config.NLanConfig; -import me.shedaniel.autoconfig.AutoConfig; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.github.alexdlaird.ngrok.NgrokClient; -import com.github.alexdlaird.ngrok.protocol.CreateTunnel; -import com.github.alexdlaird.ngrok.protocol.Proto; -import com.github.alexdlaird.ngrok.protocol.Tunnel; -import com.github.alexdlaird.ngrok.conf.JavaNgrokConfig; -import com.github.alexdlaird.ngrok.protocol.Region; - -import net.minecraft.client.MinecraftClient; -import net.minecraft.server.integrated.IntegratedServer; -import net.minecraft.world.GameMode; - -import net.minecraft.text.LiteralText; - -import java.lang.Thread; - -import java.io.File; // Import the File class -import java.io.IOException; // Import the IOException class to handle errors -import java.io.FileWriter; // Import the FileWriter class -import java.io.IOException; // Import the IOException class to handle errors -import java.util.*; -import java.text.*; - -@Mixin(IntegratedServer.class) - - -public class NgrokLaunch { - - // Reads the NLangConfig (ClothConfig) fields in the ModMenu, stores it under "config." - NLanConfig config = AutoConfig.getConfigHolder(NLanConfig.class).getConfig(); - - //MC Client Configuration, for printing in chat - MinecraftClient mc = MinecraftClient.getInstance(); - - private void ngrokInit(int port, Region region){ - - //Defines a new threaded function to oepn the Ngrok tunnel, so that the "Open to LAN" button does not hitch - this thread runs in a seperate process from the main game loop - Thread thread = new Thread(() -> - { - // Check if mod is enabled in the ModMenu - if (false) { - if (config.authToken == "AuthToken") { - // Check if authToken field has actually been changed, if not, print this text in chat - mc.inGameHud.getChatHud().addMessage(new LiteralText("\u00a7cPlease set your Ngrok AuthToken! Do this in your menu > Mods > Ngrok LAN > Sliders Icon > Auth Token")); - } else { - try { - NgrokLan.LOGGER.info("Launched Lan!"); - - mc.inGameHud.getChatHud().addMessage(new LiteralText("\u00a7eStarting Ngrok Service...")); - - // Java-ngrok wrapper code, to initiate the tunnel, with the authoken, region - final JavaNgrokConfig javaNgrokConfig = new JavaNgrokConfig.Builder() - .withAuthToken(config.authToken) - .withRegion(region) - .build(); - - final NgrokClient ngrokClient = new NgrokClient.Builder() - .withJavaNgrokConfig(javaNgrokConfig) - .build(); - - final CreateTunnel createTunnel = new CreateTunnel.Builder() - .withProto(Proto.TCP) - .withAddr(port) - .build(); - - final Tunnel tunnel = ngrokClient.connect(createTunnel); - - - NgrokLan.LOGGER.info(tunnel.getPublicUrl()); - - var ngrok_url = tunnel.getPublicUrl().substring(6); - - // Print in chat the status of the tunnel, and the details copied to the clipboard - mc.inGameHud.getChatHud().addMessage(new LiteralText("\u00a7aNgrok Service Initiated Successfully!")); - mc.inGameHud.getChatHud().addMessage(new LiteralText("Your server IP is - \u00a7e" + ngrok_url + "\u00a7f (Copied to Clipboard)")); - mc.keyboard.setClipboard(ngrok_url); - } catch (Exception error) { - error.printStackTrace(); - - // Notify user of unsuccessful tunnel initiations - mc.inGameHud.getChatHud().addMessage(new LiteralText(error.getMessage())); - mc.inGameHud.getChatHud().addMessage(new LiteralText("\u00a7cNgrok Service Initiation Failed!")); - } - } - } else { - // This is printed when the boolean from config "enabledCheckBox" is false - mc.inGameHud.getChatHud().addMessage(new LiteralText("\u00a76Ngrok LAN Disabled.")); - } - }); - - // This starts the thread defined above - thread.start(); - - } - -// @Inject(method = "openToLan", at = @At("RETURN")) -// private void onOpenToLan(GameMode gameMode, boolean cheatsAllowed, int port, CallbackInfoReturnable cir) -// { -// -// // Switch statement for selecting the region, reading off of the config.regionselect enum -// switch (config.regionSelect) { -// case US: -// ngrokInit(port, Region.US); -// break; -// case EU: -// ngrokInit(port, Region.EU); -// break; -// case AP: -// ngrokInit(port, Region.AP); -// break; -// case AU: -// ngrokInit(port, Region.AU); -// break; -// case SA: -// ngrokInit(port, Region.SA); -// break; -// case JP: -// ngrokInit(port, Region.JP); -// break; -// case IN: -// ngrokInit(port, Region.IN); -// break; -// } -// -// -// -// } -} - - diff --git a/src/main/java/alujjdnd/ngrok/lan/mixin/OpenToLanScreenMixin.java b/src/main/java/alujjdnd/ngrok/lan/mixin/OpenToLanScreenMixin.java index e88b26d..0afc383 100644 --- a/src/main/java/alujjdnd/ngrok/lan/mixin/OpenToLanScreenMixin.java +++ b/src/main/java/alujjdnd/ngrok/lan/mixin/OpenToLanScreenMixin.java @@ -44,36 +44,22 @@ protected OpenToLanScreenMixin(Text title) { @Inject(method = "init", at = @At("HEAD")) private void initWidgets(CallbackInfo info) { - if (config.enabledCheckBox == true) { //TODO: check mod enabled - this.addDrawableChild(new ButtonWidget(this.width / 2 + 104, this.height / 4 + 120 + -16, 20, 20, new TranslatableText("text.autoconfig.ngroklan.LanButton"), (button) -> { + if (config.enabledCheckBox) { //if mod enabled in mod menu + this.addDrawableChild(new ButtonWidget(this.width / 2 - 155, this.height - 58, 150, 20, new TranslatableText("text.autoconfig.ngroklan.LanButton"), (button) -> { - this.client.setScreen((Screen) null); + this.client.setScreen(null); int i = NetworkUtils.findLocalPort(); TranslatableText text; if (this.client.getServer().openToLan(this.gameMode, this.allowCommands, i)) { switch (config.regionSelect) { - case US: - ngrokInit(i, Region.US); - break; - case EU: - ngrokInit(i, Region.EU); - break; - case AP: - ngrokInit(i, Region.AP); - break; - case AU: - ngrokInit(i, Region.AU); - break; - case SA: - ngrokInit(i, Region.SA); - break; - case JP: - ngrokInit(i, Region.JP); - break; - case IN: - ngrokInit(i, Region.IN); - break; + case US -> ngrokInit(i, Region.US); + case EU -> ngrokInit(i, Region.EU); + case AP -> ngrokInit(i, Region.AP); + case AU -> ngrokInit(i, Region.AU); + case SA -> ngrokInit(i, Region.SA); + case JP -> ngrokInit(i, Region.JP); + case IN -> ngrokInit(i, Region.IN); } text = new TranslatableText("commands.publish.started", new Object[]{i}); @@ -92,8 +78,7 @@ private void ngrokInit(int port, Region region) { //Defines a new threaded function to oepn the Ngrok tunnel, so that the "Open to LAN" button does not hitch - this thread runs in a seperate process from the main game loop Thread thread = new Thread(() -> { - // Check if mod is enabled in the ModMenu - if (config.authToken == "AuthToken") { + if (config.authToken.equals("AuthToken")) { // Check if authToken field has actually been changed, if not, print this text in chat mc.inGameHud.getChatHud().addMessage(new LiteralText("\u00a7cPlease set your Ngrok AuthToken! Do this in your menu > Mods > Ngrok LAN > Sliders Icon > Auth Token")); } else { @@ -119,7 +104,6 @@ private void ngrokInit(int port, Region region) { final Tunnel tunnel = ngrokClient.connect(createTunnel); - NgrokLan.LOGGER.info(tunnel.getPublicUrl()); var ngrok_url = tunnel.getPublicUrl().substring(6); diff --git a/src/main/resources/ngroklan.mixins.json b/src/main/resources/ngroklan.mixins.json index 640de95..0ae2d59 100644 --- a/src/main/resources/ngroklan.mixins.json +++ b/src/main/resources/ngroklan.mixins.json @@ -7,7 +7,6 @@ ], "client": [ - "ExampleMixin", "OpenToLanScreenMixin" ], "injectors": {