Screenshot Location
This mod allows configuring the location screenshots are saved. Useful for saving screenshots from various instances in a global folder.
Screenshot Location
Screenshot Location
This mod allows configuring the location screenshots are saved though a global config. Useful for using a global screenshots directory.
By default, the config for the mod is stored in a global location outside the Minecraft instance folder. The mod only needs to be configured once, as every instance uses the same config.
Usage
Download the mod (developers see below), launch the game, join a world, run the `/screenshot-location getConfigLocation` command and copy the path. Paste that path into your file explorer of choice to open the folder and then open the `main.json` config file in an editor.
Set `enabled` to `true` to enable the mod. If you want, you can customize the location. You can use user directories by specifying their name like `${pictureDir}` or `${homeDir}`, environment variables with `${env:VARIABLE_NAME}` and jvm properties with `${jvm:property.name}`. PrismMC provides the `INST_NAME` variable containing the instance name, which is used in the default config to separate screenshots from different instances.
After updating the config, use the `/screenshot-location reloadConfig` command to reload it.
Developers
First add my maven repository: ```kotlin repositories { exclusiveContent { forRepository { maven { name = "OffsetMonkey538" url = uri("https://maven.offsetmonkey538.top/releases") } } filter { includeGroupAndSubgroups("top.offsetmonkey538") } } } ```
Then depend on it like this for Fabric: ```kotlin dependencies { // localRuntime won't be pulled in by others depending on this project. localRuntime("top.offsetmonkey538.screenshotlocation:screenshot-location-fabric-26.1:[VERSION]") } ``` or like this for NeoForge: ```kotlin configurations { named("runtimeClasspath") { extendsFrom(create("localRuntime")) } } dependencies { // localRuntime won't be pulled in by others depending on this project. localRuntime("top.offsetmonkey538.screenshotlocation:screenshot-location-neoforge-26.1:[VERSION]") } ```
If you want to separate normal game launches and dev launches, you'll want to set jvm properties to overwrite the default profile: ```kotlin // NeoForge neoForge { runs { create("client") { ideName = "${project.name} Client" systemProperty("top.offsetmonkey538.screenshotlocation.profile", "dev") systemProperty("example.projectName", project.name) // Used as an example in the default config client() } } }
// Fabric loom { runs { named("client") { name = "${project.name} Client" runDir("run/client") vmArg("-Dtop.offsetmonkey538.screenshotlocation.profile=dev") vmArg("-Dexample.projectName=${project.name}") // Used as an example in the default config ideConfigGenerated(true) } } } ```
JVM Properties
- `top.offsetmonkey538.screenshotlocation.profile` - overrides `defaultProfile` from the config, useful for having different locations in for example dev and normal instances. - `top.offsetmonkey538.screenshotlocation.configPath` - overrides the config directory, could be useful for... I'm sure it could be useful for something
Versions