From 2c599768d75769191e8b092dcc5c8023ea9db098 Mon Sep 17 00:00:00 2001 From: Henry Darnell Date: Tue, 4 Jan 2022 17:51:31 -0600 Subject: [PATCH] login screen: Add random override option (#14341) --- .../plugins/loginscreen/LoginScreenOverride.java | 3 ++- .../client/plugins/loginscreen/LoginScreenPlugin.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenOverride.java b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenOverride.java index ca433573f6..e083db40b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenOverride.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenOverride.java @@ -44,7 +44,8 @@ public enum LoginScreenOverride PRIFDDINAS("prifddinas.jpg"), THEATRE_OF_BLOOD("tob.jpg"), A_KINGDOM_DIVIDED("akd.jpg"), - CUSTOM; + CUSTOM, + RANDOM; @Getter private final String fileName; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java index a4ede4f9dc..25ca2bb80d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java @@ -33,6 +33,8 @@ import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; +import java.util.Arrays; +import java.util.Random; import javax.imageio.ImageIO; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; @@ -287,6 +289,14 @@ public class LoginScreenPlugin extends Plugin implements KeyListener } } } + else if (config.loginScreen() == LoginScreenOverride.RANDOM) + { + LoginScreenOverride[] filtered = Arrays.stream(LoginScreenOverride.values()) + .filter(screen -> screen.getFileName() != null) + .toArray(LoginScreenOverride[]::new); + LoginScreenOverride randomScreen = filtered[new Random().nextInt(filtered.length)]; + pixels = getFileSpritePixels(randomScreen.getFileName()); + } else { pixels = getFileSpritePixels(config.loginScreen().getFileName());