feat: improve config screen

This commit is contained in:
Martin Prokoph
2025-05-03 14:30:26 +02:00
parent 2d5b713fb0
commit a17536e5af
3 changed files with 64 additions and 15 deletions

View File

@@ -2,6 +2,7 @@ package eu.midnightdust.picturesign.config;
import com.google.common.collect.Lists;
import eu.midnightdust.lib.config.MidnightConfig;
import eu.midnightdust.lib.util.PlatformFunctions;
import net.minecraft.client.gl.ShaderProgramKey;
import net.minecraft.client.gl.ShaderProgramKeys;
import net.minecraft.client.texture.TextureManager;
@@ -16,24 +17,53 @@ public class PictureSignConfig extends MidnightConfig {
private static final String GENERAL = "general";
private static final String ADVANCED = "advanced";
private static final String EBE_MODID = "enhancedblockentities";
private static final String WM_MODID = "watermedia";
private static final String IRIS_MODID = "iris";
@Comment(centered = true, category = GENERAL) public static Comment _features;
@Entry(category = GENERAL) public static boolean enabled = true;
@Condition(requiredModId = WM_MODID)
@Entry(category = GENERAL) public static boolean enableMultimediaSigns = true;
@Entry(min = 0, max = 1000, isSlider = true, category = GENERAL) public static int audioDistanceMultiplier = 30;
@Condition(requiredOption = "isWMLoaded", requiredValue = "false")
@Comment(category = GENERAL, centered = true) public static Comment wmNotice;
@Comment(centered = true, category = GENERAL) public static Comment _behaviour;
@Entry(category = GENERAL) public static boolean helperUi = true;
@Condition(requiredOption = "helperUi", visibleButLocked = true)
@Entry(category = GENERAL) public static boolean exceedVanillaLineLength = true;
@Entry(category = GENERAL) public static boolean translucency = false;
@Entry(category = GENERAL) public static boolean fullBrightPicture = false;
@Entry(category = GENERAL) public static boolean helperUi = true;
@Entry(category = GENERAL) public static boolean exceedVanillaLineLength = true;
@Entry(min = 0, max = 2048, isSlider = true, category = GENERAL) public static int signRenderDistance = 64;
@Condition(requiredModId = WM_MODID)
@Entry(min = 0, max = 1000, isSlider = true, category = GENERAL) public static int audioDistanceMultiplier = 30;
@Condition(requiredModId = EBE_MODID)
@Comment(category = GENERAL) public static Comment ebeWarning;
@Comment(centered = true, category = ADVANCED) public static Comment _workarounds;
@Entry(category = ADVANCED) public static MissingImageMode missingImageMode = MissingImageMode.BLACK;
@Condition(requiredModId = IRIS_MODID)
@Entry(category = ADVANCED) public static PictureShader pictureShader = PictureShader.PosColTexLight;
@Comment(centered = true, category = ADVANCED) public static Comment _misc;
@Entry(category = ADVANCED) public static boolean debug = false;
@Entry(min = 1, max = 10, isSlider = true, category = ADVANCED) public static int maxThreads = 4;
@Entry(min = 0, max = 2048, isSlider = true, category = GENERAL) public static int signRenderDistance = 64;
@Comment(centered = true, category = ADVANCED) public static Comment _security;
@Entry(category = ADVANCED) public static boolean safeMode = true;
@Condition(requiredOption = "safeMode")
@Entry(category = ADVANCED) public static List<String> safeProviders = Lists.newArrayList("https://i.imgur.com/", "https://i.ibb.co/", "https://pictshare.net/", "https://iili.io/");
@Condition(requiredModId = WM_MODID)
@Condition(requiredOption = "safeMode")
@Entry(category = ADVANCED) public static List<String> safeGifProviders = Lists.newArrayList("https://i.imgur.com/", "https://media1.tenor.com/");
@Condition(requiredModId = WM_MODID)
@Condition(requiredOption = "safeMode")
@Entry(category = ADVANCED) public static List<String> safeMultimediaProviders = Lists.newArrayList("https://youtube.com/", "https://www.youtube.com/", "https://youtu.be/","https://vimeo.com/");
@Condition(requiredOption = "safeMode")
@Entry(category = ADVANCED) public static List<String> safeJsonProviders = Lists.newArrayList("https://github.com/", "https://gist.github.com/", "https://www.jsonkeeper.com/", "https://api.npoint.io/", "https://api.jsonsilo.com/");
@Comment(category = GENERAL) @Condition(requiredModId = "enhancedblockentities") public static Comment ebeWarning;
@Entry(category = ADVANCED) public static MissingImageMode missingImageMode = MissingImageMode.BLACK;
@Entry(category = ADVANCED) public static PictureShader pictureShader = PictureShader.PosColTexLight;
@Condition(requiredModId = "thismodhopefullydoesntexistwejustneedtohidetheentrywhilekeepingitaccessible")
@Entry(category = GENERAL) public static boolean isWMLoaded = PlatformFunctions.isModLoaded(WM_MODID);
public enum MissingImageMode {
BLACK(id("textures/black.png")),
@@ -56,4 +86,10 @@ public class PictureSignConfig extends MidnightConfig {
}
public final ShaderProgramKey program;
}
public static void init(String modid, Class<? extends MidnightConfig> config) {
MidnightConfig.init(modid, config);
isWMLoaded = PlatformFunctions.isModLoaded(WM_MODID);
PictureSignConfig.write(modid);
}
}

