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,87 +11,122 @@ import java.io.IOException;
public class IrisSettings public class IrisSettings
{ {
public static transient IrisSettings settings; 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 @DontObfuscate
public int configurationVersion = 2; public int configurationVersion = 3;
@DontObfuscate public boolean isStudio() {
public int streamingCacheSize = 8192; return getStudio().isStudio();
}
@DontObfuscate public boolean isUseServerLaunchedGuis() {
public int parallaxRegionEvictionMS = 15000; return getGui().isUseServerLaunchedGuis();
}
@DontObfuscate public long getParallaxRegionEvictionMS() {
public int parallaxChunkEvictionMS = 5000; return getParallax().getParallaxRegionEvictionMS();
}
@DontObfuscate @Data
public boolean forceSingleThreadedPerChunk = false; public static class IrisSettingsCache
{
@DontObfuscate
public int streamingCacheSize = 8192;
}
@DontObfuscate @Data
public int forceThreadCount = -1; public static class IrisSettingsConcurrency
{
@DontObfuscate
public int threadCount = -1;
}
@DontObfuscate @Data
public String defaultWorldType = "overworld"; public static class IrisSettingsParallax
{
@DontObfuscate
public int parallaxRegionEvictionMS = 15000;
@DontObfuscate @DontObfuscate
public int maxAsyncChunkPregenThreads = 128; public int parallaxChunkEvictionMS = 5000;
}
@DontObfuscate @Data
public boolean maximumPregenGuiFPS = false; public static class IrisSettingsGeneral
{
@DontObfuscate @DontObfuscate
public boolean commandSounds = true; public boolean commandSounds = true;
@DontObfuscate @DontObfuscate
public boolean verbose = false; public boolean verbose = false;
@DontObfuscate @DontObfuscate
public boolean ignoreWorldEdit = false; public boolean ignoreWorldEdit = false;
@DontObfuscate @DontObfuscate
public boolean useGleamPregenerator = false; public boolean disableNMS = false;
@DontObfuscate @DontObfuscate
public boolean useExperimentalGleamMCADirectWriteMode = false; public boolean pluginMetrics = true;
@DontObfuscate @DontObfuscate
public boolean disableNMS = false; public boolean splashLogoStartup = true;
}
@DontObfuscate @Data
public boolean systemEffects = true; public static class IrisSettingsGUI
{
@DontObfuscate
public boolean useServerLaunchedGuis = true;
@DontObfuscate @DontObfuscate
public boolean saveAllDuringPregen = true; public boolean maximumPregenGuiFPS = false;
@DontObfuscate @DontObfuscate
public boolean localPregenGui = true; public boolean localPregenGui = true;
}
@DontObfuscate @Data
public boolean systemEntitySpawnOverrides = true; public static class IrisSettingsGenerator
{
@DontObfuscate
public String defaultWorldType = "overworld";
@DontObfuscate @DontObfuscate
public boolean systemEntityInitialSpawns = true; public boolean mcaPregenerator = false;
@DontObfuscate @DontObfuscate
public int maxBiomeChildDepth = 5; public boolean systemEffects = true;
@DontObfuscate @DontObfuscate
public boolean sharedCaching = true; public boolean systemEntitySpawnOverrides = true;
@DontObfuscate @DontObfuscate
public boolean studio = true; public boolean systemEntityInitialSpawns = true;
@DontObfuscate @DontObfuscate
public boolean useServerLaunchedGuis = true; public int maxBiomeChildDepth = 5;
@DontObfuscate }
public boolean openVSCode = true;
@DontObfuscate @Data
public boolean pluginMetrics = true; public static class IrisSettingsStudio
{
@DontObfuscate @DontObfuscate
public boolean splashLogoStartup = true; public boolean studio = true;
@DontObfuscate
public boolean openVSCode = true;
}
public static IrisSettings get() public static IrisSettings get()
{ {