Rewrite iris settings

This commit is contained in:
Daniel Mills 2021-01-01 22:53:56 -05:00
parent 6c791c034b
commit dfaf361bf2

View File

@ -11,33 +11,56 @@ import java.io.IOException;
public class IrisSettings
{
public static transient IrisSettings settings;
private IrisSettingsCache cache = new IrisSettingsCache();
private IrisSettingsConcurrency concurrency = new IrisSettingsConcurrency();
private IrisSettingsParallax parallax = new IrisSettingsParallax();
private IrisSettingsGeneral general = new IrisSettingsGeneral();
private IrisSettingsGUI gui = new IrisSettingsGUI();
private IrisSettingsGenerator generator = new IrisSettingsGenerator();
private IrisSettingsStudio studio = new IrisSettingsStudio();
@DontObfuscate
public int configurationVersion = 2;
public int configurationVersion = 3;
public boolean isStudio() {
return getStudio().isStudio();
}
public boolean isUseServerLaunchedGuis() {
return getGui().isUseServerLaunchedGuis();
}
public long getParallaxRegionEvictionMS() {
return getParallax().getParallaxRegionEvictionMS();
}
@Data
public static class IrisSettingsCache
{
@DontObfuscate
public int streamingCacheSize = 8192;
}
@Data
public static class IrisSettingsConcurrency
{
@DontObfuscate
public int threadCount = -1;
}
@Data
public static class IrisSettingsParallax
{
@DontObfuscate
public int parallaxRegionEvictionMS = 15000;
@DontObfuscate
public int parallaxChunkEvictionMS = 5000;
}
@DontObfuscate
public boolean forceSingleThreadedPerChunk = false;
@DontObfuscate
public int forceThreadCount = -1;
@DontObfuscate
public String defaultWorldType = "overworld";
@DontObfuscate
public int maxAsyncChunkPregenThreads = 128;
@DontObfuscate
public boolean maximumPregenGuiFPS = false;
@Data
public static class IrisSettingsGeneral
{
@DontObfuscate
public boolean commandSounds = true;
@ -48,23 +71,40 @@ public class IrisSettings
@DontObfuscate
public boolean ignoreWorldEdit = false;
@DontObfuscate
public boolean useGleamPregenerator = false;
@DontObfuscate
public boolean useExperimentalGleamMCADirectWriteMode = false;
@DontObfuscate
public boolean disableNMS = false;
@DontObfuscate
public boolean systemEffects = true;
public boolean pluginMetrics = true;
@DontObfuscate
public boolean saveAllDuringPregen = true;
public boolean splashLogoStartup = true;
}
@Data
public static class IrisSettingsGUI
{
@DontObfuscate
public boolean useServerLaunchedGuis = true;
@DontObfuscate
public boolean maximumPregenGuiFPS = false;
@DontObfuscate
public boolean localPregenGui = true;
}
@Data
public static class IrisSettingsGenerator
{
@DontObfuscate
public String defaultWorldType = "overworld";
@DontObfuscate
public boolean mcaPregenerator = false;
@DontObfuscate
public boolean systemEffects = true;
@DontObfuscate
public boolean systemEntitySpawnOverrides = true;
@ -75,23 +115,18 @@ public class IrisSettings
@DontObfuscate
public int maxBiomeChildDepth = 5;
@DontObfuscate
public boolean sharedCaching = true;
}
@Data
public static class IrisSettingsStudio
{
@DontObfuscate
public boolean studio = true;
@DontObfuscate
public boolean useServerLaunchedGuis = true;
@DontObfuscate
public boolean openVSCode = true;
@DontObfuscate
public boolean pluginMetrics = true;
@DontObfuscate
public boolean splashLogoStartup = true;
}
public static IrisSettings get()
{