View File

@@ -13,7 +13,6 @@
"picturesign.midnightconfig.signRenderDistance":"Schildsichtweite",
"picturesign.midnightconfig.safeMode":"Sicherer Modus",
"picturesign.midnightconfig.safeMode.tooltip":"Lädt nur Bilder von vertrauten Seiten",
"picturesign.midnightconfig.ebeWarning":"§cDu benutzt die Mod 'Enhanced Block Entities' stelle sicher, dass du alles in Relation zu Schildern in der EBE Config deaktiviert hast!",
"picturesign.midnightconfig.safeProviders":"Sichere Bildanbieter",
"picturesign.midnightconfig.safeGifProviders":"Sichere GIF-Anbieter",
"picturesign.midnightconfig.safeMultimediaProviders":"Sichere Multimedia-Anbieter",
@@ -22,9 +21,16 @@
"picturesign.midnightconfig.enum.MissingImageMode.BLACK":"Schwarz",
"picturesign.midnightconfig.enum.MissingImageMode.MISSING_TEXTURE":"Schwarz & Lila",
"picturesign.midnightconfig.enum.MissingImageMode.TRANSPARENT":"Transparent",
"picturesign.midnightconfig.ebeWarning": "§cDu benutzt die Mod 'Enhanced Block Entities' stelle sicher, dass du alles in Relation zu Schildern in der EBE Config deaktiviert hast!",
"picturesign.midnightconfig.wmNotice":"§5Um Video/Audio abzuspielen, installiere die WATERMeDIA mod und VLC Media Player",
"picturesign.midnightconfig._features": "§7\uD83E\uDEA7 Funktionen",
"picturesign.midnightconfig._behaviour": "§7\uD83D\uDDBC Verhalten",
"picturesign.midnightconfig._workarounds": "§7\uD83D\uDD27 Problemumgehung",
"picturesign.midnightconfig._misc": "§7\uD83D\uDCD0 Verschiedenes",
"picturesign.midnightconfig._security": "§7\uD83D\uDD10 Sicherheit",
"key.picturesign.copy_sign": "Text eines Schildes kopieren",
"key.picturesign.edit_sign":"Schild bearbeiten",
"key.picturesign.edit_sign": "Schild bearbeiten",
"picturesign.midnightconfig.category.general": "Generell",
"picturesign.midnightconfig.category.advanced": "Fortgeschritten",

View File

@@ -11,13 +11,12 @@
"picturesign.midnightconfig.fullBrightPicture":"Full-bright Pictures",
"picturesign.midnightconfig.fullBrightPicture.tooltip":"Makes pictures always appear fully lit",
"picturesign.midnightconfig.helperUi":"Enable Helper UI",
"picturesign.midnightconfig.exceedVanillaLineLength":"Exceed vanilla line length",
"picturesign.midnightconfig.debug":"Debug mode",
"picturesign.midnightconfig.maxThreads":"Max download threads",
"picturesign.midnightconfig.signRenderDistance":"Sign render distance",
"picturesign.midnightconfig.safeMode":"Safe mode",
"picturesign.midnightconfig.exceedVanillaLineLength":"Exceed Vanilla Line Length",
"picturesign.midnightconfig.debug":"Debug Mode",
"picturesign.midnightconfig.maxThreads":"Max Download Threads",
"picturesign.midnightconfig.signRenderDistance":"Sign Render Distance",
"picturesign.midnightconfig.safeMode":"Safe Mode",
"picturesign.midnightconfig.safeMode.tooltip":"Only load images from trusted providers",
"picturesign.midnightconfig.ebeWarning":"§cYou are using the mod 'Enhanced Block Entities' make sure to disable anything sign-related in it's config!",
"picturesign.midnightconfig.safeProviders":"Safe Image Providers",
"picturesign.midnightconfig.safeGifProviders":"Safe GIF Providers",
"picturesign.midnightconfig.safeMultimediaProviders":"Safe Multimedia Providers",
@@ -33,6 +32,14 @@
"picturesign.midnightconfig.enum.PictureShader.PosTex":"PosTex",
"picturesign.midnightconfig.enum.PictureShader.PosColTex":"PosColTex",
"picturesign.midnightconfig.enum.PictureShader.PosTexCol":"PosTexCol",
"picturesign.midnightconfig.ebeWarning":"§cYou are using the mod 'Enhanced Block Entities' make sure to disable anything sign-related in it's config!",
"picturesign.midnightconfig.wmNotice":"§5To enable multimedia support, install the WATERMeDIA mod and VLC Media Player",
"picturesign.midnightconfig._features": "§7\uD83E\uDEA7 Features",
"picturesign.midnightconfig._behaviour": "§7\uD83D\uDDBC Behaviour",
"picturesign.midnightconfig._workarounds": "§7\uD83D\uDD27 Workarounds",
"picturesign.midnightconfig._misc": "§7\uD83D\uDCD0 Miscellaneous",
"picturesign.midnightconfig._security": "§7\uD83D\uDD10 Security",
"key.picturesign.copy_sign":"Copy Text from Sign",
"key.picturesign.edit_sign":"Edit Sign",
"key.categories.picturesign":"PictureSign",