From 3136dd76970482f957e21fe92167f1cc1361d8d8 Mon Sep 17 00:00:00 2001 From: Nicolas BARBOTIN Date: Sun, 4 Feb 2018 00:37:06 +0100 Subject: [PATCH] + The 'YT' button is back + Now adds protocol automatically on URLs * Fix of remote URL peripheral * Updated README --- README.md | 4 - .../montoyo/wd/client/JSQueryDispatcher.java | 7 +- .../wd/client/gui/GuiRedstoneCtrl.java | 8 +- .../net/montoyo/wd/client/gui/GuiSetURL2.java | 21 ++-- .../wd/client/gui/controls/Button.java | 28 +++-- .../wd/client/gui/controls/TextField.java | 29 ++++- .../wd/client/gui/controls/YTButton.java | 78 +++++++++++++ .../wd/client/gui/loading/GuiLoader.java | 1 + .../java/net/montoyo/wd/data/SetURLData.java | 15 ++- .../montoyo/wd/entity/TileEntityRCtrl.java | 2 +- .../montoyo/wd/net/SMessageScreenCtrl.java | 63 ++++++++--- .../java/net/montoyo/wd/utilities/Util.java | 19 ++-- .../assets/webdisplays/gui/redstonectrl.json | 20 +++- .../assets/webdisplays/gui/seturl.json | 105 +++++++++--------- 14 files changed, 283 insertions(+), 117 deletions(-) create mode 100644 src/main/java/net/montoyo/wd/client/gui/controls/YTButton.java diff --git a/README.md b/README.md index af494e3..5ceb249 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,10 @@ This is the unfinished port of the WebDisplays mod for Minecraft 1.12.2. The tex * Read config (see "Config elements" below) ### TODO -* GuiSetURL2 missing buttons -* Automatically add protocol to URLs -* Using the remote control tool too far away (with a chunk loader ofc) may trigger distance guard in SMessageScreenCtrl * French translations * minePad management: check GuiContainer.draggedStack for minePad * Change mod name to WD2 * Put a limit on screen resolution -* YT button (also add it to the redstone controller gui) ### Config elements * Site blacklist diff --git a/src/main/java/net/montoyo/wd/client/JSQueryDispatcher.java b/src/main/java/net/montoyo/wd/client/JSQueryDispatcher.java index bdf6650..8a3060d 100644 --- a/src/main/java/net/montoyo/wd/client/JSQueryDispatcher.java +++ b/src/main/java/net/montoyo/wd/client/JSQueryDispatcher.java @@ -19,10 +19,7 @@ import net.montoyo.wd.core.IUpgrade; import net.montoyo.wd.core.JSServerRequest; import net.montoyo.wd.entity.TileEntityScreen; import net.montoyo.wd.net.SMessageScreenCtrl; -import net.montoyo.wd.utilities.BlockSide; -import net.montoyo.wd.utilities.Log; -import net.montoyo.wd.utilities.Vector2i; -import net.montoyo.wd.utilities.Vector3i; +import net.montoyo.wd.utilities.*; import java.util.ArrayDeque; import java.util.ArrayList; @@ -336,7 +333,7 @@ public final class JSQueryDispatcher { sb.append(','); sb.append('\"'); - sb.append(((IUpgrade) upgrades.get(i).getItem()).getJSName(upgrades.get(i))); + sb.append(Util.addSlashes(((IUpgrade) upgrades.get(i).getItem()).getJSName(upgrades.get(i)))); sb.append('\"'); } diff --git a/src/main/java/net/montoyo/wd/client/gui/GuiRedstoneCtrl.java b/src/main/java/net/montoyo/wd/client/gui/GuiRedstoneCtrl.java index 4f31b0a..3e50c0d 100644 --- a/src/main/java/net/montoyo/wd/client/gui/GuiRedstoneCtrl.java +++ b/src/main/java/net/montoyo/wd/client/gui/GuiRedstoneCtrl.java @@ -10,6 +10,7 @@ import net.montoyo.wd.client.gui.controls.Button; import net.montoyo.wd.client.gui.controls.TextField; import net.montoyo.wd.client.gui.loading.FillControl; import net.montoyo.wd.net.SMessageRedstoneCtrl; +import net.montoyo.wd.utilities.Util; import net.montoyo.wd.utilities.Vector3i; public class GuiRedstoneCtrl extends WDScreen { @@ -48,8 +49,11 @@ public class GuiRedstoneCtrl extends WDScreen { @GuiSubscribe public void onClick(Button.ClickEvent ev) { - if(ev.getSource() == btnOk) - WebDisplays.NET_HANDLER.sendToServer(new SMessageRedstoneCtrl(dimension, pos, tfRisingEdge.getText(), tfFallingEdge.getText())); + if(ev.getSource() == btnOk) { + String rising = Util.addProtocol(tfRisingEdge.getText()); + String falling = Util.addProtocol(tfFallingEdge.getText()); + WebDisplays.NET_HANDLER.sendToServer(new SMessageRedstoneCtrl(dimension, pos, rising, falling)); + } mc.displayGuiScreen(null); } diff --git a/src/main/java/net/montoyo/wd/client/gui/GuiSetURL2.java b/src/main/java/net/montoyo/wd/client/gui/GuiSetURL2.java index ae0ed6f..c271efc 100644 --- a/src/main/java/net/montoyo/wd/client/gui/GuiSetURL2.java +++ b/src/main/java/net/montoyo/wd/client/gui/GuiSetURL2.java @@ -13,7 +13,8 @@ import net.montoyo.wd.entity.TileEntityScreen; import net.montoyo.wd.net.SMessagePadCtrl; import net.montoyo.wd.net.SMessageScreenCtrl; import net.montoyo.wd.utilities.BlockSide; -import net.montoyo.wd.utilities.Log; +import net.montoyo.wd.utilities.Util; +import net.montoyo.wd.utilities.Vector3i; import java.util.Map; @@ -22,6 +23,7 @@ public class GuiSetURL2 extends WDScreen { //Screen data private TileEntityScreen tileEntity; private BlockSide screenSide; + private Vector3i remoteLocation; //Pad data private boolean isPad; @@ -41,19 +43,17 @@ public class GuiSetURL2 extends WDScreen { @FillControl private Button btnOk; - @FillControl - private Button btnYT; - - public GuiSetURL2(TileEntityScreen tes, BlockSide side, String url) { + public GuiSetURL2(TileEntityScreen tes, BlockSide side, String url, Vector3i rl) { tileEntity = tes; screenSide = side; - screenURL = url; + remoteLocation = rl; isPad = false; + screenURL = url; } public GuiSetURL2(String url) { - screenURL = url; isPad = true; + screenURL = url; } @Override @@ -79,8 +79,7 @@ public class GuiSetURL2 extends WDScreen { WebDisplays.NET_HANDLER.sendToServer(new SMessagePadCtrl("")); mc.displayGuiScreen(null); - } else - Log.info("GuiSetURL2: TODO"); //TODO + } } @GuiSubscribe @@ -90,10 +89,12 @@ public class GuiSetURL2 extends WDScreen { private void validate(String url) { if(!url.isEmpty()) { + url = Util.addProtocol(url); + if(isPad) WebDisplays.NET_HANDLER.sendToServer(new SMessagePadCtrl(url)); else - WebDisplays.NET_HANDLER.sendToServer(new SMessageScreenCtrl(tileEntity, screenSide, url)); + WebDisplays.NET_HANDLER.sendToServer(SMessageScreenCtrl.setURL(tileEntity, screenSide, url, remoteLocation)); } mc.displayGuiScreen(null); diff --git a/src/main/java/net/montoyo/wd/client/gui/controls/Button.java b/src/main/java/net/montoyo/wd/client/gui/controls/Button.java index ad45afd..573fe8e 100644 --- a/src/main/java/net/montoyo/wd/client/gui/controls/Button.java +++ b/src/main/java/net/montoyo/wd/client/gui/controls/Button.java @@ -12,11 +12,11 @@ import java.io.IOException; public class Button extends Control { - private final GuiButton btn; - private boolean selected = false; - private boolean shiftDown = false; - private int originalColor = 0; - private int shiftColor = 0; + protected final GuiButton btn; + protected boolean selected = false; + protected boolean shiftDown = false; + protected int originalColor = 0; + protected int shiftColor = 0; public static class ClickEvent extends Event