diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2024-07-08 23:40:46 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-08 15:40:46 +0200 |
| commit | d929b60c6817be79a85513635a733384567217bd (patch) | |
| tree | be5e5d3d7ddde7ddc4820e5f2eec4d8255ef75bc /src/main/java/io/github/moulberry/notenoughupdates/miscgui | |
| parent | 24b755c74439ec10860402c34b83e0ec9bb90c28 (diff) | |
| download | notenoughupdates-d929b60c6817be79a85513635a733384567217bd.tar.gz notenoughupdates-d929b60c6817be79a85513635a733384567217bd.tar.bz2 notenoughupdates-d929b60c6817be79a85513635a733384567217bd.zip | |
meta: Add clipboard caching (#1229)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscgui')
3 files changed, 17 insertions, 41 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java index 86ea09f9..395a045f 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java @@ -40,10 +40,6 @@ import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.StringSelection; -import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -524,12 +520,9 @@ public class GuiEnchantColour extends GuiScreen { } private boolean validShareContents() { - try { - String base64 = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor); - return Objects.equals(TemplateUtil.getTemplatePrefix(base64), sharePrefix); - } catch (HeadlessException | IOException | UnsupportedFlavorException | IllegalStateException e) { - return false; - } + String base64 = Utils.getClipboard(); + if (base64 == null) return false; + return Objects.equals(TemplateUtil.getTemplatePrefix(base64), sharePrefix); } @Override @@ -630,13 +623,9 @@ public class GuiEnchantColour extends GuiScreen { if (mouseX > guiLeft + xSize + 3 && mouseX < guiLeft + xSize + 3 + 88) { if (mouseY > guiTopSidebar + 2 && mouseY < guiTopSidebar + 20 + 2) { - String base64; - try { - base64 = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor); - } catch (HeadlessException | IOException | UnsupportedFlavorException e) { - return; - } + String base64 = Utils.getClipboard(); + if (base64 == null) return; JsonArray presetArray = TemplateUtil.maybeDecodeTemplate(sharePrefix, base64, JsonArray.class); ArrayList<String> presetList = new ArrayList<>(); @@ -663,7 +652,7 @@ public class GuiEnchantColour extends GuiScreen { } String base64String = TemplateUtil.encodeTemplate(sharePrefix, jsonArray); - Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(base64String), null); + Utils.copyToClipboard(base64String); } else if (mouseY > guiTopSidebar + 2 + (24 * 2) && mouseY < guiTopSidebar + 20 + 2 + 24 * 2) { NotEnoughUpdates.INSTANCE.config.hidden.enchantColours = NEUConfig.createDefaultEnchantColours(); } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java index 2e3c7dce..e6125101 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java @@ -45,10 +45,6 @@ import net.minecraft.util.ResourceLocation; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.StringSelection; -import java.awt.datatransfer.UnsupportedFlavorException; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -680,19 +676,16 @@ public class GuiInvButtonEditor extends GuiScreen { } private boolean validShareContents() { - try { - String base64 = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor); + String base64 = Utils.getClipboard(); + if (base64 == null) return false; - if (base64.length() <= sharePrefix.length()) return false; + if (base64.length() <= sharePrefix.length()) return false; - base64 = base64.trim(); + base64 = base64.trim(); - try { - return new String(Base64.getDecoder().decode(base64)).startsWith(sharePrefix); - } catch (IllegalArgumentException e) { - return false; - } - } catch (HeadlessException | IOException | UnsupportedFlavorException | IllegalStateException e) { + try { + return new String(Base64.getDecoder().decode(base64)).startsWith(sharePrefix); + } catch (IllegalArgumentException e) { return false; } } @@ -806,13 +799,8 @@ public class GuiInvButtonEditor extends GuiScreen { if (mouseX > guiLeft - 2 - 88 - 22 && mouseX < guiLeft - 2 - 22) { if (mouseY > guiTop + 2 && mouseY < guiTop + 22) { - String base64; - - try { - base64 = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor); - } catch (HeadlessException | IOException | UnsupportedFlavorException e) { - return; - } + String base64 = Utils.getClipboard(); + if (base64 == null) return; if (base64.length() <= sharePrefix.length()) return; @@ -871,7 +859,7 @@ public class GuiInvButtonEditor extends GuiScreen { } String base64String = Base64.getEncoder().encodeToString((sharePrefix + jsonArray).getBytes(StandardCharsets.UTF_8)); - Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(base64String), null); + Utils.copyToClipboard(base64String); return; } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/Minion.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/Minion.java index 4dcb1ec2..a7b914b6 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/Minion.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/Minion.java @@ -21,7 +21,6 @@ package io.github.moulberry.notenoughupdates.miscgui.minionhelper; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.auction.APIManager; -import io.github.moulberry.notenoughupdates.core.util.MiscUtils; import io.github.moulberry.notenoughupdates.miscgui.minionhelper.render.renderables.OverviewLine; import io.github.moulberry.notenoughupdates.miscgui.minionhelper.requirements.MinionRequirement; import io.github.moulberry.notenoughupdates.miscgui.minionhelper.sources.CraftingSource; @@ -138,7 +137,7 @@ public class Minion extends OverviewLine { String bazaarName = resource.get().getKey(); int totalAmount = resource.get().getValue(); - MiscUtils.copyToClipboard(String.valueOf(totalAmount)); + Utils.copyToClipboard(String.valueOf(totalAmount)); ItemStack itemStack = new ItemResolutionQuery(NotEnoughUpdates.INSTANCE.manager).withKnownInternalName( bazaarName).resolveToItemStack(); if (itemStack != null) { |
