GeyserDeployer

public class GeyserDeployer

Detects a Geyser installation and deploys the Geyser custom mappings file to the appropriate Geyser directory.

The Bedrock resource pack itself is NOT copied into Geyser's packs/ folder. Geyser scans that folder at boot only, so a copy-based deploy could only ever publish a stale pack (the one from the previous server run). The pack is served per-session via GeyserPackProvider, which lets the pack on disk stay live as RSPM re-mixes it.

Mappings, however, ARE boot-frozen by Geyser (GeyserDefineCustomItemsEvent is a lifecycle event that fires once at startup), so this class still copies rspm_geyser_mappings.json into custom_mappings/ so that next boot picks up the latest set. Changes to the custom-item SET (new items added/removed) therefore require a server restart, but texture/model tweaks to existing items take effect for the next joining Bedrock player without a restart.

Constructors

Link copied to clipboard
public void GeyserDeployer()

Functions

Link copied to clipboard
public static void deployMappings(File mappingsFile)
Deploys the Geyser custom mappings file to the detected Geyser installation.
Link copied to clipboard
public static File mappingsTarget()
Returns the exact Geyser custom-mapping destination without mutating it.
Link copied to clipboard
public static File ownedMappingsTarget()
Returns the last committed RSPM-owned mapping target.
Link copied to clipboard
public static File ownershipFile()
Persistent provenance independent of the live auto-deploy/path setting.
Link copied to clipboard
public static boolean reconcileMappings(File mappingsFile, boolean deployEnabled)
Converges the previously owned destination to the currently configured one.
Link copied to clipboard
public static void recordOwnedMappingsTarget(File targetFile)
Atomically records the exact non-recursive file target RSPM owns.
Link copied to clipboard
public static boolean removeMappings()
Remove RSPM's deployed custom mapping after an authoritative withdrawal.