
Modrinth · Minecraft mod
Options Enforcer
Modify values in options.txt and other top-level config files, and copy files from a subfolder...
Quick answer
Which Options Enforcer release matches 1.10.2?
Options Enforcer 1.4-1.10.2 targets 1.10.2 with Forge. It must be installed on the client. Do not install it on the dedicated server. No extra mods listed for this file.
Where it goes
Is Options Enforcer required on the client, server, or both?
It must be installed on the client. Do not install it on the dedicated server.
This file is marked client-only.
What else does Options Enforcer 1.4-1.10.2 need?
1.4-1.10.2 on 1.10.2. Every mod below is checked against that same setup.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add Options Enforcer without breaking your instance.
Built for Options Enforcer 1.4-1.10.2 on 1.10.2. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 1.4-1.10.2. It targets 1.10.2 with Forge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
It must be installed on the client. Do not install it on the dedicated server.
- 04
Pick the file you checked
Use the “Get this file” button beside 1.4-1.10.2. It opens that exact file at the source.
About this project
What does Options Enforcer add?

NOTE: This mod will not be updating past 1.19.
This is due to Minecraft's draconic and overbearing report system, which can be tricked and exploited, and can result in the user being unable to play on their own private servers.
I am against this awful system on principle, and so long as I never run my game past 1.19, I will taint my account with the possibility.
Luckily, Option Enforcer's code is https://gitgud.io/AstroTibs/options-enforcer, and so you can port it forward yourself!
Sorry for any inconvenience.
Options Enforcer (OE) is a client-side only mod, and is designed primarily with modpacks in mind. It does two things.
Thing 1—config/options enforcement (primarily for the modpack owner)
Note: This functionality is very similar to Default Options and More Default Options. It may be identical, depending on what you're trying to do—I haven't looked into those mods in detail. By the time I discovered that they existed, I was already well along on this project. OE does its configuration differently so all other things equal, you may prefer OE's config syntax.

OE allows you to overwrite values in options.txt and other configuration files so that you don't have to bundle those files with every pack update. Why does that matter?
Problem 1.1: If you include the full options.txt in your modpack, then it overwrites the user's copy, resetting all of their values (keybinds, sound, rendering, etc.) to the modpack defaults.
Problem 1.2: If you include an *options.txt8 with only some values, then it overwrites the user's copy, resetting all non-included values to the Minecraft defaults.
Problem 1.3: If you do not include options.txt in your modpack, then the user's values will never be overwritten, but it will be up to them to resolve keybind conflicts and apply resourcepacks and set important values, etc.
With Options Enforcer, first, the modpack owner simply adds values he wishes to enforce to the optionsenforcer.cfg file such as:options.txt|renderDistance:10
Second, the owner simply does not include options.txt in the modpack.
Now, every time the user updates or launches the pack, the value renderDistance:10 will be inserted into file options.txt, leaving all other values exactly as the user last left them.
Alternately, as of OE version 1.4, you can append |default to the end of the enforcement entry: doing so will ONLY set that value on first launch, but never when there is already a value!
OE is designed for use with options.txt, optionsof.txt, smart_moving_options.txt, etc. located in the root minecraft directory, but can even modify other mod config files such as, e.g. config/VillageNames4/general.cfg
Important: Make sure not to bundle the config file you're enforcing values into, such e.g. options.txt, or else that defeats the purpose!
This mod was created with the Technic version of my modpack, Galaxy Odyssey in mind, but may be useful for multiple pack platforms.
Thing 2—mods carryover (primarily for the modpack user)
Note: This functionality is similar to Mod Director, which actually does this job better by downloading and loading the mods during startup; and MCInstance Loader. However, these mods rely on the download link being accessible on launch, and will crash on launch if it's not.

Perhaps you, the modpack user, would like to use mods such as OptiFine, WAILA, Fullscreen Windowed, Real First Person 2 etc. which aren't included in the modpack. However, every time you update the modpack, it wipes and replaces all the mods in the mods folder, forcing you to download those ancillary mods again.
On launch, OE will copy all .jar and .zip files from the mods-carryover folder (will be created by OE if it's not there) into the regular mods folder, if they're not present there already.
Generally, the modpack owner does not need to do anything with this config value, apart from renaming it to another folder name. It will be up to the user to manage the mods they'd like copied over between pack updates. Unless the modpack platform or launcher is especially strict and deletes all folder names it doesn't recognize, then the mods-carryover folder and its contents should survive between pack updates.
The modpack owner should not blank the config value for this added folder name, because that would prevent mods from being copied over, essentially nullifying this feature and causing the user to have to obtain or copy the mods again after a pack update. At that point you might as well just use Default Options or More Default Options instead of OE.
Notes:
- This mod was inspired to solve the two above limitations when updating my technic pack, Galaxy Odyssey. Go check it out!
- You may use this in modpacks. That is the point, after all!
- You can come by my Discord server if you have questions or want to hang out and chat.
Project description from Modrinth.
Pick your setup
Options Enforcer by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.18.2
1 loader build1.17.1
1 loader build1.16.5
1 loader build1.15.2
1 loader build1.14.4
1 loader build1.13.2
1 loader build1.12.2
1 loader build1.11.2
1 loader build1.10.2
1 loader build1.9.4
1 loader build1.8.9
1 loader buildShowing the newest 12 of 13 game versions. Older files are in the list below.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Options Enforcer versions and loaders
1.4-1.10.2
OptionsEnforcer-1.10.2-1.4.jar
22 Aug 2022
Looking for an older file? The official Modrinth project page is in Resources.