-
Notifications
You must be signed in to change notification settings - Fork 0
Telemetry Notice
Dissolver Enhanced uses limited, opt-out telemetry to diagnose mod-specific errors, understand compatibility across supported game and loader versions, and improve the mod. Telemetry is sent directly to the Dissolver Enhanced PostHog Cloud project at us.i.posthog.com.
This notice describes the telemetry implemented in the current Minecraft and Stardew Valley builds. It is deliberately specific about what the mod code sends.
| Question | Answer |
|---|---|
| Is telemetry enabled by default? | Yes. It can be disabled with analytics_enabled=false. |
| Is it anonymous? | It is pseudonymous, not anonymous. The mod creates a random installation identifier and a new random session identifier for each run. It does not use a Minecraft UUID, Minecraft username, Stardew Valley account ID, or player name as its telemetry identifier. |
| Does the mod intentionally send an IP address, server name, player UUID, or username? | No. These are not sent as telemetry properties by the mod. As with any direct HTTPS request, PostHog and network providers may process connection metadata such as the requesting IP address under their own service operation. |
| Does disabling it affect gameplay? | No. Analytics is non-essential and the mod continues to function when it is disabled. |
| Is it sold or used for advertising? | No. Dissolver Enhanced does not sell telemetry data or use it for advertising. The current implementation sends analytics only to the Dissolver Enhanced PostHog project. |
When telemetry is enabled, the mod creates a random UUID in analytics-instance-id.txt inside the mod's Dissolver Enhanced configuration directory. This is the PostHog distinct_id and remains stable for that local installation until the file is removed. A separate random session ID is created each time the mod starts.
These IDs let us group events from one installation and one mod run. They are not derived from a Minecraft UUID, player name, Stardew Valley account, save name, server address, or IP address.
Removing analytics-instance-id.txt stops future events from being linked to the old installation ID, but it does not delete events already stored in PostHog. See Deletion requests.
All supported builds send the following base context with normal telemetry events:
- Mod ID and mod version.
- Game, game version, loader, and loader version.
- Runtime side, such as client or dedicated server.
- Operating-system name and Java or .NET runtime version.
- The random installation ID and random per-run session ID.
- Whether analytics is enabled.
At startup, the mod sends session_started, mod_started, and config_loaded. On a clean shutdown, it sends session_ended. While the mod is active, it sends a heartbeat approximately once per minute.
The config_loaded event records mod settings that affect Dissolver Enhanced behavior: HUD EMC display, private/shared EMC mode, creative-item handling, difficulty, balance mode, and counts of EMC override entries. It does not upload the contents of the override files.
When an error includes a Dissolver Enhanced code frame, the mod can send an error event. Error telemetry contains the exception type, message, handled/unhandled state, a fingerprint, exception causes, and stack-trace information including class/module names, method names, source filenames, and line numbers when available.
Exception messages and stack traces can sometimes include information supplied by other software, mods, or the local environment. This is why error telemetry is optional and why it is described separately here. Errors without a Dissolver Enhanced code frame are not reported by this error reporter.
This applies to the Fabric 1.21.x, Fabric 26.1.x, Forge 1.20.x, NeoForge 1.21.x, and Quilt 1.21.x builds. The implementations collect the same telemetry categories; loader and game-version fields naturally vary by build.
Minecraft clients send a heartbeat about once per minute with:
- Whether the player is in a menu or in a world.
- Whether the world is single-player or multiplayer.
- The game mode: survival, creative, spectator, or menu.
- The dimension/registry key, such as
minecraft:overworld. - Current EMC total and the number of learned/stored items.
Dedicated servers send a heartbeat about once per minute with:
- Player count and connected-player count.
- Shared versus private EMC storage mode.
- Aggregate EMC total and aggregate stored-item count.
- Generic server state fields.
The mod does not send a server name, server address, player names, or player UUIDs in these heartbeats.
Minecraft can also send events when a player uses the Dissolver block, learns an item, dissolves an item, extracts an item, or has an item rejected. These events record the item namespace, item name and ID, stack count, individual and total EMC value, creative-item flag, and rejection reason where relevant.
Achievement/progression events can record the triggered criterion and its relevant progress data, such as an item ID, EMC value, learned-item count, or EMC-orb action. The telemetry is attached to the local installation ID, not to the player who triggered the in-game criterion.
This applies to the Stardew Valley SMAPI build.
The Stardew Valley build sends a heartbeat about once per minute. It identifies the runtime as Stardew Valley on the client and uses generic values rather than save, farm, player, or location identifiers. It does not send a Stardew Valley account ID, farmer name, save name, or farm name.
Its configuration event records the same Dissolver Enhanced settings listed above. Stardew Valley currently reports zero EMC override counts because that build does not populate those count fields.
The Stardew Valley build sends events when the Dissolver UI is opened and when an item is learned, dissolved, extracted, or rejected. Item events include the item namespace, item name, qualified item ID, display name when available, stack count, individual and total EMC value, creative/debug-item flag, and rejection reason where relevant.
An item display name is game/item content, not a player account name. However, custom or third-party item content can contain text chosen by a player or another mod, so item telemetry should not be treated as guaranteed free of user-supplied text.
The shared Stardew analytics component has an achievement-event method, but the current SMAPI build does not invoke it.
Telemetry is transmitted over HTTPS to the Dissolver Enhanced PostHog Cloud project in the United States endpoint. The mod does not operate a separate telemetry database and the source code does not set a retention interval.
Retention is controlled by the PostHog project's configured data-retention settings. Access is limited to the project maintainer(s) and development team members granted access to that PostHog project, plus PostHog as the cloud analytics service provider. It is not shared with advertising networks or sold to third parties.
Set the following property to false, then restart the game or server:
analytics_enabled=falseMinecraft stores this in the Dissolver Enhanced configuration directory, normally under the game's config/dissolver-enhanced/dissolver_enhanced.properties path. The exact game instance or server directory depends on the launcher or server host.
Stardew Valley stores this in:
<Stardew Valley Mods>/Dissolver Enhanced/config/dissolver-enhanced/dissolver_enhanced.properties
Disabling telemetry prevents analytics initialization, event capture, heartbeat timers, and error reporting. It does not disable gameplay features.
You may request deletion of telemetry associated with a local installation ID. Please contact the project maintainer through the Dissolver Enhanced GitHub repository and ask for a private way to provide the ID. Do not post analytics-instance-id.txt in a public issue.
For a deletion request to be actionable, include the value from analytics-instance-id.txt through the private channel. The project maintainer can use that identifier to locate and delete the associated PostHog person and events, subject to PostHog's deletion capabilities and retention processing.
If you do not want future telemetry linked to that identifier while a deletion request is handled, set analytics_enabled=false. You may also remove the local analytics-instance-id.txt file to create a new identifier if telemetry is later re-enabled.