Voxelum / x-minecraft-launcher

An Open Source Minecraft Launcher with Modern UX. Provide a Disk Efficient way to manage all your Mods!
https://xmcl.app/
MIT License
729 stars 105 forks source link

sync minecraft ingame settings options.txt with instance shared settings folder #755

Open FilipNones opened 2 months ago

FilipNones commented 2 months ago

the title is self-explanatory but I'll try to add more description:

image it would be very convenient to have an option to have the same options.txt among all instances so every time I create a new instance I don't have to go to the minecraft settings to change my preferences in the settings. maybe in future would be nice to also add modded options.txt compatibility: I don't know if that is a thing.

Multigriffes commented 2 months ago

That would be very cool, but I think that will be hard cause of the different formatting of the file across versions. Like, when you are in the default launcher all instances can be in the same folder (.minecraft by default) but the settings sometimes reset when you play 1.18 and then 1.8

I'll be very happy if we find something to make it work. 🙂

herosh1sh commented 2 months ago

I think it will be convenient, but it will take a long time to realize, because one person works on the launcher.

ci010 commented 2 months ago

We could try that. Like creating a shared option.txt and add an option to switch between independent options.txt or shared options.txt

Multigriffes commented 2 months ago

Yes that can be very useful but it doesn't resolve the problem with an incompatible shared option.txt. In the next days I will try to find the reason why it's not cross-version.

FilipNones commented 2 months ago

in the meantime I think is still fine if it's only compatible with newer versions of Minecraft and then in future also add backwards compatibility

Multigriffes commented 2 months ago

list.txt here's a little file i made to list modification in options.txt across 1.7.10 to 1.21.1 i'll past them under

Multigriffes commented 2 months ago

1.7.10 --> 1.8.9 : advancedOpengl --> clouds --> renderClouds --> useVbo --> incompatibleResourcePacks showCape --> modelPart_cape anisotropicFiltering --> --> allowBlockAlternatives --> reducedDebugInfo --> useNativeTransport --> entityShadows --> realmsNotifications --> key_key.spectatorOutlines --> modelPart_jacket --> modelPart_left_sleeve --> modelPart_right_sleeve --> modelPart_left_pants_leg --> modelPart_right_pants_leg --> modelPart_hat

1.8.9 --> 1.9.4 : streamBytesPerPixel --> streamMicVolume --> streamSystemVolume --> streamKbps --> streamFps --> streamCompression --> streamSendMetadata --> streamPreferredServer --> streamChatEnabled --> streamChatUserFilter --> streamMicToggleBehavior --> allowBlockAlternatives --> --> mainHand --> attackIndicator --> showSubtitles --> enableWeakAttacks key_key.streamStartStop --> key_key.streamPauseUnpause --> key_key.streamCommercial --> key_key.streamToggleMic --> --> key_key.swapHands --> soundCategory_voice

1.9.4 --> 1.10.2 : --> version:512 --> autoJump

1.10.2 --> 1.11.2 : version:512 --> version:922

1.11.2 --> 1.12.2 : version:922 --> version:1343 showInventoryAchievementHint --> --> narrator --> tutorialStep --> key_key.saveToolbarActivator --> key_key.loadToolbarActivator --> key_key.advancements

1.12.2 --> 1.13.2 : !!! CHANGE FORMAT OF SAVED KEY (ex : key_key.attack:-100 --> key_key.attack:key.mouse.left) FOR KEYBOARD IT'S (key.keyboard.w) version:1343 --> version:1631 anaglyph3d --> --> biomeBlendRadius --> autoSuggestions --> mouseWheelSensitivity --> glDebugVerbosity 1.13.2 --> 1.14.4 : version:1631 --> version:1976 --> discrete_mouse_scroll saturation --> fboEnable --> --> textBackgroundOpacity --> backgroundForChatOnly enableWeakAttacks --> --> rawMouseInput

1.14.4 --> 1.15.2 : version:1976 --> version:2230 --> toggleCrouch --> toggleSprint --> skipMultiplayerWarning

1.15.2 --> 1.16.5 : version:2230 --> version:2586 --> screenEffectScale --> fovEffectScale --> entityDistanceScaling fancyGraphics:boolean --> graphicsMode:int --> chatLineSpacing --> chatDelay --> hideMatchedNames --> joinedFirstServer --> syncChunkWrites --> key_key.socialInteractions key_key.swapHands --> key_key.swapOffhand

1.16.5 --> 1.17.1 : version:2586 --> version:2730 --> darkMojangStudiosBackground --> hideBundleTutorial

1.17.1 --> 1.18.2 : version:2730 --> version:2975 snooperEnabled --> --> hideLightningFlashes --> simulationDistance --> prioritizeChunkUpdates --> soundDevice --> skipRealms32bitWarning --> showAutosaveIndicator --> allowServerListing

1.18.2 --> 1.19.4 : version:2975 --> version:3337 --> operatorItemsTab --> directionalAudio --> darknessEffectScale --> glintSpeed --> glintStrength --> damageTiltStrength --> highContrast difficulty --> ao:int --> ao:boolean renderClouds:boolean --> renderClouds:"boolean" soundDevice --> soundDevice:"" heldItemTooltips --> --> notificationDisplayTime mainHand:right --> mainHand:"right" --> onlyShowSecureChat --> panoramaScrollSpeed --> telemetryOptInExtra --> onboardAccessibility

1.19.4 --> 1.20.6 : version:3337 --> version:3839 --> japaneseGlyphVariants --> hideSplashTexts --> narratorHotkey skipRealms32bitWarning --> --> menuBackgroundBlurriness

1.20.6 --> 1.21.1 : version:3839 --> version:3955 menuBackgroundBlurriness:0.5 --> menuBackgroundBlurriness:5

Multigriffes commented 2 months ago

maybe can be useful to create a options.txt translator maybe....

ci010 commented 1 month ago

I added an option to sync the options.txt. Try that, if that does not work, i will try to use the converting solution

Multigriffes commented 1 month ago

I tried with 1.21 to 1.8. It worked idk how but that's cool