From 60823f76879ed6109bb1fed2708bcca973595970 Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+RacoonDog@users.noreply.github.com> Date: Sun, 20 Nov 2022 06:53:23 -0500 Subject: [PATCH] update (#13) --- gradle.properties | 12 ++--- .../java/anticope/esixtwoone/E621Hud.java | 1 - .../java/anticope/esixtwoone/ImageHUD.java | 44 ++++++++++++------- .../esixtwoone/sources/ESixTwoOne.java | 1 - .../anticope/esixtwoone/sources/GelBooru.java | 5 +-- .../anticope/esixtwoone/sources/Source.java | 3 +- 6 files changed, 37 insertions(+), 29 deletions(-) diff --git a/gradle.properties b/gradle.properties index e82f7e8..a84f61b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,16 +1,16 @@ org.gradle.jvmargs=-Xmx2G # Fabric (https://fabricmc.net/versions.html) -minecraft_version=1.19 -yarn_mappings=1.19+build.1 -loader_version=0.14.7 +minecraft_version=1.19.2 +yarn_mappings=1.19.2+build.4 +loader_version=0.14.9 # Mod Properties mod_version=0.1 -maven_group=dummy.package +maven_group=anticope archives_base_name=e621-addon -# Dependency Versions +# Dependency Versions. # Meteor (https://maven.meteordev.org/) -meteor_version=0.5.0-SNAPSHOT +meteor_version=0.5.1-SNAPSHOT diff --git a/src/main/java/anticope/esixtwoone/E621Hud.java b/src/main/java/anticope/esixtwoone/E621Hud.java index 1e10a11..770da2a 100644 --- a/src/main/java/anticope/esixtwoone/E621Hud.java +++ b/src/main/java/anticope/esixtwoone/E621Hud.java @@ -45,6 +45,5 @@ public String getCommit() { .getCustomValue("github:sha") .getAsString(); return commit.isEmpty() ? null : commit.trim(); - } } diff --git a/src/main/java/anticope/esixtwoone/ImageHUD.java b/src/main/java/anticope/esixtwoone/ImageHUD.java index bc4a5dd..31326b4 100644 --- a/src/main/java/anticope/esixtwoone/ImageHUD.java +++ b/src/main/java/anticope/esixtwoone/ImageHUD.java @@ -1,5 +1,6 @@ package anticope.esixtwoone; +import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.events.world.TickEvent; import meteordevelopment.meteorclient.renderer.Renderer2D; import meteordevelopment.meteorclient.renderer.GL; @@ -20,7 +21,6 @@ import net.minecraft.client.texture.NativeImageBackedTexture; import net.minecraft.util.Identifier; -import anticope.esixtwoone.sources.ESixTwoOne; import anticope.esixtwoone.sources.Source; import anticope.esixtwoone.sources.Source.Size; import anticope.esixtwoone.sources.Source.SourceType; @@ -34,7 +34,7 @@ public class ImageHUD extends HudElement { private boolean locked = false; private boolean empty = true; private int ticks = 0; - private Source source = new ESixTwoOne(); + private Source source; private static final Identifier TEXID = new Identifier("e621", "tex"); @@ -46,6 +46,7 @@ public class ImageHUD extends HudElement { .defaultValue(100) .min(10) .sliderRange(70, 1000) + .onChanged(o -> updateSize()) .build() ); @@ -55,6 +56,7 @@ public class ImageHUD extends HudElement { .defaultValue(100) .min(10) .sliderRange(70, 1000) + .onChanged(o -> updateSize()) .build() ); @@ -62,10 +64,7 @@ public class ImageHUD extends HudElement { .name("tags") .description("Tags") .defaultValue("femboy") - .onChanged((v) -> { - source.reset(); - empty = true; - }) + .onChanged((v) -> updateSource()) .build() ); @@ -73,10 +72,7 @@ public class ImageHUD extends HudElement { .name("size") .description("Size mode.") .defaultValue(Size.preview) - .onChanged((v) -> { - source.reset(); - empty = true; - }) + .onChanged((v) -> updateSource()) .build() ); @@ -84,11 +80,7 @@ public class ImageHUD extends HudElement { .name("source") .description("Source Type.") .defaultValue(SourceType.e621) - .onChanged((v) -> { - source = Source.getSource(v); - source.reset(); - empty = true; - }) + .onChanged(v -> updateSource()) .build() ); @@ -98,11 +90,20 @@ public class ImageHUD extends HudElement { .defaultValue(1200) .max(3000) .min(20) + .sliderRange(20, 3000) .build() ); public ImageHUD() { super(INFO); + updateSource(); + MeteorClient.EVENT_BUS.subscribe(this); + } + + @Override + public void remove() { + super.remove(); + MeteorClient.EVENT_BUS.unsubscribe(this); } private static ImageHUD create() { @@ -111,7 +112,6 @@ private static ImageHUD create() { @EventHandler public void onTick(TickEvent.Post event) { - if (mc.world == null) return; ticks ++; if (ticks >= refreshRate.get()) { ticks = 0; @@ -132,6 +132,16 @@ public void render(HudRenderer renderer) { Renderer2D.TEXTURE.render(null); } + private void updateSize() { + setSize(imgWidth.get(), imgHeight.get()); + } + + private void updateSource() { + source = Source.getSource(sourceType.get()); + source.reset(); + empty = true; + } + private void loadImage() { if (locked || source == null) return; @@ -152,6 +162,6 @@ private void loadImage() { } locked = false; }).start(); - setSize(imgWidth.get(), imgHeight.get()); + updateSize(); } } diff --git a/src/main/java/anticope/esixtwoone/sources/ESixTwoOne.java b/src/main/java/anticope/esixtwoone/sources/ESixTwoOne.java index 1cd13df..52ed983 100644 --- a/src/main/java/anticope/esixtwoone/sources/ESixTwoOne.java +++ b/src/main/java/anticope/esixtwoone/sources/ESixTwoOne.java @@ -30,5 +30,4 @@ public String randomImage(String filter, Size size) { } return null; } - } diff --git a/src/main/java/anticope/esixtwoone/sources/GelBooru.java b/src/main/java/anticope/esixtwoone/sources/GelBooru.java index 498d2af..7e1e96b 100644 --- a/src/main/java/anticope/esixtwoone/sources/GelBooru.java +++ b/src/main/java/anticope/esixtwoone/sources/GelBooru.java @@ -25,13 +25,13 @@ public String randomImage(String filter, Size size) { JsonElement result = Http.get(query).sendJson(JsonElement.class); if (result == null) return null; if (result instanceof JsonArray array) { - if (array.get(random.nextInt(0, 11)) instanceof JsonObject post) { + if (array.get(random.nextInt(0, Math.min(11, array.size()))) instanceof JsonObject post) { var url = post.get(size.toString()+"_url").getAsString(); return url; } } else if (result instanceof JsonObject object) { if (object.get("post") instanceof JsonArray array) { - if (array.get(random.nextInt(0, 11)) instanceof JsonObject post) { + if (array.get(random.nextInt(0, Math.min(11, array.size()))) instanceof JsonObject post) { var url = post.get(size.toString()+"_url").getAsString(); return url; } @@ -40,5 +40,4 @@ public String randomImage(String filter, Size size) { return null; } - } diff --git a/src/main/java/anticope/esixtwoone/sources/Source.java b/src/main/java/anticope/esixtwoone/sources/Source.java index c91c91b..9f0dcb6 100644 --- a/src/main/java/anticope/esixtwoone/sources/Source.java +++ b/src/main/java/anticope/esixtwoone/sources/Source.java @@ -1,6 +1,7 @@ package anticope.esixtwoone.sources; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Random; import anticope.esixtwoone.E621Hud; @@ -26,7 +27,7 @@ public enum SourceType { public String getRandomImage(String filter, Size size) { try { - return randomImage(URLEncoder.encode(filter, "UTF-8"), size); + return randomImage(URLEncoder.encode(filter, StandardCharsets.UTF_8), size); } catch (Exception ex) { E621Hud.LOG.error("Failed to fetch an image.", ex); }