Add Embeddium and Distant Horizons support
This commit is contained in:
parent
e7d9ee1a21
commit
1a96047b5e
6 changed files with 170 additions and 83 deletions
|
|
@ -23,6 +23,8 @@ dependencies {
|
|||
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
|
||||
|
||||
// Mod implementations
|
||||
modImplementation "maven.modrinth:sodium:mc1.21-0.5.9"
|
||||
modImplementation "maven.modrinth:sodium-extra:mc1.21-0.5.7"
|
||||
}
|
||||
modImplementation "maven.modrinth:sodium:mc1.21-0.5.9" // Sodium
|
||||
modImplementation "maven.modrinth:sodium-extra:mc1.21-0.5.7" // Sodium Extra
|
||||
modImplementation "maven.modrinth:embeddium:1.0.2+mc1.21" // Embeddium
|
||||
modImplementation "maven.modrinth:distanthorizons:2.1.2-a-1.21" // Distant Horizons
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public class MixinOptionsScreen extends Screen {
|
|||
Button.builder(
|
||||
Component.translatable("gui.optionsprofiles.profiles-menu"),
|
||||
(button) -> this.minecraft.setScreen(new ProfilesScreen(this)))
|
||||
.width(100)
|
||||
.width(75)
|
||||
.pos(5, 5)
|
||||
.build()
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
package com.axolotlmaid.optionsprofiles.profiles;
|
||||
|
||||
import com.axolotlmaid.optionsprofiles.OptionsProfilesMod;
|
||||
import com.axolotlmaid.optionsprofiles.profiles.loaders.EmbeddiumLoader;
|
||||
import com.axolotlmaid.optionsprofiles.profiles.loaders.SodiumExtraLoader;
|
||||
import com.axolotlmaid.optionsprofiles.profiles.loaders.SodiumLoader;
|
||||
import com.seibel.distanthorizons.core.config.ConfigBase;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
@ -18,6 +22,8 @@ public class Profiles {
|
|||
public static final Path OPTIFINE_OPTIONS_FILE = Paths.get("optionsof.txt");
|
||||
public static final Path SODIUM_OPTIONS_FILE = Paths.get("config/sodium-options.json");
|
||||
public static final Path SODIUM_EXTRA_OPTIONS_FILE = Paths.get("config/sodium-extra-options.json");
|
||||
public static final Path EMBEDDIUM_OPTIONS_FILE = Paths.get("config/embeddium-options.json");
|
||||
public static final Path DISTANT_HORIZONS_OPTIONS_FILE = Paths.get("config/DistantHorizons.toml");
|
||||
|
||||
// This function goes through every profile and updates / adds the configuration file if it doesn't exist
|
||||
public static void updateProfiles() {
|
||||
|
|
@ -112,6 +118,8 @@ public class Profiles {
|
|||
copyOptionFile(profile, OPTIFINE_OPTIONS_FILE);
|
||||
copyOptionFile(profile, SODIUM_OPTIONS_FILE);
|
||||
copyOptionFile(profile, SODIUM_EXTRA_OPTIONS_FILE);
|
||||
copyOptionFile(profile, EMBEDDIUM_OPTIONS_FILE);
|
||||
copyOptionFile(profile, DISTANT_HORIZONS_OPTIONS_FILE);
|
||||
|
||||
// Add every option value to configuration
|
||||
try (Stream<String> lines = Files.lines(profileOptions)) {
|
||||
|
|
@ -138,6 +146,8 @@ public class Profiles {
|
|||
Optional.of(OPTIFINE_OPTIONS_FILE).filter(Files::exists).ifPresent(optionFiles::add);
|
||||
Optional.of(SODIUM_OPTIONS_FILE).filter(Files::exists).ifPresent(optionFiles::add);
|
||||
Optional.of(SODIUM_EXTRA_OPTIONS_FILE).filter(Files::exists).ifPresent(optionFiles::add);
|
||||
Optional.of(EMBEDDIUM_OPTIONS_FILE).filter(Files::exists).ifPresent(optionFiles::add);
|
||||
Optional.of(DISTANT_HORIZONS_OPTIONS_FILE).filter(Files::exists).ifPresent(optionFiles::add);
|
||||
|
||||
// Check if the original option file and the profile option file have the same content
|
||||
try {
|
||||
|
|
@ -237,8 +247,13 @@ public class Profiles {
|
|||
public static void loadProfile(String profileName) {
|
||||
loadOptionFile(profileName, OPTIONS_FILE);
|
||||
loadOptionFile(profileName, OPTIFINE_OPTIONS_FILE);
|
||||
loadOptionFile(profileName, SODIUM_OPTIONS_FILE, SodiumConfigLoader::load);
|
||||
loadOptionFile(profileName, SODIUM_EXTRA_OPTIONS_FILE, SodiumExtraConfigLoader::load);
|
||||
loadOptionFile(profileName, SODIUM_OPTIONS_FILE, SodiumLoader::load);
|
||||
loadOptionFile(profileName, SODIUM_EXTRA_OPTIONS_FILE, SodiumExtraLoader::load);
|
||||
loadOptionFile(profileName, EMBEDDIUM_OPTIONS_FILE, EmbeddiumLoader::load);
|
||||
|
||||
// Distant Horizons
|
||||
loadOptionFile(profileName, DISTANT_HORIZONS_OPTIONS_FILE);
|
||||
ConfigBase.INSTANCE.configFileINSTANCE.loadFromFile();
|
||||
}
|
||||
|
||||
public static void renameProfile(String profileName, String newProfileName) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,70 @@
|
|||
package com.axolotlmaid.optionsprofiles.profiles.loaders;
|
||||
|
||||
import com.axolotlmaid.optionsprofiles.OptionsProfilesMod;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import org.embeddedt.embeddium.impl.Embeddium;
|
||||
import org.embeddedt.embeddium.impl.gui.EmbeddiumOptions;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
|
||||
public class EmbeddiumLoader {
|
||||
public static void load(Path file) {
|
||||
try (FileReader reader = new FileReader(file.toFile())) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
Configuration configData = gson.fromJson(reader, Configuration.class);
|
||||
|
||||
apply(configData);
|
||||
} catch (IOException e) {
|
||||
OptionsProfilesMod.LOGGER.error("An error occurred when loading Sodium's configuration", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void apply(Configuration configuration) {
|
||||
Embeddium.options().quality.weatherQuality = EmbeddiumOptions.GraphicsQuality.valueOf(configuration.quality.weather_quality);
|
||||
Embeddium.options().quality.leavesQuality = EmbeddiumOptions.GraphicsQuality.valueOf(configuration.quality.leaves_quality);
|
||||
Embeddium.options().quality.enableVignette = configuration.quality.enable_vignette;
|
||||
|
||||
Embeddium.options().advanced.enableMemoryTracing = configuration.advanced.enable_memory_tracing;
|
||||
Embeddium.options().advanced.useAdvancedStagingBuffers = configuration.advanced.use_advanced_staging_buffers;
|
||||
Embeddium.options().advanced.disableIncompatibleModWarnings = configuration.advanced.disable_incompatible_mod_warnings;
|
||||
Embeddium.options().advanced.cpuRenderAheadLimit = configuration.advanced.cpu_render_ahead_limit;
|
||||
|
||||
Embeddium.options().performance.chunkBuilderThreads = configuration.performance.chunk_builder_threads;
|
||||
Embeddium.options().performance.alwaysDeferChunkUpdates = configuration.performance.always_defer_chunk_updates_v2;
|
||||
Embeddium.options().performance.animateOnlyVisibleTextures = configuration.performance.animate_only_visible_textures;
|
||||
Embeddium.options().performance.useEntityCulling = configuration.performance.use_entity_culling;
|
||||
Embeddium.options().performance.useFogOcclusion = configuration.performance.use_fog_occlusion;
|
||||
Embeddium.options().performance.useBlockFaceCulling = configuration.performance.use_block_face_culling;
|
||||
Embeddium.options().performance.useCompactVertexFormat = configuration.performance.use_compact_vertex_format;
|
||||
Embeddium.options().performance.useTranslucentFaceSorting = configuration.performance.use_translucent_face_sorting_v2;
|
||||
Embeddium.options().performance.useNoErrorGLContext = configuration.performance.use_no_error_g_l_context;
|
||||
|
||||
Embeddium.options().notifications.hasClearedDonationButton = configuration.notifications.has_cleared_donation_button;
|
||||
Embeddium.options().notifications.hasSeenDonationPrompt = configuration.notifications.has_seen_donation_prompt;
|
||||
|
||||
try {
|
||||
EmbeddiumOptions.writeToDisk(Embeddium.options());
|
||||
} catch (IOException e) {
|
||||
OptionsProfilesMod.LOGGER.error("An error occurred when loading Embeddium's configuration", e);
|
||||
}
|
||||
}
|
||||
|
||||
public static class Configuration {
|
||||
public SodiumLoader.Configuration.Quality quality;
|
||||
public Advanced advanced;
|
||||
public Performance performance;
|
||||
public SodiumLoader.Configuration.Notifications notifications;
|
||||
|
||||
public static class Advanced extends SodiumLoader.Configuration.Advanced {
|
||||
public boolean disable_incompatible_mod_warnings;
|
||||
}
|
||||
|
||||
public static class Performance extends SodiumLoader.Configuration.Performance {
|
||||
public boolean use_compact_vertex_format;
|
||||
public boolean use_translucent_face_sorting_v2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.axolotlmaid.optionsprofiles.profiles;
|
||||
package com.axolotlmaid.optionsprofiles.profiles.loaders;
|
||||
|
||||
import com.axolotlmaid.optionsprofiles.OptionsProfilesMod;
|
||||
import com.google.gson.Gson;
|
||||
|
|
@ -12,78 +12,78 @@ import java.io.IOException;
|
|||
import java.nio.file.Path;
|
||||
import java.util.Map;
|
||||
|
||||
public class SodiumExtraConfigLoader {
|
||||
public class SodiumExtraLoader {
|
||||
public static void load(Path file) {
|
||||
try (FileReader reader = new FileReader(file.toFile())) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
ConfigData configData = gson.fromJson(reader, ConfigData.class);
|
||||
Configuration configuration = gson.fromJson(reader, Configuration.class);
|
||||
|
||||
apply(configData);
|
||||
apply(configuration);
|
||||
} catch (IOException e) {
|
||||
OptionsProfilesMod.LOGGER.error("An error occurred when loading Sodium Extra's configuration", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void apply(ConfigData configData) {
|
||||
SodiumExtraClientMod.options().animationSettings.animation = configData.animation_settings.animation;
|
||||
SodiumExtraClientMod.options().animationSettings.water = configData.animation_settings.water;
|
||||
SodiumExtraClientMod.options().animationSettings.lava = configData.animation_settings.lava;
|
||||
SodiumExtraClientMod.options().animationSettings.fire = configData.animation_settings.fire;
|
||||
SodiumExtraClientMod.options().animationSettings.portal = configData.animation_settings.portal;
|
||||
SodiumExtraClientMod.options().animationSettings.blockAnimations = configData.animation_settings.block_animations;
|
||||
SodiumExtraClientMod.options().animationSettings.sculkSensor = configData.animation_settings.sculk_sensor;
|
||||
private static void apply(Configuration configuration) {
|
||||
SodiumExtraClientMod.options().animationSettings.animation = configuration.animation_settings.animation;
|
||||
SodiumExtraClientMod.options().animationSettings.water = configuration.animation_settings.water;
|
||||
SodiumExtraClientMod.options().animationSettings.lava = configuration.animation_settings.lava;
|
||||
SodiumExtraClientMod.options().animationSettings.fire = configuration.animation_settings.fire;
|
||||
SodiumExtraClientMod.options().animationSettings.portal = configuration.animation_settings.portal;
|
||||
SodiumExtraClientMod.options().animationSettings.blockAnimations = configuration.animation_settings.block_animations;
|
||||
SodiumExtraClientMod.options().animationSettings.sculkSensor = configuration.animation_settings.sculk_sensor;
|
||||
|
||||
SodiumExtraClientMod.options().particleSettings.particles = configData.particle_settings.particles;
|
||||
SodiumExtraClientMod.options().particleSettings.rainSplash = configData.particle_settings.rain_splash;
|
||||
SodiumExtraClientMod.options().particleSettings.blockBreak = configData.particle_settings.block_break;
|
||||
SodiumExtraClientMod.options().particleSettings.blockBreaking = configData.particle_settings.block_breaking;
|
||||
SodiumExtraClientMod.options().particleSettings.otherMap = configData.particle_settings.other;
|
||||
SodiumExtraClientMod.options().particleSettings.particles = configuration.particle_settings.particles;
|
||||
SodiumExtraClientMod.options().particleSettings.rainSplash = configuration.particle_settings.rain_splash;
|
||||
SodiumExtraClientMod.options().particleSettings.blockBreak = configuration.particle_settings.block_break;
|
||||
SodiumExtraClientMod.options().particleSettings.blockBreaking = configuration.particle_settings.block_breaking;
|
||||
SodiumExtraClientMod.options().particleSettings.otherMap = configuration.particle_settings.other;
|
||||
|
||||
SodiumExtraClientMod.options().detailSettings.sky = configData.detail_settings.sky;
|
||||
SodiumExtraClientMod.options().detailSettings.sunMoon = configData.detail_settings.sun_moon;
|
||||
SodiumExtraClientMod.options().detailSettings.stars = configData.detail_settings.stars;
|
||||
SodiumExtraClientMod.options().detailSettings.rainSnow = configData.detail_settings.rain_snow;
|
||||
SodiumExtraClientMod.options().detailSettings.biomeColors = configData.detail_settings.biome_colors;
|
||||
SodiumExtraClientMod.options().detailSettings.skyColors = configData.detail_settings.sky_colors;
|
||||
SodiumExtraClientMod.options().detailSettings.sky = configuration.detail_settings.sky;
|
||||
SodiumExtraClientMod.options().detailSettings.sunMoon = configuration.detail_settings.sun_moon;
|
||||
SodiumExtraClientMod.options().detailSettings.stars = configuration.detail_settings.stars;
|
||||
SodiumExtraClientMod.options().detailSettings.rainSnow = configuration.detail_settings.rain_snow;
|
||||
SodiumExtraClientMod.options().detailSettings.biomeColors = configuration.detail_settings.biome_colors;
|
||||
SodiumExtraClientMod.options().detailSettings.skyColors = configuration.detail_settings.sky_colors;
|
||||
|
||||
SodiumExtraClientMod.options().renderSettings.fogDistance = configData.render_settings.fog_distance;
|
||||
SodiumExtraClientMod.options().renderSettings.fogStart = configData.render_settings.fog_start;
|
||||
SodiumExtraClientMod.options().renderSettings.multiDimensionFogControl = configData.render_settings.multi_dimension_fog_control;
|
||||
SodiumExtraClientMod.options().renderSettings.dimensionFogDistanceMap = configData.render_settings.dimensionFogDistance;
|
||||
SodiumExtraClientMod.options().renderSettings.lightUpdates = configData.render_settings.light_updates;
|
||||
SodiumExtraClientMod.options().renderSettings.itemFrame = configData.render_settings.item_frame;
|
||||
SodiumExtraClientMod.options().renderSettings.armorStand = configData.render_settings.armor_stand;
|
||||
SodiumExtraClientMod.options().renderSettings.painting = configData.render_settings.painting;
|
||||
SodiumExtraClientMod.options().renderSettings.piston = configData.render_settings.piston;
|
||||
SodiumExtraClientMod.options().renderSettings.beaconBeam = configData.render_settings.beacon_beam;
|
||||
SodiumExtraClientMod.options().renderSettings.limitBeaconBeamHeight = configData.render_settings.limit_beacon_beam_height;
|
||||
SodiumExtraClientMod.options().renderSettings.enchantingTableBook = configData.render_settings.enchanting_table_book;
|
||||
SodiumExtraClientMod.options().renderSettings.itemFrameNameTag = configData.render_settings.item_frame_name_tag;
|
||||
SodiumExtraClientMod.options().renderSettings.playerNameTag = configData.render_settings.player_name_tag;
|
||||
SodiumExtraClientMod.options().renderSettings.fogDistance = configuration.render_settings.fog_distance;
|
||||
SodiumExtraClientMod.options().renderSettings.fogStart = configuration.render_settings.fog_start;
|
||||
SodiumExtraClientMod.options().renderSettings.multiDimensionFogControl = configuration.render_settings.multi_dimension_fog_control;
|
||||
SodiumExtraClientMod.options().renderSettings.dimensionFogDistanceMap = configuration.render_settings.dimensionFogDistance;
|
||||
SodiumExtraClientMod.options().renderSettings.lightUpdates = configuration.render_settings.light_updates;
|
||||
SodiumExtraClientMod.options().renderSettings.itemFrame = configuration.render_settings.item_frame;
|
||||
SodiumExtraClientMod.options().renderSettings.armorStand = configuration.render_settings.armor_stand;
|
||||
SodiumExtraClientMod.options().renderSettings.painting = configuration.render_settings.painting;
|
||||
SodiumExtraClientMod.options().renderSettings.piston = configuration.render_settings.piston;
|
||||
SodiumExtraClientMod.options().renderSettings.beaconBeam = configuration.render_settings.beacon_beam;
|
||||
SodiumExtraClientMod.options().renderSettings.limitBeaconBeamHeight = configuration.render_settings.limit_beacon_beam_height;
|
||||
SodiumExtraClientMod.options().renderSettings.enchantingTableBook = configuration.render_settings.enchanting_table_book;
|
||||
SodiumExtraClientMod.options().renderSettings.itemFrameNameTag = configuration.render_settings.item_frame_name_tag;
|
||||
SodiumExtraClientMod.options().renderSettings.playerNameTag = configuration.render_settings.player_name_tag;
|
||||
|
||||
SodiumExtraClientMod.options().extraSettings.overlayCorner = SodiumExtraGameOptions.OverlayCorner.valueOf(configData.extra_settings.overlay_corner);
|
||||
SodiumExtraClientMod.options().extraSettings.textContrast = SodiumExtraGameOptions.TextContrast.valueOf(configData.extra_settings.text_contrast);
|
||||
SodiumExtraClientMod.options().extraSettings.showFps = configData.extra_settings.show_fps;
|
||||
SodiumExtraClientMod.options().extraSettings.showFPSExtended = configData.extra_settings.show_f_p_s_extended;
|
||||
SodiumExtraClientMod.options().extraSettings.showCoords = configData.extra_settings.show_coords;
|
||||
SodiumExtraClientMod.options().extraSettings.reduceResolutionOnMac = configData.extra_settings.reduce_resolution_on_mac;
|
||||
SodiumExtraClientMod.options().extraSettings.useAdaptiveSync = configData.extra_settings.use_adaptive_sync;
|
||||
SodiumExtraClientMod.options().extraSettings.cloudHeight = configData.extra_settings.cloud_height;
|
||||
SodiumExtraClientMod.options().extraSettings.cloudDistance = configData.extra_settings.cloud_distance;
|
||||
SodiumExtraClientMod.options().extraSettings.toasts = configData.extra_settings.toasts;
|
||||
SodiumExtraClientMod.options().extraSettings.advancementToast = configData.extra_settings.advancement_toast;
|
||||
SodiumExtraClientMod.options().extraSettings.recipeToast = configData.extra_settings.recipe_toast;
|
||||
SodiumExtraClientMod.options().extraSettings.systemToast = configData.extra_settings.system_toast;
|
||||
SodiumExtraClientMod.options().extraSettings.tutorialToast = configData.extra_settings.tutorial_toast;
|
||||
SodiumExtraClientMod.options().extraSettings.instantSneak = configData.extra_settings.instant_sneak;
|
||||
SodiumExtraClientMod.options().extraSettings.preventShaders = configData.extra_settings.prevent_shaders;
|
||||
SodiumExtraClientMod.options().extraSettings.steadyDebugHud = configData.extra_settings.steady_debug_hud;
|
||||
SodiumExtraClientMod.options().extraSettings.steadyDebugHudRefreshInterval = configData.extra_settings.steady_debug_hud_refresh_interval;
|
||||
SodiumExtraClientMod.options().extraSettings.overlayCorner = SodiumExtraGameOptions.OverlayCorner.valueOf(configuration.extra_settings.overlay_corner);
|
||||
SodiumExtraClientMod.options().extraSettings.textContrast = SodiumExtraGameOptions.TextContrast.valueOf(configuration.extra_settings.text_contrast);
|
||||
SodiumExtraClientMod.options().extraSettings.showFps = configuration.extra_settings.show_fps;
|
||||
SodiumExtraClientMod.options().extraSettings.showFPSExtended = configuration.extra_settings.show_f_p_s_extended;
|
||||
SodiumExtraClientMod.options().extraSettings.showCoords = configuration.extra_settings.show_coords;
|
||||
SodiumExtraClientMod.options().extraSettings.reduceResolutionOnMac = configuration.extra_settings.reduce_resolution_on_mac;
|
||||
SodiumExtraClientMod.options().extraSettings.useAdaptiveSync = configuration.extra_settings.use_adaptive_sync;
|
||||
SodiumExtraClientMod.options().extraSettings.cloudHeight = configuration.extra_settings.cloud_height;
|
||||
SodiumExtraClientMod.options().extraSettings.cloudDistance = configuration.extra_settings.cloud_distance;
|
||||
SodiumExtraClientMod.options().extraSettings.toasts = configuration.extra_settings.toasts;
|
||||
SodiumExtraClientMod.options().extraSettings.advancementToast = configuration.extra_settings.advancement_toast;
|
||||
SodiumExtraClientMod.options().extraSettings.recipeToast = configuration.extra_settings.recipe_toast;
|
||||
SodiumExtraClientMod.options().extraSettings.systemToast = configuration.extra_settings.system_toast;
|
||||
SodiumExtraClientMod.options().extraSettings.tutorialToast = configuration.extra_settings.tutorial_toast;
|
||||
SodiumExtraClientMod.options().extraSettings.instantSneak = configuration.extra_settings.instant_sneak;
|
||||
SodiumExtraClientMod.options().extraSettings.preventShaders = configuration.extra_settings.prevent_shaders;
|
||||
SodiumExtraClientMod.options().extraSettings.steadyDebugHud = configuration.extra_settings.steady_debug_hud;
|
||||
SodiumExtraClientMod.options().extraSettings.steadyDebugHudRefreshInterval = configuration.extra_settings.steady_debug_hud_refresh_interval;
|
||||
|
||||
SodiumExtraClientMod.options().writeChanges();
|
||||
}
|
||||
|
||||
public static class ConfigData {
|
||||
public static class Configuration {
|
||||
public AnimationSettings animation_settings;
|
||||
public ParticleSettings particle_settings;
|
||||
public DetailSettings detail_settings;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.axolotlmaid.optionsprofiles.profiles;
|
||||
package com.axolotlmaid.optionsprofiles.profiles.loaders;
|
||||
|
||||
import com.axolotlmaid.optionsprofiles.OptionsProfilesMod;
|
||||
import com.google.gson.Gson;
|
||||
|
|
@ -10,37 +10,37 @@ import java.io.FileReader;
|
|||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
|
||||
public class SodiumConfigLoader {
|
||||
public class SodiumLoader {
|
||||
public static void load(Path file) {
|
||||
try (FileReader reader = new FileReader(file.toFile())) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
ConfigData configData = gson.fromJson(reader, ConfigData.class);
|
||||
Configuration configuration = gson.fromJson(reader, Configuration.class);
|
||||
|
||||
apply(configData);
|
||||
apply(configuration);
|
||||
} catch (IOException e) {
|
||||
OptionsProfilesMod.LOGGER.error("An error occurred when loading Sodium's configuration", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void apply(ConfigData configData) {
|
||||
SodiumClientMod.options().quality.weatherQuality = SodiumGameOptions.GraphicsQuality.valueOf(configData.quality.weather_quality);
|
||||
SodiumClientMod.options().quality.leavesQuality = SodiumGameOptions.GraphicsQuality.valueOf(configData.quality.leaves_quality);
|
||||
SodiumClientMod.options().quality.enableVignette = configData.quality.enable_vignette;
|
||||
private static void apply(Configuration configuration) {
|
||||
SodiumClientMod.options().quality.weatherQuality = SodiumGameOptions.GraphicsQuality.valueOf(configuration.quality.weather_quality);
|
||||
SodiumClientMod.options().quality.leavesQuality = SodiumGameOptions.GraphicsQuality.valueOf(configuration.quality.leaves_quality);
|
||||
SodiumClientMod.options().quality.enableVignette = configuration.quality.enable_vignette;
|
||||
|
||||
SodiumClientMod.options().advanced.enableMemoryTracing = configData.advanced.enable_memory_tracing;
|
||||
SodiumClientMod.options().advanced.useAdvancedStagingBuffers = configData.advanced.use_advanced_staging_buffers;
|
||||
SodiumClientMod.options().advanced.cpuRenderAheadLimit = configData.advanced.cpu_render_ahead_limit;
|
||||
SodiumClientMod.options().advanced.enableMemoryTracing = configuration.advanced.enable_memory_tracing;
|
||||
SodiumClientMod.options().advanced.useAdvancedStagingBuffers = configuration.advanced.use_advanced_staging_buffers;
|
||||
SodiumClientMod.options().advanced.cpuRenderAheadLimit = configuration.advanced.cpu_render_ahead_limit;
|
||||
|
||||
SodiumClientMod.options().performance.chunkBuilderThreads = configData.performance.chunk_builder_threads;
|
||||
SodiumClientMod.options().performance.alwaysDeferChunkUpdates = configData.performance.always_defer_chunk_updates_v2;
|
||||
SodiumClientMod.options().performance.animateOnlyVisibleTextures = configData.performance.animate_only_visible_textures;
|
||||
SodiumClientMod.options().performance.useEntityCulling = configData.performance.use_entity_culling;
|
||||
SodiumClientMod.options().performance.useFogOcclusion = configData.performance.use_fog_occlusion;
|
||||
SodiumClientMod.options().performance.useBlockFaceCulling = configData.performance.use_block_face_culling;
|
||||
SodiumClientMod.options().performance.useNoErrorGLContext = configData.performance.use_no_error_g_l_context;
|
||||
SodiumClientMod.options().performance.chunkBuilderThreads = configuration.performance.chunk_builder_threads;
|
||||
SodiumClientMod.options().performance.alwaysDeferChunkUpdates = configuration.performance.always_defer_chunk_updates_v2;
|
||||
SodiumClientMod.options().performance.animateOnlyVisibleTextures = configuration.performance.animate_only_visible_textures;
|
||||
SodiumClientMod.options().performance.useEntityCulling = configuration.performance.use_entity_culling;
|
||||
SodiumClientMod.options().performance.useFogOcclusion = configuration.performance.use_fog_occlusion;
|
||||
SodiumClientMod.options().performance.useBlockFaceCulling = configuration.performance.use_block_face_culling;
|
||||
SodiumClientMod.options().performance.useNoErrorGLContext = configuration.performance.use_no_error_g_l_context;
|
||||
|
||||
SodiumClientMod.options().notifications.hasClearedDonationButton = configData.notifications.has_cleared_donation_button;
|
||||
SodiumClientMod.options().notifications.hasSeenDonationPrompt = configData.notifications.has_seen_donation_prompt;
|
||||
SodiumClientMod.options().notifications.hasClearedDonationButton = configuration.notifications.has_cleared_donation_button;
|
||||
SodiumClientMod.options().notifications.hasSeenDonationPrompt = configuration.notifications.has_seen_donation_prompt;
|
||||
|
||||
try {
|
||||
SodiumGameOptions.writeToDisk(SodiumClientMod.options());
|
||||
|
|
@ -49,7 +49,7 @@ public class SodiumConfigLoader {
|
|||
}
|
||||
}
|
||||
|
||||
public static class ConfigData {
|
||||
public static class Configuration {
|
||||
public Quality quality;
|
||||
public Advanced advanced;
|
||||
public Performance performance;
|
||||
Loading…
Reference in a new issue